Version 2.14.0-98.0.dev
Merge commit '53e3c079b728a441b5217396a7deef3999aa3332' into 'dev'
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart b/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart
index a386080..407685f 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/flutter_convert_to_stateful_widget.dart
@@ -153,8 +153,10 @@
builder.writeln();
}
builder.writeln(' @override');
- builder.writeln(
- ' $stateName$typeParams createState() => $stateName$typeParams();');
+ builder.write(' ');
+ builder.writeReference(stateClass);
+ builder.write('<${widgetClass.name}$typeParams>');
+ builder.writeln(' createState() => $stateName$typeParams();');
if (hasEmptyLineAfterCreateState) {
builder.writeln();
}
diff --git a/pkg/analysis_server/test/lsp/completion_dart_test.dart b/pkg/analysis_server/test/lsp/completion_dart_test.dart
index cb21761..f460280 100644
--- a/pkg/analysis_server/test/lsp/completion_dart_test.dart
+++ b/pkg/analysis_server/test/lsp/completion_dart_test.dart
@@ -263,7 +263,7 @@
class MyWidget extends StatefulWidget {
@override
- _MyWidgetState createState() => _MyWidgetState();
+ State<MyWidget> createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
diff --git a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
index 7cdb905..9214947 100644
--- a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
@@ -6289,7 +6289,7 @@
class TestWidget extends StatefulWidget {
@override
- TestWidgetState createState() {
+ State<TestWidget> createState() {
return new TestWidgetState();
}
}
diff --git a/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart b/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart
index a3dcbb8..1fd730e 100644
--- a/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart
@@ -403,7 +403,7 @@
const TestPage();
@override
- TestPageState createState() => new TestPageState();
+ State<TestPage> createState() => new TestPageState();
}
class TestPageState extends State<TestPage> {
@@ -425,7 +425,7 @@
const NewPage();
@override
- NewPageState createState() => new NewPageState();
+ State<NewPage> createState() => new NewPageState();
}
class NewPageState extends State<NewPage> {
@@ -445,7 +445,7 @@
const _TestPage();
@override
- _TestPageState createState() => new _TestPageState();
+ State<_TestPage> createState() => new _TestPageState();
}
class _TestPageState extends State<_TestPage> {
@@ -467,7 +467,7 @@
const _NewPage();
@override
- _NewPageState createState() => new _NewPageState();
+ State<_NewPage> createState() => new _NewPageState();
}
class _NewPageState extends State<_NewPage> {
@@ -487,7 +487,7 @@
const TestPage();
@override
- _TestPageState createState() => new _TestPageState();
+ State<TestPage> createState() => new _TestPageState();
}
class _TestPageState extends State<TestPage> {
@@ -509,7 +509,7 @@
const NewPage();
@override
- _NewPageState createState() => new _NewPageState();
+ State<NewPage> createState() => new _NewPageState();
}
class _NewPageState extends State<NewPage> {
diff --git a/pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateful_widget_test.dart b/pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateful_widget_test.dart
index 426fa2b..85126d4 100644
--- a/pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateful_widget_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/assist/flutter_convert_to_stateful_widget_test.dart
@@ -43,7 +43,7 @@
class MyWidget extends StatefulWidget {
@override
- _MyWidgetState createState() => _MyWidgetState();
+ State<MyWidget> createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
@@ -71,7 +71,7 @@
class MyWidget<T> extends StatefulWidget {
@override
- _MyWidgetState<T> createState() => _MyWidgetState<T>();
+ State<MyWidget<T>> createState() => _MyWidgetState<T>();
}
class _MyWidgetState<T> extends State<MyWidget<T>> {
@@ -135,7 +135,7 @@
}
@override
- _MyWidgetState createState() => _MyWidgetState();
+ State<MyWidget> createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
@@ -194,7 +194,7 @@
class MyWidget extends StatefulWidget {
@override
- _MyWidgetState createState() => _MyWidgetState();
+ State<MyWidget> createState() => _MyWidgetState();
static String get staticGetter1 => '';
@@ -272,7 +272,7 @@
MyWidget(this.instanceField1);
@override
- _MyWidgetState createState() => _MyWidgetState();
+ State<MyWidget> createState() => _MyWidgetState();
static void staticMethod1() {
print('static 1');
@@ -369,7 +369,7 @@
const MyWidget(this.aaa, this.bbb);
@override
- _MyWidgetState createState() => _MyWidgetState();
+ State<MyWidget> createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
@@ -404,7 +404,7 @@
class MyWidget extends StatefulWidget {
@override
- _MyWidgetState createState() => _MyWidgetState();
+ State<MyWidget> createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
diff --git a/pkg/analysis_server/test/src/services/correction/assist/flutter_swap_with_child_test.dart b/pkg/analysis_server/test/src/services/correction/assist/flutter_swap_with_child_test.dart
index babc107..31f2191 100644
--- a/pkg/analysis_server/test/src/services/correction/assist/flutter_swap_with_child_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/assist/flutter_swap_with_child_test.dart
@@ -72,7 +72,7 @@
class Foo extends StatefulWidget {
@override
- _State createState() => _State();
+ State<Foo> createState() => _State();
}
class _State extends State<Foo> {
@@ -95,7 +95,7 @@
class Foo extends StatefulWidget {
@override
- _State createState() => _State();
+ State<Foo> createState() => _State();
}
class _State extends State<Foo> {
diff --git a/pkg/analysis_server/test/src/services/correction/assist/flutter_swap_with_parent_test.dart b/pkg/analysis_server/test/src/services/correction/assist/flutter_swap_with_parent_test.dart
index 197470b..dfb9171 100644
--- a/pkg/analysis_server/test/src/services/correction/assist/flutter_swap_with_parent_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/assist/flutter_swap_with_parent_test.dart
@@ -72,7 +72,7 @@
class Foo extends StatefulWidget {
@override
- _State createState() => _State();
+ State<Foo> createState() => _State();
}
class _State extends State<Foo> {
@@ -95,7 +95,7 @@
class Foo extends StatefulWidget {
@override
- _State createState() => _State();
+ State<Foo> createState() => _State();
}
class _State extends State<Foo> {
diff --git a/pkg/analyzer/lib/error/error.dart b/pkg/analyzer/lib/error/error.dart
index c384626..ad5605a 100644
--- a/pkg/analyzer/lib/error/error.dart
+++ b/pkg/analyzer/lib/error/error.dart
@@ -848,8 +848,6 @@
StaticWarningCode.INVALID_OVERRIDE_DIFFERENT_DEFAULT_VALUES_POSITIONAL,
StaticWarningCode.MISSING_ENUM_CONSTANT_IN_SWITCH,
StaticWarningCode.UNNECESSARY_NON_NULL_ASSERTION,
- StrongModeCode.TOP_LEVEL_IDENTIFIER_NO_TYPE,
- StrongModeCode.TOP_LEVEL_INSTANCE_GETTER,
TodoCode.TODO,
];
diff --git a/pkg/analyzer/lib/src/error/codes.dart b/pkg/analyzer/lib/src/error/codes.dart
index af0f293..8be9975 100644
--- a/pkg/analyzer/lib/src/error/codes.dart
+++ b/pkg/analyzer/lib/src/error/codes.dart
@@ -14188,63 +14188,3 @@
@override
ErrorType get type => ErrorType.STATIC_WARNING;
}
-
-/**
- * This class has Strong Mode specific error codes.
- *
- * "Strong Mode" was the prototype for Dart 2's sound type system. Many of these
- * errors became part of Dart 2. Some of them are optional flags, used for
- * stricter checking.
- *
- * These error codes tend to use the same message across different severity
- * levels, so they are grouped for clarity.
- */
-class StrongModeCode extends ErrorCode {
- /*
- * TODO(brianwilkerson) Make the TOP_LEVEL_ error codes be errors rather than
- * hints and then clean up the function _errorSeverity in
- * test/src/task/strong/strong_test_helper.dart.
- */
- /* TODO(leafp) Delete most of these.
- */
-
- static const StrongModeCode TOP_LEVEL_IDENTIFIER_NO_TYPE = StrongModeCode(
- ErrorType.HINT,
- 'TOP_LEVEL_IDENTIFIER_NO_TYPE',
- "The type of '{0}' can't be inferred because the type of '{1}' "
- "couldn't be inferred.",
- correction:
- "Try adding an explicit type to either the variable '{0}' or the "
- "variable '{1}'.");
-
- static const StrongModeCode TOP_LEVEL_INSTANCE_GETTER = StrongModeCode(
- ErrorType.STATIC_WARNING,
- 'TOP_LEVEL_INSTANCE_GETTER',
- "The type of '{0}' can't be inferred because it refers to an instance "
- "getter, '{1}', which has an implicit type.",
- correction: "Add an explicit type for either '{0}' or '{1}'.");
-
- @override
- final ErrorType type;
-
- /**
- * Initialize a newly created error code to have the given [type] and [name].
- *
- * The message associated with the error will be created from the given
- * [message] template. The correction associated with the error will be
- * created from the optional [correction] template.
- */
- const StrongModeCode(ErrorType type, String name, String message,
- {String? correction, bool hasPublishedDocs = false})
- : type = type,
- super(
- correction: correction,
- hasPublishedDocs: hasPublishedDocs,
- message: message,
- name: name,
- uniqueName: 'StrongModeCode.$name',
- );
-
- @override
- ErrorSeverity get errorSeverity => type.severity;
-}
diff --git a/pkg/analyzer/lib/src/summary2/top_level_inference.dart b/pkg/analyzer/lib/src/summary2/top_level_inference.dart
index 4138d99..9f51dba 100644
--- a/pkg/analyzer/lib/src/summary2/top_level_inference.dart
+++ b/pkg/analyzer/lib/src/summary2/top_level_inference.dart
@@ -376,15 +376,6 @@
return _node.name.name;
}
- bool get isImplicitlyTypedInstanceField {
- var variables = _node.parent as VariableDeclarationList;
- if (variables.type == null) {
- var parent = variables.parent;
- return parent is FieldDeclaration && !parent.isStatic;
- }
- return false;
- }
-
PropertyInducingElementImpl get _elementImpl {
return _node.declaredElement as PropertyInducingElementImpl;
}
@@ -400,19 +391,7 @@
return const <_InferenceNode>[];
}
- var dependencies =
- collector._set.map(_walker.getNode).whereNotNull().toList();
-
- for (var node in dependencies) {
- if (node is _VariableInferenceNode &&
- node.isImplicitlyTypedInstanceField) {
- _elementImpl.type = DynamicTypeImpl.instance;
- isEvaluated = true;
- return const <_InferenceNode>[];
- }
- }
-
- return dependencies;
+ return collector._set.map(_walker.getNode).whereNotNull().toList();
}
@override
diff --git a/pkg/analyzer/lib/src/task/strong/checker.dart b/pkg/analyzer/lib/src/task/strong/checker.dart
index bd2547c..3d179d7 100644
--- a/pkg/analyzer/lib/src/task/strong/checker.dart
+++ b/pkg/analyzer/lib/src/task/strong/checker.dart
@@ -17,8 +17,7 @@
import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/dart/element/type_system.dart';
-import 'package:analyzer/src/error/codes.dart'
- show CompileTimeErrorCode, StrongModeCode;
+import 'package:analyzer/src/error/codes.dart' show CompileTimeErrorCode;
import 'package:analyzer/src/task/inference_error.dart';
Element? _getKnownElement(Expression expression) {
@@ -497,14 +496,21 @@
@override
void visitVariableDeclaration(VariableDeclaration node) {
- var variableElement = node.declaredElement;
- var parent = node.parent;
- if (variableElement is PropertyInducingElement &&
- parent is VariableDeclarationList &&
- parent.type == null) {
- var initializer = node.initializer;
- if (initializer != null) {
- _validateTopLevelInitializer(variableElement.name, initializer);
+ var element = node.declaredElement;
+ if (element is PropertyInducingElementImpl) {
+ var error = element.typeInferenceError;
+ if (error != null) {
+ if (error.kind == TopLevelInferenceErrorKind.dependencyCycle) {
+ // Errors on const should have been reported with
+ // [CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT].
+ if (!element.isConst) {
+ _recordMessage(
+ node.name,
+ CompileTimeErrorCode.TOP_LEVEL_CYCLE,
+ [element.name, error.arguments],
+ );
+ }
+ }
}
}
node.visitChildren(this);
@@ -916,10 +922,6 @@
reporter.onError(error);
}
- void _validateTopLevelInitializer(String name, Expression n) {
- n.accept(_TopLevelInitializerValidator(this, name));
- }
-
void _visitForEachParts(ForEachParts node, SimpleIdentifier loopVariable) {
if (loopVariable.staticElement is! VariableElement) {
return;
@@ -983,169 +985,3 @@
throw StateError('${e.runtimeType} is unhandled type');
}
}
-
-class _TopLevelInitializerValidator extends RecursiveAstVisitor<void> {
- final CodeChecker _codeChecker;
- final String _name;
-
- _TopLevelInitializerValidator(this._codeChecker, this._name);
-
- void validateHasType(AstNode n, PropertyAccessorElement e) {
- if (e.hasImplicitReturnType) {
- var variable = e.declaration.variable as PropertyInducingElementImpl;
- var error = variable.typeInferenceError;
- if (error != null) {
- if (error.kind == TopLevelInferenceErrorKind.dependencyCycle) {
- // Errors on const should have been reported with
- // [CompileTimeErrorCode.RECURSIVE_COMPILE_TIME_CONSTANT].
- if (!variable.isConst) {
- _codeChecker._recordMessage(n, CompileTimeErrorCode.TOP_LEVEL_CYCLE,
- [_name, error.arguments]);
- }
- } else {
- _codeChecker._recordMessage(
- n, StrongModeCode.TOP_LEVEL_IDENTIFIER_NO_TYPE, [_name, e.name]);
- }
- }
- }
- }
-
- void validateIdentifierElement(AstNode n, Element? e,
- {bool isMethodCall = false}) {
- if (e == null) {
- return;
- }
-
- var enclosing = e.enclosingElement;
- if (enclosing is CompilationUnitElement) {
- if (e is PropertyAccessorElement) {
- validateHasType(n, e);
- }
- } else if (enclosing is ClassElement) {
- if (e is PropertyAccessorElement) {
- if (e.isStatic) {
- validateHasType(n, e);
- } else if (e.hasImplicitReturnType) {
- _codeChecker._recordMessage(
- n, StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, [_name, e.name]);
- }
- }
- }
- }
-
- @override
- visitAsExpression(AsExpression node) {
- // Nothing to validate.
- }
-
- @override
- visitBinaryExpression(BinaryExpression node) {
- TokenType operator = node.operator.type;
- if (operator == TokenType.AMPERSAND_AMPERSAND ||
- operator == TokenType.BAR_BAR ||
- operator == TokenType.EQ_EQ ||
- operator == TokenType.BANG_EQ) {
- // These operators give 'bool', no need to validate operands.
- } else {
- node.leftOperand.accept(this);
- }
- }
-
- @override
- visitCascadeExpression(CascadeExpression node) {
- node.target.accept(this);
- }
-
- @override
- visitConditionalExpression(ConditionalExpression node) {
- // No need to validate the condition, since it can't affect type inference.
- node.thenExpression.accept(this);
- node.elseExpression.accept(this);
- }
-
- @override
- visitFunctionExpressionInvocation(FunctionExpressionInvocation node) {
- if (node.typeArguments != null) {
- return;
- }
-
- var function = node.function;
- if (function is PropertyAccess) {
- var propertyName = function.propertyName;
- validateIdentifierElement(propertyName, propertyName.staticElement);
- }
-
- var functionType = node.function.staticType;
- if (functionType is FunctionType && functionType.typeFormals.isNotEmpty) {
- node.argumentList.accept(this);
- }
- }
-
- @override
- visitIndexExpression(IndexExpression node) {
- // Nothing to validate.
- }
-
- @override
- visitInstanceCreationExpression(InstanceCreationExpression node) {
- var constructor = node.constructorName.staticElement;
- var class_ = constructor?.enclosingElement;
- if (node.constructorName.type.typeArguments == null &&
- class_ != null &&
- class_.typeParameters.isNotEmpty) {
- // Type inference might depend on the parameters
- super.visitInstanceCreationExpression(node);
- }
- }
-
- @override
- visitIsExpression(IsExpression node) {
- // Nothing to validate.
- }
-
- @override
- visitListLiteral(ListLiteral node) {
- if (node.typeArguments == null) {
- super.visitListLiteral(node);
- }
- }
-
- @override
- visitMethodInvocation(MethodInvocation node) {
- node.target?.accept(this);
- var method = node.methodName.staticElement;
- validateIdentifierElement(node, method, isMethodCall: true);
- if (method is ExecutableElement) {
- if (node.typeArguments == null && method.typeParameters.isNotEmpty) {
- // Type inference might depend on the parameters
- node.argumentList.accept(this);
- }
- }
- }
-
- @override
- visitPrefixExpression(PrefixExpression node) {
- if (node.operator.type == TokenType.BANG) {
- // This operator gives 'bool', no need to validate operands.
- } else {
- node.operand.accept(this);
- }
- }
-
- @override
- visitSetOrMapLiteral(SetOrMapLiteral node) {
- if (node.typeArguments == null) {
- super.visitSetOrMapLiteral(node);
- }
- }
-
- @override
- visitSimpleIdentifier(SimpleIdentifier node) {
- validateIdentifierElement(node, node.staticElement);
- }
-
- @override
- visitThrowExpression(ThrowExpression node) {
- // Nothing to validate.
- }
-}
diff --git a/pkg/analyzer/test/src/dart/resolution/top_type_inference_test.dart b/pkg/analyzer/test/src/dart/resolution/top_type_inference_test.dart
index 77fa53c..85e16c6 100644
--- a/pkg/analyzer/test/src/dart/resolution/top_type_inference_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/top_type_inference_test.dart
@@ -34,7 +34,8 @@
}
final b = new A().a;
''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 49, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 18, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 37, 1),
]);
assertTypeDynamic(findElement.field('a').type);
diff --git a/pkg/analyzer/test/src/diagnostics/implicit_this_reference_in_initializer_test.dart b/pkg/analyzer/test/src/diagnostics/implicit_this_reference_in_initializer_test.dart
index c3b6d67..52e2b7c 100644
--- a/pkg/analyzer/test/src/diagnostics/implicit_this_reference_in_initializer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/implicit_this_reference_in_initializer_test.dart
@@ -93,7 +93,6 @@
final y = x;
}
''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 37, 1),
error(CompileTimeErrorCode.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER, 37, 1),
]);
}
diff --git a/pkg/analyzer/test/src/diagnostics/top_level_cycle_test.dart b/pkg/analyzer/test/src/diagnostics/top_level_cycle_test.dart
index 0f72b33..fbe9053 100644
--- a/pkg/analyzer/test/src/diagnostics/top_level_cycle_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/top_level_cycle_test.dart
@@ -20,8 +20,8 @@
var x = y + 1;
var y = x + 1;
''', [
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 8, 1),
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 23, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 4, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 19, 1),
]);
}
@@ -29,7 +29,7 @@
await assertErrorsInCode(r'''
var x = x;
''', [
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 8, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 4, 1),
]);
}
@@ -41,7 +41,7 @@
],
];
''', [
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 25, 5),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 4, 5),
]);
}
}
diff --git a/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart b/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart
index 8153be9..3a78473 100644
--- a/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart
@@ -2,7 +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.
-import 'package:analyzer/src/error/codes.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../dart/resolution/context_collection_resolution.dart';
@@ -82,81 +81,71 @@
}
test_implicitlyTyped() async {
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
get g => 0;
}
var b = new A().g;
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 42, 1),
- ]);
+''');
+ assertTypeDynamic(findElement.topVar('b').type);
}
test_implicitlyTyped_call() async {
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
get g => () => 0;
}
var a = new A();
var b = a.g();
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 59, 1),
- ]);
+''');
+ assertTypeDynamic(findElement.topVar('b').type);
}
test_implicitlyTyped_field() async {
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
var g = 0;
}
var b = new A().g;
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 41, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_field_call() async {
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
var g = () => 0;
}
var a = new A();
var b = a.g();
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 58, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_field_prefixedIdentifier() async {
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
var g = 0;
}
var a = new A();
var b = a.g;
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 52, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_fn() async {
- // The reference to a.x triggers TOP_LEVEL_INSTANCE_GETTER because f is
- // generic, so the type of a.x might affect the type of b.
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
var x = 0;
}
int f<T>(x) => 0;
var a = new A();
var b = f(a.x);
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 72, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_fn_explicit_type_params() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -165,11 +154,10 @@
var a = new A();
var b = f<int>(a.x);
''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_fn_not_generic() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -178,11 +166,10 @@
var a = new A();
var b = f(a.x);
''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_indexExpression() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -191,25 +178,21 @@
var a = new A();
var b = a[a.x];
''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_invoke() async {
- // The reference to a.x triggers TOP_LEVEL_INSTANCE_GETTER because the
- // closure is generic, so the type of a.x might affect the type of b.
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
var x = 0;
}
var a = new A();
var b = (<T>(y) => 0)(a.x);
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 66, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_invoke_explicit_type_params() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -217,11 +200,10 @@
var a = new A();
var b = (<T>(y) => 0)<int>(a.x);
''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_invoke_not_generic() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -229,26 +211,22 @@
var a = new A();
var b = ((y) => 0)(a.x);
''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_method() async {
- // The reference to a.x triggers TOP_LEVEL_INSTANCE_GETTER because f is
- // generic, so the type of a.x might affect the type of b.
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
var x = 0;
int f<T>(int x) => 0;
}
var a = new A();
var b = a.f(a.x);
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 80, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_method_explicit_type_params() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -257,11 +235,10 @@
var a = new A();
var b = a.f<int>(a.x);
''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_method_not_generic() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -270,28 +247,24 @@
var a = new A();
var b = a.f(a.x);
''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_implicitlyTyped_new() async {
- // The reference to a.x triggers TOP_LEVEL_INSTANCE_GETTER because B is
- // generic, so the type of a.x might affect the type of b.
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
var x = 0;
}
class B<T> {
- B(x);
+ B(T x);
}
var a = new A();
var b = new B(a.x);
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 81, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'B<int>');
}
test_implicitlyTyped_new_explicit_type_params() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -302,11 +275,10 @@
var a = new A();
var b = new B<int>(a.x);
''');
+ assertType(findElement.topVar('b').type, 'B<int>');
}
test_implicitlyTyped_new_explicit_type_params_named() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -317,11 +289,10 @@
var a = new A();
var b = new B<int>.named(a.x);
''');
+ assertType(findElement.topVar('b').type, 'B<int>');
}
test_implicitlyTyped_new_explicit_type_params_prefixed() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
newFile('$testPackageLibPath/lib1.dart', content: '''
class B<T> {
B(x);
@@ -335,28 +306,24 @@
var a = new A();
var b = new foo.B<int>(a.x);
''');
+ assertType(findElement.topVar('b').type, 'B<int>');
}
test_implicitlyTyped_new_named() async {
- // The reference to a.x triggers TOP_LEVEL_INSTANCE_GETTER because B is
- // generic, so the type of a.x might affect the type of b.
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
var x = 0;
}
class B<T> {
- B.named(x);
+ B.named(T x);
}
var a = new A();
var b = new B.named(a.x);
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 93, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'B<int>');
}
test_implicitlyTyped_new_not_generic() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -367,11 +334,10 @@
var a = new A();
var b = new B(a.x);
''');
+ assertType(findElement.topVar('b').type, 'B');
}
test_implicitlyTyped_new_not_generic_named() async {
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
class A {
var x = 0;
@@ -382,6 +348,7 @@
var a = new A();
var b = new B.named(a.x);
''');
+ assertType(findElement.topVar('b').type, 'B');
}
test_implicitlyTyped_new_not_generic_prefixed() async {
@@ -390,8 +357,6 @@
B(x);
}
''');
- // The reference to a.x does not trigger TOP_LEVEL_INSTANCE_GETTER because
- // it can't possibly affect the type of b.
await assertNoErrorsInCode('''
import 'lib1.dart' as foo;
class A {
@@ -400,44 +365,39 @@
var a = new A();
var b = new foo.B(a.x);
''');
+ assertType(findElement.topVar('b').type, 'B');
}
test_implicitlyTyped_new_prefixed() async {
newFile('$testPackageLibPath/lib1.dart', content: '''
class B<T> {
- B(x);
+ B(T x);
}
''');
- // The reference to a.x triggers TOP_LEVEL_INSTANCE_GETTER because B is
- // generic, so the type of a.x might affect the type of b.
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
import 'lib1.dart' as foo;
class A {
var x = 0;
}
var a = new A();
var b = new foo.B(a.x);
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 89, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'B<int>');
}
test_implicitlyTyped_prefixedIdentifier() async {
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
get g => 0;
}
var a = new A();
var b = a.g;
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 53, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'dynamic');
}
test_implicitlyTyped_propertyAccessLhs() async {
- // The reference to a.x triggers TOP_LEVEL_INSTANCE_GETTER because the type
- // of a.x affects the lookup of y, which in turn affects the type of b.
- await assertErrorsInCode('''
+ await assertNoErrorsInCode('''
class A {
var x = new B();
int operator[](int value) => 0;
@@ -447,9 +407,8 @@
}
var a = new A();
var b = (a.x).y;
-''', [
- error(StrongModeCode.TOP_LEVEL_INSTANCE_GETTER, 118, 1),
- ]);
+''');
+ assertType(findElement.topVar('b').type, 'int');
}
test_prefixedIdentifier() async {
diff --git a/pkg/analyzer/test/src/summary/top_level_inference_test.dart b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
index 5675f3f..d7828d1 100644
--- a/pkg/analyzer/test/src/summary/top_level_inference_test.dart
+++ b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
@@ -101,8 +101,8 @@
var a = b;
var b = a;
''', [
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 8, 1),
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 19, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 4, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 15, 1),
]);
}
@@ -718,7 +718,7 @@
class C {
int f;
}
-dynamic x;
+int x;
''');
}
@@ -735,7 +735,7 @@
''');
checkElementText(library, r'''
import 'package:test/a.dart';
-dynamic x;
+int x;
''');
}
diff --git a/pkg/analyzer/test/src/task/strong/inferred_type_test.dart b/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
index d77818f..d20ec18 100644
--- a/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
+++ b/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
@@ -364,8 +364,8 @@
var x = () => y;
var y = () => x;
''', [
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 14, 1),
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 31, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 4, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 21, 1),
]);
var x = _resultUnitElement.topLevelVariables[0];
@@ -381,8 +381,8 @@
var x = () => y;
var y = () => x;
''', [
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 14, 1),
- error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 31, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 4, 1),
+ error(CompileTimeErrorCode.TOP_LEVEL_CYCLE, 21, 1),
]);
var x = _resultUnitElement.topLevelVariables[0];
diff --git a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
index 756de3c..df03f0b 100644
--- a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
@@ -1230,8 +1230,11 @@
} else {
bool sentinelInserted = false;
if (nodeCache.containsKey(node)) {
- bool isRecursiveFunctionCall =
- node is MethodInvocation || node is StaticInvocation;
+ bool isRecursiveFunctionCall = node is MethodInvocation ||
+ node is InstanceInvocation ||
+ node is FunctionInvocation ||
+ node is LocalFunctionInvocation ||
+ node is StaticInvocation;
if (nodeCache[node] == null &&
!(enableConstFunctions && isRecursiveFunctionCall)) {
// recursive call
@@ -2021,12 +2024,70 @@
@override
Constant visitFunctionInvocation(FunctionInvocation node) {
- return createInvalidExpressionConstant(node, "function invocation");
+ if (!enableConstFunctions) {
+ return createInvalidExpressionConstant(node, "function invocation");
+ }
+
+ final Constant receiver = _evaluateSubexpression(node.receiver);
+ if (receiver is AbortConstant) return receiver;
+
+ return _evaluateFunctionInvocation(node, receiver, node.arguments);
}
@override
Constant visitLocalFunctionInvocation(LocalFunctionInvocation node) {
- return createInvalidExpressionConstant(node, "local function invocation");
+ if (!enableConstFunctions) {
+ return createInvalidExpressionConstant(node, "local function invocation");
+ }
+
+ final Constant receiver = env.lookupVariable(node.variable);
+ assert(receiver != null);
+ if (receiver is AbortConstant) return receiver;
+
+ return _evaluateFunctionInvocation(node, receiver, node.arguments);
+ }
+
+ Constant _evaluateFunctionInvocation(
+ TreeNode node, Constant receiver, Arguments argumentsNode) {
+ final List<Constant> arguments =
+ _evaluatePositionalArguments(argumentsNode);
+
+ if (arguments == null && _gotError != null) {
+ AbortConstant error = _gotError;
+ _gotError = null;
+ return error;
+ }
+ assert(_gotError == null);
+ assert(arguments != null);
+
+ // Evaluate type arguments of the function invoked.
+ List<DartType> types = _evaluateTypeArguments(node, argumentsNode);
+ if (types == null && _gotError != null) {
+ AbortConstant error = _gotError;
+ _gotError = null;
+ return error;
+ }
+ assert(_gotError == null);
+ assert(types != null);
+
+ // Evaluate named arguments of the function invoked.
+ final Map<String, Constant> named = _evaluateNamedArguments(argumentsNode);
+ if (named == null && _gotError != null) {
+ AbortConstant error = _gotError;
+ _gotError = null;
+ return error;
+ }
+ assert(_gotError == null);
+ assert(named != null);
+
+ if (receiver is FunctionValue) {
+ return _handleFunctionInvocation(
+ receiver.function, types, arguments, named,
+ functionEnvironment: receiver.environment);
+ } else {
+ return createInvalidExpressionConstant(
+ node, "function invocation with invalid receiver");
+ }
}
@override
@@ -2537,6 +2598,38 @@
interfaceTarget: node.interfaceTarget));
} else if (receiver is NullConstant) {
return createErrorConstant(node, messageConstEvalNullValue);
+ } else if (receiver is ListConstant && enableConstFunctions) {
+ switch (node.name.text) {
+ case 'first':
+ if (receiver.entries.isEmpty) {
+ return new _AbortDueToThrowConstant(
+ node, new StateError('No element'));
+ }
+ return receiver.entries.first;
+ case 'isEmpty':
+ return new BoolConstant(receiver.entries.isEmpty);
+ case 'isNotEmpty':
+ return new BoolConstant(receiver.entries.isNotEmpty);
+ // TODO(kallentu): case 'iterator'
+ case 'last':
+ if (receiver.entries.isEmpty) {
+ return new _AbortDueToThrowConstant(
+ node, new StateError('No element'));
+ }
+ return receiver.entries.last;
+ case 'length':
+ return new IntConstant(receiver.entries.length);
+ // TODO(kallentu): case 'reversed'
+ case 'single':
+ if (receiver.entries.isEmpty) {
+ return new _AbortDueToThrowConstant(
+ node, new StateError('No element'));
+ } else if (receiver.entries.length > 1) {
+ return new _AbortDueToThrowConstant(
+ node, new StateError('Too many elements'));
+ }
+ return receiver.entries.single;
+ }
} else if (receiver is InstanceConstant && enableConstFunctions) {
for (final Reference fieldRef in receiver.fieldValues.keys) {
final Field field = fieldRef.asField;
@@ -2629,8 +2722,6 @@
node, new StateError('No element'));
}
return receiver.entries.first;
- case 'hashCode':
- return new IntConstant(receiver.entries.hashCode);
case 'isEmpty':
return new BoolConstant(receiver.entries.isEmpty);
case 'isNotEmpty':
@@ -2645,8 +2736,6 @@
case 'length':
return new IntConstant(receiver.entries.length);
// TODO(kallentu): case 'reversed'
- case 'runtimeType':
- return new TypeLiteralConstant(receiver.typeArgument);
case 'single':
if (receiver.entries.isEmpty) {
return new _AbortDueToThrowConstant(
diff --git a/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.strong.expect b/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.strong.expect
index 09282c5..888d8c5 100644
--- a/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.strong.expect
+++ b/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.strong.expect
@@ -7,8 +7,8 @@
static method main() → dynamic {
core::List<dynamic> list = <dynamic>[];
- if(list.{core::Iterable::isNotEmpty}) {
- new mai::Class::•().{mai::Class::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum);
+ if(list.{core::Iterable::isNotEmpty}{core::bool}) {
+ new mai::Class::•().{mai::Class::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum){(mai::Enum) → core::int};
}
}
@@ -32,7 +32,7 @@
: super core::Object::•()
;
method method(mai::Enum e) → core::int
- return e.{mai::Enum::index};
+ return e.{mai::Enum::index}{core::int};
}
constants {
diff --git a/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.strong.transformed.expect b/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.strong.transformed.expect
index 24d6d3b..4306d18 100644
--- a/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.strong.transformed.expect
@@ -8,7 +8,7 @@
static method main() → dynamic {
core::List<dynamic> list = core::_GrowableList::•<dynamic>(0);
- if(list.{core::Iterable::isNotEmpty}) {
+ if(list.{core::Iterable::isNotEmpty}{core::bool}) {
let dynamic #t1 = new mai::Class::•() in let dynamic #t2 = _in::unsafeCast<dynamic>(null) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum in throw "Attempt to execute code removed by Dart AOT compiler (TFA)";
}
}
diff --git a/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.weak.expect b/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.weak.expect
index d3516e5..fb73d75 100644
--- a/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.weak.expect
+++ b/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.weak.expect
@@ -7,8 +7,8 @@
static method main() → dynamic {
core::List<dynamic> list = <dynamic>[];
- if(list.{core::Iterable::isNotEmpty}) {
- new mai::Class::•().{mai::Class::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum);
+ if(list.{core::Iterable::isNotEmpty}{core::bool}) {
+ new mai::Class::•().{mai::Class::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::Enum){(mai::Enum) → core::int};
}
}
@@ -32,7 +32,7 @@
: super core::Object::•()
;
method method(mai::Enum e) → core::int
- return e.{mai::Enum::index};
+ return e.{mai::Enum::index}{core::int};
}
constants {
diff --git a/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.weak.transformed.expect b/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.weak.transformed.expect
index 040adbc..e779a8d 100644
--- a/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/aot/enum_from_lib_used_as_type/main.dart.weak.transformed.expect
@@ -8,8 +8,8 @@
static method main() → dynamic {
core::List<dynamic> list = core::_GrowableList::•<dynamic>(0);
- if(list.{core::Iterable::isNotEmpty}) {
- new mai::Class::•().{mai::Class::method}(_in::unsafeCast<mai::Enum>(_in::unsafeCast<dynamic>(null)));
+ if(list.{core::Iterable::isNotEmpty}{core::bool}) {
+ new mai::Class::•().{mai::Class::method}(_in::unsafeCast<mai::Enum>(_in::unsafeCast<dynamic>(null))){(mai::Enum) → core::int};
}
}
@@ -25,7 +25,7 @@
: super core::Object::•()
;
method method(mai::Enum e) → core::int
- return e.{mai::Enum::index};
+ return e.{mai::Enum::index}{core::int};
}
diff --git a/pkg/front_end/testcases/aot/tree_shake/main.dart.strong.expect b/pkg/front_end/testcases/aot/tree_shake/main.dart.strong.expect
index 57eb8a2..95dd46c 100644
--- a/pkg/front_end/testcases/aot/tree_shake/main.dart.strong.expect
+++ b/pkg/front_end/testcases/aot/tree_shake/main.dart.strong.expect
@@ -49,17 +49,17 @@
;
}
static method usedMethod(self::UnusedInterface c) → dynamic {
- c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField};
+ c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField}{core::int?};
}
static method unusedMethod() → dynamic {}
static method main() → dynamic {
self::usedMethod(let final self::UsedClass #t1 = new self::UsedClass::•() in block {
- #t1.{self::UsedClass::usedField};
+ #t1.{self::UsedClass::usedField}{core::int?};
} =>#t1);
#C11;
core::List<self::UnusedEnum> list = <self::UnusedEnum>[];
- if(list.{core::Iterable::isNotEmpty}) {
- new mai::ConstClass::•().{mai::ConstClass::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum);
+ if(list.{core::Iterable::isNotEmpty}{core::bool}) {
+ new mai::ConstClass::•().{mai::ConstClass::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum){(mai::ConstEnum) → core::int};
}
}
@@ -83,7 +83,7 @@
: super core::Object::•()
;
method method(mai::ConstEnum e) → core::int
- return e.{mai::ConstEnum::index};
+ return e.{mai::ConstEnum::index}{core::int};
}
constants {
diff --git a/pkg/front_end/testcases/aot/tree_shake/main.dart.strong.transformed.expect b/pkg/front_end/testcases/aot/tree_shake/main.dart.strong.transformed.expect
index 23b7ce8..d19c074 100644
--- a/pkg/front_end/testcases/aot/tree_shake/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/aot/tree_shake/main.dart.strong.transformed.expect
@@ -26,15 +26,15 @@
;
}
static method usedMethod(self::UnusedInterface c) → dynamic {
- c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField};
+ c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField}{core::int?};
}
static method main() → dynamic {
self::usedMethod(let final self::UsedClass #t1 = new self::UsedClass::•() in block {
- #t1.{self::UsedClass::usedField};
+ #t1.{self::UsedClass::usedField}{core::int?};
} =>#t1);
#C3;
core::List<self::UnusedEnum> list = core::_GrowableList::•<self::UnusedEnum>(0);
- if(list.{core::Iterable::isNotEmpty}) {
+ if(list.{core::Iterable::isNotEmpty}{core::bool}) {
let dynamic #t2 = new mai::ConstClass::•() in let dynamic #t3 = _in::unsafeCast<dynamic>(null) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum in throw "Attempt to execute code removed by Dart AOT compiler (TFA)";
}
}
diff --git a/pkg/front_end/testcases/aot/tree_shake/main.dart.weak.expect b/pkg/front_end/testcases/aot/tree_shake/main.dart.weak.expect
index 55eeff3..003dd46 100644
--- a/pkg/front_end/testcases/aot/tree_shake/main.dart.weak.expect
+++ b/pkg/front_end/testcases/aot/tree_shake/main.dart.weak.expect
@@ -49,17 +49,17 @@
;
}
static method usedMethod(self::UnusedInterface c) → dynamic {
- c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField};
+ c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField}{core::int?};
}
static method unusedMethod() → dynamic {}
static method main() → dynamic {
self::usedMethod(let final self::UsedClass #t1 = new self::UsedClass::•() in block {
- #t1.{self::UsedClass::usedField};
+ #t1.{self::UsedClass::usedField}{core::int?};
} =>#t1);
#C11;
core::List<self::UnusedEnum> list = <self::UnusedEnum>[];
- if(list.{core::Iterable::isNotEmpty}) {
- new mai::ConstClass::•().{mai::ConstClass::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum);
+ if(list.{core::Iterable::isNotEmpty}{core::bool}) {
+ new mai::ConstClass::•().{mai::ConstClass::method}((null as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} mai::ConstEnum){(mai::ConstEnum) → core::int};
}
}
@@ -83,7 +83,7 @@
: super core::Object::•()
;
method method(mai::ConstEnum e) → core::int
- return e.{mai::ConstEnum::index};
+ return e.{mai::ConstEnum::index}{core::int};
}
constants {
diff --git a/pkg/front_end/testcases/aot/tree_shake/main.dart.weak.transformed.expect b/pkg/front_end/testcases/aot/tree_shake/main.dart.weak.transformed.expect
index 80c0d6a..cc814dc 100644
--- a/pkg/front_end/testcases/aot/tree_shake/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/aot/tree_shake/main.dart.weak.transformed.expect
@@ -26,16 +26,16 @@
;
}
static method usedMethod(self::UnusedInterface c) → dynamic {
- c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField};
+ c.{self::UnusedInterface::usedInterfaceField} = c.{self::UnusedInterface::usedInterfaceField}{core::int?};
}
static method main() → dynamic {
self::usedMethod(let final self::UsedClass #t1 = new self::UsedClass::•() in block {
- #t1.{self::UsedClass::usedField};
+ #t1.{self::UsedClass::usedField}{core::int?};
} =>#t1);
#C3;
core::List<self::UnusedEnum> list = core::_GrowableList::•<self::UnusedEnum>(0);
- if(list.{core::Iterable::isNotEmpty}) {
- new mai::ConstClass::•().{mai::ConstClass::method}(_in::unsafeCast<mai::ConstEnum>(_in::unsafeCast<dynamic>(null)));
+ if(list.{core::Iterable::isNotEmpty}{core::bool}) {
+ new mai::ConstClass::•().{mai::ConstClass::method}(_in::unsafeCast<mai::ConstEnum>(_in::unsafeCast<dynamic>(null))){(mai::ConstEnum) → core::int};
}
}
@@ -51,7 +51,7 @@
: super core::Object::•()
;
method method(mai::ConstEnum e) → core::int
- return e.{mai::ConstEnum::index};
+ return e.{mai::ConstEnum::index}{core::int};
}
constants {
diff --git a/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.strong.expect b/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.strong.expect
index fce2045..b5c21df 100644
--- a/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.strong.expect
+++ b/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.strong.expect
@@ -14,8 +14,8 @@
;
}
static method method(mai::Interface i) → void {
- i.{mai::Interface::field2} = i.{mai::Interface::field1};
- i.{mai::Interface::field3} = i.{mai::Interface::field3};
+ i.{mai::Interface::field2} = i.{mai::Interface::field1}{core::int?};
+ i.{mai::Interface::field3} = i.{mai::Interface::field3}{core::int?};
}
static method main() → dynamic {
self::method(new self::Class::•());
diff --git a/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.strong.transformed.expect b/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.strong.transformed.expect
index 9a18bdf..4f86a02 100644
--- a/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.strong.transformed.expect
@@ -14,8 +14,8 @@
set /*isLegacy*/ field2(core::int? value) → void;
}
static method method(mai::Interface i) → void {
- i.{mai::Interface::field2} = i.{mai::Interface::field1};
- i.{mai::Interface::field3} = i.{mai::Interface::field3};
+ i.{mai::Interface::field2} = i.{mai::Interface::field1}{core::int?};
+ i.{mai::Interface::field3} = i.{mai::Interface::field3}{core::int?};
}
static method main() → dynamic {
self::method(new self::Class::•());
diff --git a/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.weak.expect b/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.weak.expect
index fce2045..b5c21df 100644
--- a/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.weak.expect
+++ b/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.weak.expect
@@ -14,8 +14,8 @@
;
}
static method method(mai::Interface i) → void {
- i.{mai::Interface::field2} = i.{mai::Interface::field1};
- i.{mai::Interface::field3} = i.{mai::Interface::field3};
+ i.{mai::Interface::field2} = i.{mai::Interface::field1}{core::int?};
+ i.{mai::Interface::field3} = i.{mai::Interface::field3}{core::int?};
}
static method main() → dynamic {
self::method(new self::Class::•());
diff --git a/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.weak.transformed.expect b/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.weak.transformed.expect
index 9a18bdf..4f86a02 100644
--- a/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/aot/tree_shake_field_from_lib/main.dart.weak.transformed.expect
@@ -14,8 +14,8 @@
set /*isLegacy*/ field2(core::int? value) → void;
}
static method method(mai::Interface i) → void {
- i.{mai::Interface::field2} = i.{mai::Interface::field1};
- i.{mai::Interface::field3} = i.{mai::Interface::field3};
+ i.{mai::Interface::field2} = i.{mai::Interface::field1}{core::int?};
+ i.{mai::Interface::field3} = i.{mai::Interface::field3}{core::int?};
}
static method main() → dynamic {
self::method(new self::Class::•());
diff --git a/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.strong.expect
index 6f5f7b1..89d51078 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.strong.expect
@@ -9,15 +9,15 @@
static const field core::int var2 = #C1;
static method fn() → core::int {
core::int x = 0;
- assert(x.{core::num::==}(0), "fail");
+ assert(x =={core::num::==}{(core::Object) → core::bool} 0, "fail");
return x;
}
static method fn2() → core::int {
core::int x = 0;
assert((() → core::bool {
- core::int y = x.{core::num::+}(1);
- return y.{core::num::==}(1);
- }).call());
+ core::int y = x.{core::num::+}(1){(core::num) → core::int};
+ return y =={core::num::==}{(core::Object) → core::bool} 1;
+ })(){() → core::bool});
return x;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.strong.transformed.expect
index 6f5f7b1..89d51078 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.strong.transformed.expect
@@ -9,15 +9,15 @@
static const field core::int var2 = #C1;
static method fn() → core::int {
core::int x = 0;
- assert(x.{core::num::==}(0), "fail");
+ assert(x =={core::num::==}{(core::Object) → core::bool} 0, "fail");
return x;
}
static method fn2() → core::int {
core::int x = 0;
assert((() → core::bool {
- core::int y = x.{core::num::+}(1);
- return y.{core::num::==}(1);
- }).call());
+ core::int y = x.{core::num::+}(1){(core::num) → core::int};
+ return y =={core::num::==}{(core::Object) → core::bool} 1;
+ })(){() → core::bool});
return x;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.weak.expect
index 6f5f7b1..89d51078 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.weak.expect
@@ -9,15 +9,15 @@
static const field core::int var2 = #C1;
static method fn() → core::int {
core::int x = 0;
- assert(x.{core::num::==}(0), "fail");
+ assert(x =={core::num::==}{(core::Object) → core::bool} 0, "fail");
return x;
}
static method fn2() → core::int {
core::int x = 0;
assert((() → core::bool {
- core::int y = x.{core::num::+}(1);
- return y.{core::num::==}(1);
- }).call());
+ core::int y = x.{core::num::+}(1){(core::num) → core::int};
+ return y =={core::num::==}{(core::Object) → core::bool} 1;
+ })(){() → core::bool});
return x;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.weak.transformed.expect
index 6f5f7b1..89d51078 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_assert_statements.dart.weak.transformed.expect
@@ -9,15 +9,15 @@
static const field core::int var2 = #C1;
static method fn() → core::int {
core::int x = 0;
- assert(x.{core::num::==}(0), "fail");
+ assert(x =={core::num::==}{(core::Object) → core::bool} 0, "fail");
return x;
}
static method fn2() → core::int {
core::int x = 0;
assert((() → core::bool {
- core::int y = x.{core::num::+}(1);
- return y.{core::num::==}(1);
- }).call());
+ core::int y = x.{core::num::+}(1){(core::num) → core::int};
+ return y =={core::num::==}{(core::Object) → core::bool} 1;
+ })(){() → core::bool});
return x;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_closures.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_closures.dart.strong.expect
index 64a08b6..a1bc565 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_closures.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_closures.dart.strong.expect
@@ -16,29 +16,29 @@
() → () → core::int f = () → () → core::int {
core::int count = 0;
function baz() → core::int {
- count = count.{core::num::+}(1);
+ count = count.{core::num::+}(1){(core::num) → core::int};
return count;
}
return baz;
};
- () → core::int c1 = f.call();
- () → core::int c2 = f.call();
- core::int c1_val1 = c1.call();
- assert(c1_val1.{core::num::==}(1));
- core::int c1_val2 = c1.call();
- assert(c1_val2.{core::num::==}(2));
- core::int c1_val3 = c1.call();
- assert(c1_val3.{core::num::==}(3));
- core::int c2_val1 = c2.call();
- assert(c1_val1.{core::num::==}(1));
- core::int c2_val2 = c2.call();
- assert(c1_val2.{core::num::==}(2));
- core::int c2_val3 = c2.call();
- assert(c1_val3.{core::num::==}(3));
+ () → core::int c1 = f(){() → () → core::int};
+ () → core::int c2 = f(){() → () → core::int};
+ core::int c1_val1 = c1(){() → core::int};
+ assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
+ core::int c1_val2 = c1(){() → core::int};
+ assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
+ core::int c1_val3 = c1(){() → core::int};
+ assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
+ core::int c2_val1 = c2(){() → core::int};
+ assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
+ core::int c2_val2 = c2(){() → core::int};
+ assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
+ core::int c2_val3 = c2(){() → core::int};
+ assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
return 0;
}
static method fn() → core::int {
- return (() → core::int => 0).call();
+ return (() → core::int => 0)(){() → core::int};
}
static method fn3() → core::int {
core::int y = 2;
@@ -49,25 +49,25 @@
function innerFn() → core::int {
return x;
}
- return innerFn.call();
+ return innerFn(){() → core::int};
}
static method fn5(core::int a) → core::int {
function recurse(core::int b) → core::int {
- if(b.{core::num::==}(1))
+ if(b =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- core::int result = recurse.call(b.{core::num::-}(1));
- return b.{core::num::*}(result);
+ core::int result = recurse(b.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int};
+ return b.{core::num::*}(result){(core::num) → core::int};
}
- return recurse.call(a);
+ return recurse(a){(core::int) → core::int};
}
static method fn6(core::int a) → core::int {
function recurse() → core::int {
- a = a.{core::num::-}(1);
- if(a.{core::num::==}(1))
+ a = a.{core::num::-}(1){(core::num) → core::int};
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(recurse.call());
+ return a.{core::num::*}(recurse(){() → core::int}){(core::num) → core::int};
}
- return recurse.call();
+ return recurse(){() → core::int};
}
static method main() → void {
exp::Expect::equals(#C1, 0);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_closures.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_closures.dart.strong.transformed.expect
index 64a08b6..a1bc565 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_closures.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_closures.dart.strong.transformed.expect
@@ -16,29 +16,29 @@
() → () → core::int f = () → () → core::int {
core::int count = 0;
function baz() → core::int {
- count = count.{core::num::+}(1);
+ count = count.{core::num::+}(1){(core::num) → core::int};
return count;
}
return baz;
};
- () → core::int c1 = f.call();
- () → core::int c2 = f.call();
- core::int c1_val1 = c1.call();
- assert(c1_val1.{core::num::==}(1));
- core::int c1_val2 = c1.call();
- assert(c1_val2.{core::num::==}(2));
- core::int c1_val3 = c1.call();
- assert(c1_val3.{core::num::==}(3));
- core::int c2_val1 = c2.call();
- assert(c1_val1.{core::num::==}(1));
- core::int c2_val2 = c2.call();
- assert(c1_val2.{core::num::==}(2));
- core::int c2_val3 = c2.call();
- assert(c1_val3.{core::num::==}(3));
+ () → core::int c1 = f(){() → () → core::int};
+ () → core::int c2 = f(){() → () → core::int};
+ core::int c1_val1 = c1(){() → core::int};
+ assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
+ core::int c1_val2 = c1(){() → core::int};
+ assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
+ core::int c1_val3 = c1(){() → core::int};
+ assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
+ core::int c2_val1 = c2(){() → core::int};
+ assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
+ core::int c2_val2 = c2(){() → core::int};
+ assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
+ core::int c2_val3 = c2(){() → core::int};
+ assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
return 0;
}
static method fn() → core::int {
- return (() → core::int => 0).call();
+ return (() → core::int => 0)(){() → core::int};
}
static method fn3() → core::int {
core::int y = 2;
@@ -49,25 +49,25 @@
function innerFn() → core::int {
return x;
}
- return innerFn.call();
+ return innerFn(){() → core::int};
}
static method fn5(core::int a) → core::int {
function recurse(core::int b) → core::int {
- if(b.{core::num::==}(1))
+ if(b =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- core::int result = recurse.call(b.{core::num::-}(1));
- return b.{core::num::*}(result);
+ core::int result = recurse(b.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int};
+ return b.{core::num::*}(result){(core::num) → core::int};
}
- return recurse.call(a);
+ return recurse(a){(core::int) → core::int};
}
static method fn6(core::int a) → core::int {
function recurse() → core::int {
- a = a.{core::num::-}(1);
- if(a.{core::num::==}(1))
+ a = a.{core::num::-}(1){(core::num) → core::int};
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(recurse.call());
+ return a.{core::num::*}(recurse(){() → core::int}){(core::num) → core::int};
}
- return recurse.call();
+ return recurse(){() → core::int};
}
static method main() → void {
exp::Expect::equals(#C1, 0);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_closures.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_closures.dart.weak.expect
index 64a08b6..a1bc565 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_closures.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_closures.dart.weak.expect
@@ -16,29 +16,29 @@
() → () → core::int f = () → () → core::int {
core::int count = 0;
function baz() → core::int {
- count = count.{core::num::+}(1);
+ count = count.{core::num::+}(1){(core::num) → core::int};
return count;
}
return baz;
};
- () → core::int c1 = f.call();
- () → core::int c2 = f.call();
- core::int c1_val1 = c1.call();
- assert(c1_val1.{core::num::==}(1));
- core::int c1_val2 = c1.call();
- assert(c1_val2.{core::num::==}(2));
- core::int c1_val3 = c1.call();
- assert(c1_val3.{core::num::==}(3));
- core::int c2_val1 = c2.call();
- assert(c1_val1.{core::num::==}(1));
- core::int c2_val2 = c2.call();
- assert(c1_val2.{core::num::==}(2));
- core::int c2_val3 = c2.call();
- assert(c1_val3.{core::num::==}(3));
+ () → core::int c1 = f(){() → () → core::int};
+ () → core::int c2 = f(){() → () → core::int};
+ core::int c1_val1 = c1(){() → core::int};
+ assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
+ core::int c1_val2 = c1(){() → core::int};
+ assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
+ core::int c1_val3 = c1(){() → core::int};
+ assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
+ core::int c2_val1 = c2(){() → core::int};
+ assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
+ core::int c2_val2 = c2(){() → core::int};
+ assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
+ core::int c2_val3 = c2(){() → core::int};
+ assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
return 0;
}
static method fn() → core::int {
- return (() → core::int => 0).call();
+ return (() → core::int => 0)(){() → core::int};
}
static method fn3() → core::int {
core::int y = 2;
@@ -49,25 +49,25 @@
function innerFn() → core::int {
return x;
}
- return innerFn.call();
+ return innerFn(){() → core::int};
}
static method fn5(core::int a) → core::int {
function recurse(core::int b) → core::int {
- if(b.{core::num::==}(1))
+ if(b =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- core::int result = recurse.call(b.{core::num::-}(1));
- return b.{core::num::*}(result);
+ core::int result = recurse(b.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int};
+ return b.{core::num::*}(result){(core::num) → core::int};
}
- return recurse.call(a);
+ return recurse(a){(core::int) → core::int};
}
static method fn6(core::int a) → core::int {
function recurse() → core::int {
- a = a.{core::num::-}(1);
- if(a.{core::num::==}(1))
+ a = a.{core::num::-}(1){(core::num) → core::int};
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(recurse.call());
+ return a.{core::num::*}(recurse(){() → core::int}){(core::num) → core::int};
}
- return recurse.call();
+ return recurse(){() → core::int};
}
static method main() → void {
exp::Expect::equals(#C1, 0);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_closures.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_closures.dart.weak.transformed.expect
index 64a08b6..a1bc565 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_closures.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_closures.dart.weak.transformed.expect
@@ -16,29 +16,29 @@
() → () → core::int f = () → () → core::int {
core::int count = 0;
function baz() → core::int {
- count = count.{core::num::+}(1);
+ count = count.{core::num::+}(1){(core::num) → core::int};
return count;
}
return baz;
};
- () → core::int c1 = f.call();
- () → core::int c2 = f.call();
- core::int c1_val1 = c1.call();
- assert(c1_val1.{core::num::==}(1));
- core::int c1_val2 = c1.call();
- assert(c1_val2.{core::num::==}(2));
- core::int c1_val3 = c1.call();
- assert(c1_val3.{core::num::==}(3));
- core::int c2_val1 = c2.call();
- assert(c1_val1.{core::num::==}(1));
- core::int c2_val2 = c2.call();
- assert(c1_val2.{core::num::==}(2));
- core::int c2_val3 = c2.call();
- assert(c1_val3.{core::num::==}(3));
+ () → core::int c1 = f(){() → () → core::int};
+ () → core::int c2 = f(){() → () → core::int};
+ core::int c1_val1 = c1(){() → core::int};
+ assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
+ core::int c1_val2 = c1(){() → core::int};
+ assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
+ core::int c1_val3 = c1(){() → core::int};
+ assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
+ core::int c2_val1 = c2(){() → core::int};
+ assert(c1_val1 =={core::num::==}{(core::Object) → core::bool} 1);
+ core::int c2_val2 = c2(){() → core::int};
+ assert(c1_val2 =={core::num::==}{(core::Object) → core::bool} 2);
+ core::int c2_val3 = c2(){() → core::int};
+ assert(c1_val3 =={core::num::==}{(core::Object) → core::bool} 3);
return 0;
}
static method fn() → core::int {
- return (() → core::int => 0).call();
+ return (() → core::int => 0)(){() → core::int};
}
static method fn3() → core::int {
core::int y = 2;
@@ -49,25 +49,25 @@
function innerFn() → core::int {
return x;
}
- return innerFn.call();
+ return innerFn(){() → core::int};
}
static method fn5(core::int a) → core::int {
function recurse(core::int b) → core::int {
- if(b.{core::num::==}(1))
+ if(b =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- core::int result = recurse.call(b.{core::num::-}(1));
- return b.{core::num::*}(result);
+ core::int result = recurse(b.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int};
+ return b.{core::num::*}(result){(core::num) → core::int};
}
- return recurse.call(a);
+ return recurse(a){(core::int) → core::int};
}
static method fn6(core::int a) → core::int {
function recurse() → core::int {
- a = a.{core::num::-}(1);
- if(a.{core::num::==}(1))
+ a = a.{core::num::-}(1){(core::num) → core::int};
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(recurse.call());
+ return a.{core::num::*}(recurse(){() → core::int}){(core::num) → core::int};
}
- return recurse.call();
+ return recurse(){() → core::int};
}
static method main() → void {
exp::Expect::equals(#C1, 0);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.strong.expect
index d85a9e2..e55cf4a 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.strong.expect
@@ -9,7 +9,7 @@
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
- assert(this.{self::Simple::name}.{core::String::==}(#C1));
+ assert(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1));
}
}
class A extends core::Object /*hasConstConstructor*/ {
@@ -25,7 +25,7 @@
static method fn() → self::A
return new self::A::•();
static method main() → void {
- exp::Expect::equals((#C2).{self::Simple::name}, #C1);
+ exp::Expect::equals((#C2).{self::Simple::name}{core::String}, #C1);
}
constants {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.strong.transformed.expect
index d85a9e2..e55cf4a 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.strong.transformed.expect
@@ -9,7 +9,7 @@
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
- assert(this.{self::Simple::name}.{core::String::==}(#C1));
+ assert(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1));
}
}
class A extends core::Object /*hasConstConstructor*/ {
@@ -25,7 +25,7 @@
static method fn() → self::A
return new self::A::•();
static method main() → void {
- exp::Expect::equals((#C2).{self::Simple::name}, #C1);
+ exp::Expect::equals((#C2).{self::Simple::name}{core::String}, #C1);
}
constants {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.weak.expect
index d85a9e2..e55cf4a 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.weak.expect
@@ -9,7 +9,7 @@
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
- assert(this.{self::Simple::name}.{core::String::==}(#C1));
+ assert(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1));
}
}
class A extends core::Object /*hasConstConstructor*/ {
@@ -25,7 +25,7 @@
static method fn() → self::A
return new self::A::•();
static method main() → void {
- exp::Expect::equals((#C2).{self::Simple::name}, #C1);
+ exp::Expect::equals((#C2).{self::Simple::name}{core::String}, #C1);
}
constants {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.weak.transformed.expect
index d85a9e2..e55cf4a 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
- assert(this.{self::Simple::name}.{core::String::==}(#C1));
+ assert(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1));
}
}
class A extends core::Object /*hasConstConstructor*/ {
@@ -25,7 +25,7 @@
static method fn() → self::A
return new self::A::•();
static method main() → void {
- exp::Expect::equals((#C2).{self::Simple::name}, #C1);
+ exp::Expect::equals((#C2).{self::Simple::name}{core::String}, #C1);
}
constants {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.expect
index 8f500e2..539ee45 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.expect
@@ -41,7 +41,7 @@
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
- assert(!this.{self::Simple::name}.{core::String::==}(#C1));
+ assert(!(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1)));
}
}
class Simple2 extends core::Object /*hasConstConstructor*/ {
@@ -57,7 +57,7 @@
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
: super core::Object::•() {
- assert(1.{core::num::==}(2));
+ assert(1 =={core::num::==}{(core::Object) → core::bool} 2);
}
}
class B extends self::A /*hasConstConstructor*/ {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.transformed.expect
index 1aea02c..1fd70dc 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.strong.transformed.expect
@@ -41,7 +41,7 @@
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
- assert(!this.{self::Simple::name}.{core::String::==}(#C1));
+ assert(!(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1)));
}
}
class Simple2 extends core::Object /*hasConstConstructor*/ {
@@ -57,7 +57,7 @@
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
: super core::Object::•() {
- assert(1.{core::num::==}(2));
+ assert(1 =={core::num::==}{(core::Object) → core::bool} 2);
}
}
class B extends self::A /*hasConstConstructor*/ {
@@ -89,7 +89,7 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_const_ctor_error.dart:33:14 -> BoolConstant(false)
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_functions_const_ctor_error.dart:33:14 -> BoolConstant(false)
Extra constant evaluation: evaluated: 7, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.expect
index 8f500e2..539ee45 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.expect
@@ -41,7 +41,7 @@
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
- assert(!this.{self::Simple::name}.{core::String::==}(#C1));
+ assert(!(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1)));
}
}
class Simple2 extends core::Object /*hasConstConstructor*/ {
@@ -57,7 +57,7 @@
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
: super core::Object::•() {
- assert(1.{core::num::==}(2));
+ assert(1 =={core::num::==}{(core::Object) → core::bool} 2);
}
}
class B extends self::A /*hasConstConstructor*/ {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.transformed.expect
index 1aea02c..1fd70dc 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_ctor_error.dart.weak.transformed.expect
@@ -41,7 +41,7 @@
final field core::String name;
const constructor •(core::String name) → self::Simple
: self::Simple::name = name, super core::Object::•() {
- assert(!this.{self::Simple::name}.{core::String::==}(#C1));
+ assert(!(this.{self::Simple::name}{core::String} =={core::String::==}{(core::Object) → core::bool} (#C1)));
}
}
class Simple2 extends core::Object /*hasConstConstructor*/ {
@@ -57,7 +57,7 @@
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
: super core::Object::•() {
- assert(1.{core::num::==}(2));
+ assert(1 =={core::num::==}{(core::Object) → core::bool} 2);
}
}
class B extends self::A /*hasConstConstructor*/ {
@@ -89,7 +89,7 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_const_ctor_error.dart:33:14 -> BoolConstant(false)
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_functions_const_ctor_error.dart:33:14 -> BoolConstant(false)
Extra constant evaluation: evaluated: 7, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.strong.expect
index c9674e9..b9d7932 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.strong.expect
@@ -13,7 +13,7 @@
: self::MessageType::name = name, super core::Object::•()
;
static factory parse(core::String name) → self::MessageType {
- if(name.{core::String::==}("print")) {
+ if(name =={core::String::==}{(core::Object) → core::bool} "print") {
return #C2;
}
return #C4;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.strong.transformed.expect
index c9674e9..b9d7932 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.strong.transformed.expect
@@ -13,7 +13,7 @@
: self::MessageType::name = name, super core::Object::•()
;
static factory parse(core::String name) → self::MessageType {
- if(name.{core::String::==}("print")) {
+ if(name =={core::String::==}{(core::Object) → core::bool} "print") {
return #C2;
}
return #C4;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.weak.expect
index c9674e9..b9d7932 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.weak.expect
@@ -13,7 +13,7 @@
: self::MessageType::name = name, super core::Object::•()
;
static factory parse(core::String name) → self::MessageType {
- if(name.{core::String::==}("print")) {
+ if(name =={core::String::==}{(core::Object) → core::bool} "print") {
return #C2;
}
return #C4;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.weak.transformed.expect
index c9674e9..b9d7932 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_const_factory.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
: self::MessageType::name = name, super core::Object::•()
;
static factory parse(core::String name) → self::MessageType {
- if(name.{core::String::==}("print")) {
+ if(name =={core::String::==}{(core::Object) → core::bool} "print") {
return #C2;
}
return #C4;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.strong.expect
index 1737f7b..4442626 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.strong.expect
@@ -12,9 +12,9 @@
static method fn() → core::int {
core::int x = 0;
do {
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
}
- while (x.{core::num::<}(2))
+ while (x.{core::num::<}(2){(core::num) → core::bool})
return x;
}
static method fn2(core::int a) → core::int {
@@ -22,12 +22,12 @@
core::int b = 0;
#L1:
do {
- if(x.{core::num::>}(5))
+ if(x.{core::num::>}(5){(core::num) → core::bool})
break #L1;
- x = x.{core::num::+}(a);
- b = b.{core::num::+}(1);
+ x = x.{core::num::+}(a){(core::num) → core::int};
+ b = b.{core::num::+}(1){(core::num) → core::int};
}
- while (b.{core::num::<}(2))
+ while (b.{core::num::<}(2){(core::num) → core::bool})
return x;
}
static method fn3() → core::int {
@@ -36,12 +36,12 @@
do
#L2:
{
- x = x.{core::num::+}(1);
- if(x.{core::num::%}(2).{core::num::==}(1))
+ x = x.{core::num::+}(1){(core::num) → core::int};
+ if(x.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
break #L2;
- b = b.{core::num::+}(x);
+ b = b.{core::num::+}(x){(core::num) → core::int};
}
- while (x.{core::num::<}(5))
+ while (x.{core::num::<}(5){(core::num) → core::bool})
return b;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.strong.transformed.expect
index 1737f7b..4442626 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.strong.transformed.expect
@@ -12,9 +12,9 @@
static method fn() → core::int {
core::int x = 0;
do {
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
}
- while (x.{core::num::<}(2))
+ while (x.{core::num::<}(2){(core::num) → core::bool})
return x;
}
static method fn2(core::int a) → core::int {
@@ -22,12 +22,12 @@
core::int b = 0;
#L1:
do {
- if(x.{core::num::>}(5))
+ if(x.{core::num::>}(5){(core::num) → core::bool})
break #L1;
- x = x.{core::num::+}(a);
- b = b.{core::num::+}(1);
+ x = x.{core::num::+}(a){(core::num) → core::int};
+ b = b.{core::num::+}(1){(core::num) → core::int};
}
- while (b.{core::num::<}(2))
+ while (b.{core::num::<}(2){(core::num) → core::bool})
return x;
}
static method fn3() → core::int {
@@ -36,12 +36,12 @@
do
#L2:
{
- x = x.{core::num::+}(1);
- if(x.{core::num::%}(2).{core::num::==}(1))
+ x = x.{core::num::+}(1){(core::num) → core::int};
+ if(x.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
break #L2;
- b = b.{core::num::+}(x);
+ b = b.{core::num::+}(x){(core::num) → core::int};
}
- while (x.{core::num::<}(5))
+ while (x.{core::num::<}(5){(core::num) → core::bool})
return b;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.weak.expect
index 1737f7b..4442626 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.weak.expect
@@ -12,9 +12,9 @@
static method fn() → core::int {
core::int x = 0;
do {
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
}
- while (x.{core::num::<}(2))
+ while (x.{core::num::<}(2){(core::num) → core::bool})
return x;
}
static method fn2(core::int a) → core::int {
@@ -22,12 +22,12 @@
core::int b = 0;
#L1:
do {
- if(x.{core::num::>}(5))
+ if(x.{core::num::>}(5){(core::num) → core::bool})
break #L1;
- x = x.{core::num::+}(a);
- b = b.{core::num::+}(1);
+ x = x.{core::num::+}(a){(core::num) → core::int};
+ b = b.{core::num::+}(1){(core::num) → core::int};
}
- while (b.{core::num::<}(2))
+ while (b.{core::num::<}(2){(core::num) → core::bool})
return x;
}
static method fn3() → core::int {
@@ -36,12 +36,12 @@
do
#L2:
{
- x = x.{core::num::+}(1);
- if(x.{core::num::%}(2).{core::num::==}(1))
+ x = x.{core::num::+}(1){(core::num) → core::int};
+ if(x.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
break #L2;
- b = b.{core::num::+}(x);
+ b = b.{core::num::+}(x){(core::num) → core::int};
}
- while (x.{core::num::<}(5))
+ while (x.{core::num::<}(5){(core::num) → core::bool})
return b;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.weak.transformed.expect
index 1737f7b..4442626 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_do_statements.dart.weak.transformed.expect
@@ -12,9 +12,9 @@
static method fn() → core::int {
core::int x = 0;
do {
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
}
- while (x.{core::num::<}(2))
+ while (x.{core::num::<}(2){(core::num) → core::bool})
return x;
}
static method fn2(core::int a) → core::int {
@@ -22,12 +22,12 @@
core::int b = 0;
#L1:
do {
- if(x.{core::num::>}(5))
+ if(x.{core::num::>}(5){(core::num) → core::bool})
break #L1;
- x = x.{core::num::+}(a);
- b = b.{core::num::+}(1);
+ x = x.{core::num::+}(a){(core::num) → core::int};
+ b = b.{core::num::+}(1){(core::num) → core::int};
}
- while (b.{core::num::<}(2))
+ while (b.{core::num::<}(2){(core::num) → core::bool})
return x;
}
static method fn3() → core::int {
@@ -36,12 +36,12 @@
do
#L2:
{
- x = x.{core::num::+}(1);
- if(x.{core::num::%}(2).{core::num::==}(1))
+ x = x.{core::num::+}(1){(core::num) → core::int};
+ if(x.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
break #L2;
- b = b.{core::num::+}(x);
+ b = b.{core::num::+}(x){(core::num) → core::int};
}
- while (x.{core::num::<}(5))
+ while (x.{core::num::<}(5){(core::num) → core::bool})
return b;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.strong.expect
index b8210ed..f4906f3 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.strong.expect
@@ -17,44 +17,44 @@
static const field core::int var10 = #C8;
static method fn(core::int a) → core::int {
core::int b = a;
- for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
- b = b.{core::num::+}(a);
+ for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
- for (core::int i = 0; ; i = i.{core::num::+}(1)) {
- b = b.{core::num::*}(3);
- if(b.{core::num::>}(10))
+ for (core::int i = 0; ; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ b = b.{core::num::*}(3){(core::num) → core::int};
+ if(b.{core::num::>}(10){(core::num) → core::bool})
return b;
}
}
static method fn2() → core::int {
- for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2), j = j.{core::num::+}(1)) {
- if(i.{core::num::+}(j).{core::num::>}(10)) {
- return i.{core::num::+}(j);
+ for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2){(core::num) → core::int}, j = j.{core::num::+}(1){(core::num) → core::int}) {
+ if(i.{core::num::+}(j){(core::num) → core::int}.{core::num::>}(10){(core::num) → core::bool}) {
+ return i.{core::num::+}(j){(core::num) → core::int};
}
}
}
static method fnContinue() → core::int {
core::int a = 0;
- for (core::int i = 0; i.{core::num::<}(5); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(5){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
#L1:
{
- if(i.{core::num::%}(2).{core::num::==}(1))
+ if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
break #L1;
- a = a.{core::num::+}(i);
+ a = a.{core::num::+}(i){(core::num) → core::int};
}
return a;
}
static method fnBreak(core::int a) → core::int {
core::int b = a;
#L2:
- for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
- if(b.{core::num::==}(2))
+ for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ if(b =={core::num::==}{(core::Object) → core::bool} 2)
break #L2;
- b = b.{core::num::+}(a);
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.strong.transformed.expect
index b8210ed..f4906f3 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.strong.transformed.expect
@@ -17,44 +17,44 @@
static const field core::int var10 = #C8;
static method fn(core::int a) → core::int {
core::int b = a;
- for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
- b = b.{core::num::+}(a);
+ for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
- for (core::int i = 0; ; i = i.{core::num::+}(1)) {
- b = b.{core::num::*}(3);
- if(b.{core::num::>}(10))
+ for (core::int i = 0; ; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ b = b.{core::num::*}(3){(core::num) → core::int};
+ if(b.{core::num::>}(10){(core::num) → core::bool})
return b;
}
}
static method fn2() → core::int {
- for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2), j = j.{core::num::+}(1)) {
- if(i.{core::num::+}(j).{core::num::>}(10)) {
- return i.{core::num::+}(j);
+ for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2){(core::num) → core::int}, j = j.{core::num::+}(1){(core::num) → core::int}) {
+ if(i.{core::num::+}(j){(core::num) → core::int}.{core::num::>}(10){(core::num) → core::bool}) {
+ return i.{core::num::+}(j){(core::num) → core::int};
}
}
}
static method fnContinue() → core::int {
core::int a = 0;
- for (core::int i = 0; i.{core::num::<}(5); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(5){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
#L1:
{
- if(i.{core::num::%}(2).{core::num::==}(1))
+ if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
break #L1;
- a = a.{core::num::+}(i);
+ a = a.{core::num::+}(i){(core::num) → core::int};
}
return a;
}
static method fnBreak(core::int a) → core::int {
core::int b = a;
#L2:
- for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
- if(b.{core::num::==}(2))
+ for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ if(b =={core::num::==}{(core::Object) → core::bool} 2)
break #L2;
- b = b.{core::num::+}(a);
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.weak.expect
index b8210ed..f4906f3 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.weak.expect
@@ -17,44 +17,44 @@
static const field core::int var10 = #C8;
static method fn(core::int a) → core::int {
core::int b = a;
- for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
- b = b.{core::num::+}(a);
+ for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
- for (core::int i = 0; ; i = i.{core::num::+}(1)) {
- b = b.{core::num::*}(3);
- if(b.{core::num::>}(10))
+ for (core::int i = 0; ; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ b = b.{core::num::*}(3){(core::num) → core::int};
+ if(b.{core::num::>}(10){(core::num) → core::bool})
return b;
}
}
static method fn2() → core::int {
- for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2), j = j.{core::num::+}(1)) {
- if(i.{core::num::+}(j).{core::num::>}(10)) {
- return i.{core::num::+}(j);
+ for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2){(core::num) → core::int}, j = j.{core::num::+}(1){(core::num) → core::int}) {
+ if(i.{core::num::+}(j){(core::num) → core::int}.{core::num::>}(10){(core::num) → core::bool}) {
+ return i.{core::num::+}(j){(core::num) → core::int};
}
}
}
static method fnContinue() → core::int {
core::int a = 0;
- for (core::int i = 0; i.{core::num::<}(5); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(5){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
#L1:
{
- if(i.{core::num::%}(2).{core::num::==}(1))
+ if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
break #L1;
- a = a.{core::num::+}(i);
+ a = a.{core::num::+}(i){(core::num) → core::int};
}
return a;
}
static method fnBreak(core::int a) → core::int {
core::int b = a;
#L2:
- for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
- if(b.{core::num::==}(2))
+ for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ if(b =={core::num::==}{(core::Object) → core::bool} 2)
break #L2;
- b = b.{core::num::+}(a);
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.weak.transformed.expect
index b8210ed..f4906f3 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_for_statements.dart.weak.transformed.expect
@@ -17,44 +17,44 @@
static const field core::int var10 = #C8;
static method fn(core::int a) → core::int {
core::int b = a;
- for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
- b = b.{core::num::+}(a);
+ for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
- for (core::int i = 0; ; i = i.{core::num::+}(1)) {
- b = b.{core::num::*}(3);
- if(b.{core::num::>}(10))
+ for (core::int i = 0; ; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ b = b.{core::num::*}(3){(core::num) → core::int};
+ if(b.{core::num::>}(10){(core::num) → core::bool})
return b;
}
}
static method fn2() → core::int {
- for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2), j = j.{core::num::+}(1)) {
- if(i.{core::num::+}(j).{core::num::>}(10)) {
- return i.{core::num::+}(j);
+ for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2){(core::num) → core::int}, j = j.{core::num::+}(1){(core::num) → core::int}) {
+ if(i.{core::num::+}(j){(core::num) → core::int}.{core::num::>}(10){(core::num) → core::bool}) {
+ return i.{core::num::+}(j){(core::num) → core::int};
}
}
}
static method fnContinue() → core::int {
core::int a = 0;
- for (core::int i = 0; i.{core::num::<}(5); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(5){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
#L1:
{
- if(i.{core::num::%}(2).{core::num::==}(1))
+ if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1)
break #L1;
- a = a.{core::num::+}(i);
+ a = a.{core::num::+}(i){(core::num) → core::int};
}
return a;
}
static method fnBreak(core::int a) → core::int {
core::int b = a;
#L2:
- for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
- if(b.{core::num::==}(2))
+ for (core::int i = 0; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ if(b =={core::num::==}{(core::Object) → core::bool} 2)
break #L2;
- b = b.{core::num::+}(a);
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.strong.expect
index 8d0f813..81d7277 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.strong.expect
@@ -17,11 +17,11 @@
static const field core::int var7 = #C5;
static const field core::int var8 = #C6;
static method ifTest(core::int a) → core::int {
- if(a.{core::num::==}(1)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 1) {
return 100;
}
else
- if(a.{core::num::==}(2)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 2) {
return 200;
}
else {
@@ -29,7 +29,7 @@
}
}
static method ifTest2(core::int a) → core::int {
- if(a.{core::num::==}(#C4)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} (#C4)) {
return 100;
}
else {
@@ -37,8 +37,8 @@
}
}
static method ifTest3(core::int a) → core::int {
- if(a.{core::num::>}(0)) {
- if(a.{core::num::==}(1))
+ if(a.{core::num::>}(0){(core::num) → core::bool}) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 100;
return 200;
}
@@ -46,15 +46,15 @@
}
static method ifTest4(core::int a) → core::int {
core::int b = a;
- if(a.{core::num::==}(1)) {
- b = b.{core::num::+}(a);
- if(a.{core::num::%}(2).{core::num::==}(1)) {
- b = b.{core::num::+}(a);
+ if(a =={core::num::==}{(core::Object) → core::bool} 1) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ if(a.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
}
else
- if(a.{core::num::==}(2)) {
- b = b.{core::num::-}(a);
+ if(a =={core::num::==}{(core::Object) → core::bool} 2) {
+ b = b.{core::num::-}(a){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.strong.transformed.expect
index 8d0f813..81d7277 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.strong.transformed.expect
@@ -17,11 +17,11 @@
static const field core::int var7 = #C5;
static const field core::int var8 = #C6;
static method ifTest(core::int a) → core::int {
- if(a.{core::num::==}(1)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 1) {
return 100;
}
else
- if(a.{core::num::==}(2)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 2) {
return 200;
}
else {
@@ -29,7 +29,7 @@
}
}
static method ifTest2(core::int a) → core::int {
- if(a.{core::num::==}(#C4)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} (#C4)) {
return 100;
}
else {
@@ -37,8 +37,8 @@
}
}
static method ifTest3(core::int a) → core::int {
- if(a.{core::num::>}(0)) {
- if(a.{core::num::==}(1))
+ if(a.{core::num::>}(0){(core::num) → core::bool}) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 100;
return 200;
}
@@ -46,15 +46,15 @@
}
static method ifTest4(core::int a) → core::int {
core::int b = a;
- if(a.{core::num::==}(1)) {
- b = b.{core::num::+}(a);
- if(a.{core::num::%}(2).{core::num::==}(1)) {
- b = b.{core::num::+}(a);
+ if(a =={core::num::==}{(core::Object) → core::bool} 1) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ if(a.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
}
else
- if(a.{core::num::==}(2)) {
- b = b.{core::num::-}(a);
+ if(a =={core::num::==}{(core::Object) → core::bool} 2) {
+ b = b.{core::num::-}(a){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.weak.expect
index 8d0f813..81d7277 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.weak.expect
@@ -17,11 +17,11 @@
static const field core::int var7 = #C5;
static const field core::int var8 = #C6;
static method ifTest(core::int a) → core::int {
- if(a.{core::num::==}(1)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 1) {
return 100;
}
else
- if(a.{core::num::==}(2)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 2) {
return 200;
}
else {
@@ -29,7 +29,7 @@
}
}
static method ifTest2(core::int a) → core::int {
- if(a.{core::num::==}(#C4)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} (#C4)) {
return 100;
}
else {
@@ -37,8 +37,8 @@
}
}
static method ifTest3(core::int a) → core::int {
- if(a.{core::num::>}(0)) {
- if(a.{core::num::==}(1))
+ if(a.{core::num::>}(0){(core::num) → core::bool}) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 100;
return 200;
}
@@ -46,15 +46,15 @@
}
static method ifTest4(core::int a) → core::int {
core::int b = a;
- if(a.{core::num::==}(1)) {
- b = b.{core::num::+}(a);
- if(a.{core::num::%}(2).{core::num::==}(1)) {
- b = b.{core::num::+}(a);
+ if(a =={core::num::==}{(core::Object) → core::bool} 1) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ if(a.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
}
else
- if(a.{core::num::==}(2)) {
- b = b.{core::num::-}(a);
+ if(a =={core::num::==}{(core::Object) → core::bool} 2) {
+ b = b.{core::num::-}(a){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.weak.transformed.expect
index 8d0f813..81d7277 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_if_statements.dart.weak.transformed.expect
@@ -17,11 +17,11 @@
static const field core::int var7 = #C5;
static const field core::int var8 = #C6;
static method ifTest(core::int a) → core::int {
- if(a.{core::num::==}(1)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 1) {
return 100;
}
else
- if(a.{core::num::==}(2)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 2) {
return 200;
}
else {
@@ -29,7 +29,7 @@
}
}
static method ifTest2(core::int a) → core::int {
- if(a.{core::num::==}(#C4)) {
+ if(a =={core::num::==}{(core::Object) → core::bool} (#C4)) {
return 100;
}
else {
@@ -37,8 +37,8 @@
}
}
static method ifTest3(core::int a) → core::int {
- if(a.{core::num::>}(0)) {
- if(a.{core::num::==}(1))
+ if(a.{core::num::>}(0){(core::num) → core::bool}) {
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 100;
return 200;
}
@@ -46,15 +46,15 @@
}
static method ifTest4(core::int a) → core::int {
core::int b = a;
- if(a.{core::num::==}(1)) {
- b = b.{core::num::+}(a);
- if(a.{core::num::%}(2).{core::num::==}(1)) {
- b = b.{core::num::+}(a);
+ if(a =={core::num::==}{(core::Object) → core::bool} 1) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ if(a.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
}
}
else
- if(a.{core::num::==}(2)) {
- b = b.{core::num::-}(a);
+ if(a =={core::num::==}{(core::Object) → core::bool} 2) {
+ b = b.{core::num::-}(a){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.strong.expect
index 265d81d..82b3cb4 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.strong.expect
@@ -29,15 +29,15 @@
static const field core::int var4 = #C2;
static const field core::int var5 = #C3;
static method fn() → core::int
- return (#C4).{self::A::y};
+ return (#C4).{self::A::y}{core::int};
static method fn2() → core::int {
self::A x = #C4;
- return x.{self::A::y};
+ return x.{self::A::y}{core::int};
}
static method fn4() → core::int
- return (#C5).{self::A::y};
+ return (#C5).{self::A::y}{core::int};
static method fn5() → core::int
- return (#C7).{self::C::y};
+ return (#C7).{self::C::y}{core::int};
static method main() → void {
exp::Expect::equals(#C2, 1);
exp::Expect::equals(#C2, 1);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.strong.transformed.expect
index 265d81d..82b3cb4 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.strong.transformed.expect
@@ -29,15 +29,15 @@
static const field core::int var4 = #C2;
static const field core::int var5 = #C3;
static method fn() → core::int
- return (#C4).{self::A::y};
+ return (#C4).{self::A::y}{core::int};
static method fn2() → core::int {
self::A x = #C4;
- return x.{self::A::y};
+ return x.{self::A::y}{core::int};
}
static method fn4() → core::int
- return (#C5).{self::A::y};
+ return (#C5).{self::A::y}{core::int};
static method fn5() → core::int
- return (#C7).{self::C::y};
+ return (#C7).{self::C::y}{core::int};
static method main() → void {
exp::Expect::equals(#C2, 1);
exp::Expect::equals(#C2, 1);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.expect
index 265d81d..82b3cb4 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.expect
@@ -29,15 +29,15 @@
static const field core::int var4 = #C2;
static const field core::int var5 = #C3;
static method fn() → core::int
- return (#C4).{self::A::y};
+ return (#C4).{self::A::y}{core::int};
static method fn2() → core::int {
self::A x = #C4;
- return x.{self::A::y};
+ return x.{self::A::y}{core::int};
}
static method fn4() → core::int
- return (#C5).{self::A::y};
+ return (#C5).{self::A::y}{core::int};
static method fn5() → core::int
- return (#C7).{self::C::y};
+ return (#C7).{self::C::y}{core::int};
static method main() → void {
exp::Expect::equals(#C2, 1);
exp::Expect::equals(#C2, 1);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.outline.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.outline.expect
index 4d35f82..ed43e55 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.outline.expect
@@ -24,7 +24,7 @@
}
static const field core::int var1 = self::fn();
static const field core::int var2 = self::fn2();
-static const field core::int var3 = const self::A::•(1).{self::A::y};
+static const field core::int var3 = const self::A::•(1).{self::A::y}{core::int};
static const field core::int var4 = self::fn4();
static const field core::int var5 = self::fn5();
static method fn() → core::int
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.transformed.expect
index 265d81d..82b3cb4 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_fields.dart.weak.transformed.expect
@@ -29,15 +29,15 @@
static const field core::int var4 = #C2;
static const field core::int var5 = #C3;
static method fn() → core::int
- return (#C4).{self::A::y};
+ return (#C4).{self::A::y}{core::int};
static method fn2() → core::int {
self::A x = #C4;
- return x.{self::A::y};
+ return x.{self::A::y}{core::int};
}
static method fn4() → core::int
- return (#C5).{self::A::y};
+ return (#C5).{self::A::y}{core::int};
static method fn5() → core::int
- return (#C7).{self::C::y};
+ return (#C7).{self::C::y}{core::int};
static method main() → void {
exp::Expect::equals(#C2, 1);
exp::Expect::equals(#C2, 1);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.expect
index 0eb686e..4c328e0 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.expect
@@ -24,7 +24,7 @@
: self::C::y = y, super core::Object::•()
;
method fn() → core::int {
- if(this.{self::C::y}.{core::num::==}(1))
+ if(this.{self::C::y}{core::int} =={core::num::==}{(core::Object) → core::bool} 1)
return 100;
return 200;
}
@@ -71,26 +71,26 @@
static const field core::String var8 = #C7;
static const field core::String fnVal6 = #C7;
static method fn() → core::String
- return (#C8).{core::Object::toString}();
+ return (#C8).{core::Object::toString}(){() → core::String};
static method fn2() → core::String
- return (#C9).{self::B::toString}();
+ return (#C9).{self::B::toString}(){() → core::String};
static method fn3() → core::int
- return (#C11).{self::C::fn}();
+ return (#C11).{self::C::fn}(){() → core::int};
static method fn4() → core::int
- return (#C13).{self::C::fn}();
+ return (#C13).{self::C::fn}(){() → core::int};
static method fn5() → core::int
- return (#C14).{self::D::fn}();
+ return (#C14).{self::D::fn}(){() → core::int};
static method fn6() → core::int
- return (#C15).{self::C::fn}();
+ return (#C15).{self::C::fn}(){() → core::int};
static method fn7() → core::String
- return (#C16).{self::F::fn}("string");
+ return (#C16).{self::F::fn}("string"){(core::String) → core::String};
static method fn8() → core::String
- return (#C17).{self::F::fn}("string");
+ return (#C17).{self::F::fn}("string"){(core::String) → core::String};
static method main() → void {
- exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
- exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
- exp::Expect::equals(#C3, (#C9).{self::B::toString}());
- exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+ exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
+ exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
+ exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
+ exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C4, 200);
exp::Expect::equals(#C5, 100);
exp::Expect::equals(#C4, 200);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.transformed.expect
index 0eb686e..4c328e0 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.transformed.expect
@@ -24,7 +24,7 @@
: self::C::y = y, super core::Object::•()
;
method fn() → core::int {
- if(this.{self::C::y}.{core::num::==}(1))
+ if(this.{self::C::y}{core::int} =={core::num::==}{(core::Object) → core::bool} 1)
return 100;
return 200;
}
@@ -71,26 +71,26 @@
static const field core::String var8 = #C7;
static const field core::String fnVal6 = #C7;
static method fn() → core::String
- return (#C8).{core::Object::toString}();
+ return (#C8).{core::Object::toString}(){() → core::String};
static method fn2() → core::String
- return (#C9).{self::B::toString}();
+ return (#C9).{self::B::toString}(){() → core::String};
static method fn3() → core::int
- return (#C11).{self::C::fn}();
+ return (#C11).{self::C::fn}(){() → core::int};
static method fn4() → core::int
- return (#C13).{self::C::fn}();
+ return (#C13).{self::C::fn}(){() → core::int};
static method fn5() → core::int
- return (#C14).{self::D::fn}();
+ return (#C14).{self::D::fn}(){() → core::int};
static method fn6() → core::int
- return (#C15).{self::C::fn}();
+ return (#C15).{self::C::fn}(){() → core::int};
static method fn7() → core::String
- return (#C16).{self::F::fn}("string");
+ return (#C16).{self::F::fn}("string"){(core::String) → core::String};
static method fn8() → core::String
- return (#C17).{self::F::fn}("string");
+ return (#C17).{self::F::fn}("string"){(core::String) → core::String};
static method main() → void {
- exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
- exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
- exp::Expect::equals(#C3, (#C9).{self::B::toString}());
- exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+ exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
+ exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
+ exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
+ exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C4, 200);
exp::Expect::equals(#C5, 100);
exp::Expect::equals(#C4, 200);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.expect
index 00d54b0..4ef96e2 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.expect
@@ -24,7 +24,7 @@
: self::C::y = y, super core::Object::•()
;
method fn() → core::int {
- if(this.{self::C::y}.{core::num::==}(1))
+ if(this.{self::C::y}{core::int} =={core::num::==}{(core::Object) → core::bool} 1)
return 100;
return 200;
}
@@ -71,26 +71,26 @@
static const field core::String var8 = #C7;
static const field core::String fnVal6 = #C7;
static method fn() → core::String
- return (#C8).{core::Object::toString}();
+ return (#C8).{core::Object::toString}(){() → core::String};
static method fn2() → core::String
- return (#C9).{self::B::toString}();
+ return (#C9).{self::B::toString}(){() → core::String};
static method fn3() → core::int
- return (#C11).{self::C::fn}();
+ return (#C11).{self::C::fn}(){() → core::int};
static method fn4() → core::int
- return (#C13).{self::C::fn}();
+ return (#C13).{self::C::fn}(){() → core::int};
static method fn5() → core::int
- return (#C14).{self::D::fn}();
+ return (#C14).{self::D::fn}(){() → core::int};
static method fn6() → core::int
- return (#C15).{self::C::fn}();
+ return (#C15).{self::C::fn}(){() → core::int};
static method fn7() → core::String
- return (#C16).{self::F::fn}("string");
+ return (#C16).{self::F::fn}("string"){(core::String) → core::String};
static method fn8() → core::String
- return (#C17).{self::F::fn}("string");
+ return (#C17).{self::F::fn}("string"){(core::String) → core::String};
static method main() → void {
- exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
- exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
- exp::Expect::equals(#C3, (#C9).{self::B::toString}());
- exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+ exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
+ exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
+ exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
+ exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C4, 200);
exp::Expect::equals(#C5, 100);
exp::Expect::equals(#C4, 200);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.outline.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.outline.expect
index 05abaed..4443d89 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.outline.expect
@@ -51,21 +51,21 @@
;
}
static const field core::String var1 = self::fn();
-static const field core::String toString1 = const self::A::•().{core::Object::toString}();
+static const field core::String toString1 = const self::A::•().{core::Object::toString}(){() → core::String};
static const field core::String var2 = self::fn2();
-static const field core::String toString2 = const self::B::•().{self::B::toString}();
+static const field core::String toString2 = const self::B::•().{self::B::toString}(){() → core::String};
static const field core::int var3 = self::fn3();
static const field core::int var4 = self::fn4();
-static const field core::int fnVal1 = const self::C::•(0).{self::C::fn}();
-static const field core::int fnVal2 = const self::C::•(1).{self::C::fn}();
+static const field core::int fnVal1 = const self::C::•(0).{self::C::fn}(){() → core::int};
+static const field core::int fnVal2 = const self::C::•(1).{self::C::fn}(){() → core::int};
static const field core::int var5 = self::fn5();
-static const field core::int fnVal3 = const self::D::•(1).{self::D::fn}();
+static const field core::int fnVal3 = const self::D::•(1).{self::D::fn}(){() → core::int};
static const field core::int var6 = self::fn6();
-static const field core::int fnVal4 = const self::E::•(0).{self::C::fn}();
+static const field core::int fnVal4 = const self::E::•(0).{self::C::fn}(){() → core::int};
static const field core::String var7 = self::fn7();
-static const field core::String fnVal5 = const self::F::•<core::int, core::String, core::num>().{self::F::fn}("string");
+static const field core::String fnVal5 = const self::F::•<core::int, core::String, core::num>().{self::F::fn}("string"){(core::String) → core::String};
static const field core::String var8 = self::fn8();
-static const field core::String fnVal6 = const self::G::•<core::int>().{self::F::fn}("string");
+static const field core::String fnVal6 = const self::G::•<core::int>().{self::F::fn}("string"){(core::String) → core::String};
static method fn() → core::String
;
static method fn2() → core::String
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.transformed.expect
index 00d54b0..4ef96e2 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.transformed.expect
@@ -24,7 +24,7 @@
: self::C::y = y, super core::Object::•()
;
method fn() → core::int {
- if(this.{self::C::y}.{core::num::==}(1))
+ if(this.{self::C::y}{core::int} =={core::num::==}{(core::Object) → core::bool} 1)
return 100;
return 200;
}
@@ -71,26 +71,26 @@
static const field core::String var8 = #C7;
static const field core::String fnVal6 = #C7;
static method fn() → core::String
- return (#C8).{core::Object::toString}();
+ return (#C8).{core::Object::toString}(){() → core::String};
static method fn2() → core::String
- return (#C9).{self::B::toString}();
+ return (#C9).{self::B::toString}(){() → core::String};
static method fn3() → core::int
- return (#C11).{self::C::fn}();
+ return (#C11).{self::C::fn}(){() → core::int};
static method fn4() → core::int
- return (#C13).{self::C::fn}();
+ return (#C13).{self::C::fn}(){() → core::int};
static method fn5() → core::int
- return (#C14).{self::D::fn}();
+ return (#C14).{self::D::fn}(){() → core::int};
static method fn6() → core::int
- return (#C15).{self::C::fn}();
+ return (#C15).{self::C::fn}(){() → core::int};
static method fn7() → core::String
- return (#C16).{self::F::fn}("string");
+ return (#C16).{self::F::fn}("string"){(core::String) → core::String};
static method fn8() → core::String
- return (#C17).{self::F::fn}("string");
+ return (#C17).{self::F::fn}("string"){(core::String) → core::String};
static method main() → void {
- exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
- exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
- exp::Expect::equals(#C3, (#C9).{self::B::toString}());
- exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+ exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
+ exp::Expect::equals(#C2, (#C8).{core::Object::toString}(){() → core::String});
+ exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
+ exp::Expect::equals(#C3, (#C9).{self::B::toString}(){() → core::String});
exp::Expect::equals(#C4, 200);
exp::Expect::equals(#C5, 100);
exp::Expect::equals(#C4, 200);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list.dart b/pkg/front_end/testcases/const_functions/const_functions_list.dart
index ffe641e..2b54d70 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list.dart
+++ b/pkg/front_end/testcases/const_functions/const_functions_list.dart
@@ -86,13 +86,6 @@
return 1;
}
-const typeExample = int;
-const typeVar = typeFn();
-Type typeFn() {
- const List<int> x = [1, 2];
- return x.runtimeType;
-}
-
const getWithIndexVar = getWithIndexFn();
int getWithIndexFn() {
const List<int> x = [1];
@@ -134,7 +127,6 @@
Expect.equals(singleVar, 1);
Expect.equals(singleCatchVar, 0);
Expect.equals(singleCatchVar2, 0);
- Expect.equals(typeVar, int);
Expect.equals(getWithIndexVar, 1);
Expect.equals(rangeErrorCatchVar, 0);
Expect.equals(mutableListVar, const [1, 2]);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_list.dart.strong.expect
index e6068a5..d172063 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list.dart.strong.expect
@@ -15,18 +15,16 @@
static const field core::int singleVar = #C1;
static const field core::int singleCatchVar = #C2;
static const field core::int singleCatchVar2 = #C2;
-static const field core::Type typeExample = #C6;
-static const field core::Type typeVar = #C6;
static const field core::int getWithIndexVar = #C1;
static const field core::int rangeErrorCatchVar = #C2;
-static const field core::List<core::int> mutableListVar = #C7;
-static const field core::List<core::int> mutableListAddVar = #C9;
+static const field core::List<core::int> mutableListVar = #C6;
+static const field core::List<core::int> mutableListAddVar = #C8;
static method firstFn() → core::int {
- return (#C7).{core::Iterable::first};
+ return (#C6).{core::Iterable::first}{core::int};
}
static method firstCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::first};
+ core::int v = (#C9).{core::Iterable::first}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -34,17 +32,17 @@
return 1;
}
static method isEmptyFn() → core::bool {
- return (#C7).{core::Iterable::isEmpty};
+ return (#C6).{core::Iterable::isEmpty}{core::bool};
}
static method isNotEmptyFn() → core::bool {
- return (#C7).{core::Iterable::isNotEmpty};
+ return (#C6).{core::Iterable::isNotEmpty}{core::bool};
}
static method lastFn() → core::int {
- return (#C7).{core::Iterable::last};
+ return (#C6).{core::Iterable::last}{core::int};
}
static method lastCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::last};
+ core::int v = (#C9).{core::Iterable::last}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -52,14 +50,14 @@
return 1;
}
static method lengthFn() → core::int {
- return (#C7).{core::List::length};
+ return (#C6).{core::List::length}{core::int};
}
static method singleFn() → core::int {
- return (#C11).{core::Iterable::single};
+ return (#C10).{core::Iterable::single}{core::int};
}
static method singleCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::single};
+ core::int v = (#C9).{core::Iterable::single}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -68,22 +66,19 @@
}
static method singleCatchFn2() → core::int {
try {
- core::int v = (#C7).{core::Iterable::single};
+ core::int v = (#C6).{core::Iterable::single}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
}
return 1;
}
-static method typeFn() → core::Type {
- return (#C7).{core::Object::runtimeType};
-}
static method getWithIndexFn() → core::int {
- return (#C11).{core::List::[]}(0);
+ return (#C10).{core::List::[]}(0){(core::int) → core::int};
}
static method rangeErrorCatchFn() → core::int {
try {
- core::int v = (#C11).{core::List::[]}(1);
+ core::int v = (#C10).{core::List::[]}(1){(core::int) → core::int};
}
on core::RangeError catch(no-exception-var) {
return 0;
@@ -96,7 +91,7 @@
}
static method mutableListAdd() → core::List<core::int> {
core::List<core::int> x = <core::int>[1, 2];
- x.{core::List::add}(3);
+ x.{core::List::add}(3){(core::int) → void};
return x;
}
static method main() → void {
@@ -110,11 +105,10 @@
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 0);
exp::Expect::equals(#C2, 0);
- exp::Expect::equals(#C6, #C6);
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 0);
- exp::Expect::equals(#C7, #C7);
- exp::Expect::equals(#C9, #C9);
+ exp::Expect::equals(#C6, #C6);
+ exp::Expect::equals(#C8, #C8);
}
constants {
@@ -123,10 +117,9 @@
#C3 = false
#C4 = true
#C5 = 2
- #C6 = TypeLiteralConstant(core::int)
- #C7 = <core::int>[#C1, #C5]
- #C8 = 3
- #C9 = <core::int>[#C1, #C5, #C8]
- #C10 = <core::int>[]
- #C11 = <core::int>[#C1]
+ #C6 = <core::int>[#C1, #C5]
+ #C7 = 3
+ #C8 = <core::int>[#C1, #C5, #C7]
+ #C9 = <core::int>[]
+ #C10 = <core::int>[#C1]
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_list.dart.strong.transformed.expect
index 4091f3e..02621b8 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list.dart.strong.transformed.expect
@@ -15,18 +15,16 @@
static const field core::int singleVar = #C1;
static const field core::int singleCatchVar = #C2;
static const field core::int singleCatchVar2 = #C2;
-static const field core::Type typeExample = #C6;
-static const field core::Type typeVar = #C6;
static const field core::int getWithIndexVar = #C1;
static const field core::int rangeErrorCatchVar = #C2;
-static const field core::List<core::int> mutableListVar = #C7;
-static const field core::List<core::int> mutableListAddVar = #C9;
+static const field core::List<core::int> mutableListVar = #C6;
+static const field core::List<core::int> mutableListAddVar = #C8;
static method firstFn() → core::int {
- return (#C7).{core::Iterable::first};
+ return (#C6).{core::Iterable::first}{core::int};
}
static method firstCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::first};
+ core::int v = (#C9).{core::Iterable::first}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -34,17 +32,17 @@
return 1;
}
static method isEmptyFn() → core::bool {
- return (#C7).{core::Iterable::isEmpty};
+ return (#C6).{core::Iterable::isEmpty}{core::bool};
}
static method isNotEmptyFn() → core::bool {
- return (#C7).{core::Iterable::isNotEmpty};
+ return (#C6).{core::Iterable::isNotEmpty}{core::bool};
}
static method lastFn() → core::int {
- return (#C7).{core::Iterable::last};
+ return (#C6).{core::Iterable::last}{core::int};
}
static method lastCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::last};
+ core::int v = (#C9).{core::Iterable::last}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -52,14 +50,14 @@
return 1;
}
static method lengthFn() → core::int {
- return (#C7).{core::List::length};
+ return (#C6).{core::List::length}{core::int};
}
static method singleFn() → core::int {
- return (#C11).{core::Iterable::single};
+ return (#C10).{core::Iterable::single}{core::int};
}
static method singleCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::single};
+ core::int v = (#C9).{core::Iterable::single}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -68,22 +66,19 @@
}
static method singleCatchFn2() → core::int {
try {
- core::int v = (#C7).{core::Iterable::single};
+ core::int v = (#C6).{core::Iterable::single}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
}
return 1;
}
-static method typeFn() → core::Type {
- return (#C7).{core::Object::runtimeType};
-}
static method getWithIndexFn() → core::int {
- return (#C11).{core::List::[]}(0);
+ return (#C10).{core::List::[]}(0){(core::int) → core::int};
}
static method rangeErrorCatchFn() → core::int {
try {
- core::int v = (#C11).{core::List::[]}(1);
+ core::int v = (#C10).{core::List::[]}(1){(core::int) → core::int};
}
on core::RangeError catch(no-exception-var) {
return 0;
@@ -96,7 +91,7 @@
}
static method mutableListAdd() → core::List<core::int> {
core::List<core::int> x = core::_GrowableList::_literal2<core::int>(1, 2);
- x.{core::List::add}(3);
+ x.{core::List::add}(3){(core::int) → void};
return x;
}
static method main() → void {
@@ -110,11 +105,10 @@
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 0);
exp::Expect::equals(#C2, 0);
- exp::Expect::equals(#C6, #C6);
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 0);
- exp::Expect::equals(#C7, #C7);
- exp::Expect::equals(#C9, #C9);
+ exp::Expect::equals(#C6, #C6);
+ exp::Expect::equals(#C8, #C8);
}
constants {
@@ -123,10 +117,9 @@
#C3 = false
#C4 = true
#C5 = 2
- #C6 = TypeLiteralConstant(core::int)
- #C7 = <core::int>[#C1, #C5]
- #C8 = 3
- #C9 = <core::int>[#C1, #C5, #C8]
- #C10 = <core::int>[]
- #C11 = <core::int>[#C1]
+ #C6 = <core::int>[#C1, #C5]
+ #C7 = 3
+ #C8 = <core::int>[#C1, #C5, #C7]
+ #C9 = <core::int>[]
+ #C10 = <core::int>[#C1]
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list.dart.textual_outline.expect b/pkg/front_end/testcases/const_functions/const_functions_list.dart.textual_outline.expect
index 3d19d8a..6e0c332 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list.dart.textual_outline.expect
@@ -20,9 +20,6 @@
int singleCatchFn() {}
const singleCatchVar2 = singleCatchFn2();
int singleCatchFn2() {}
-const typeExample = int;
-const typeVar = typeFn();
-Type typeFn() {}
const getWithIndexVar = getWithIndexFn();
int getWithIndexFn() {}
const rangeErrorCatchVar = rangeErrorCatchFn();
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/const_functions/const_functions_list.dart.textual_outline_modelled.expect
index e39fc73..3bf6b3a 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list.dart.textual_outline_modelled.expect
@@ -2,7 +2,6 @@
List<int> mutableList() {}
List<int> mutableListAdd() {}
-Type typeFn() {}
bool isEmptyFn() {}
bool isNotEmptyFn() {}
const firstCatchVar = firstCatchFn();
@@ -19,8 +18,6 @@
const singleCatchVar = singleCatchFn();
const singleCatchVar2 = singleCatchFn2();
const singleVar = singleFn();
-const typeExample = int;
-const typeVar = typeFn();
int firstCatchFn() {}
int firstFn() {}
int getWithIndexFn() {}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.expect
index f3366b9..db792b6 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.expect
@@ -15,18 +15,16 @@
static const field core::int singleVar = #C1;
static const field core::int singleCatchVar = #C2;
static const field core::int singleCatchVar2 = #C2;
-static const field core::Type typeExample = #C6;
-static const field core::Type typeVar = #C6;
static const field core::int getWithIndexVar = #C1;
static const field core::int rangeErrorCatchVar = #C2;
-static const field core::List<core::int> mutableListVar = #C7;
-static const field core::List<core::int> mutableListAddVar = #C9;
+static const field core::List<core::int> mutableListVar = #C6;
+static const field core::List<core::int> mutableListAddVar = #C8;
static method firstFn() → core::int {
- return (#C7).{core::Iterable::first};
+ return (#C6).{core::Iterable::first}{core::int};
}
static method firstCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::first};
+ core::int v = (#C9).{core::Iterable::first}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -34,17 +32,17 @@
return 1;
}
static method isEmptyFn() → core::bool {
- return (#C7).{core::Iterable::isEmpty};
+ return (#C6).{core::Iterable::isEmpty}{core::bool};
}
static method isNotEmptyFn() → core::bool {
- return (#C7).{core::Iterable::isNotEmpty};
+ return (#C6).{core::Iterable::isNotEmpty}{core::bool};
}
static method lastFn() → core::int {
- return (#C7).{core::Iterable::last};
+ return (#C6).{core::Iterable::last}{core::int};
}
static method lastCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::last};
+ core::int v = (#C9).{core::Iterable::last}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -52,14 +50,14 @@
return 1;
}
static method lengthFn() → core::int {
- return (#C7).{core::List::length};
+ return (#C6).{core::List::length}{core::int};
}
static method singleFn() → core::int {
- return (#C11).{core::Iterable::single};
+ return (#C10).{core::Iterable::single}{core::int};
}
static method singleCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::single};
+ core::int v = (#C9).{core::Iterable::single}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -68,22 +66,19 @@
}
static method singleCatchFn2() → core::int {
try {
- core::int v = (#C7).{core::Iterable::single};
+ core::int v = (#C6).{core::Iterable::single}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
}
return 1;
}
-static method typeFn() → core::Type {
- return (#C7).{core::Object::runtimeType};
-}
static method getWithIndexFn() → core::int {
- return (#C11).{core::List::[]}(0);
+ return (#C10).{core::List::[]}(0){(core::int) → core::int};
}
static method rangeErrorCatchFn() → core::int {
try {
- core::int v = (#C11).{core::List::[]}(1);
+ core::int v = (#C10).{core::List::[]}(1){(core::int) → core::int};
}
on core::RangeError catch(no-exception-var) {
return 0;
@@ -96,7 +91,7 @@
}
static method mutableListAdd() → core::List<core::int> {
core::List<core::int> x = <core::int>[1, 2];
- x.{core::List::add}(3);
+ x.{core::List::add}(3){(core::int) → void};
return x;
}
static method main() → void {
@@ -110,11 +105,10 @@
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 0);
exp::Expect::equals(#C2, 0);
- exp::Expect::equals(#C6, #C6);
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 0);
- exp::Expect::equals(#C7, #C7);
- exp::Expect::equals(#C9, #C9);
+ exp::Expect::equals(#C6, #C6);
+ exp::Expect::equals(#C8, #C8);
}
constants {
@@ -123,10 +117,9 @@
#C3 = false
#C4 = true
#C5 = 2
- #C6 = TypeLiteralConstant(core::int*)
- #C7 = <core::int*>[#C1, #C5]
- #C8 = 3
- #C9 = <core::int*>[#C1, #C5, #C8]
- #C10 = <core::int*>[]
- #C11 = <core::int*>[#C1]
+ #C6 = <core::int*>[#C1, #C5]
+ #C7 = 3
+ #C8 = <core::int*>[#C1, #C5, #C7]
+ #C9 = <core::int*>[]
+ #C10 = <core::int*>[#C1]
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.outline.expect b/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.outline.expect
index 72ee4b8..0b8aae5 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.outline.expect
@@ -14,8 +14,6 @@
static const field core::int singleVar = self::singleFn();
static const field core::int singleCatchVar = self::singleCatchFn();
static const field core::int singleCatchVar2 = self::singleCatchFn2();
-static const field core::Type typeExample = core::int;
-static const field core::Type typeVar = self::typeFn();
static const field core::int getWithIndexVar = self::getWithIndexFn();
static const field core::int rangeErrorCatchVar = self::rangeErrorCatchFn();
static const field core::List<core::int> mutableListVar = self::mutableList();
@@ -40,8 +38,6 @@
;
static method singleCatchFn2() → core::int
;
-static method typeFn() → core::Type
- ;
static method getWithIndexFn() → core::int
;
static method rangeErrorCatchFn() → core::int
@@ -52,8 +48,3 @@
;
static method main() → void
;
-
-
-Extra constant evaluation status:
-Evaluated: TypeLiteral @ org-dartlang-testcase:///const_functions_list.dart:89:21 -> TypeLiteralConstant(int*)
-Extra constant evaluation: evaluated: 16, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.transformed.expect
index 2722eb3..88c7fa4 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list.dart.weak.transformed.expect
@@ -15,18 +15,16 @@
static const field core::int singleVar = #C1;
static const field core::int singleCatchVar = #C2;
static const field core::int singleCatchVar2 = #C2;
-static const field core::Type typeExample = #C6;
-static const field core::Type typeVar = #C6;
static const field core::int getWithIndexVar = #C1;
static const field core::int rangeErrorCatchVar = #C2;
-static const field core::List<core::int> mutableListVar = #C7;
-static const field core::List<core::int> mutableListAddVar = #C9;
+static const field core::List<core::int> mutableListVar = #C6;
+static const field core::List<core::int> mutableListAddVar = #C8;
static method firstFn() → core::int {
- return (#C7).{core::Iterable::first};
+ return (#C6).{core::Iterable::first}{core::int};
}
static method firstCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::first};
+ core::int v = (#C9).{core::Iterable::first}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -34,17 +32,17 @@
return 1;
}
static method isEmptyFn() → core::bool {
- return (#C7).{core::Iterable::isEmpty};
+ return (#C6).{core::Iterable::isEmpty}{core::bool};
}
static method isNotEmptyFn() → core::bool {
- return (#C7).{core::Iterable::isNotEmpty};
+ return (#C6).{core::Iterable::isNotEmpty}{core::bool};
}
static method lastFn() → core::int {
- return (#C7).{core::Iterable::last};
+ return (#C6).{core::Iterable::last}{core::int};
}
static method lastCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::last};
+ core::int v = (#C9).{core::Iterable::last}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -52,14 +50,14 @@
return 1;
}
static method lengthFn() → core::int {
- return (#C7).{core::List::length};
+ return (#C6).{core::List::length}{core::int};
}
static method singleFn() → core::int {
- return (#C11).{core::Iterable::single};
+ return (#C10).{core::Iterable::single}{core::int};
}
static method singleCatchFn() → core::int {
try {
- core::int v = (#C10).{core::Iterable::single};
+ core::int v = (#C9).{core::Iterable::single}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
@@ -68,22 +66,19 @@
}
static method singleCatchFn2() → core::int {
try {
- core::int v = (#C7).{core::Iterable::single};
+ core::int v = (#C6).{core::Iterable::single}{core::int};
}
on core::StateError catch(no-exception-var) {
return 0;
}
return 1;
}
-static method typeFn() → core::Type {
- return (#C7).{core::Object::runtimeType};
-}
static method getWithIndexFn() → core::int {
- return (#C11).{core::List::[]}(0);
+ return (#C10).{core::List::[]}(0){(core::int) → core::int};
}
static method rangeErrorCatchFn() → core::int {
try {
- core::int v = (#C11).{core::List::[]}(1);
+ core::int v = (#C10).{core::List::[]}(1){(core::int) → core::int};
}
on core::RangeError catch(no-exception-var) {
return 0;
@@ -96,7 +91,7 @@
}
static method mutableListAdd() → core::List<core::int> {
core::List<core::int> x = core::_GrowableList::_literal2<core::int>(1, 2);
- x.{core::List::add}(3);
+ x.{core::List::add}(3){(core::int) → void};
return x;
}
static method main() → void {
@@ -110,11 +105,10 @@
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 0);
exp::Expect::equals(#C2, 0);
- exp::Expect::equals(#C6, #C6);
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 0);
- exp::Expect::equals(#C7, #C7);
- exp::Expect::equals(#C9, #C9);
+ exp::Expect::equals(#C6, #C6);
+ exp::Expect::equals(#C8, #C8);
}
constants {
@@ -123,10 +117,9 @@
#C3 = false
#C4 = true
#C5 = 2
- #C6 = TypeLiteralConstant(core::int*)
- #C7 = <core::int*>[#C1, #C5]
- #C8 = 3
- #C9 = <core::int*>[#C1, #C5, #C8]
- #C10 = <core::int*>[]
- #C11 = <core::int*>[#C1]
+ #C6 = <core::int*>[#C1, #C5]
+ #C7 = 3
+ #C8 = <core::int*>[#C1, #C5, #C7]
+ #C9 = <core::int*>[]
+ #C10 = <core::int*>[#C1]
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.expect
index d9798b9..f4af2aa 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.expect
@@ -82,16 +82,16 @@
^";
static const field core::List<core::int> constListAddException = invalid-expression "Unhandled core exception: Unsupported operation: add";
static method firstExceptionFn() → core::int {
- return (#C1).{core::Iterable::first};
+ return (#C1).{core::Iterable::first}{core::int};
}
static method lastExceptionFn() → core::int {
- return (#C1).{core::Iterable::last};
+ return (#C1).{core::Iterable::last}{core::int};
}
static method singleExceptionFn() → core::int {
- return (#C1).{core::Iterable::single};
+ return (#C1).{core::Iterable::single}{core::int};
}
static method singleExceptionMultiFn() → core::int {
- return (#C4).{core::Iterable::single};
+ return (#C4).{core::Iterable::single}{core::int};
}
static method invalidPropertyFn() → core::int {
return invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:36:12: Error: The getter 'invalidProperty' isn't defined for the class 'List<int>'.
@@ -101,18 +101,18 @@
^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
static method getWithIndexExceptionFn() → core::int {
- return (#C5).{core::List::[]}(1);
+ return (#C5).{core::List::[]}(1){(core::int) → core::int};
}
static method getWithIndexExceptionFn2() → core::int {
- return (#C5).{core::List::[]}(1.{core::int::unary-}());
+ return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
}
static method getWithIndexExceptionFn3() → core::int {
return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return x[0.1];
- ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
}
static method constListAddExceptionFn() → core::List<core::int> {
- (#C4).{core::List::add}(3);
+ (#C4).{core::List::add}(3){(core::int) → void};
return #C4;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.transformed.expect
index fb04009..6afdb33 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.strong.transformed.expect
@@ -82,16 +82,16 @@
^";
static const field core::List<core::int> constListAddException = invalid-expression "Unhandled core exception: Unsupported operation: add";
static method firstExceptionFn() → core::int {
- return (#C1).{core::Iterable::first};
+ return (#C1).{core::Iterable::first}{core::int};
}
static method lastExceptionFn() → core::int {
- return (#C1).{core::Iterable::last};
+ return (#C1).{core::Iterable::last}{core::int};
}
static method singleExceptionFn() → core::int {
- return (#C1).{core::Iterable::single};
+ return (#C1).{core::Iterable::single}{core::int};
}
static method singleExceptionMultiFn() → core::int {
- return (#C4).{core::Iterable::single};
+ return (#C4).{core::Iterable::single}{core::int};
}
static method invalidPropertyFn() → core::int {
return invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:36:12: Error: The getter 'invalidProperty' isn't defined for the class 'List<int>'.
@@ -101,18 +101,18 @@
^^^^^^^^^^^^^^^";
}
static method getWithIndexExceptionFn() → core::int {
- return (#C5).{core::List::[]}(1);
+ return (#C5).{core::List::[]}(1){(core::int) → core::int};
}
static method getWithIndexExceptionFn2() → core::int {
- return (#C5).{core::List::[]}(1.{core::int::unary-}());
+ return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
}
static method getWithIndexExceptionFn3() → core::int {
return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return x[0.1];
- ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
}
static method constListAddExceptionFn() → core::List<core::int> {
- (#C4).{core::List::add}(3);
+ (#C4).{core::List::add}(3){(core::int) → void};
return #C4;
}
static method main() → void {}
@@ -126,5 +126,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
Extra constant evaluation: evaluated: 11, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.expect
index d918e0a..4accbb0 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.expect
@@ -82,16 +82,16 @@
^";
static const field core::List<core::int> constListAddException = invalid-expression "Unhandled core exception: Unsupported operation: add";
static method firstExceptionFn() → core::int {
- return (#C1).{core::Iterable::first};
+ return (#C1).{core::Iterable::first}{core::int};
}
static method lastExceptionFn() → core::int {
- return (#C1).{core::Iterable::last};
+ return (#C1).{core::Iterable::last}{core::int};
}
static method singleExceptionFn() → core::int {
- return (#C1).{core::Iterable::single};
+ return (#C1).{core::Iterable::single}{core::int};
}
static method singleExceptionMultiFn() → core::int {
- return (#C4).{core::Iterable::single};
+ return (#C4).{core::Iterable::single}{core::int};
}
static method invalidPropertyFn() → core::int {
return invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:36:12: Error: The getter 'invalidProperty' isn't defined for the class 'List<int>'.
@@ -101,18 +101,18 @@
^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
static method getWithIndexExceptionFn() → core::int {
- return (#C5).{core::List::[]}(1);
+ return (#C5).{core::List::[]}(1){(core::int) → core::int};
}
static method getWithIndexExceptionFn2() → core::int {
- return (#C5).{core::List::[]}(1.{core::int::unary-}());
+ return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
}
static method getWithIndexExceptionFn3() → core::int {
return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return x[0.1];
- ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
}
static method constListAddExceptionFn() → core::List<core::int> {
- (#C4).{core::List::add}(3);
+ (#C4).{core::List::add}(3){(core::int) → void};
return #C4;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.transformed.expect
index e2984c7..670f5fc 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_list_error.dart.weak.transformed.expect
@@ -82,16 +82,16 @@
^";
static const field core::List<core::int> constListAddException = invalid-expression "Unhandled core exception: Unsupported operation: add";
static method firstExceptionFn() → core::int {
- return (#C1).{core::Iterable::first};
+ return (#C1).{core::Iterable::first}{core::int};
}
static method lastExceptionFn() → core::int {
- return (#C1).{core::Iterable::last};
+ return (#C1).{core::Iterable::last}{core::int};
}
static method singleExceptionFn() → core::int {
- return (#C1).{core::Iterable::single};
+ return (#C1).{core::Iterable::single}{core::int};
}
static method singleExceptionMultiFn() → core::int {
- return (#C4).{core::Iterable::single};
+ return (#C4).{core::Iterable::single}{core::int};
}
static method invalidPropertyFn() → core::int {
return invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:36:12: Error: The getter 'invalidProperty' isn't defined for the class 'List<int>'.
@@ -101,18 +101,18 @@
^^^^^^^^^^^^^^^";
}
static method getWithIndexExceptionFn() → core::int {
- return (#C5).{core::List::[]}(1);
+ return (#C5).{core::List::[]}(1){(core::int) → core::int};
}
static method getWithIndexExceptionFn2() → core::int {
- return (#C5).{core::List::[]}(1.{core::int::unary-}());
+ return (#C5).{core::List::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
}
static method getWithIndexExceptionFn3() → core::int {
return (#C5).{core::List::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_list_error.dart:54:12: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return x[0.1];
- ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in 0.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
}
static method constListAddExceptionFn() → core::List<core::int> {
- (#C4).{core::List::add}(3);
+ (#C4).{core::List::add}(3){(core::int) → void};
return #C4;
}
static method main() → void {}
@@ -126,5 +126,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_list_error.dart:48:12 -> IntConstant(-1)
Extra constant evaluation: evaluated: 11, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.strong.expect
index cd90a2e..0ace590 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.strong.expect
@@ -8,24 +8,24 @@
static const field core::int constTwo = #C1;
static method function1() → core::int {
function add(core::int a, core::int b) → core::int
- return a.{core::num::+}(b);
+ return a.{core::num::+}(b){(core::num) → core::int};
return #C2;
}
static method function2() → core::int {
function addTwo(core::int a) → core::int {
- core::int b = a.{core::num::+}(#C1);
+ core::int b = a.{core::num::+}(#C1){(core::num) → core::int};
return b;
}
return #C3;
}
static method function3() → core::int {
function addTwoReturn(core::int a) → core::int
- return a.{core::num::+}(#C1);
+ return a.{core::num::+}(#C1){(core::num) → core::int};
return #C4;
}
static method function4() → core::int {
function addTwo(core::int a) → core::int
- return a.{core::num::+}(#C1);
+ return a.{core::num::+}(#C1){(core::num) → core::int};
return #C5;
}
static method function5() → core::int {
@@ -45,8 +45,8 @@
}
static method function8() → core::int {
function add(core::int a, core::int b) → core::int
- return a.{core::num::+}(b);
- return (#C1).{core::num::+}(#C4);
+ return a.{core::num::+}(b){(core::num) → core::int};
+ return (#C1).{core::num::+}(#C4){(core::num) → core::int};
}
static method main() → void {
exp::Expect::equals(self::function1(), 12);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.strong.transformed.expect
index 2dc0292..142ff6a 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.strong.transformed.expect
@@ -8,24 +8,24 @@
static const field core::int constTwo = #C1;
static method function1() → core::int {
function add(core::int a, core::int b) → core::int
- return a.{core::num::+}(b);
+ return a.{core::num::+}(b){(core::num) → core::int};
return #C2;
}
static method function2() → core::int {
function addTwo(core::int a) → core::int {
- core::int b = a.{core::num::+}(#C1);
+ core::int b = a.{core::num::+}(#C1){(core::num) → core::int};
return b;
}
return #C3;
}
static method function3() → core::int {
function addTwoReturn(core::int a) → core::int
- return a.{core::num::+}(#C1);
+ return a.{core::num::+}(#C1){(core::num) → core::int};
return #C4;
}
static method function4() → core::int {
function addTwo(core::int a) → core::int
- return a.{core::num::+}(#C1);
+ return a.{core::num::+}(#C1){(core::num) → core::int};
return #C5;
}
static method function5() → core::int {
@@ -45,8 +45,8 @@
}
static method function8() → core::int {
function add(core::int a, core::int b) → core::int
- return a.{core::num::+}(b);
- return (#C1).{core::num::+}(#C4);
+ return a.{core::num::+}(b){(core::num) → core::int};
+ return (#C1).{core::num::+}(#C4){(core::num) → core::int};
}
static method main() → void {
exp::Expect::equals(self::function1(), 12);
@@ -71,5 +71,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_local_functions.dart:61:16 -> IntConstant(7)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_local_functions.dart:61:16 -> IntConstant(7)
Extra constant evaluation: evaluated: 33, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.weak.expect
index cd90a2e..0ace590 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.weak.expect
@@ -8,24 +8,24 @@
static const field core::int constTwo = #C1;
static method function1() → core::int {
function add(core::int a, core::int b) → core::int
- return a.{core::num::+}(b);
+ return a.{core::num::+}(b){(core::num) → core::int};
return #C2;
}
static method function2() → core::int {
function addTwo(core::int a) → core::int {
- core::int b = a.{core::num::+}(#C1);
+ core::int b = a.{core::num::+}(#C1){(core::num) → core::int};
return b;
}
return #C3;
}
static method function3() → core::int {
function addTwoReturn(core::int a) → core::int
- return a.{core::num::+}(#C1);
+ return a.{core::num::+}(#C1){(core::num) → core::int};
return #C4;
}
static method function4() → core::int {
function addTwo(core::int a) → core::int
- return a.{core::num::+}(#C1);
+ return a.{core::num::+}(#C1){(core::num) → core::int};
return #C5;
}
static method function5() → core::int {
@@ -45,8 +45,8 @@
}
static method function8() → core::int {
function add(core::int a, core::int b) → core::int
- return a.{core::num::+}(b);
- return (#C1).{core::num::+}(#C4);
+ return a.{core::num::+}(b){(core::num) → core::int};
+ return (#C1).{core::num::+}(#C4){(core::num) → core::int};
}
static method main() → void {
exp::Expect::equals(self::function1(), 12);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.weak.transformed.expect
index 2dc0292..142ff6a 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_local_functions.dart.weak.transformed.expect
@@ -8,24 +8,24 @@
static const field core::int constTwo = #C1;
static method function1() → core::int {
function add(core::int a, core::int b) → core::int
- return a.{core::num::+}(b);
+ return a.{core::num::+}(b){(core::num) → core::int};
return #C2;
}
static method function2() → core::int {
function addTwo(core::int a) → core::int {
- core::int b = a.{core::num::+}(#C1);
+ core::int b = a.{core::num::+}(#C1){(core::num) → core::int};
return b;
}
return #C3;
}
static method function3() → core::int {
function addTwoReturn(core::int a) → core::int
- return a.{core::num::+}(#C1);
+ return a.{core::num::+}(#C1){(core::num) → core::int};
return #C4;
}
static method function4() → core::int {
function addTwo(core::int a) → core::int
- return a.{core::num::+}(#C1);
+ return a.{core::num::+}(#C1){(core::num) → core::int};
return #C5;
}
static method function5() → core::int {
@@ -45,8 +45,8 @@
}
static method function8() → core::int {
function add(core::int a, core::int b) → core::int
- return a.{core::num::+}(b);
- return (#C1).{core::num::+}(#C4);
+ return a.{core::num::+}(b){(core::num) → core::int};
+ return (#C1).{core::num::+}(#C4){(core::num) → core::int};
}
static method main() → void {
exp::Expect::equals(self::function1(), 12);
@@ -71,5 +71,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_local_functions.dart:61:16 -> IntConstant(7)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_local_functions.dart:61:16 -> IntConstant(7)
Extra constant evaluation: evaluated: 33, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_map.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_map.dart.strong.expect
index 1b2b117..f35acb3 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_map.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_map.dart.strong.expect
@@ -14,10 +14,10 @@
static const field core::Object? var6 = #C8;
static const field core::int? var7 = #C2;
static method fn(core::Map<core::Object, core::Object> map, core::Object key) → core::Object? {
- return map.{core::Map::[]}(key);
+ return map.{core::Map::[]}(key){(core::Object?) → core::Object?};
}
static method fn2() → core::int? {
- return (#C13).{core::Map::[]}("key");
+ return (#C13).{core::Map::[]}("key"){(core::Object?) → core::int?};
}
static method main() → void {
exp::Expect::equals(#C1, "val");
diff --git a/pkg/front_end/testcases/const_functions/const_functions_map.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_map.dart.strong.transformed.expect
index 1b2b117..f35acb3 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_map.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_map.dart.strong.transformed.expect
@@ -14,10 +14,10 @@
static const field core::Object? var6 = #C8;
static const field core::int? var7 = #C2;
static method fn(core::Map<core::Object, core::Object> map, core::Object key) → core::Object? {
- return map.{core::Map::[]}(key);
+ return map.{core::Map::[]}(key){(core::Object?) → core::Object?};
}
static method fn2() → core::int? {
- return (#C13).{core::Map::[]}("key");
+ return (#C13).{core::Map::[]}("key"){(core::Object?) → core::int?};
}
static method main() → void {
exp::Expect::equals(#C1, "val");
diff --git a/pkg/front_end/testcases/const_functions/const_functions_map.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_map.dart.weak.expect
index 836d428..a1dcfec 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_map.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_map.dart.weak.expect
@@ -14,10 +14,10 @@
static const field core::Object? var6 = #C8;
static const field core::int? var7 = #C2;
static method fn(core::Map<core::Object, core::Object> map, core::Object key) → core::Object? {
- return map.{core::Map::[]}(key);
+ return map.{core::Map::[]}(key){(core::Object?) → core::Object?};
}
static method fn2() → core::int? {
- return (#C13).{core::Map::[]}("key");
+ return (#C13).{core::Map::[]}("key"){(core::Object?) → core::int?};
}
static method main() → void {
exp::Expect::equals(#C1, "val");
diff --git a/pkg/front_end/testcases/const_functions/const_functions_map.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_map.dart.weak.transformed.expect
index 836d428..a1dcfec 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_map.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_map.dart.weak.transformed.expect
@@ -14,10 +14,10 @@
static const field core::Object? var6 = #C8;
static const field core::int? var7 = #C2;
static method fn(core::Map<core::Object, core::Object> map, core::Object key) → core::Object? {
- return map.{core::Map::[]}(key);
+ return map.{core::Map::[]}(key){(core::Object?) → core::Object?};
}
static method fn2() → core::int? {
- return (#C13).{core::Map::[]}("key");
+ return (#C13).{core::Map::[]}("key"){(core::Object?) → core::int?};
}
static method main() → void {
exp::Expect::equals(#C1, "val");
diff --git a/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.strong.expect
index c53d3dc..1ee9329 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.strong.expect
@@ -7,15 +7,15 @@
static const field core::int b = #C1;
static method fn(core::int a) → core::int {
- if(a.{core::num::==}(1))
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(self::fn(a.{core::num::-}(1)));
+ return a.{core::num::*}(self::fn(a.{core::num::-}(1){(core::num) → core::int})){(core::num) → core::int};
}
static method localTest() → core::int {
function fnLocal(core::int a) → core::int {
- if(a.{core::num::==}(1))
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(fnLocal.call(a.{core::num::-}(1)));
+ return a.{core::num::*}(fnLocal(a.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int}){(core::num) → core::int};
}
return #C1;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.strong.transformed.expect
index c53d3dc..1ee9329 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.strong.transformed.expect
@@ -7,15 +7,15 @@
static const field core::int b = #C1;
static method fn(core::int a) → core::int {
- if(a.{core::num::==}(1))
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(self::fn(a.{core::num::-}(1)));
+ return a.{core::num::*}(self::fn(a.{core::num::-}(1){(core::num) → core::int})){(core::num) → core::int};
}
static method localTest() → core::int {
function fnLocal(core::int a) → core::int {
- if(a.{core::num::==}(1))
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(fnLocal.call(a.{core::num::-}(1)));
+ return a.{core::num::*}(fnLocal(a.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int}){(core::num) → core::int};
}
return #C1;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.weak.expect
index c53d3dc..1ee9329 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.weak.expect
@@ -7,15 +7,15 @@
static const field core::int b = #C1;
static method fn(core::int a) → core::int {
- if(a.{core::num::==}(1))
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(self::fn(a.{core::num::-}(1)));
+ return a.{core::num::*}(self::fn(a.{core::num::-}(1){(core::num) → core::int})){(core::num) → core::int};
}
static method localTest() → core::int {
function fnLocal(core::int a) → core::int {
- if(a.{core::num::==}(1))
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(fnLocal.call(a.{core::num::-}(1)));
+ return a.{core::num::*}(fnLocal(a.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int}){(core::num) → core::int};
}
return #C1;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.weak.transformed.expect
index c53d3dc..1ee9329 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_recursion.dart.weak.transformed.expect
@@ -7,15 +7,15 @@
static const field core::int b = #C1;
static method fn(core::int a) → core::int {
- if(a.{core::num::==}(1))
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(self::fn(a.{core::num::-}(1)));
+ return a.{core::num::*}(self::fn(a.{core::num::-}(1){(core::num) → core::int})){(core::num) → core::int};
}
static method localTest() → core::int {
function fnLocal(core::int a) → core::int {
- if(a.{core::num::==}(1))
+ if(a =={core::num::==}{(core::Object) → core::bool} 1)
return 1;
- return a.{core::num::*}(fnLocal.call(a.{core::num::-}(1)));
+ return a.{core::num::*}(fnLocal(a.{core::num::-}(1){(core::num) → core::int}){(core::int) → core::int}){(core::num) → core::int};
}
return #C1;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.strong.expect
index 0d13bf0..04bf4ef 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.strong.expect
@@ -19,25 +19,25 @@
static const field core::int multi = #C2;
static const field core::int multi2 = #C3;
static method binaryFn(core::int a, core::int b) → core::int
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num) → core::int};
static method optionalFn(core::int c, [core::int d = #C11]) → core::int
- return c.{core::num::+}(d);
+ return c.{core::num::+}(d){(core::num) → core::int};
static method namedFn(core::int e, {core::int f = #C3}) → core::int
- return e.{core::num::+}(f);
+ return e.{core::num::+}(f){(core::num) → core::int};
static method typeFn<T extends core::Object? = dynamic>(self::typeFn::T% x) → self::typeFn::T%
return x;
static method stringFn(core::String s) → core::String
- return s.{core::String::+}("ing");
+ return s.{core::String::+}("ing"){(core::String) → core::String};
static method equalFn(core::int a, core::int b) → core::bool
- return a.{core::num::==}(b);
+ return a =={core::num::==}{(core::Object) → core::bool} b;
static method unary(core::int a) → core::int
- return a.{core::int::unary-}();
+ return a.{core::int::unary-}(){() → core::int};
static method boolFn(core::bool a, core::bool b) → core::bool
return a || b;
static method doubleFn(core::double a, core::double b) → core::double
- return a.{core::double::*}(b);
+ return a.{core::double::*}(b){(core::num) → core::double};
static method multiFn(core::int a) → core::int
- return a.{core::num::+}(1);
+ return a.{core::num::+}(1){(core::num) → core::int};
static method main() → void {
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 2);
@@ -47,7 +47,7 @@
exp::Expect::equals(#C6, 6);
exp::Expect::equals(#C7, "string");
exp::Expect::equals(#C8, true);
- exp::Expect::equals(#C9, 2.{core::int::unary-}());
+ exp::Expect::equals(#C9, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C10, 4.4);
exp::Expect::equals(#C2, 2);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.strong.transformed.expect
index de39112..15750cc 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.strong.transformed.expect
@@ -19,25 +19,25 @@
static const field core::int multi = #C2;
static const field core::int multi2 = #C3;
static method binaryFn(core::int a, core::int b) → core::int
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num) → core::int};
static method optionalFn(core::int c, [core::int d = #C11]) → core::int
- return c.{core::num::+}(d);
+ return c.{core::num::+}(d){(core::num) → core::int};
static method namedFn(core::int e, {core::int f = #C3}) → core::int
- return e.{core::num::+}(f);
+ return e.{core::num::+}(f){(core::num) → core::int};
static method typeFn<T extends core::Object? = dynamic>(self::typeFn::T% x) → self::typeFn::T%
return x;
static method stringFn(core::String s) → core::String
- return s.{core::String::+}("ing");
+ return s.{core::String::+}("ing"){(core::String) → core::String};
static method equalFn(core::int a, core::int b) → core::bool
- return a.{core::num::==}(b);
+ return a =={core::num::==}{(core::Object) → core::bool} b;
static method unary(core::int a) → core::int
- return a.{core::int::unary-}();
+ return a.{core::int::unary-}(){() → core::int};
static method boolFn(core::bool a, core::bool b) → core::bool
return a || b;
static method doubleFn(core::double a, core::double b) → core::double
- return a.{core::double::*}(b);
+ return a.{core::double::*}(b){(core::num) → core::double};
static method multiFn(core::int a) → core::int
- return a.{core::num::+}(1);
+ return a.{core::num::+}(1){(core::num) → core::int};
static method main() → void {
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 2);
@@ -47,7 +47,7 @@
exp::Expect::equals(#C6, 6);
exp::Expect::equals(#C7, "string");
exp::Expect::equals(#C8, true);
- exp::Expect::equals(#C9, 2.{core::int::unary-}());
+ exp::Expect::equals(#C9, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C10, 4.4);
exp::Expect::equals(#C2, 2);
@@ -69,5 +69,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_simple_invocations.dart:51:27 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_simple_invocations.dart:51:27 -> IntConstant(-2)
Extra constant evaluation: evaluated: 39, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.weak.expect
index 0d13bf0..04bf4ef 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.weak.expect
@@ -19,25 +19,25 @@
static const field core::int multi = #C2;
static const field core::int multi2 = #C3;
static method binaryFn(core::int a, core::int b) → core::int
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num) → core::int};
static method optionalFn(core::int c, [core::int d = #C11]) → core::int
- return c.{core::num::+}(d);
+ return c.{core::num::+}(d){(core::num) → core::int};
static method namedFn(core::int e, {core::int f = #C3}) → core::int
- return e.{core::num::+}(f);
+ return e.{core::num::+}(f){(core::num) → core::int};
static method typeFn<T extends core::Object? = dynamic>(self::typeFn::T% x) → self::typeFn::T%
return x;
static method stringFn(core::String s) → core::String
- return s.{core::String::+}("ing");
+ return s.{core::String::+}("ing"){(core::String) → core::String};
static method equalFn(core::int a, core::int b) → core::bool
- return a.{core::num::==}(b);
+ return a =={core::num::==}{(core::Object) → core::bool} b;
static method unary(core::int a) → core::int
- return a.{core::int::unary-}();
+ return a.{core::int::unary-}(){() → core::int};
static method boolFn(core::bool a, core::bool b) → core::bool
return a || b;
static method doubleFn(core::double a, core::double b) → core::double
- return a.{core::double::*}(b);
+ return a.{core::double::*}(b){(core::num) → core::double};
static method multiFn(core::int a) → core::int
- return a.{core::num::+}(1);
+ return a.{core::num::+}(1){(core::num) → core::int};
static method main() → void {
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 2);
@@ -47,7 +47,7 @@
exp::Expect::equals(#C6, 6);
exp::Expect::equals(#C7, "string");
exp::Expect::equals(#C8, true);
- exp::Expect::equals(#C9, 2.{core::int::unary-}());
+ exp::Expect::equals(#C9, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C10, 4.4);
exp::Expect::equals(#C2, 2);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.weak.transformed.expect
index de39112..15750cc 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_simple_invocations.dart.weak.transformed.expect
@@ -19,25 +19,25 @@
static const field core::int multi = #C2;
static const field core::int multi2 = #C3;
static method binaryFn(core::int a, core::int b) → core::int
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num) → core::int};
static method optionalFn(core::int c, [core::int d = #C11]) → core::int
- return c.{core::num::+}(d);
+ return c.{core::num::+}(d){(core::num) → core::int};
static method namedFn(core::int e, {core::int f = #C3}) → core::int
- return e.{core::num::+}(f);
+ return e.{core::num::+}(f){(core::num) → core::int};
static method typeFn<T extends core::Object? = dynamic>(self::typeFn::T% x) → self::typeFn::T%
return x;
static method stringFn(core::String s) → core::String
- return s.{core::String::+}("ing");
+ return s.{core::String::+}("ing"){(core::String) → core::String};
static method equalFn(core::int a, core::int b) → core::bool
- return a.{core::num::==}(b);
+ return a =={core::num::==}{(core::Object) → core::bool} b;
static method unary(core::int a) → core::int
- return a.{core::int::unary-}();
+ return a.{core::int::unary-}(){() → core::int};
static method boolFn(core::bool a, core::bool b) → core::bool
return a || b;
static method doubleFn(core::double a, core::double b) → core::double
- return a.{core::double::*}(b);
+ return a.{core::double::*}(b){(core::num) → core::double};
static method multiFn(core::int a) → core::int
- return a.{core::num::+}(1);
+ return a.{core::num::+}(1){(core::num) → core::int};
static method main() → void {
exp::Expect::equals(#C1, 1);
exp::Expect::equals(#C2, 2);
@@ -47,7 +47,7 @@
exp::Expect::equals(#C6, 6);
exp::Expect::equals(#C7, "string");
exp::Expect::equals(#C8, true);
- exp::Expect::equals(#C9, 2.{core::int::unary-}());
+ exp::Expect::equals(#C9, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C8, true);
exp::Expect::equals(#C10, 4.4);
exp::Expect::equals(#C2, 2);
@@ -69,5 +69,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_simple_invocations.dart:51:27 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_simple_invocations.dart:51:27 -> IntConstant(-2)
Extra constant evaluation: evaluated: 39, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_string.dart.strong.expect
index f573022..30b3270 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string.dart.strong.expect
@@ -12,11 +12,11 @@
static const field dynamic var4 = #C4;
static method fn() → dynamic {
core::String local = "str";
- return local.{core::String::[]}(0);
+ return local.{core::String::[]}(0){(core::int) → core::String};
}
static method fn2() → dynamic {
try {
- core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}());
+ core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
}
on core::RangeError catch(no-exception-var) {
return 2;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_string.dart.strong.transformed.expect
index 9ba5e5c..c6e9308 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string.dart.strong.transformed.expect
@@ -12,11 +12,11 @@
static const field dynamic var4 = #C4;
static method fn() → dynamic {
core::String local = "str";
- return local.{core::String::[]}(0);
+ return local.{core::String::[]}(0){(core::int) → core::String};
}
static method fn2() → dynamic {
try {
- core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}());
+ core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
}
on core::RangeError catch(no-exception-var) {
return 2;
@@ -37,5 +37,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string.dart:23:17 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string.dart:23:17 -> IntConstant(-1)
Extra constant evaluation: evaluated: 8, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.expect
index f573022..30b3270 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.expect
@@ -12,11 +12,11 @@
static const field dynamic var4 = #C4;
static method fn() → dynamic {
core::String local = "str";
- return local.{core::String::[]}(0);
+ return local.{core::String::[]}(0){(core::int) → core::String};
}
static method fn2() → dynamic {
try {
- core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}());
+ core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
}
on core::RangeError catch(no-exception-var) {
return 2;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.outline.expect b/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.outline.expect
index 8da9073..eb00fe5 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.outline.expect
@@ -5,9 +5,9 @@
import "package:expect/expect.dart";
static const field core::String str = "str";
-static const field core::String var1 = self::str.{core::String::[]}(2);
+static const field core::String var1 = self::str.{core::String::[]}(2){(core::int) → core::String};
static const field dynamic var2 = self::fn();
-static const field core::String var3 = "str".{core::String::[]}(0);
+static const field core::String var3 = "str".{core::String::[]}(0){(core::int) → core::String};
static const field dynamic var4 = self::fn2();
static method fn() → dynamic
;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.transformed.expect
index 9ba5e5c..c6e9308 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string.dart.weak.transformed.expect
@@ -12,11 +12,11 @@
static const field dynamic var4 = #C4;
static method fn() → dynamic {
core::String local = "str";
- return local.{core::String::[]}(0);
+ return local.{core::String::[]}(0){(core::int) → core::String};
}
static method fn2() → dynamic {
try {
- core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}());
+ core::String x = (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
}
on core::RangeError catch(no-exception-var) {
return 2;
@@ -37,5 +37,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string.dart:23:17 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string.dart:23:17 -> IntConstant(-1)
Extra constant evaluation: evaluated: 8, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.expect
index 0cdd42f..7511ee3 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.expect
@@ -49,17 +49,17 @@
^";
static method fn() → dynamic {
core::String s = "str";
- return (#C1).{core::String::[]}(1.{core::int::unary-}());
+ return (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
}
static method fn2() → dynamic {
core::String s = "str";
- return (#C1).{core::String::[]}(3);
+ return (#C1).{core::String::[]}(3){(core::int) → core::String};
}
static method fn3() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return str[1.1];
- ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.transformed.expect
index e7133c8..04e045d 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.strong.transformed.expect
@@ -49,17 +49,17 @@
^";
static method fn() → dynamic {
core::String s = "str";
- return (#C1).{core::String::[]}(1.{core::int::unary-}());
+ return (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
}
static method fn2() → dynamic {
core::String s = "str";
- return (#C1).{core::String::[]}(3);
+ return (#C1).{core::String::[]}(3){(core::int) → core::String};
}
static method fn3() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return str[1.1];
- ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
}
static method main() → void {}
@@ -68,5 +68,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
Extra constant evaluation: evaluated: 6, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.expect
index 0cdd42f..7511ee3 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.expect
@@ -49,17 +49,17 @@
^";
static method fn() → dynamic {
core::String s = "str";
- return (#C1).{core::String::[]}(1.{core::int::unary-}());
+ return (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
}
static method fn2() → dynamic {
core::String s = "str";
- return (#C1).{core::String::[]}(3);
+ return (#C1).{core::String::[]}(3){(core::int) → core::String};
}
static method fn3() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return str[1.1];
- ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.outline.expect b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.outline.expect
index 183676d..a20d79c 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.outline.expect
@@ -5,8 +5,8 @@
import "package:expect/expect.dart";
static const field core::String str = "str";
-static const field core::String var1 = self::str.{core::String::[]}(1.{core::int::unary-}());
-static const field core::String var2 = self::str.{core::String::[]}(3);
+static const field core::String var1 = self::str.{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
+static const field core::String var2 = self::str.{core::String::[]}(3){(core::int) → core::String};
static const field dynamic var3 = self::fn();
static const field dynamic var4 = self::fn2();
static const field dynamic var5 = self::fn3();
@@ -22,6 +22,6 @@
Extra constant evaluation status:
Evaluated: StaticGet @ org-dartlang-testcase:///const_functions_string_error.dart:10:14 -> StringConstant("str")
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:10:18 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:10:18 -> IntConstant(-1)
Evaluated: StaticGet @ org-dartlang-testcase:///const_functions_string_error.dart:11:14 -> StringConstant("str")
Extra constant evaluation: evaluated: 8, effectively constant: 3
diff --git a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.transformed.expect
index e7133c8..04e045d 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_string_error.dart.weak.transformed.expect
@@ -49,17 +49,17 @@
^";
static method fn() → dynamic {
core::String s = "str";
- return (#C1).{core::String::[]}(1.{core::int::unary-}());
+ return (#C1).{core::String::[]}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::String};
}
static method fn2() → dynamic {
core::String s = "str";
- return (#C1).{core::String::[]}(3);
+ return (#C1).{core::String::[]}(3){(core::int) → core::String};
}
static method fn3() → dynamic {
core::String s = "str";
return (#C1).{core::String::[]}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/const_functions/const_functions_string_error.dart:28:14: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
return str[1.1];
- ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in 1.1 as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::String};
}
static method main() → void {}
@@ -68,5 +68,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_string_error.dart:16:14 -> IntConstant(-1)
Extra constant evaluation: evaluated: 6, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.strong.expect
index 76efdb8..b3f761c 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.strong.expect
@@ -25,7 +25,7 @@
#L3:
default:
{
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
}
@@ -53,7 +53,7 @@
#L7:
case #C7:
{
- x = x.{core::num::+}(100);
+ x = x.{core::num::+}(100){(core::num) → core::int};
continue #L8;
}
#L9:
@@ -64,7 +64,7 @@
#L8:
case #C2:
{
- return x.{core::num::+}(3);
+ return x.{core::num::+}(3){(core::num) → core::int};
}
}
return 0;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.strong.transformed.expect
index 76efdb8..b3f761c 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.strong.transformed.expect
@@ -25,7 +25,7 @@
#L3:
default:
{
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
}
@@ -53,7 +53,7 @@
#L7:
case #C7:
{
- x = x.{core::num::+}(100);
+ x = x.{core::num::+}(100){(core::num) → core::int};
continue #L8;
}
#L9:
@@ -64,7 +64,7 @@
#L8:
case #C2:
{
- return x.{core::num::+}(3);
+ return x.{core::num::+}(3){(core::num) → core::int};
}
}
return 0;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.weak.expect
index 76efdb8..b3f761c 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.weak.expect
@@ -25,7 +25,7 @@
#L3:
default:
{
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
}
@@ -53,7 +53,7 @@
#L7:
case #C7:
{
- x = x.{core::num::+}(100);
+ x = x.{core::num::+}(100){(core::num) → core::int};
continue #L8;
}
#L9:
@@ -64,7 +64,7 @@
#L8:
case #C2:
{
- return x.{core::num::+}(3);
+ return x.{core::num::+}(3){(core::num) → core::int};
}
}
return 0;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.weak.transformed.expect
index 76efdb8..b3f761c 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_switch_statements.dart.weak.transformed.expect
@@ -25,7 +25,7 @@
#L3:
default:
{
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
}
@@ -53,7 +53,7 @@
#L7:
case #C7:
{
- x = x.{core::num::+}(100);
+ x = x.{core::num::+}(100){(core::num) → core::int};
continue #L8;
}
#L9:
@@ -64,7 +64,7 @@
#L8:
case #C2:
{
- return x.{core::num::+}(3);
+ return x.{core::num::+}(3){(core::num) → core::int};
}
}
return 0;
diff --git a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.strong.expect
index 1d0bf2c..f816401 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.strong.expect
@@ -43,7 +43,7 @@
static method finallyReturn(dynamic error) → core::int {
try
try {
- if(!error.{core::Object::==}(1))
+ if(!(error =={core::Object::==}{(core::Object) → core::bool} 1))
throw error;
}
on core::int catch(final core::int e) {
@@ -58,7 +58,7 @@
}
static method finallyReturn1(core::int x) → core::int {
try {
- if(x.{core::num::==}(1)) {
+ if(x =={core::num::==}{(core::Object) → core::bool} 1) {
throw x;
}
else {
@@ -75,7 +75,7 @@
return x;
}
finally {
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
}
}
static method subtypeFn() → core::int {
@@ -90,21 +90,21 @@
core::String x = "st";
try
try {
- x = x.{core::String::+}("ri");
+ x = x.{core::String::+}("ri"){(core::String) → core::String};
throw 2;
}
on core::Object catch(final core::Object e) {
- x = x.{core::String::+}("n");
+ x = x.{core::String::+}("n"){(core::String) → core::String};
}
finally {
- return x.{core::String::+}("g");
+ return x.{core::String::+}("g"){(core::String) → core::String};
}
}
static method notThrowStatement() → core::int {
core::int count = 0;
try {
- for (core::int i = 0; i.{core::num::<}(1); throw "a") {
- count = count.{core::num::+}(i);
+ for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
+ count = count.{core::num::+}(i){(core::num) → core::int};
}
}
on core::Object catch(final core::Object e) {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.strong.transformed.expect
index 1d0bf2c..f816401 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.strong.transformed.expect
@@ -43,7 +43,7 @@
static method finallyReturn(dynamic error) → core::int {
try
try {
- if(!error.{core::Object::==}(1))
+ if(!(error =={core::Object::==}{(core::Object) → core::bool} 1))
throw error;
}
on core::int catch(final core::int e) {
@@ -58,7 +58,7 @@
}
static method finallyReturn1(core::int x) → core::int {
try {
- if(x.{core::num::==}(1)) {
+ if(x =={core::num::==}{(core::Object) → core::bool} 1) {
throw x;
}
else {
@@ -75,7 +75,7 @@
return x;
}
finally {
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
}
}
static method subtypeFn() → core::int {
@@ -90,21 +90,21 @@
core::String x = "st";
try
try {
- x = x.{core::String::+}("ri");
+ x = x.{core::String::+}("ri"){(core::String) → core::String};
throw 2;
}
on core::Object catch(final core::Object e) {
- x = x.{core::String::+}("n");
+ x = x.{core::String::+}("n"){(core::String) → core::String};
}
finally {
- return x.{core::String::+}("g");
+ return x.{core::String::+}("g"){(core::String) → core::String};
}
}
static method notThrowStatement() → core::int {
core::int count = 0;
try {
- for (core::int i = 0; i.{core::num::<}(1); throw "a") {
- count = count.{core::num::+}(i);
+ for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
+ count = count.{core::num::+}(i){(core::num) → core::int};
}
}
on core::Object catch(final core::Object e) {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.weak.expect
index 1d0bf2c..f816401 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.weak.expect
@@ -43,7 +43,7 @@
static method finallyReturn(dynamic error) → core::int {
try
try {
- if(!error.{core::Object::==}(1))
+ if(!(error =={core::Object::==}{(core::Object) → core::bool} 1))
throw error;
}
on core::int catch(final core::int e) {
@@ -58,7 +58,7 @@
}
static method finallyReturn1(core::int x) → core::int {
try {
- if(x.{core::num::==}(1)) {
+ if(x =={core::num::==}{(core::Object) → core::bool} 1) {
throw x;
}
else {
@@ -75,7 +75,7 @@
return x;
}
finally {
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
}
}
static method subtypeFn() → core::int {
@@ -90,21 +90,21 @@
core::String x = "st";
try
try {
- x = x.{core::String::+}("ri");
+ x = x.{core::String::+}("ri"){(core::String) → core::String};
throw 2;
}
on core::Object catch(final core::Object e) {
- x = x.{core::String::+}("n");
+ x = x.{core::String::+}("n"){(core::String) → core::String};
}
finally {
- return x.{core::String::+}("g");
+ return x.{core::String::+}("g"){(core::String) → core::String};
}
}
static method notThrowStatement() → core::int {
core::int count = 0;
try {
- for (core::int i = 0; i.{core::num::<}(1); throw "a") {
- count = count.{core::num::+}(i);
+ for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
+ count = count.{core::num::+}(i){(core::num) → core::int};
}
}
on core::Object catch(final core::Object e) {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.weak.transformed.expect
index 1d0bf2c..f816401 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally.dart.weak.transformed.expect
@@ -43,7 +43,7 @@
static method finallyReturn(dynamic error) → core::int {
try
try {
- if(!error.{core::Object::==}(1))
+ if(!(error =={core::Object::==}{(core::Object) → core::bool} 1))
throw error;
}
on core::int catch(final core::int e) {
@@ -58,7 +58,7 @@
}
static method finallyReturn1(core::int x) → core::int {
try {
- if(x.{core::num::==}(1)) {
+ if(x =={core::num::==}{(core::Object) → core::bool} 1) {
throw x;
}
else {
@@ -75,7 +75,7 @@
return x;
}
finally {
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
}
}
static method subtypeFn() → core::int {
@@ -90,21 +90,21 @@
core::String x = "st";
try
try {
- x = x.{core::String::+}("ri");
+ x = x.{core::String::+}("ri"){(core::String) → core::String};
throw 2;
}
on core::Object catch(final core::Object e) {
- x = x.{core::String::+}("n");
+ x = x.{core::String::+}("n"){(core::String) → core::String};
}
finally {
- return x.{core::String::+}("g");
+ return x.{core::String::+}("g"){(core::String) → core::String};
}
}
static method notThrowStatement() → core::int {
core::int count = 0;
try {
- for (core::int i = 0; i.{core::num::<}(1); throw "a") {
- count = count.{core::num::+}(i);
+ for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
+ count = count.{core::num::+}(i){(core::num) → core::int};
}
}
on core::Object catch(final core::Object e) {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.strong.expect
index 3126895..233c4ee 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.strong.expect
@@ -49,7 +49,7 @@
static const field core::int var5 = invalid-expression "Unhandled exception: \"a\"";
static method finallyThrow(core::int x) → core::int {
try {
- if(x.{core::num::==}(1)) {
+ if(x =={core::num::==}{(core::Object) → core::bool} 1) {
throw x;
}
else {
@@ -70,8 +70,8 @@
}
static method unhandledThrow2() → core::int {
core::int count = 0;
- for (core::int i = 0; i.{core::num::<}(1); throw "a") {
- count = count.{core::num::+}(i);
+ for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
+ count = count.{core::num::+}(i){(core::num) → core::int};
}
return 0;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.strong.transformed.expect
index 3126895..233c4ee 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.strong.transformed.expect
@@ -49,7 +49,7 @@
static const field core::int var5 = invalid-expression "Unhandled exception: \"a\"";
static method finallyThrow(core::int x) → core::int {
try {
- if(x.{core::num::==}(1)) {
+ if(x =={core::num::==}{(core::Object) → core::bool} 1) {
throw x;
}
else {
@@ -70,8 +70,8 @@
}
static method unhandledThrow2() → core::int {
core::int count = 0;
- for (core::int i = 0; i.{core::num::<}(1); throw "a") {
- count = count.{core::num::+}(i);
+ for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
+ count = count.{core::num::+}(i){(core::num) → core::int};
}
return 0;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.weak.expect
index 3126895..233c4ee 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.weak.expect
@@ -49,7 +49,7 @@
static const field core::int var5 = invalid-expression "Unhandled exception: \"a\"";
static method finallyThrow(core::int x) → core::int {
try {
- if(x.{core::num::==}(1)) {
+ if(x =={core::num::==}{(core::Object) → core::bool} 1) {
throw x;
}
else {
@@ -70,8 +70,8 @@
}
static method unhandledThrow2() → core::int {
core::int count = 0;
- for (core::int i = 0; i.{core::num::<}(1); throw "a") {
- count = count.{core::num::+}(i);
+ for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
+ count = count.{core::num::+}(i){(core::num) → core::int};
}
return 0;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.weak.transformed.expect
index 3126895..233c4ee 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_try_catch_finally_error.dart.weak.transformed.expect
@@ -49,7 +49,7 @@
static const field core::int var5 = invalid-expression "Unhandled exception: \"a\"";
static method finallyThrow(core::int x) → core::int {
try {
- if(x.{core::num::==}(1)) {
+ if(x =={core::num::==}{(core::Object) → core::bool} 1) {
throw x;
}
else {
@@ -70,8 +70,8 @@
}
static method unhandledThrow2() → core::int {
core::int count = 0;
- for (core::int i = 0; i.{core::num::<}(1); throw "a") {
- count = count.{core::num::+}(i);
+ for (core::int i = 0; i.{core::num::<}(1){(core::num) → core::bool}; throw "a") {
+ count = count.{core::num::+}(i){(core::num) → core::int};
}
return 0;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.strong.expect
index 7107ba3..704d914 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.strong.expect
@@ -18,14 +18,14 @@
static method function() → core::int {
function varAssignmentTest2() → core::int {
core::int x = 2;
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
return x;
}
return #C1;
}
static method varAssignmentTest3(core::int a) → core::int {
core::int x = 4;
- x = a.{core::num::+}(1);
+ x = a.{core::num::+}(1){(core::num) → core::int};
return x;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.strong.transformed.expect
index 7107ba3..704d914 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.strong.transformed.expect
@@ -18,14 +18,14 @@
static method function() → core::int {
function varAssignmentTest2() → core::int {
core::int x = 2;
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
return x;
}
return #C1;
}
static method varAssignmentTest3(core::int a) → core::int {
core::int x = 4;
- x = a.{core::num::+}(1);
+ x = a.{core::num::+}(1){(core::num) → core::int};
return x;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.weak.expect
index 7107ba3..704d914 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.weak.expect
@@ -18,14 +18,14 @@
static method function() → core::int {
function varAssignmentTest2() → core::int {
core::int x = 2;
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
return x;
}
return #C1;
}
static method varAssignmentTest3(core::int a) → core::int {
core::int x = 4;
- x = a.{core::num::+}(1);
+ x = a.{core::num::+}(1){(core::num) → core::int};
return x;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.weak.transformed.expect
index 7107ba3..704d914 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_variable_assignments.dart.weak.transformed.expect
@@ -18,14 +18,14 @@
static method function() → core::int {
function varAssignmentTest2() → core::int {
core::int x = 2;
- x = x.{core::num::+}(1);
+ x = x.{core::num::+}(1){(core::num) → core::int};
return x;
}
return #C1;
}
static method varAssignmentTest3(core::int a) → core::int {
core::int x = 4;
- x = a.{core::num::+}(1);
+ x = a.{core::num::+}(1){(core::num) → core::int};
return x;
}
static method main() → void {
diff --git a/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.strong.expect
index d270f74..c8a68f5 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.strong.expect
@@ -16,7 +16,7 @@
static const field core::int var8 = #C5;
static const field core::int? var9 = #C7;
static method function1(core::int a, core::int b) → core::int {
- core::int x = 1.{core::num::+}(a).{core::num::+}(b);
+ core::int x = 1.{core::num::+}(a){(core::num) → core::int}.{core::num::+}(b){(core::num) → core::int};
return x;
}
static method function2() → core::String {
@@ -25,13 +25,13 @@
}
static method function3() → core::int {
core::int first = 2;
- core::int second = 2.{core::num::+}(first);
- return 2.{core::num::+}(second);
+ core::int second = 2.{core::num::+}(first){(core::num) → core::int};
+ return 2.{core::num::+}(second){(core::num) → core::int};
}
static method function4() → core::int {
core::int first = 2;
core::int second = 0;
- return first.{core::num::+}(second);
+ return first.{core::num::+}(second){(core::num) → core::int};
}
static method function5() → core::int {
return #C6;
@@ -63,7 +63,7 @@
exp::Expect::equals(#C3, "string");
exp::Expect::equals(#C4, 6);
exp::Expect::equals(#C5, 2);
- exp::Expect::equals(#C6, 2.{core::int::unary-}());
+ exp::Expect::equals(#C6, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C5, 2);
exp::Expect::equals(#C5, 2);
exp::Expect::equals(#C5, 2);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.strong.transformed.expect
index 3ec97cd..47af773 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.strong.transformed.expect
@@ -16,7 +16,7 @@
static const field core::int var8 = #C5;
static const field core::int? var9 = #C7;
static method function1(core::int a, core::int b) → core::int {
- core::int x = 1.{core::num::+}(a).{core::num::+}(b);
+ core::int x = 1.{core::num::+}(a){(core::num) → core::int}.{core::num::+}(b){(core::num) → core::int};
return x;
}
static method function2() → core::String {
@@ -25,13 +25,13 @@
}
static method function3() → core::int {
core::int first = 2;
- core::int second = 2.{core::num::+}(first);
- return 2.{core::num::+}(second);
+ core::int second = 2.{core::num::+}(first){(core::num) → core::int};
+ return 2.{core::num::+}(second){(core::num) → core::int};
}
static method function4() → core::int {
core::int first = 2;
core::int second = 0;
- return first.{core::num::+}(second);
+ return first.{core::num::+}(second){(core::num) → core::int};
}
static method function5() → core::int {
return #C6;
@@ -63,7 +63,7 @@
exp::Expect::equals(#C3, "string");
exp::Expect::equals(#C4, 6);
exp::Expect::equals(#C5, 2);
- exp::Expect::equals(#C6, 2.{core::int::unary-}());
+ exp::Expect::equals(#C6, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C5, 2);
exp::Expect::equals(#C5, 2);
exp::Expect::equals(#C5, 2);
@@ -81,5 +81,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_variable_declarations.dart:77:23 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_variable_declarations.dart:77:23 -> IntConstant(-2)
Extra constant evaluation: evaluated: 35, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.weak.expect
index d270f74..c8a68f5 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.weak.expect
@@ -16,7 +16,7 @@
static const field core::int var8 = #C5;
static const field core::int? var9 = #C7;
static method function1(core::int a, core::int b) → core::int {
- core::int x = 1.{core::num::+}(a).{core::num::+}(b);
+ core::int x = 1.{core::num::+}(a){(core::num) → core::int}.{core::num::+}(b){(core::num) → core::int};
return x;
}
static method function2() → core::String {
@@ -25,13 +25,13 @@
}
static method function3() → core::int {
core::int first = 2;
- core::int second = 2.{core::num::+}(first);
- return 2.{core::num::+}(second);
+ core::int second = 2.{core::num::+}(first){(core::num) → core::int};
+ return 2.{core::num::+}(second){(core::num) → core::int};
}
static method function4() → core::int {
core::int first = 2;
core::int second = 0;
- return first.{core::num::+}(second);
+ return first.{core::num::+}(second){(core::num) → core::int};
}
static method function5() → core::int {
return #C6;
@@ -63,7 +63,7 @@
exp::Expect::equals(#C3, "string");
exp::Expect::equals(#C4, 6);
exp::Expect::equals(#C5, 2);
- exp::Expect::equals(#C6, 2.{core::int::unary-}());
+ exp::Expect::equals(#C6, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C5, 2);
exp::Expect::equals(#C5, 2);
exp::Expect::equals(#C5, 2);
diff --git a/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.weak.transformed.expect
index 3ec97cd..47af773 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_variable_declarations.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
static const field core::int var8 = #C5;
static const field core::int? var9 = #C7;
static method function1(core::int a, core::int b) → core::int {
- core::int x = 1.{core::num::+}(a).{core::num::+}(b);
+ core::int x = 1.{core::num::+}(a){(core::num) → core::int}.{core::num::+}(b){(core::num) → core::int};
return x;
}
static method function2() → core::String {
@@ -25,13 +25,13 @@
}
static method function3() → core::int {
core::int first = 2;
- core::int second = 2.{core::num::+}(first);
- return 2.{core::num::+}(second);
+ core::int second = 2.{core::num::+}(first){(core::num) → core::int};
+ return 2.{core::num::+}(second){(core::num) → core::int};
}
static method function4() → core::int {
core::int first = 2;
core::int second = 0;
- return first.{core::num::+}(second);
+ return first.{core::num::+}(second){(core::num) → core::int};
}
static method function5() → core::int {
return #C6;
@@ -63,7 +63,7 @@
exp::Expect::equals(#C3, "string");
exp::Expect::equals(#C4, 6);
exp::Expect::equals(#C5, 2);
- exp::Expect::equals(#C6, 2.{core::int::unary-}());
+ exp::Expect::equals(#C6, 2.{core::int::unary-}(){() → core::int});
exp::Expect::equals(#C5, 2);
exp::Expect::equals(#C5, 2);
exp::Expect::equals(#C5, 2);
@@ -81,5 +81,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_functions_variable_declarations.dart:77:23 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///const_functions_variable_declarations.dart:77:23 -> IntConstant(-2)
Extra constant evaluation: evaluated: 35, effectively constant: 1
diff --git a/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.strong.expect
index 00d3c60..b96eb2b 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.strong.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.strong.expect
@@ -17,32 +17,32 @@
static method fn(core::int a) → core::int {
core::int b = a;
core::int i = 0;
- while (i.{core::num::<}(2)) {
- b = b.{core::num::+}(a);
- i = i.{core::num::+}(1);
+ while (i.{core::num::<}(2){(core::num) → core::bool}) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
while (true) {
- b = b.{core::num::*}(3);
- if(b.{core::num::>}(10))
+ b = b.{core::num::*}(3){(core::num) → core::int};
+ if(b.{core::num::>}(10){(core::num) → core::bool})
return b;
}
}
static method fnContinue() → core::int {
core::int a = 0;
core::int i = 0;
- while (i.{core::num::<}(5))
+ while (i.{core::num::<}(5){(core::num) → core::bool})
#L1:
{
- if(i.{core::num::%}(2).{core::num::==}(1)) {
- i = i.{core::num::+}(1);
+ if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
+ i = i.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
- a = a.{core::num::+}(i);
- i = i.{core::num::+}(1);
+ a = a.{core::num::+}(i){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return a;
}
@@ -50,11 +50,11 @@
core::int b = a;
core::int i = 0;
#L2:
- while (i.{core::num::<}(2)) {
- if(b.{core::num::==}(2))
+ while (i.{core::num::<}(2){(core::num) → core::bool}) {
+ if(b =={core::num::==}{(core::Object) → core::bool} 2)
break #L2;
- b = b.{core::num::+}(a);
- i = i.{core::num::+}(1);
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.strong.transformed.expect
index 00d3c60..b96eb2b 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.strong.transformed.expect
@@ -17,32 +17,32 @@
static method fn(core::int a) → core::int {
core::int b = a;
core::int i = 0;
- while (i.{core::num::<}(2)) {
- b = b.{core::num::+}(a);
- i = i.{core::num::+}(1);
+ while (i.{core::num::<}(2){(core::num) → core::bool}) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
while (true) {
- b = b.{core::num::*}(3);
- if(b.{core::num::>}(10))
+ b = b.{core::num::*}(3){(core::num) → core::int};
+ if(b.{core::num::>}(10){(core::num) → core::bool})
return b;
}
}
static method fnContinue() → core::int {
core::int a = 0;
core::int i = 0;
- while (i.{core::num::<}(5))
+ while (i.{core::num::<}(5){(core::num) → core::bool})
#L1:
{
- if(i.{core::num::%}(2).{core::num::==}(1)) {
- i = i.{core::num::+}(1);
+ if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
+ i = i.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
- a = a.{core::num::+}(i);
- i = i.{core::num::+}(1);
+ a = a.{core::num::+}(i){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return a;
}
@@ -50,11 +50,11 @@
core::int b = a;
core::int i = 0;
#L2:
- while (i.{core::num::<}(2)) {
- if(b.{core::num::==}(2))
+ while (i.{core::num::<}(2){(core::num) → core::bool}) {
+ if(b =={core::num::==}{(core::Object) → core::bool} 2)
break #L2;
- b = b.{core::num::+}(a);
- i = i.{core::num::+}(1);
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.weak.expect
index 00d3c60..b96eb2b 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.weak.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.weak.expect
@@ -17,32 +17,32 @@
static method fn(core::int a) → core::int {
core::int b = a;
core::int i = 0;
- while (i.{core::num::<}(2)) {
- b = b.{core::num::+}(a);
- i = i.{core::num::+}(1);
+ while (i.{core::num::<}(2){(core::num) → core::bool}) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
while (true) {
- b = b.{core::num::*}(3);
- if(b.{core::num::>}(10))
+ b = b.{core::num::*}(3){(core::num) → core::int};
+ if(b.{core::num::>}(10){(core::num) → core::bool})
return b;
}
}
static method fnContinue() → core::int {
core::int a = 0;
core::int i = 0;
- while (i.{core::num::<}(5))
+ while (i.{core::num::<}(5){(core::num) → core::bool})
#L1:
{
- if(i.{core::num::%}(2).{core::num::==}(1)) {
- i = i.{core::num::+}(1);
+ if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
+ i = i.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
- a = a.{core::num::+}(i);
- i = i.{core::num::+}(1);
+ a = a.{core::num::+}(i){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return a;
}
@@ -50,11 +50,11 @@
core::int b = a;
core::int i = 0;
#L2:
- while (i.{core::num::<}(2)) {
- if(b.{core::num::==}(2))
+ while (i.{core::num::<}(2){(core::num) → core::bool}) {
+ if(b =={core::num::==}{(core::Object) → core::bool} 2)
break #L2;
- b = b.{core::num::+}(a);
- i = i.{core::num::+}(1);
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.weak.transformed.expect
index 00d3c60..b96eb2b 100644
--- a/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/const_functions/const_functions_while_statements.dart.weak.transformed.expect
@@ -17,32 +17,32 @@
static method fn(core::int a) → core::int {
core::int b = a;
core::int i = 0;
- while (i.{core::num::<}(2)) {
- b = b.{core::num::+}(a);
- i = i.{core::num::+}(1);
+ while (i.{core::num::<}(2){(core::num) → core::bool}) {
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return b;
}
static method fn1(core::int a) → core::int {
core::int b = a;
while (true) {
- b = b.{core::num::*}(3);
- if(b.{core::num::>}(10))
+ b = b.{core::num::*}(3){(core::num) → core::int};
+ if(b.{core::num::>}(10){(core::num) → core::bool})
return b;
}
}
static method fnContinue() → core::int {
core::int a = 0;
core::int i = 0;
- while (i.{core::num::<}(5))
+ while (i.{core::num::<}(5){(core::num) → core::bool})
#L1:
{
- if(i.{core::num::%}(2).{core::num::==}(1)) {
- i = i.{core::num::+}(1);
+ if(i.{core::num::%}(2){(core::num) → core::int} =={core::num::==}{(core::Object) → core::bool} 1) {
+ i = i.{core::num::+}(1){(core::num) → core::int};
break #L1;
}
- a = a.{core::num::+}(i);
- i = i.{core::num::+}(1);
+ a = a.{core::num::+}(i){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return a;
}
@@ -50,11 +50,11 @@
core::int b = a;
core::int i = 0;
#L2:
- while (i.{core::num::<}(2)) {
- if(b.{core::num::==}(2))
+ while (i.{core::num::<}(2){(core::num) → core::bool}) {
+ if(b =={core::num::==}{(core::Object) → core::bool} 2)
break #L2;
- b = b.{core::num::+}(a);
- i = i.{core::num::+}(1);
+ b = b.{core::num::+}(a){(core::num) → core::int};
+ i = i.{core::num::+}(1){(core::num) → core::int};
}
return b;
}
diff --git a/pkg/front_end/testcases/expression/class_capture.expression.yaml.expect b/pkg/front_end/testcases/expression/class_capture.expression.yaml.expect
index e05b4b1..2bf8abf 100644
--- a/pkg/front_end/testcases/expression/class_capture.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/class_capture.expression.yaml.expect
@@ -2,5 +2,5 @@
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
return () → dart.core::int* {
- return this.{main::B::x}.{dart.core::num::+}(this.{main::B::y});
+ return this.{main::B::x}{dart.core::int*}.{dart.core::num::+}(this.{main::B::y}{dart.core::int*}){(dart.core::num*) →* dart.core::int*};
};
diff --git a/pkg/front_end/testcases/expression/class_getter.expression.yaml.expect b/pkg/front_end/testcases/expression/class_getter.expression.yaml.expect
index e8e5846..d0eae14 100644
--- a/pkg/front_end/testcases/expression/class_getter.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/class_getter.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return this.{main::B::z};
+ return this.{main::B::z}{dart.core::String*};
diff --git a/pkg/front_end/testcases/expression/class_invalid_static_capture.expression.yaml.expect b/pkg/front_end/testcases/expression/class_invalid_static_capture.expression.yaml.expect
index eb8b256..330d032 100644
--- a/pkg/front_end/testcases/expression/class_invalid_static_capture.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/class_invalid_static_capture.expression.yaml.expect
@@ -8,5 +8,5 @@
}
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
return () → dynamic {
- return invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:13: Error: Getter not found: 'x'.\n() { return x + y; }\n ^".+(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:17: Error: Getter not found: 'y'.\n() { return x + y; }\n ^");
+ return invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:13: Error: Getter not found: 'x'.\n() { return x + y; }\n ^"{dynamic}.+(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:17: Error: Getter not found: 'y'.\n() { return x + y; }\n ^");
};
diff --git a/pkg/front_end/testcases/expression/class_method.expression.yaml.expect b/pkg/front_end/testcases/expression/class_method.expression.yaml.expect
index 5c85dec..f5bb3e4 100644
--- a/pkg/front_end/testcases/expression/class_method.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/class_method.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return this.{main::A::doit_with_this}(2);
+ return this.{main::A::doit_with_this}(2){(dart.core::int*) →* dart.core::int*};
diff --git a/pkg/front_end/testcases/expression/class_private_get.expression.yaml.expect b/pkg/front_end/testcases/expression/class_private_get.expression.yaml.expect
index 1b23fa1..b594541 100644
--- a/pkg/front_end/testcases/expression/class_private_get.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/class_private_get.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return this.{main::B::_priv};
+ return this.{main::B::_priv}{dart.core::int*};
diff --git a/pkg/front_end/testcases/expression/class_private_method.expression.yaml.expect b/pkg/front_end/testcases/expression/class_private_method.expression.yaml.expect
index d945f2e..b1449b4 100644
--- a/pkg/front_end/testcases/expression/class_private_method.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/class_private_method.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return this.{main::B::_privMethod};
+ return this.{main::B::_privMethod}{() →* void};
diff --git a/pkg/front_end/testcases/expression/class_static3.expression.yaml.expect b/pkg/front_end/testcases/expression/class_static3.expression.yaml.expect
index 9fcf6bc..18654e51 100644
--- a/pkg/front_end/testcases/expression/class_static3.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/class_static3.expression.yaml.expect
@@ -4,8 +4,8 @@
^^^^^^^^^
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return #lib1::globalVar.{dart.core::num::+}(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:13: Error: Getter not found: 'staticVar'.\nglobalVar + staticVar + 5\n ^^^^^^^^^").{dart.core::num::+}(5);
+ return #lib1::globalVar.{dart.core::num::+}(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:13: Error: Getter not found: 'staticVar'.\nglobalVar + staticVar + 5\n ^^^^^^^^^"){(dart.core::num*) →* dart.core::num*}.{dart.core::num::+}(5){(dart.core::num*) →* dart.core::num*};
Errors: {
}
static method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return #lib1::globalVar.{dart.core::num::+}(#lib1::MyClass::staticVar).{dart.core::num::+}(5);
+ return #lib1::globalVar.{dart.core::num::+}(#lib1::MyClass::staticVar){(dart.core::num*) →* dart.core::int*}.{dart.core::num::+}(5){(dart.core::num*) →* dart.core::int*};
diff --git a/pkg/front_end/testcases/expression/class_type_param_circular_reference.expression.yaml.expect b/pkg/front_end/testcases/expression/class_type_param_circular_reference.expression.yaml.expect
index efc0681..87b923b 100644
--- a/pkg/front_end/testcases/expression/class_type_param_circular_reference.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/class_type_param_circular_reference.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return this.{main::MiddlewareApi::toString}();
+ return this.{main::MiddlewareApi::toString}(){() →* dart.core::String*};
diff --git a/pkg/front_end/testcases/expression/const_usage.expression.yaml.expect b/pkg/front_end/testcases/expression/const_usage.expression.yaml.expect
index 1d2b890..7253997 100644
--- a/pkg/front_end/testcases/expression/const_usage.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/const_usage.expression.yaml.expect
@@ -1,7 +1,7 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return (#C2).{main::ConstClass::x};
+ return (#C2).{main::ConstClass::x}{dart.core::int*};
constants {
#C1 = 42
#C2 = main::ConstClass {x:#C1}
diff --git a/pkg/front_end/testcases/expression/const_usage_class.expression.yaml.expect b/pkg/front_end/testcases/expression/const_usage_class.expression.yaml.expect
index 1d2b890..7253997 100644
--- a/pkg/front_end/testcases/expression/const_usage_class.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/const_usage_class.expression.yaml.expect
@@ -1,7 +1,7 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return (#C2).{main::ConstClass::x};
+ return (#C2).{main::ConstClass::x}{dart.core::int*};
constants {
#C1 = 42
#C2 = main::ConstClass {x:#C1}
diff --git a/pkg/front_end/testcases/expression/from_vm_cc_linked_hash_map.expression.yaml.expect b/pkg/front_end/testcases/expression/from_vm_cc_linked_hash_map.expression.yaml.expect
index 6ca1293..b6b1ee0 100644
--- a/pkg/front_end/testcases/expression/from_vm_cc_linked_hash_map.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/from_vm_cc_linked_hash_map.expression.yaml.expect
@@ -2,20 +2,20 @@
}
method /*isLegacy, from org-dartlang-debug:synthetic_debug_expression */ debugExpr(dynamic a, dynamic b) → dynamic
return ((dynamic a, dynamic b) → dart.core::bool* {
- if(!a._usedData.{dart.core::Object::==}(b._usedData) || !a._deletedKeys.{dart.core::Object::==}(b._deletedKeys) || !a._hashMask.{dart.core::Object::==}(b._hashMask) || !a._index.length.{dart.core::Object::==}(b._index.length) || !a._data.length.{dart.core::Object::==}(b._data.length)) {
+ if(!(a{dynamic}._usedData =={dart.core::Object::==}{(dart.core::Object*) →* dart.core::bool*} b{dynamic}._usedData) || !(a{dynamic}._deletedKeys =={dart.core::Object::==}{(dart.core::Object*) →* dart.core::bool*} b{dynamic}._deletedKeys) || !(a{dynamic}._hashMask =={dart.core::Object::==}{(dart.core::Object*) →* dart.core::bool*} b{dynamic}._hashMask) || !(a{dynamic}._index{dynamic}.length =={dart.core::Object::==}{(dart.core::Object*) →* dart.core::bool*} b{dynamic}._index{dynamic}.length) || !(a{dynamic}._data{dynamic}.length =={dart.core::Object::==}{(dart.core::Object*) →* dart.core::bool*} b{dynamic}._data{dynamic}.length)) {
return false;
}
- for (dart.core::int* i = 0; i.{dart.core::num::<}(a._index.length as{TypeError,ForDynamic} dart.core::num*); i = i.{dart.core::num::+}(1)) {
- if(!a._index.[](i).{dart.core::Object::==}(b._index.[](i))) {
+ for (dart.core::int* i = 0; i.{dart.core::num::<}(a{dynamic}._index{dynamic}.length as{TypeError,ForDynamic} dart.core::num*){(dart.core::num*) →* dart.core::bool*}; i = i.{dart.core::num::+}(1){(dart.core::num*) →* dart.core::int*}) {
+ if(!(a{dynamic}._index{dynamic}.[](i) =={dart.core::Object::==}{(dart.core::Object*) →* dart.core::bool*} b{dynamic}._index{dynamic}.[](i))) {
return false;
}
}
- for (dart.core::int* i = 0; i.{dart.core::num::<}(a._data.length as{TypeError,ForDynamic} dart.core::num*); i = i.{dart.core::num::+}(1)) {
- dynamic ad = a._data.[](i);
- dynamic bd = b._data.[](i);
- if(!dart.core::identical(ad, bd) && !(ad.{dart.core::Object::==}(a) && bd.{dart.core::Object::==}(b))) {
+ for (dart.core::int* i = 0; i.{dart.core::num::<}(a{dynamic}._data{dynamic}.length as{TypeError,ForDynamic} dart.core::num*){(dart.core::num*) →* dart.core::bool*}; i = i.{dart.core::num::+}(1){(dart.core::num*) →* dart.core::int*}) {
+ dynamic ad = a{dynamic}._data{dynamic}.[](i);
+ dynamic bd = b{dynamic}._data{dynamic}.[](i);
+ if(!dart.core::identical(ad, bd) && !(ad =={dart.core::Object::==}{(dart.core::Object*) →* dart.core::bool*} a && bd =={dart.core::Object::==}{(dart.core::Object*) →* dart.core::bool*} b)) {
return false;
}
}
return true;
- }).call(a, b);
+ })(a, b){(dynamic, dynamic) →* dart.core::bool*};
diff --git a/pkg/front_end/testcases/expression/invalid.expression.yaml.expect b/pkg/front_end/testcases/expression/invalid.expression.yaml.expect
index 7fc40b9..9e16ada 100644
--- a/pkg/front_end/testcases/expression/invalid.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/invalid.expression.yaml.expect
@@ -11,4 +11,4 @@
^^^
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:1: Error: This couldn't be parsed.\n*foo(3,\n^".*(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:2: Error: Method not found: 'foo'.\n*foo(3,\n ^^^");
+ return invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:1: Error: This couldn't be parsed.\n*foo(3,\n^"{dynamic}.*(invalid-expression "org-dartlang-debug:synthetic_debug_expression:1:2: Error: Method not found: 'foo'.\n*foo(3,\n ^^^");
diff --git a/pkg/front_end/testcases/expression/missing_variable_types.expression.yaml.expect b/pkg/front_end/testcases/expression/missing_variable_types.expression.yaml.expect
index cbffcf7..69d0373 100644
--- a/pkg/front_end/testcases/expression/missing_variable_types.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/missing_variable_types.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(dynamic s) → dynamic
- return this.{main::D::m}(this.{main::D::id}<dart.core::List<main::D::T*>*>((s = dart.core::_GrowableList::•<dynamic>(0)) as{TypeError} dart.core::List<main::D::T*>*));
+ return this.{main::D::m}(this.{main::D::id}<dart.core::List<main::D::T*>*>((s = dart.core::_GrowableList::•<dynamic>(0)) as{TypeError} dart.core::List<main::D::T*>*){(dart.core::List<main::D::T*>*) →* dart.core::List<main::D::T*>*}){(dart.core::List<main::D::T*>*) →* dynamic};
diff --git a/pkg/front_end/testcases/expression/param_capture.expression.yaml.expect b/pkg/front_end/testcases/expression/param_capture.expression.yaml.expect
index ccedccc..3845731 100644
--- a/pkg/front_end/testcases/expression/param_capture.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/param_capture.expression.yaml.expect
@@ -2,5 +2,5 @@
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(dynamic x, dynamic y) → dynamic
return () → Null {
- x = x.+(y);
+ x = x{dynamic}.+(y);
};
diff --git a/pkg/front_end/testcases/expression/param_conflict.expression.yaml.expect b/pkg/front_end/testcases/expression/param_conflict.expression.yaml.expect
index 5c4a28c..34e5988 100644
--- a/pkg/front_end/testcases/expression/param_conflict.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/param_conflict.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(dynamic dostat, dynamic y) → dynamic
- return dostat.foo();
+ return dostat{dynamic}.foo();
diff --git a/pkg/front_end/testcases/expression/param_conflict_class.expression.yaml.expect b/pkg/front_end/testcases/expression/param_conflict_class.expression.yaml.expect
index c66e526..13e40f7 100644
--- a/pkg/front_end/testcases/expression/param_conflict_class.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/param_conflict_class.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(dynamic A, dynamic y) → dynamic
- return A.foo(y);
+ return A{dynamic}.foo(y);
diff --git a/pkg/front_end/testcases/expression/param_method.expression.yaml.expect b/pkg/front_end/testcases/expression/param_method.expression.yaml.expect
index 4f6b188..0d0326b 100644
--- a/pkg/front_end/testcases/expression/param_method.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/param_method.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(dynamic x, dynamic y) → dynamic
- return x.foo(y);
+ return x{dynamic}.foo(y);
diff --git a/pkg/front_end/testcases/expression/regress_34224.expression.yaml.expect b/pkg/front_end/testcases/expression/regress_34224.expression.yaml.expect
index fd35ac2..fd54faa 100644
--- a/pkg/front_end/testcases/expression/regress_34224.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/regress_34224.expression.yaml.expect
@@ -1,4 +1,4 @@
Errors: {
}
method /*isLegacy, from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return this.{dart.core::Object::toString}();
+ return this.{dart.core::Object::toString}(){() →* dart.core::String*};
diff --git a/pkg/front_end/testcases/expression/set_literal.expression.yaml.expect b/pkg/front_end/testcases/expression/set_literal.expression.yaml.expect
index 88031b2..59ee272 100644
--- a/pkg/front_end/testcases/expression/set_literal.expression.yaml.expect
+++ b/pkg/front_end/testcases/expression/set_literal.expression.yaml.expect
@@ -3,5 +3,5 @@
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
return block {
final dart.core::Set<dart.core::String*>* #t1 = new dart.collection::_CompactLinkedHashSet::•<dart.core::String*>();
- #t1.{dart.core::Set::add}{Invariant}("a");
+ #t1.{dart.core::Set::add}("a"){(dart.core::String*) →* dart.core::bool*};
} =>#t1;
diff --git a/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.strong.expect b/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.strong.expect
index 8c6d2ea..f7bc273 100644
--- a/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.strong.expect
@@ -23,7 +23,7 @@
static method E|get#bar(lowered final self::A #this) → core::double
return 3.14;
static method test(self::A a, self::E e) → dynamic {
- a.{self::A::foo};
+ a.{self::A::foo}{core::int};
self::E|get#bar(a);
invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:16:5: Error: The getter 'foo' isn't defined for the extension 'E'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'foo'.
diff --git a/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.weak.expect b/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.weak.expect
index 8c6d2ea..f7bc273 100644
--- a/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.weak.expect
+++ b/pkg/front_end/testcases/extension_types/simple_getter_resolution.dart.weak.expect
@@ -23,7 +23,7 @@
static method E|get#bar(lowered final self::A #this) → core::double
return 3.14;
static method test(self::A a, self::E e) → dynamic {
- a.{self::A::foo};
+ a.{self::A::foo}{core::int};
self::E|get#bar(a);
invalid-expression "pkg/front_end/testcases/extension_types/simple_getter_resolution.dart:16:5: Error: The getter 'foo' isn't defined for the extension 'E'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'foo'.
diff --git a/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.strong.expect b/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.strong.expect
index 207f18f..043030d 100644
--- a/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.strong.expect
@@ -21,11 +21,11 @@
tearoff bar = self::E|get#bar;
}
static method E|bar(lowered final self::A #this) → void
- return #this.{self::A::foo}();
+ return #this.{self::A::foo}(){() → void};
static method E|get#bar(lowered final self::A #this) → () → void
return () → void => self::E|bar(#this);
static method test(self::A a, self::E e) → dynamic {
- a.{self::A::foo}();
+ a.{self::A::foo}(){() → void};
self::E|bar(a);
invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:16:5: Error: The method 'foo' isn't defined for the extension 'E'.
Try correcting the name to the name of an existing method, or defining a method name 'foo'.
diff --git a/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.weak.expect b/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.weak.expect
index 207f18f..043030d 100644
--- a/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.weak.expect
+++ b/pkg/front_end/testcases/extension_types/simple_method_resolution.dart.weak.expect
@@ -21,11 +21,11 @@
tearoff bar = self::E|get#bar;
}
static method E|bar(lowered final self::A #this) → void
- return #this.{self::A::foo}();
+ return #this.{self::A::foo}(){() → void};
static method E|get#bar(lowered final self::A #this) → () → void
return () → void => self::E|bar(#this);
static method test(self::A a, self::E e) → dynamic {
- a.{self::A::foo}();
+ a.{self::A::foo}(){() → void};
self::E|bar(a);
invalid-expression "pkg/front_end/testcases/extension_types/simple_method_resolution.dart:16:5: Error: The method 'foo' isn't defined for the extension 'E'.
Try correcting the name to the name of an existing method, or defining a method name 'foo'.
diff --git a/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.strong.expect b/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.strong.expect
index 80d58c8..2ff87ce 100644
--- a/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.strong.expect
@@ -43,10 +43,10 @@
static method E|+(lowered final self::A #this, dynamic other) → dynamic
return 42;
static method test(self::A a, self::E e) → dynamic {
- a.{self::A::*}("foobar");
- a.{self::A::[]}(0);
- a.{self::A::[]=}(0, "foobar");
- a.{self::A::unary-}();
+ a.{self::A::*}("foobar"){(dynamic) → dynamic};
+ a.{self::A::[]}(0){(core::int) → dynamic};
+ a.{self::A::[]=}(0, "foobar"){(core::int, dynamic) → void};
+ a.{self::A::unary-}(){() → dynamic};
self::E|+(a, "foobar");
invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:23:5: Error: The operator '*' isn't defined for the extension 'E'.
Try correcting the operator to an existing operator, or defining a '*' operator.
diff --git a/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.weak.expect b/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.weak.expect
index 80d58c8..2ff87ce 100644
--- a/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.weak.expect
+++ b/pkg/front_end/testcases/extension_types/simple_operator_resolution.dart.weak.expect
@@ -43,10 +43,10 @@
static method E|+(lowered final self::A #this, dynamic other) → dynamic
return 42;
static method test(self::A a, self::E e) → dynamic {
- a.{self::A::*}("foobar");
- a.{self::A::[]}(0);
- a.{self::A::[]=}(0, "foobar");
- a.{self::A::unary-}();
+ a.{self::A::*}("foobar"){(dynamic) → dynamic};
+ a.{self::A::[]}(0){(core::int) → dynamic};
+ a.{self::A::[]=}(0, "foobar"){(core::int, dynamic) → void};
+ a.{self::A::unary-}(){() → dynamic};
self::E|+(a, "foobar");
invalid-expression "pkg/front_end/testcases/extension_types/simple_operator_resolution.dart:23:5: Error: The operator '*' isn't defined for the extension 'E'.
Try correcting the operator to an existing operator, or defining a '*' operator.
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart.weak.expect b/pkg/front_end/testcases/extensions/call_methods.dart.weak.expect
index 5a2ac69..6f3ad1d 100644
--- a/pkg/front_end/testcases/extensions/call_methods.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/call_methods.dart.weak.expect
@@ -141,19 +141,19 @@
static field core::String* topLevel1 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:29:18: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
var topLevel1 = 1(10);
- ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)).call(10);
+ ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.(10);
static field core::String* topLevel2 = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:30:18: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
var topLevel2 = 1(\"10\");
- ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)).call("10");
+ ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.("10");
static field core::String* topLevel3 = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:31:20: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
var topLevel3 = 1.0(10);
- ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)).call(10);
+ ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.(10);
static field core::String* topLevel4 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:32:20: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
var topLevel4 = 1.0(\"10\");
- ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)).call("10");
+ ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.("10");
static field self::A* a = new self::A::•();
static field core::String* topLevel5 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:34:18: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
- 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
@@ -173,25 +173,25 @@
static method _extension#2|get#call(lowered final core::String* #this) → () →* core::String*
return () → core::String* => "My name is String";
static method main() → dynamic {
- self::_extension#2|get#call("").call();
+ self::_extension#2|get#call("")(){() →* core::String*};
}
static method errors() → dynamic {
let final Never* #t5 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:39:4: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
1(10);
- ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)).call(10);
+ ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.(10);
let final Never* #t6 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:40:4: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
1(\"10\");
- ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)).call("10");
+ ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.("10");
let final Never* #t7 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:41:6: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
1.0(10);
- ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)).call(10);
+ ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.(10);
let final Never* #t8 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:42:6: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
1.0(\"10\");
- ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)).call("10");
+ ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.("10");
self::A* a = new self::A::•();
invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:44:4: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
- 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/call_methods.dart.weak.transformed.expect
new file mode 100644
index 0000000..55e391b
--- /dev/null
+++ b/pkg/front_end/testcases/extensions/call_methods.dart.weak.transformed.expect
@@ -0,0 +1,212 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:29:18: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// var topLevel1 = 1(10);
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:30:18: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// var topLevel2 = 1("10");
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:31:20: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// var topLevel3 = 1.0(10);
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:32:20: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// var topLevel4 = 1.0("10");
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:34:18: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// var topLevel5 = a(2);
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:34:18: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
+// - 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+// Try changing 'call' to a method or explicitly invoke 'call'.
+// var topLevel5 = a(2);
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:36:18: Error: Too many positional arguments: 0 allowed, but 2 found.
+// Try removing the extra positional arguments.
+// var topLevel6 = a(2, "3");
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:36:18: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
+// - 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+// Try changing 'call' to a method or explicitly invoke 'call'.
+// var topLevel6 = a(2, "3");
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:39:4: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// 1(10);
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:40:4: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// 1("10");
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:41:6: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// 1.0(10);
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:42:6: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// 1.0("10");
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:44:4: Error: Too many positional arguments: 0 allowed, but 1 found.
+// Try removing the extra positional arguments.
+// a(2);
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:44:4: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
+// - 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+// Try changing 'call' to a method or explicitly invoke 'call'.
+// a(2);
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:45:4: Error: Too many positional arguments: 0 allowed, but 2 found.
+// Try removing the extra positional arguments.
+// a(2, "3");
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:45:4: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
+// - 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+// Try changing 'call' to a method or explicitly invoke 'call'.
+// a(2, "3");
+// ^
+//
+// pkg/front_end/testcases/extensions/call_methods.dart:47:4: Error: Cannot invoke an instance of 'B' because it declares 'call' to be something other than a method.
+// - 'B' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+// Try changing 'call' to a method or explicitly invoke 'call'.
+// b();
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ synthetic constructor •() → self::A*
+ : super core::Object::•()
+ ;
+ get call() → core::String*
+ return "My name is 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*
+ : super core::Object::•()
+ ;
+ get call() → () →* core::String*
+ return () → core::String* => "My name is 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
+}
+extension _extension#0 on core::int* {
+ get call = self::_extension#0|get#call;
+}
+extension _extension#1 on core::num* {
+ get call = self::_extension#1|get#call;
+}
+extension _extension#2 on core::String* {
+ get call = self::_extension#2|get#call;
+}
+static field core::String* topLevel1 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:29:18: Error: Too many positional arguments: 0 allowed, but 1 found.
+Try removing the extra positional arguments.
+var topLevel1 = 1(10);
+ ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.(10);
+static field core::String* topLevel2 = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:30:18: Error: Too many positional arguments: 0 allowed, but 1 found.
+Try removing the extra positional arguments.
+var topLevel2 = 1(\"10\");
+ ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.("10");
+static field core::String* topLevel3 = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:31:20: Error: Too many positional arguments: 0 allowed, but 1 found.
+Try removing the extra positional arguments.
+var topLevel3 = 1.0(10);
+ ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.(10);
+static field core::String* topLevel4 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:32:20: Error: Too many positional arguments: 0 allowed, but 1 found.
+Try removing the extra positional arguments.
+var topLevel4 = 1.0(\"10\");
+ ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.("10");
+static field self::A* a = new self::A::•();
+static field core::String* topLevel5 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:34:18: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
+ - 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+Try changing 'call' to a method or explicitly invoke 'call'.
+var topLevel5 = a(2);
+ ^";
+static field self::B* b = new self::B::•();
+static field core::String* topLevel6 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:36:18: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
+ - 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+Try changing 'call' to a method or explicitly invoke 'call'.
+var topLevel6 = a(2, \"3\");
+ ^";
+static method _extension#0|get#call(lowered final core::int* #this) → core::String*
+ return "My name is int";
+static method _extension#1|get#call(lowered final core::num* #this) → core::String*
+ return "My name is num";
+static method _extension#2|get#call(lowered final core::String* #this) → () →* core::String*
+ return () → core::String* => "My name is String";
+static method main() → dynamic {
+ self::_extension#2|get#call("")(){() →* core::String*};
+}
+static method errors() → dynamic {
+ let final Never* #t5 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:39:4: Error: Too many positional arguments: 0 allowed, but 1 found.
+Try removing the extra positional arguments.
+ 1(10);
+ ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.(10);
+ let final Never* #t6 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:40:4: Error: Too many positional arguments: 0 allowed, but 1 found.
+Try removing the extra positional arguments.
+ 1(\"10\");
+ ^" in self::_extension#2|get#call(self::_extension#0|get#call(1)){<inapplicable>}.("10");
+ let final Never* #t7 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:41:6: Error: Too many positional arguments: 0 allowed, but 1 found.
+Try removing the extra positional arguments.
+ 1.0(10);
+ ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.(10);
+ let final Never* #t8 = invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:42:6: Error: Too many positional arguments: 0 allowed, but 1 found.
+Try removing the extra positional arguments.
+ 1.0(\"10\");
+ ^" in self::_extension#2|get#call(self::_extension#1|get#call(1.0)){<inapplicable>}.("10");
+ self::A* a = new self::A::•();
+ invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:44:4: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
+ - 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+Try changing 'call' to a method or explicitly invoke 'call'.
+ a(2);
+ ^";
+ invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:45:4: Error: Cannot invoke an instance of 'A' because it declares 'call' to be something other than a method.
+ - 'A' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+Try changing 'call' to a method or explicitly invoke 'call'.
+ a(2, \"3\");
+ ^";
+ self::B* b = new self::B::•();
+ invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:47:4: Error: Cannot invoke an instance of 'B' because it declares 'call' to be something other than a method.
+ - 'B' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
+Try changing 'call' to a method or explicitly invoke 'call'.
+ b();
+ ^";
+}
diff --git a/pkg/front_end/testcases/extensions/compounds.dart.weak.expect b/pkg/front_end/testcases/extensions/compounds.dart.weak.expect
index 5174cae..ccd5bd4 100644
--- a/pkg/front_end/testcases/extensions/compounds.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/compounds.dart.weak.expect
@@ -8,11 +8,11 @@
: self::Number::value = value, super core::Object::•()
;
get hashCode() → core::int*
- return this.{self::Number::value}.{core::num::hashCode};
+ return this.{self::Number::value}{core::int*}.{core::num::hashCode}{core::int*};
operator ==(core::Object* other) → core::bool*
- return other is self::Number* && this.{self::Number::value}.{core::num::==}(other{self::Number*}.{self::Number::value});
+ return other is self::Number* && this.{self::Number::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} other{self::Number*}.{self::Number::value}{core::int*};
method toString() → core::String*
- return "Number(${this.{self::Number::value}})";
+ return "Number(${this.{self::Number::value}{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
@@ -71,11 +71,11 @@
}
static method NumberExtension|+(lowered final self::Number* #this, core::Object* other) → self::Number* {
if(other is core::int*) {
- return new self::Number::•(#this.{self::Number::value}.{core::num::+}(other{core::int*}));
+ return new self::Number::•(#this.{self::Number::value}{core::int*}.{core::num::+}(other{core::int*}){(core::num*) →* core::int*});
}
else
if(other is self::Number*) {
- return new self::Number::•(#this.{self::Number::value}.{core::num::+}(other{self::Number*}.{self::Number::value}));
+ return new self::Number::•(#this.{self::Number::value}{core::int*}.{core::num::+}(other{self::Number*}.{self::Number::value}{core::int*}){(core::num*) →* core::int*});
}
else {
throw new core::ArgumentError::•("${other}");
@@ -83,18 +83,18 @@
}
static method NumberExtension|-(lowered final self::Number* #this, core::Object* other) → self::Number* {
if(other is core::int*) {
- return new self::Number::•(#this.{self::Number::value}.{core::num::-}(other{core::int*}));
+ return new self::Number::•(#this.{self::Number::value}{core::int*}.{core::num::-}(other{core::int*}){(core::num*) →* core::int*});
}
else
if(other is self::Number*) {
- return new self::Number::•(#this.{self::Number::value}.{core::num::-}(other{self::Number*}.{self::Number::value}));
+ return new self::Number::•(#this.{self::Number::value}{core::int*}.{core::num::-}(other{self::Number*}.{self::Number::value}{core::int*}){(core::num*) →* core::int*});
}
else {
throw new core::ArgumentError::•("${other}");
}
}
static method ClassExtension|get#property(lowered final self::Class* #this) → self::Number*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{self::Number*};
static method ClassExtension|set#property(lowered final self::Class* #this, self::Number* value) → void {
#this.{self::Class::field} = value;
}
@@ -136,7 +136,7 @@
static method ClassExtension|get#testImplicitProperties(lowered final self::Class* #this) → () →* dynamic
return () → dynamic => self::ClassExtension|testImplicitProperties(#this);
static method IntClassExtension|get#property(lowered final self::IntClass* #this) → core::int*
- return #this.{self::IntClass::field};
+ return #this.{self::IntClass::field}{core::int*};
static method IntClassExtension|set#property(lowered final self::IntClass* #this, core::int* value) → void {
#this.{self::IntClass::field} = value;
}
@@ -145,34 +145,34 @@
core::int* n1 = 1;
core::int* n2 = 2;
self::expect(n0, self::IntClassExtension|get#property(#this));
- self::expect(n1, let final core::int* #t23 = self::IntClassExtension|get#property(#this).{core::num::+}(n1) in let final void #t24 = self::IntClassExtension|set#property(#this, #t23) in #t23);
- self::expect(n2, let final core::int* #t25 = self::IntClassExtension|get#property(#this).{core::num::+}(n1) in let final void #t26 = self::IntClassExtension|set#property(#this, #t25) in #t25);
- self::expect(n0, let final core::int* #t27 = self::IntClassExtension|get#property(#this).{core::num::-}(n2) in let final void #t28 = self::IntClassExtension|set#property(#this, #t27) in #t27);
- self::expect(n1, let final core::int* #t29 = self::IntClassExtension|get#property(#this).{core::num::+}(n1) in let final void #t30 = self::IntClassExtension|set#property(#this, #t29) in #t29);
- self::expect(n0, let final core::int* #t31 = self::IntClassExtension|get#property(#this).{core::num::-}(n1) in let final void #t32 = self::IntClassExtension|set#property(#this, #t31) in #t31);
- self::expect(n1, let final core::int* #t33 = self::IntClassExtension|get#property(#this).{core::num::+}(1) in let final void #t34 = self::IntClassExtension|set#property(#this, #t33) in #t33);
- self::expect(n0, let final core::int* #t35 = self::IntClassExtension|get#property(#this).{core::num::-}(1) in let final void #t36 = self::IntClassExtension|set#property(#this, #t35) in #t35);
- self::expect(n0, let final core::int* #t37 = self::IntClassExtension|get#property(#this) in let final core::int* #t38 = self::IntClassExtension|set#property(#this, #t37.{core::num::+}(1)) in #t37);
- self::expect(n1, let final core::int* #t39 = self::IntClassExtension|get#property(#this) in let final core::int* #t40 = self::IntClassExtension|set#property(#this, #t39.{core::num::-}(1)) in #t39);
+ self::expect(n1, let final core::int* #t23 = self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t24 = self::IntClassExtension|set#property(#this, #t23) in #t23);
+ self::expect(n2, let final core::int* #t25 = self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t26 = self::IntClassExtension|set#property(#this, #t25) in #t25);
+ self::expect(n0, let final core::int* #t27 = self::IntClassExtension|get#property(#this).{core::num::-}(n2){(core::num*) →* core::int*} in let final void #t28 = self::IntClassExtension|set#property(#this, #t27) in #t27);
+ self::expect(n1, let final core::int* #t29 = self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t30 = self::IntClassExtension|set#property(#this, #t29) in #t29);
+ self::expect(n0, let final core::int* #t31 = self::IntClassExtension|get#property(#this).{core::num::-}(n1){(core::num*) →* core::int*} in let final void #t32 = self::IntClassExtension|set#property(#this, #t31) in #t31);
+ self::expect(n1, let final core::int* #t33 = self::IntClassExtension|get#property(#this).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t34 = self::IntClassExtension|set#property(#this, #t33) in #t33);
+ self::expect(n0, let final core::int* #t35 = self::IntClassExtension|get#property(#this).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t36 = self::IntClassExtension|set#property(#this, #t35) in #t35);
+ self::expect(n0, let final core::int* #t37 = self::IntClassExtension|get#property(#this) in let final core::int* #t38 = self::IntClassExtension|set#property(#this, #t37.{core::num::+}(1){(core::num*) →* core::int*}) in #t37);
+ self::expect(n1, let final core::int* #t39 = self::IntClassExtension|get#property(#this) in let final core::int* #t40 = self::IntClassExtension|set#property(#this, #t39.{core::num::-}(1){(core::num*) →* core::int*}) in #t39);
self::expect(n0, self::IntClassExtension|get#property(#this));
self::expect(n0, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n2, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(n2));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(n2){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(n1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(n1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(#this));
- let final core::int* #t41 = self::IntClassExtension|get#property(#this).{core::num::+}(1) in let final void #t42 = self::IntClassExtension|set#property(#this, #t41) in #t41;
+ let final core::int* #t41 = self::IntClassExtension|get#property(#this).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t42 = self::IntClassExtension|set#property(#this, #t41) in #t41;
self::expect(n1, self::IntClassExtension|get#property(#this));
- let final core::int* #t43 = self::IntClassExtension|get#property(#this).{core::num::-}(1) in let final void #t44 = self::IntClassExtension|set#property(#this, #t43) in #t43;
+ let final core::int* #t43 = self::IntClassExtension|get#property(#this).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t44 = self::IntClassExtension|set#property(#this, #t43) in #t43;
self::expect(n0, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(#this));
}
static method IntClassExtension|get#testImplicitProperties(lowered final self::IntClass* #this) → () →* dynamic
@@ -231,36 +231,36 @@
self::Number* n1 = new self::Number::•(1);
self::Number* n2 = new self::Number::•(2);
self::Class* v = new self::Class::•(n0);
- self::expect(n0, v.{self::Class::field});
- self::expect(n1, let final self::Class* #t49 = v in #t49.{self::Class::field} = self::NumberExtension|+(#t49.{self::Class::field}, n1));
- self::expect(n2, let final self::Class* #t50 = v in #t50.{self::Class::field} = self::NumberExtension|+(#t50.{self::Class::field}, n1));
- self::expect(n0, let final self::Class* #t51 = v in #t51.{self::Class::field} = self::NumberExtension|-(#t51.{self::Class::field}, n2));
- self::expect(n1, let final self::Class* #t52 = v in #t52.{self::Class::field} = self::NumberExtension|+(#t52.{self::Class::field}, n1));
- self::expect(n0, let final self::Class* #t53 = v in #t53.{self::Class::field} = self::NumberExtension|-(#t53.{self::Class::field}, n1));
- self::expect(n1, let final self::Class* #t54 = v in #t54.{self::Class::field} = self::NumberExtension|+(#t54.{self::Class::field}, 1));
- self::expect(n0, let final self::Class* #t55 = v in #t55.{self::Class::field} = self::NumberExtension|-(#t55.{self::Class::field}, 1));
- self::expect(n0, let final self::Class* #t56 = v in let final self::Number* #t57 = #t56.{self::Class::field} in let final self::Number* #t58 = #t56.{self::Class::field} = self::NumberExtension|+(#t57, 1) in #t57);
- self::expect(n1, let final self::Class* #t59 = v in let final self::Number* #t60 = #t59.{self::Class::field} in let final self::Number* #t61 = #t59.{self::Class::field} = self::NumberExtension|-(#t60, 1) in #t60);
- self::expect(n0, v.{self::Class::field});
- self::expect(n0, v.{self::Class::field});
- let final self::Class* #t62 = v in #t62.{self::Class::field} = self::NumberExtension|+(#t62.{self::Class::field}, n1);
- self::expect(n1, v.{self::Class::field});
- let final self::Class* #t63 = v in #t63.{self::Class::field} = self::NumberExtension|+(#t63.{self::Class::field}, n1);
- self::expect(n2, v.{self::Class::field});
- let final self::Class* #t64 = v in #t64.{self::Class::field} = self::NumberExtension|-(#t64.{self::Class::field}, n2);
- self::expect(n0, v.{self::Class::field});
- let final self::Class* #t65 = v in #t65.{self::Class::field} = self::NumberExtension|+(#t65.{self::Class::field}, n1);
- self::expect(n1, v.{self::Class::field});
- let final self::Class* #t66 = v in #t66.{self::Class::field} = self::NumberExtension|-(#t66.{self::Class::field}, n1);
- self::expect(n0, v.{self::Class::field});
- let final self::Class* #t67 = v in #t67.{self::Class::field} = self::NumberExtension|+(#t67.{self::Class::field}, 1);
- self::expect(n1, v.{self::Class::field});
- let final self::Class* #t68 = v in #t68.{self::Class::field} = self::NumberExtension|-(#t68.{self::Class::field}, 1);
- self::expect(n0, v.{self::Class::field});
- let final self::Class* #t69 = v in #t69.{self::Class::field} = self::NumberExtension|+(#t69.{self::Class::field}, 1);
- self::expect(n1, v.{self::Class::field});
- let final self::Class* #t70 = v in #t70.{self::Class::field} = self::NumberExtension|-(#t70.{self::Class::field}, 1);
- self::expect(n0, v.{self::Class::field});
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ self::expect(n1, let final self::Class* #t49 = v in #t49.{self::Class::field} = self::NumberExtension|+(#t49.{self::Class::field}{self::Number*}, n1));
+ self::expect(n2, let final self::Class* #t50 = v in #t50.{self::Class::field} = self::NumberExtension|+(#t50.{self::Class::field}{self::Number*}, n1));
+ self::expect(n0, let final self::Class* #t51 = v in #t51.{self::Class::field} = self::NumberExtension|-(#t51.{self::Class::field}{self::Number*}, n2));
+ self::expect(n1, let final self::Class* #t52 = v in #t52.{self::Class::field} = self::NumberExtension|+(#t52.{self::Class::field}{self::Number*}, n1));
+ self::expect(n0, let final self::Class* #t53 = v in #t53.{self::Class::field} = self::NumberExtension|-(#t53.{self::Class::field}{self::Number*}, n1));
+ self::expect(n1, let final self::Class* #t54 = v in #t54.{self::Class::field} = self::NumberExtension|+(#t54.{self::Class::field}{self::Number*}, 1));
+ self::expect(n0, let final self::Class* #t55 = v in #t55.{self::Class::field} = self::NumberExtension|-(#t55.{self::Class::field}{self::Number*}, 1));
+ self::expect(n0, let final self::Class* #t56 = v in let final self::Number* #t57 = #t56.{self::Class::field}{self::Number*} in let final self::Number* #t58 = #t56.{self::Class::field} = self::NumberExtension|+(#t57, 1) in #t57);
+ self::expect(n1, let final self::Class* #t59 = v in let final self::Number* #t60 = #t59.{self::Class::field}{self::Number*} in let final self::Number* #t61 = #t59.{self::Class::field} = self::NumberExtension|-(#t60, 1) in #t60);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t62 = v in #t62.{self::Class::field} = self::NumberExtension|+(#t62.{self::Class::field}{self::Number*}, n1);
+ self::expect(n1, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t63 = v in #t63.{self::Class::field} = self::NumberExtension|+(#t63.{self::Class::field}{self::Number*}, n1);
+ self::expect(n2, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t64 = v in #t64.{self::Class::field} = self::NumberExtension|-(#t64.{self::Class::field}{self::Number*}, n2);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t65 = v in #t65.{self::Class::field} = self::NumberExtension|+(#t65.{self::Class::field}{self::Number*}, n1);
+ self::expect(n1, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t66 = v in #t66.{self::Class::field} = self::NumberExtension|-(#t66.{self::Class::field}{self::Number*}, n1);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t67 = v in #t67.{self::Class::field} = self::NumberExtension|+(#t67.{self::Class::field}{self::Number*}, 1);
+ self::expect(n1, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t68 = v in #t68.{self::Class::field} = self::NumberExtension|-(#t68.{self::Class::field}{self::Number*}, 1);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t69 = v in #t69.{self::Class::field} = self::NumberExtension|+(#t69.{self::Class::field}{self::Number*}, 1);
+ self::expect(n1, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t70 = v in #t70.{self::Class::field} = self::NumberExtension|-(#t70.{self::Class::field}{self::Number*}, 1);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
self::expect(n0, self::ClassExtension|get#property(v));
self::expect(n1, let final self::Class* #t71 = v in let final self::Number* #t72 = self::NumberExtension|+(self::ClassExtension|get#property(#t71), n1) in let final void #t73 = self::ClassExtension|set#property(#t71, #t72) in #t72);
self::expect(n2, let final self::Class* #t74 = v in let final self::Number* #t75 = self::NumberExtension|+(self::ClassExtension|get#property(#t74), n1) in let final void #t76 = self::ClassExtension|set#property(#t74, #t75) in #t75);
@@ -297,65 +297,65 @@
core::int* n1 = 1;
core::int* n2 = 2;
self::IntClass* v = new self::IntClass::•(n0);
- self::expect(n0, v.{self::IntClass::field});
- self::expect(n1, let final self::IntClass* #t111 = v in #t111.{self::IntClass::field} = #t111.{self::IntClass::field}.{core::num::+}(n1));
- self::expect(n2, let final self::IntClass* #t112 = v in #t112.{self::IntClass::field} = #t112.{self::IntClass::field}.{core::num::+}(n1));
- self::expect(n0, let final self::IntClass* #t113 = v in #t113.{self::IntClass::field} = #t113.{self::IntClass::field}.{core::num::-}(n2));
- self::expect(n1, let final self::IntClass* #t114 = v in #t114.{self::IntClass::field} = #t114.{self::IntClass::field}.{core::num::+}(n1));
- self::expect(n0, let final self::IntClass* #t115 = v in #t115.{self::IntClass::field} = #t115.{self::IntClass::field}.{core::num::-}(n1));
- self::expect(n1, let final self::IntClass* #t116 = v in #t116.{self::IntClass::field} = #t116.{self::IntClass::field}.{core::num::+}(1));
- self::expect(n0, let final self::IntClass* #t117 = v in #t117.{self::IntClass::field} = #t117.{self::IntClass::field}.{core::num::-}(1));
- self::expect(n0, let final self::IntClass* #t118 = v in let final core::int* #t119 = #t118.{self::IntClass::field} in let final core::int* #t120 = #t118.{self::IntClass::field} = #t119.{core::num::+}(1) in #t119);
- self::expect(n1, let final self::IntClass* #t121 = v in let final core::int* #t122 = #t121.{self::IntClass::field} in let final core::int* #t123 = #t121.{self::IntClass::field} = #t122.{core::num::-}(1) in #t122);
- self::expect(n0, v.{self::IntClass::field});
- self::expect(n0, v.{self::IntClass::field});
- let final self::IntClass* #t124 = v in #t124.{self::IntClass::field} = #t124.{self::IntClass::field}.{core::num::+}(n1);
- self::expect(n1, v.{self::IntClass::field});
- let final self::IntClass* #t125 = v in #t125.{self::IntClass::field} = #t125.{self::IntClass::field}.{core::num::+}(n1);
- self::expect(n2, v.{self::IntClass::field});
- let final self::IntClass* #t126 = v in #t126.{self::IntClass::field} = #t126.{self::IntClass::field}.{core::num::-}(n2);
- self::expect(n0, v.{self::IntClass::field});
- let final self::IntClass* #t127 = v in #t127.{self::IntClass::field} = #t127.{self::IntClass::field}.{core::num::+}(n1);
- self::expect(n1, v.{self::IntClass::field});
- let final self::IntClass* #t128 = v in #t128.{self::IntClass::field} = #t128.{self::IntClass::field}.{core::num::-}(n1);
- self::expect(n0, v.{self::IntClass::field});
- let final self::IntClass* #t129 = v in #t129.{self::IntClass::field} = #t129.{self::IntClass::field}.{core::num::+}(1);
- self::expect(n1, v.{self::IntClass::field});
- let final self::IntClass* #t130 = v in #t130.{self::IntClass::field} = #t130.{self::IntClass::field}.{core::num::-}(1);
- self::expect(n0, v.{self::IntClass::field});
- let final self::IntClass* #t131 = v in #t131.{self::IntClass::field} = #t131.{self::IntClass::field}.{core::num::+}(1);
- self::expect(n1, v.{self::IntClass::field});
- let final self::IntClass* #t132 = v in #t132.{self::IntClass::field} = #t132.{self::IntClass::field}.{core::num::-}(1);
- self::expect(n0, v.{self::IntClass::field});
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ self::expect(n1, let final self::IntClass* #t111 = v in #t111.{self::IntClass::field} = #t111.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n2, let final self::IntClass* #t112 = v in #t112.{self::IntClass::field} = #t112.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t113 = v in #t113.{self::IntClass::field} = #t113.{self::IntClass::field}{core::int*}.{core::num::-}(n2){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t114 = v in #t114.{self::IntClass::field} = #t114.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t115 = v in #t115.{self::IntClass::field} = #t115.{self::IntClass::field}{core::int*}.{core::num::-}(n1){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t116 = v in #t116.{self::IntClass::field} = #t116.{self::IntClass::field}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t117 = v in #t117.{self::IntClass::field} = #t117.{self::IntClass::field}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t118 = v in let final core::int* #t119 = #t118.{self::IntClass::field}{core::int*} in let final core::int* #t120 = #t118.{self::IntClass::field} = #t119.{core::num::+}(1){(core::num*) →* core::int*} in #t119);
+ self::expect(n1, let final self::IntClass* #t121 = v in let final core::int* #t122 = #t121.{self::IntClass::field}{core::int*} in let final core::int* #t123 = #t121.{self::IntClass::field} = #t122.{core::num::-}(1){(core::num*) →* core::int*} in #t122);
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t124 = v in #t124.{self::IntClass::field} = #t124.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*};
+ self::expect(n1, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t125 = v in #t125.{self::IntClass::field} = #t125.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*};
+ self::expect(n2, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t126 = v in #t126.{self::IntClass::field} = #t126.{self::IntClass::field}{core::int*}.{core::num::-}(n2){(core::num*) →* core::int*};
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t127 = v in #t127.{self::IntClass::field} = #t127.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*};
+ self::expect(n1, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t128 = v in #t128.{self::IntClass::field} = #t128.{self::IntClass::field}{core::int*}.{core::num::-}(n1){(core::num*) →* core::int*};
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t129 = v in #t129.{self::IntClass::field} = #t129.{self::IntClass::field}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ self::expect(n1, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t130 = v in #t130.{self::IntClass::field} = #t130.{self::IntClass::field}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*};
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t131 = v in #t131.{self::IntClass::field} = #t131.{self::IntClass::field}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ self::expect(n1, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t132 = v in #t132.{self::IntClass::field} = #t132.{self::IntClass::field}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*};
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- self::expect(n1, let final self::IntClass* #t133 = v in let final core::int* #t134 = self::IntClassExtension|get#property(#t133).{core::num::+}(n1) in let final void #t135 = self::IntClassExtension|set#property(#t133, #t134) in #t134);
- self::expect(n2, let final self::IntClass* #t136 = v in let final core::int* #t137 = self::IntClassExtension|get#property(#t136).{core::num::+}(n1) in let final void #t138 = self::IntClassExtension|set#property(#t136, #t137) in #t137);
- self::expect(n0, let final self::IntClass* #t139 = v in let final core::int* #t140 = self::IntClassExtension|get#property(#t139).{core::num::-}(n2) in let final void #t141 = self::IntClassExtension|set#property(#t139, #t140) in #t140);
- self::expect(n1, let final self::IntClass* #t142 = v in let final core::int* #t143 = self::IntClassExtension|get#property(#t142).{core::num::+}(n1) in let final void #t144 = self::IntClassExtension|set#property(#t142, #t143) in #t143);
- self::expect(n0, let final self::IntClass* #t145 = v in let final core::int* #t146 = self::IntClassExtension|get#property(#t145).{core::num::-}(n1) in let final void #t147 = self::IntClassExtension|set#property(#t145, #t146) in #t146);
- self::expect(n1, let final self::IntClass* #t148 = v in let final core::int* #t149 = self::IntClassExtension|get#property(#t148).{core::num::+}(1) in let final void #t150 = self::IntClassExtension|set#property(#t148, #t149) in #t149);
- self::expect(n0, let final self::IntClass* #t151 = v in let final core::int* #t152 = self::IntClassExtension|get#property(#t151).{core::num::-}(1) in let final void #t153 = self::IntClassExtension|set#property(#t151, #t152) in #t152);
- self::expect(n0, let final self::IntClass* #t154 = v in let final core::int* #t155 = self::IntClassExtension|get#property(#t154) in let final core::int* #t156 = self::IntClassExtension|set#property(#t154, #t155.{core::num::+}(1)) in #t155);
- self::expect(n1, let final self::IntClass* #t157 = v in let final core::int* #t158 = self::IntClassExtension|get#property(#t157) in let final core::int* #t159 = self::IntClassExtension|set#property(#t157, #t158.{core::num::-}(1)) in #t158);
+ self::expect(n1, let final self::IntClass* #t133 = v in let final core::int* #t134 = self::IntClassExtension|get#property(#t133).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t135 = self::IntClassExtension|set#property(#t133, #t134) in #t134);
+ self::expect(n2, let final self::IntClass* #t136 = v in let final core::int* #t137 = self::IntClassExtension|get#property(#t136).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t138 = self::IntClassExtension|set#property(#t136, #t137) in #t137);
+ self::expect(n0, let final self::IntClass* #t139 = v in let final core::int* #t140 = self::IntClassExtension|get#property(#t139).{core::num::-}(n2){(core::num*) →* core::int*} in let final void #t141 = self::IntClassExtension|set#property(#t139, #t140) in #t140);
+ self::expect(n1, let final self::IntClass* #t142 = v in let final core::int* #t143 = self::IntClassExtension|get#property(#t142).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t144 = self::IntClassExtension|set#property(#t142, #t143) in #t143);
+ self::expect(n0, let final self::IntClass* #t145 = v in let final core::int* #t146 = self::IntClassExtension|get#property(#t145).{core::num::-}(n1){(core::num*) →* core::int*} in let final void #t147 = self::IntClassExtension|set#property(#t145, #t146) in #t146);
+ self::expect(n1, let final self::IntClass* #t148 = v in let final core::int* #t149 = self::IntClassExtension|get#property(#t148).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t150 = self::IntClassExtension|set#property(#t148, #t149) in #t149);
+ self::expect(n0, let final self::IntClass* #t151 = v in let final core::int* #t152 = self::IntClassExtension|get#property(#t151).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t153 = self::IntClassExtension|set#property(#t151, #t152) in #t152);
+ self::expect(n0, let final self::IntClass* #t154 = v in let final core::int* #t155 = self::IntClassExtension|get#property(#t154) in let final core::int* #t156 = self::IntClassExtension|set#property(#t154, #t155.{core::num::+}(1){(core::num*) →* core::int*}) in #t155);
+ self::expect(n1, let final self::IntClass* #t157 = v in let final core::int* #t158 = self::IntClassExtension|get#property(#t157) in let final core::int* #t159 = self::IntClassExtension|set#property(#t157, #t158.{core::num::-}(1){(core::num*) →* core::int*}) in #t158);
self::expect(n0, self::IntClassExtension|get#property(v));
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t160 = v in self::IntClassExtension|set#property(#t160, self::IntClassExtension|get#property(#t160).{core::num::+}(n1));
+ let final self::IntClass* #t160 = v in self::IntClassExtension|set#property(#t160, self::IntClassExtension|get#property(#t160).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t161 = v in self::IntClassExtension|set#property(#t161, self::IntClassExtension|get#property(#t161).{core::num::+}(n1));
+ let final self::IntClass* #t161 = v in self::IntClassExtension|set#property(#t161, self::IntClassExtension|get#property(#t161).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n2, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t162 = v in self::IntClassExtension|set#property(#t162, self::IntClassExtension|get#property(#t162).{core::num::-}(n2));
+ let final self::IntClass* #t162 = v in self::IntClassExtension|set#property(#t162, self::IntClassExtension|get#property(#t162).{core::num::-}(n2){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t163 = v in self::IntClassExtension|set#property(#t163, self::IntClassExtension|get#property(#t163).{core::num::+}(n1));
+ let final self::IntClass* #t163 = v in self::IntClassExtension|set#property(#t163, self::IntClassExtension|get#property(#t163).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t164 = v in self::IntClassExtension|set#property(#t164, self::IntClassExtension|get#property(#t164).{core::num::-}(n1));
+ let final self::IntClass* #t164 = v in self::IntClassExtension|set#property(#t164, self::IntClassExtension|get#property(#t164).{core::num::-}(n1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t165 = v in let final core::int* #t166 = self::IntClassExtension|get#property(#t165).{core::num::+}(1) in let final void #t167 = self::IntClassExtension|set#property(#t165, #t166) in #t166;
+ let final self::IntClass* #t165 = v in let final core::int* #t166 = self::IntClassExtension|get#property(#t165).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t167 = self::IntClassExtension|set#property(#t165, #t166) in #t166;
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t168 = v in let final core::int* #t169 = self::IntClassExtension|get#property(#t168).{core::num::-}(1) in let final void #t170 = self::IntClassExtension|set#property(#t168, #t169) in #t169;
+ let final self::IntClass* #t168 = v in let final core::int* #t169 = self::IntClassExtension|get#property(#t168).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t170 = self::IntClassExtension|set#property(#t168, #t169) in #t169;
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t171 = v in self::IntClassExtension|set#property(#t171, self::IntClassExtension|get#property(#t171).{core::num::+}(1));
+ let final self::IntClass* #t171 = v in self::IntClassExtension|set#property(#t171, self::IntClassExtension|get#property(#t171).{core::num::+}(1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t172 = v in self::IntClassExtension|set#property(#t172, self::IntClassExtension|get#property(#t172).{core::num::-}(1));
+ let final self::IntClass* #t172 = v in self::IntClassExtension|set#property(#t172, self::IntClassExtension|get#property(#t172).{core::num::-}(1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
}
static method testExplicitProperties() → dynamic {
@@ -400,111 +400,111 @@
core::int* n2 = 2;
self::IntClass* v = new self::IntClass::•(n0);
self::expect(n0, self::IntClassExtension|get#property(v));
- self::expect(n1, let final self::IntClass* #t217 = v in let final core::int* #t218 = self::IntClassExtension|get#property(#t217).{core::num::+}(n1) in let final void #t219 = self::IntClassExtension|set#property(#t217, #t218) in #t218);
- self::expect(n2, let final self::IntClass* #t220 = v in let final core::int* #t221 = self::IntClassExtension|get#property(#t220).{core::num::+}(n1) in let final void #t222 = self::IntClassExtension|set#property(#t220, #t221) in #t221);
- self::expect(n0, let final self::IntClass* #t223 = v in let final core::int* #t224 = self::IntClassExtension|get#property(#t223).{core::num::-}(n2) in let final void #t225 = self::IntClassExtension|set#property(#t223, #t224) in #t224);
- self::expect(n1, let final self::IntClass* #t226 = v in let final core::int* #t227 = self::IntClassExtension|get#property(#t226).{core::num::+}(n1) in let final void #t228 = self::IntClassExtension|set#property(#t226, #t227) in #t227);
- self::expect(n0, let final self::IntClass* #t229 = v in let final core::int* #t230 = self::IntClassExtension|get#property(#t229).{core::num::-}(n1) in let final void #t231 = self::IntClassExtension|set#property(#t229, #t230) in #t230);
- self::expect(n1, let final self::IntClass* #t232 = v in let final core::int* #t233 = self::IntClassExtension|get#property(#t232).{core::num::+}(1) in let final void #t234 = self::IntClassExtension|set#property(#t232, #t233) in #t233);
- self::expect(n0, let final self::IntClass* #t235 = v in let final core::int* #t236 = self::IntClassExtension|get#property(#t235).{core::num::-}(1) in let final void #t237 = self::IntClassExtension|set#property(#t235, #t236) in #t236);
- self::expect(n0, let final self::IntClass* #t238 = v in let final core::int* #t239 = self::IntClassExtension|get#property(#t238) in let final core::int* #t240 = let final core::int* #t241 = #t239.{core::num::+}(1) in let final void #t242 = self::IntClassExtension|set#property(#t238, #t241) in #t241 in #t239);
- self::expect(n1, let final self::IntClass* #t243 = v in let final core::int* #t244 = self::IntClassExtension|get#property(#t243) in let final core::int* #t245 = let final core::int* #t246 = #t244.{core::num::-}(1) in let final void #t247 = self::IntClassExtension|set#property(#t243, #t246) in #t246 in #t244);
+ self::expect(n1, let final self::IntClass* #t217 = v in let final core::int* #t218 = self::IntClassExtension|get#property(#t217).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t219 = self::IntClassExtension|set#property(#t217, #t218) in #t218);
+ self::expect(n2, let final self::IntClass* #t220 = v in let final core::int* #t221 = self::IntClassExtension|get#property(#t220).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t222 = self::IntClassExtension|set#property(#t220, #t221) in #t221);
+ self::expect(n0, let final self::IntClass* #t223 = v in let final core::int* #t224 = self::IntClassExtension|get#property(#t223).{core::num::-}(n2){(core::num*) →* core::int*} in let final void #t225 = self::IntClassExtension|set#property(#t223, #t224) in #t224);
+ self::expect(n1, let final self::IntClass* #t226 = v in let final core::int* #t227 = self::IntClassExtension|get#property(#t226).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t228 = self::IntClassExtension|set#property(#t226, #t227) in #t227);
+ self::expect(n0, let final self::IntClass* #t229 = v in let final core::int* #t230 = self::IntClassExtension|get#property(#t229).{core::num::-}(n1){(core::num*) →* core::int*} in let final void #t231 = self::IntClassExtension|set#property(#t229, #t230) in #t230);
+ self::expect(n1, let final self::IntClass* #t232 = v in let final core::int* #t233 = self::IntClassExtension|get#property(#t232).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t234 = self::IntClassExtension|set#property(#t232, #t233) in #t233);
+ self::expect(n0, let final self::IntClass* #t235 = v in let final core::int* #t236 = self::IntClassExtension|get#property(#t235).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t237 = self::IntClassExtension|set#property(#t235, #t236) in #t236);
+ self::expect(n0, let final self::IntClass* #t238 = v in let final core::int* #t239 = self::IntClassExtension|get#property(#t238) in let final core::int* #t240 = let final core::int* #t241 = #t239.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t242 = self::IntClassExtension|set#property(#t238, #t241) in #t241 in #t239);
+ self::expect(n1, let final self::IntClass* #t243 = v in let final core::int* #t244 = self::IntClassExtension|get#property(#t243) in let final core::int* #t245 = let final core::int* #t246 = #t244.{core::num::-}(1){(core::num*) →* core::int*} in let final void #t247 = self::IntClassExtension|set#property(#t243, #t246) in #t246 in #t244);
self::expect(n0, self::IntClassExtension|get#property(v));
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t248 = v in self::IntClassExtension|set#property(#t248, self::IntClassExtension|get#property(#t248).{core::num::+}(n1));
+ let final self::IntClass* #t248 = v in self::IntClassExtension|set#property(#t248, self::IntClassExtension|get#property(#t248).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t249 = v in self::IntClassExtension|set#property(#t249, self::IntClassExtension|get#property(#t249).{core::num::+}(n1));
+ let final self::IntClass* #t249 = v in self::IntClassExtension|set#property(#t249, self::IntClassExtension|get#property(#t249).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n2, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t250 = v in self::IntClassExtension|set#property(#t250, self::IntClassExtension|get#property(#t250).{core::num::-}(n2));
+ let final self::IntClass* #t250 = v in self::IntClassExtension|set#property(#t250, self::IntClassExtension|get#property(#t250).{core::num::-}(n2){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t251 = v in self::IntClassExtension|set#property(#t251, self::IntClassExtension|get#property(#t251).{core::num::+}(n1));
+ let final self::IntClass* #t251 = v in self::IntClassExtension|set#property(#t251, self::IntClassExtension|get#property(#t251).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t252 = v in self::IntClassExtension|set#property(#t252, self::IntClassExtension|get#property(#t252).{core::num::-}(n1));
+ let final self::IntClass* #t252 = v in self::IntClassExtension|set#property(#t252, self::IntClassExtension|get#property(#t252).{core::num::-}(n1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t253 = v in let final core::int* #t254 = self::IntClassExtension|get#property(#t253).{core::num::+}(1) in let final void #t255 = self::IntClassExtension|set#property(#t253, #t254) in #t254;
+ let final self::IntClass* #t253 = v in let final core::int* #t254 = self::IntClassExtension|get#property(#t253).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t255 = self::IntClassExtension|set#property(#t253, #t254) in #t254;
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t256 = v in let final core::int* #t257 = self::IntClassExtension|get#property(#t256).{core::num::-}(1) in let final void #t258 = self::IntClassExtension|set#property(#t256, #t257) in #t257;
+ let final self::IntClass* #t256 = v in let final core::int* #t257 = self::IntClassExtension|get#property(#t256).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t258 = self::IntClassExtension|set#property(#t256, #t257) in #t257;
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t259 = v in self::IntClassExtension|set#property(#t259, self::IntClassExtension|get#property(#t259).{core::num::+}(1));
+ let final self::IntClass* #t259 = v in self::IntClassExtension|set#property(#t259, self::IntClassExtension|get#property(#t259).{core::num::+}(1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t260 = v in self::IntClassExtension|set#property(#t260, self::IntClassExtension|get#property(#t260).{core::num::-}(1));
+ let final self::IntClass* #t260 = v in self::IntClassExtension|set#property(#t260, self::IntClassExtension|get#property(#t260).{core::num::-}(1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
}
static method testExplicitNullAwareProperties(self::Class* v) → dynamic {
self::Number* n0 = new self::Number::•(0);
self::Number* n1 = new self::Number::•(1);
self::Number* n2 = new self::Number::•(2);
- self::expect(n0, let final self::Class* #t261 = v in #t261.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t261), v.{self::Class::==}(null));
- self::expect(n1, let final self::Class* #t262 = v in #t262.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t263 = self::NumberExtension|+(self::ClassExtension|get#property(#t262), n1) in let final void #t264 = self::ClassExtension|set#property(#t262, #t263) in #t263, v.{self::Class::==}(null));
- self::expect(n2, let final self::Class* #t265 = v in #t265.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t266 = self::NumberExtension|+(self::ClassExtension|get#property(#t265), n1) in let final void #t267 = self::ClassExtension|set#property(#t265, #t266) in #t266, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t268 = v in #t268.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t269 = self::NumberExtension|-(self::ClassExtension|get#property(#t268), n2) in let final void #t270 = self::ClassExtension|set#property(#t268, #t269) in #t269, v.{self::Class::==}(null));
- self::expect(n1, let final self::Class* #t271 = v in #t271.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t272 = self::NumberExtension|+(self::ClassExtension|get#property(#t271), n1) in let final void #t273 = self::ClassExtension|set#property(#t271, #t272) in #t272, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t274 = v in #t274.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t275 = self::NumberExtension|-(self::ClassExtension|get#property(#t274), n1) in let final void #t276 = self::ClassExtension|set#property(#t274, #t275) in #t275, v.{self::Class::==}(null));
- self::expect(n1, let final self::Class* #t277 = v in #t277.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t278 = self::NumberExtension|+(self::ClassExtension|get#property(#t277), 1) in let final void #t279 = self::ClassExtension|set#property(#t277, #t278) in #t278, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t280 = v in #t280.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t281 = self::NumberExtension|-(self::ClassExtension|get#property(#t280), 1) in let final void #t282 = self::ClassExtension|set#property(#t280, #t281) in #t281, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t283 = v in #t283.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t284 = self::ClassExtension|get#property(#t283) in let final self::Number* #t285 = let final self::Number* #t286 = self::NumberExtension|+(#t284, 1) in let final void #t287 = self::ClassExtension|set#property(#t283, #t286) in #t286 in #t284, v.{self::Class::==}(null));
- self::expect(n1, let final self::Class* #t288 = v in #t288.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t289 = self::ClassExtension|get#property(#t288) in let final self::Number* #t290 = let final self::Number* #t291 = self::NumberExtension|-(#t289, 1) in let final void #t292 = self::ClassExtension|set#property(#t288, #t291) in #t291 in #t289, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t293 = v in #t293.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t293), v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t294 = v in #t294.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t294), v.{self::Class::==}(null));
- let final self::Class* #t295 = v in #t295.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t295, self::NumberExtension|+(self::ClassExtension|get#property(#t295), n1));
- self::expect(n1, let final self::Class* #t296 = v in #t296.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t296), v.{self::Class::==}(null));
- let final self::Class* #t297 = v in #t297.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t297, self::NumberExtension|+(self::ClassExtension|get#property(#t297), n1));
- self::expect(n2, let final self::Class* #t298 = v in #t298.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t298), v.{self::Class::==}(null));
- let final self::Class* #t299 = v in #t299.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t299, self::NumberExtension|-(self::ClassExtension|get#property(#t299), n2));
- self::expect(n0, let final self::Class* #t300 = v in #t300.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t300), v.{self::Class::==}(null));
- let final self::Class* #t301 = v in #t301.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t301, self::NumberExtension|+(self::ClassExtension|get#property(#t301), n1));
- self::expect(n1, let final self::Class* #t302 = v in #t302.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t302), v.{self::Class::==}(null));
- let final self::Class* #t303 = v in #t303.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t303, self::NumberExtension|-(self::ClassExtension|get#property(#t303), n1));
- self::expect(n0, let final self::Class* #t304 = v in #t304.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t304), v.{self::Class::==}(null));
- let final self::Class* #t305 = v in #t305.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t306 = self::NumberExtension|+(self::ClassExtension|get#property(#t305), 1) in let final void #t307 = self::ClassExtension|set#property(#t305, #t306) in #t306;
- self::expect(n1, let final self::Class* #t308 = v in #t308.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t308), v.{self::Class::==}(null));
- let final self::Class* #t309 = v in #t309.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t310 = self::NumberExtension|-(self::ClassExtension|get#property(#t309), 1) in let final void #t311 = self::ClassExtension|set#property(#t309, #t310) in #t310;
- self::expect(n0, let final self::Class* #t312 = v in #t312.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t312), v.{self::Class::==}(null));
- let final self::Class* #t313 = v in #t313.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t313, self::NumberExtension|+(self::ClassExtension|get#property(#t313), 1));
- self::expect(n1, let final self::Class* #t314 = v in #t314.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t314), v.{self::Class::==}(null));
- let final self::Class* #t315 = v in #t315.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t315, self::NumberExtension|-(self::ClassExtension|get#property(#t315), 1));
- self::expect(n0, let final self::Class* #t316 = v in #t316.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t316), v.{self::Class::==}(null));
+ self::expect(n0, let final self::Class* #t261 = v in #t261 == null ?{self::Number*} null : self::ClassExtension|get#property(#t261), v == null);
+ self::expect(n1, let final self::Class* #t262 = v in #t262 == null ?{self::Number*} null : let final self::Number* #t263 = self::NumberExtension|+(self::ClassExtension|get#property(#t262), n1) in let final void #t264 = self::ClassExtension|set#property(#t262, #t263) in #t263, v == null);
+ self::expect(n2, let final self::Class* #t265 = v in #t265 == null ?{self::Number*} null : let final self::Number* #t266 = self::NumberExtension|+(self::ClassExtension|get#property(#t265), n1) in let final void #t267 = self::ClassExtension|set#property(#t265, #t266) in #t266, v == null);
+ self::expect(n0, let final self::Class* #t268 = v in #t268 == null ?{self::Number*} null : let final self::Number* #t269 = self::NumberExtension|-(self::ClassExtension|get#property(#t268), n2) in let final void #t270 = self::ClassExtension|set#property(#t268, #t269) in #t269, v == null);
+ self::expect(n1, let final self::Class* #t271 = v in #t271 == null ?{self::Number*} null : let final self::Number* #t272 = self::NumberExtension|+(self::ClassExtension|get#property(#t271), n1) in let final void #t273 = self::ClassExtension|set#property(#t271, #t272) in #t272, v == null);
+ self::expect(n0, let final self::Class* #t274 = v in #t274 == null ?{self::Number*} null : let final self::Number* #t275 = self::NumberExtension|-(self::ClassExtension|get#property(#t274), n1) in let final void #t276 = self::ClassExtension|set#property(#t274, #t275) in #t275, v == null);
+ self::expect(n1, let final self::Class* #t277 = v in #t277 == null ?{self::Number*} null : let final self::Number* #t278 = self::NumberExtension|+(self::ClassExtension|get#property(#t277), 1) in let final void #t279 = self::ClassExtension|set#property(#t277, #t278) in #t278, v == null);
+ self::expect(n0, let final self::Class* #t280 = v in #t280 == null ?{self::Number*} null : let final self::Number* #t281 = self::NumberExtension|-(self::ClassExtension|get#property(#t280), 1) in let final void #t282 = self::ClassExtension|set#property(#t280, #t281) in #t281, v == null);
+ self::expect(n0, let final self::Class* #t283 = v in #t283 == null ?{self::Number*} null : let final self::Number* #t284 = self::ClassExtension|get#property(#t283) in let final self::Number* #t285 = let final self::Number* #t286 = self::NumberExtension|+(#t284, 1) in let final void #t287 = self::ClassExtension|set#property(#t283, #t286) in #t286 in #t284, v == null);
+ self::expect(n1, let final self::Class* #t288 = v in #t288 == null ?{self::Number*} null : let final self::Number* #t289 = self::ClassExtension|get#property(#t288) in let final self::Number* #t290 = let final self::Number* #t291 = self::NumberExtension|-(#t289, 1) in let final void #t292 = self::ClassExtension|set#property(#t288, #t291) in #t291 in #t289, v == null);
+ self::expect(n0, let final self::Class* #t293 = v in #t293 == null ?{self::Number*} null : self::ClassExtension|get#property(#t293), v == null);
+ self::expect(n0, let final self::Class* #t294 = v in #t294 == null ?{self::Number*} null : self::ClassExtension|get#property(#t294), v == null);
+ let final self::Class* #t295 = v in #t295 == null ?{self::Number*} null : self::ClassExtension|set#property(#t295, self::NumberExtension|+(self::ClassExtension|get#property(#t295), n1));
+ self::expect(n1, let final self::Class* #t296 = v in #t296 == null ?{self::Number*} null : self::ClassExtension|get#property(#t296), v == null);
+ let final self::Class* #t297 = v in #t297 == null ?{self::Number*} null : self::ClassExtension|set#property(#t297, self::NumberExtension|+(self::ClassExtension|get#property(#t297), n1));
+ self::expect(n2, let final self::Class* #t298 = v in #t298 == null ?{self::Number*} null : self::ClassExtension|get#property(#t298), v == null);
+ let final self::Class* #t299 = v in #t299 == null ?{self::Number*} null : self::ClassExtension|set#property(#t299, self::NumberExtension|-(self::ClassExtension|get#property(#t299), n2));
+ self::expect(n0, let final self::Class* #t300 = v in #t300 == null ?{self::Number*} null : self::ClassExtension|get#property(#t300), v == null);
+ let final self::Class* #t301 = v in #t301 == null ?{self::Number*} null : self::ClassExtension|set#property(#t301, self::NumberExtension|+(self::ClassExtension|get#property(#t301), n1));
+ self::expect(n1, let final self::Class* #t302 = v in #t302 == null ?{self::Number*} null : self::ClassExtension|get#property(#t302), v == null);
+ let final self::Class* #t303 = v in #t303 == null ?{self::Number*} null : self::ClassExtension|set#property(#t303, self::NumberExtension|-(self::ClassExtension|get#property(#t303), n1));
+ self::expect(n0, let final self::Class* #t304 = v in #t304 == null ?{self::Number*} null : self::ClassExtension|get#property(#t304), v == null);
+ let final self::Class* #t305 = v in #t305 == null ?{self::Number*} null : let final self::Number* #t306 = self::NumberExtension|+(self::ClassExtension|get#property(#t305), 1) in let final void #t307 = self::ClassExtension|set#property(#t305, #t306) in #t306;
+ self::expect(n1, let final self::Class* #t308 = v in #t308 == null ?{self::Number*} null : self::ClassExtension|get#property(#t308), v == null);
+ let final self::Class* #t309 = v in #t309 == null ?{self::Number*} null : let final self::Number* #t310 = self::NumberExtension|-(self::ClassExtension|get#property(#t309), 1) in let final void #t311 = self::ClassExtension|set#property(#t309, #t310) in #t310;
+ self::expect(n0, let final self::Class* #t312 = v in #t312 == null ?{self::Number*} null : self::ClassExtension|get#property(#t312), v == null);
+ let final self::Class* #t313 = v in #t313 == null ?{self::Number*} null : self::ClassExtension|set#property(#t313, self::NumberExtension|+(self::ClassExtension|get#property(#t313), 1));
+ self::expect(n1, let final self::Class* #t314 = v in #t314 == null ?{self::Number*} null : self::ClassExtension|get#property(#t314), v == null);
+ let final self::Class* #t315 = v in #t315 == null ?{self::Number*} null : self::ClassExtension|set#property(#t315, self::NumberExtension|-(self::ClassExtension|get#property(#t315), 1));
+ self::expect(n0, let final self::Class* #t316 = v in #t316 == null ?{self::Number*} null : self::ClassExtension|get#property(#t316), v == null);
}
static method testExplicitNullAwareIntProperties(self::IntClass* v) → dynamic {
core::int* n0 = 0;
core::int* n1 = 1;
core::int* n2 = 2;
- self::expect(n0, let final self::IntClass* #t317 = v in #t317.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t317), v.{self::IntClass::==}(null));
- self::expect(n1, let final self::IntClass* #t318 = v in #t318.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t319 = self::IntClassExtension|get#property(#t318).{core::num::+}(n1) in let final void #t320 = self::IntClassExtension|set#property(#t318, #t319) in #t319, v.{self::IntClass::==}(null));
- self::expect(n2, let final self::IntClass* #t321 = v in #t321.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t322 = self::IntClassExtension|get#property(#t321).{core::num::+}(n1) in let final void #t323 = self::IntClassExtension|set#property(#t321, #t322) in #t322, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t324 = v in #t324.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t325 = self::IntClassExtension|get#property(#t324).{core::num::-}(n2) in let final void #t326 = self::IntClassExtension|set#property(#t324, #t325) in #t325, v.{self::IntClass::==}(null));
- self::expect(n1, let final self::IntClass* #t327 = v in #t327.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t328 = self::IntClassExtension|get#property(#t327).{core::num::+}(n1) in let final void #t329 = self::IntClassExtension|set#property(#t327, #t328) in #t328, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t330 = v in #t330.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t331 = self::IntClassExtension|get#property(#t330).{core::num::-}(n1) in let final void #t332 = self::IntClassExtension|set#property(#t330, #t331) in #t331, v.{self::IntClass::==}(null));
- self::expect(n1, let final self::IntClass* #t333 = v in #t333.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t334 = self::IntClassExtension|get#property(#t333).{core::num::+}(1) in let final void #t335 = self::IntClassExtension|set#property(#t333, #t334) in #t334, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t336 = v in #t336.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t337 = self::IntClassExtension|get#property(#t336).{core::num::-}(1) in let final void #t338 = self::IntClassExtension|set#property(#t336, #t337) in #t337, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t339 = v in #t339.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t340 = self::IntClassExtension|get#property(#t339) in let final core::int* #t341 = let final core::int* #t342 = #t340.{core::num::+}(1) in let final void #t343 = self::IntClassExtension|set#property(#t339, #t342) in #t342 in #t340, v.{self::IntClass::==}(null));
- self::expect(n1, let final self::IntClass* #t344 = v in #t344.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t345 = self::IntClassExtension|get#property(#t344) in let final core::int* #t346 = let final core::int* #t347 = #t345.{core::num::-}(1) in let final void #t348 = self::IntClassExtension|set#property(#t344, #t347) in #t347 in #t345, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t349 = v in #t349.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t349), v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t350 = v in #t350.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t350), v.{self::IntClass::==}(null));
- let final self::IntClass* #t351 = v in #t351.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t351, self::IntClassExtension|get#property(#t351).{core::num::+}(n1));
- self::expect(n1, let final self::IntClass* #t352 = v in #t352.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t352), v.{self::IntClass::==}(null));
- let final self::IntClass* #t353 = v in #t353.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t353, self::IntClassExtension|get#property(#t353).{core::num::+}(n1));
- self::expect(n2, let final self::IntClass* #t354 = v in #t354.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t354), v.{self::IntClass::==}(null));
- let final self::IntClass* #t355 = v in #t355.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t355, self::IntClassExtension|get#property(#t355).{core::num::-}(n2));
- self::expect(n0, let final self::IntClass* #t356 = v in #t356.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t356), v.{self::IntClass::==}(null));
- let final self::IntClass* #t357 = v in #t357.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t357, self::IntClassExtension|get#property(#t357).{core::num::+}(n1));
- self::expect(n1, let final self::IntClass* #t358 = v in #t358.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t358), v.{self::IntClass::==}(null));
- let final self::IntClass* #t359 = v in #t359.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t359, self::IntClassExtension|get#property(#t359).{core::num::-}(n1));
- self::expect(n0, let final self::IntClass* #t360 = v in #t360.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t360), v.{self::IntClass::==}(null));
- let final self::IntClass* #t361 = v in #t361.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t362 = self::IntClassExtension|get#property(#t361).{core::num::+}(1) in let final void #t363 = self::IntClassExtension|set#property(#t361, #t362) in #t362;
- self::expect(n1, let final self::IntClass* #t364 = v in #t364.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t364), v.{self::IntClass::==}(null));
- let final self::IntClass* #t365 = v in #t365.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t366 = self::IntClassExtension|get#property(#t365).{core::num::-}(1) in let final void #t367 = self::IntClassExtension|set#property(#t365, #t366) in #t366;
- self::expect(n0, let final self::IntClass* #t368 = v in #t368.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t368), v.{self::IntClass::==}(null));
- let final self::IntClass* #t369 = v in #t369.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t369, self::IntClassExtension|get#property(#t369).{core::num::+}(1));
- self::expect(n1, let final self::IntClass* #t370 = v in #t370.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t370), v.{self::IntClass::==}(null));
- let final self::IntClass* #t371 = v in #t371.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t371, self::IntClassExtension|get#property(#t371).{core::num::-}(1));
- self::expect(n0, let final self::IntClass* #t372 = v in #t372.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t372), v.{self::IntClass::==}(null));
+ self::expect(n0, let final self::IntClass* #t317 = v in #t317 == null ?{core::int*} null : self::IntClassExtension|get#property(#t317), v == null);
+ self::expect(n1, let final self::IntClass* #t318 = v in #t318 == null ?{core::int*} null : let final core::int* #t319 = self::IntClassExtension|get#property(#t318).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t320 = self::IntClassExtension|set#property(#t318, #t319) in #t319, v == null);
+ self::expect(n2, let final self::IntClass* #t321 = v in #t321 == null ?{core::int*} null : let final core::int* #t322 = self::IntClassExtension|get#property(#t321).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t323 = self::IntClassExtension|set#property(#t321, #t322) in #t322, v == null);
+ self::expect(n0, let final self::IntClass* #t324 = v in #t324 == null ?{core::int*} null : let final core::int* #t325 = self::IntClassExtension|get#property(#t324).{core::num::-}(n2){(core::num*) →* core::int*} in let final void #t326 = self::IntClassExtension|set#property(#t324, #t325) in #t325, v == null);
+ self::expect(n1, let final self::IntClass* #t327 = v in #t327 == null ?{core::int*} null : let final core::int* #t328 = self::IntClassExtension|get#property(#t327).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t329 = self::IntClassExtension|set#property(#t327, #t328) in #t328, v == null);
+ self::expect(n0, let final self::IntClass* #t330 = v in #t330 == null ?{core::int*} null : let final core::int* #t331 = self::IntClassExtension|get#property(#t330).{core::num::-}(n1){(core::num*) →* core::int*} in let final void #t332 = self::IntClassExtension|set#property(#t330, #t331) in #t331, v == null);
+ self::expect(n1, let final self::IntClass* #t333 = v in #t333 == null ?{core::int*} null : let final core::int* #t334 = self::IntClassExtension|get#property(#t333).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t335 = self::IntClassExtension|set#property(#t333, #t334) in #t334, v == null);
+ self::expect(n0, let final self::IntClass* #t336 = v in #t336 == null ?{core::int*} null : let final core::int* #t337 = self::IntClassExtension|get#property(#t336).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t338 = self::IntClassExtension|set#property(#t336, #t337) in #t337, v == null);
+ self::expect(n0, let final self::IntClass* #t339 = v in #t339 == null ?{core::int*} null : let final core::int* #t340 = self::IntClassExtension|get#property(#t339) in let final core::int* #t341 = let final core::int* #t342 = #t340.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t343 = self::IntClassExtension|set#property(#t339, #t342) in #t342 in #t340, v == null);
+ self::expect(n1, let final self::IntClass* #t344 = v in #t344 == null ?{core::int*} null : let final core::int* #t345 = self::IntClassExtension|get#property(#t344) in let final core::int* #t346 = let final core::int* #t347 = #t345.{core::num::-}(1){(core::num*) →* core::int*} in let final void #t348 = self::IntClassExtension|set#property(#t344, #t347) in #t347 in #t345, v == null);
+ self::expect(n0, let final self::IntClass* #t349 = v in #t349 == null ?{core::int*} null : self::IntClassExtension|get#property(#t349), v == null);
+ self::expect(n0, let final self::IntClass* #t350 = v in #t350 == null ?{core::int*} null : self::IntClassExtension|get#property(#t350), v == null);
+ let final self::IntClass* #t351 = v in #t351 == null ?{core::int*} null : self::IntClassExtension|set#property(#t351, self::IntClassExtension|get#property(#t351).{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t352 = v in #t352 == null ?{core::int*} null : self::IntClassExtension|get#property(#t352), v == null);
+ let final self::IntClass* #t353 = v in #t353 == null ?{core::int*} null : self::IntClassExtension|set#property(#t353, self::IntClassExtension|get#property(#t353).{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n2, let final self::IntClass* #t354 = v in #t354 == null ?{core::int*} null : self::IntClassExtension|get#property(#t354), v == null);
+ let final self::IntClass* #t355 = v in #t355 == null ?{core::int*} null : self::IntClassExtension|set#property(#t355, self::IntClassExtension|get#property(#t355).{core::num::-}(n2){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t356 = v in #t356 == null ?{core::int*} null : self::IntClassExtension|get#property(#t356), v == null);
+ let final self::IntClass* #t357 = v in #t357 == null ?{core::int*} null : self::IntClassExtension|set#property(#t357, self::IntClassExtension|get#property(#t357).{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t358 = v in #t358 == null ?{core::int*} null : self::IntClassExtension|get#property(#t358), v == null);
+ let final self::IntClass* #t359 = v in #t359 == null ?{core::int*} null : self::IntClassExtension|set#property(#t359, self::IntClassExtension|get#property(#t359).{core::num::-}(n1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t360 = v in #t360 == null ?{core::int*} null : self::IntClassExtension|get#property(#t360), v == null);
+ let final self::IntClass* #t361 = v in #t361 == null ?{core::int*} null : let final core::int* #t362 = self::IntClassExtension|get#property(#t361).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t363 = self::IntClassExtension|set#property(#t361, #t362) in #t362;
+ self::expect(n1, let final self::IntClass* #t364 = v in #t364 == null ?{core::int*} null : self::IntClassExtension|get#property(#t364), v == null);
+ let final self::IntClass* #t365 = v in #t365 == null ?{core::int*} null : let final core::int* #t366 = self::IntClassExtension|get#property(#t365).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t367 = self::IntClassExtension|set#property(#t365, #t366) in #t366;
+ self::expect(n0, let final self::IntClass* #t368 = v in #t368 == null ?{core::int*} null : self::IntClassExtension|get#property(#t368), v == null);
+ let final self::IntClass* #t369 = v in #t369 == null ?{core::int*} null : self::IntClassExtension|set#property(#t369, self::IntClassExtension|get#property(#t369).{core::num::+}(1){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t370 = v in #t370 == null ?{core::int*} null : self::IntClassExtension|get#property(#t370), v == null);
+ let final self::IntClass* #t371 = v in #t371 == null ?{core::int*} null : self::IntClassExtension|set#property(#t371, self::IntClassExtension|get#property(#t371).{core::num::-}(1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t372 = v in #t372 == null ?{core::int*} null : self::IntClassExtension|get#property(#t372), v == null);
}
static method expect(dynamic expected, dynamic actual, [dynamic expectNull = #C1]) → dynamic {
if(expectNull as{TypeError,ForDynamic} core::bool*) {
expected = null;
}
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/compounds.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/compounds.dart.weak.transformed.expect
index 5174cae..ccd5bd4 100644
--- a/pkg/front_end/testcases/extensions/compounds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/compounds.dart.weak.transformed.expect
@@ -8,11 +8,11 @@
: self::Number::value = value, super core::Object::•()
;
get hashCode() → core::int*
- return this.{self::Number::value}.{core::num::hashCode};
+ return this.{self::Number::value}{core::int*}.{core::num::hashCode}{core::int*};
operator ==(core::Object* other) → core::bool*
- return other is self::Number* && this.{self::Number::value}.{core::num::==}(other{self::Number*}.{self::Number::value});
+ return other is self::Number* && this.{self::Number::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} other{self::Number*}.{self::Number::value}{core::int*};
method toString() → core::String*
- return "Number(${this.{self::Number::value}})";
+ return "Number(${this.{self::Number::value}{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
@@ -71,11 +71,11 @@
}
static method NumberExtension|+(lowered final self::Number* #this, core::Object* other) → self::Number* {
if(other is core::int*) {
- return new self::Number::•(#this.{self::Number::value}.{core::num::+}(other{core::int*}));
+ return new self::Number::•(#this.{self::Number::value}{core::int*}.{core::num::+}(other{core::int*}){(core::num*) →* core::int*});
}
else
if(other is self::Number*) {
- return new self::Number::•(#this.{self::Number::value}.{core::num::+}(other{self::Number*}.{self::Number::value}));
+ return new self::Number::•(#this.{self::Number::value}{core::int*}.{core::num::+}(other{self::Number*}.{self::Number::value}{core::int*}){(core::num*) →* core::int*});
}
else {
throw new core::ArgumentError::•("${other}");
@@ -83,18 +83,18 @@
}
static method NumberExtension|-(lowered final self::Number* #this, core::Object* other) → self::Number* {
if(other is core::int*) {
- return new self::Number::•(#this.{self::Number::value}.{core::num::-}(other{core::int*}));
+ return new self::Number::•(#this.{self::Number::value}{core::int*}.{core::num::-}(other{core::int*}){(core::num*) →* core::int*});
}
else
if(other is self::Number*) {
- return new self::Number::•(#this.{self::Number::value}.{core::num::-}(other{self::Number*}.{self::Number::value}));
+ return new self::Number::•(#this.{self::Number::value}{core::int*}.{core::num::-}(other{self::Number*}.{self::Number::value}{core::int*}){(core::num*) →* core::int*});
}
else {
throw new core::ArgumentError::•("${other}");
}
}
static method ClassExtension|get#property(lowered final self::Class* #this) → self::Number*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{self::Number*};
static method ClassExtension|set#property(lowered final self::Class* #this, self::Number* value) → void {
#this.{self::Class::field} = value;
}
@@ -136,7 +136,7 @@
static method ClassExtension|get#testImplicitProperties(lowered final self::Class* #this) → () →* dynamic
return () → dynamic => self::ClassExtension|testImplicitProperties(#this);
static method IntClassExtension|get#property(lowered final self::IntClass* #this) → core::int*
- return #this.{self::IntClass::field};
+ return #this.{self::IntClass::field}{core::int*};
static method IntClassExtension|set#property(lowered final self::IntClass* #this, core::int* value) → void {
#this.{self::IntClass::field} = value;
}
@@ -145,34 +145,34 @@
core::int* n1 = 1;
core::int* n2 = 2;
self::expect(n0, self::IntClassExtension|get#property(#this));
- self::expect(n1, let final core::int* #t23 = self::IntClassExtension|get#property(#this).{core::num::+}(n1) in let final void #t24 = self::IntClassExtension|set#property(#this, #t23) in #t23);
- self::expect(n2, let final core::int* #t25 = self::IntClassExtension|get#property(#this).{core::num::+}(n1) in let final void #t26 = self::IntClassExtension|set#property(#this, #t25) in #t25);
- self::expect(n0, let final core::int* #t27 = self::IntClassExtension|get#property(#this).{core::num::-}(n2) in let final void #t28 = self::IntClassExtension|set#property(#this, #t27) in #t27);
- self::expect(n1, let final core::int* #t29 = self::IntClassExtension|get#property(#this).{core::num::+}(n1) in let final void #t30 = self::IntClassExtension|set#property(#this, #t29) in #t29);
- self::expect(n0, let final core::int* #t31 = self::IntClassExtension|get#property(#this).{core::num::-}(n1) in let final void #t32 = self::IntClassExtension|set#property(#this, #t31) in #t31);
- self::expect(n1, let final core::int* #t33 = self::IntClassExtension|get#property(#this).{core::num::+}(1) in let final void #t34 = self::IntClassExtension|set#property(#this, #t33) in #t33);
- self::expect(n0, let final core::int* #t35 = self::IntClassExtension|get#property(#this).{core::num::-}(1) in let final void #t36 = self::IntClassExtension|set#property(#this, #t35) in #t35);
- self::expect(n0, let final core::int* #t37 = self::IntClassExtension|get#property(#this) in let final core::int* #t38 = self::IntClassExtension|set#property(#this, #t37.{core::num::+}(1)) in #t37);
- self::expect(n1, let final core::int* #t39 = self::IntClassExtension|get#property(#this) in let final core::int* #t40 = self::IntClassExtension|set#property(#this, #t39.{core::num::-}(1)) in #t39);
+ self::expect(n1, let final core::int* #t23 = self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t24 = self::IntClassExtension|set#property(#this, #t23) in #t23);
+ self::expect(n2, let final core::int* #t25 = self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t26 = self::IntClassExtension|set#property(#this, #t25) in #t25);
+ self::expect(n0, let final core::int* #t27 = self::IntClassExtension|get#property(#this).{core::num::-}(n2){(core::num*) →* core::int*} in let final void #t28 = self::IntClassExtension|set#property(#this, #t27) in #t27);
+ self::expect(n1, let final core::int* #t29 = self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t30 = self::IntClassExtension|set#property(#this, #t29) in #t29);
+ self::expect(n0, let final core::int* #t31 = self::IntClassExtension|get#property(#this).{core::num::-}(n1){(core::num*) →* core::int*} in let final void #t32 = self::IntClassExtension|set#property(#this, #t31) in #t31);
+ self::expect(n1, let final core::int* #t33 = self::IntClassExtension|get#property(#this).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t34 = self::IntClassExtension|set#property(#this, #t33) in #t33);
+ self::expect(n0, let final core::int* #t35 = self::IntClassExtension|get#property(#this).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t36 = self::IntClassExtension|set#property(#this, #t35) in #t35);
+ self::expect(n0, let final core::int* #t37 = self::IntClassExtension|get#property(#this) in let final core::int* #t38 = self::IntClassExtension|set#property(#this, #t37.{core::num::+}(1){(core::num*) →* core::int*}) in #t37);
+ self::expect(n1, let final core::int* #t39 = self::IntClassExtension|get#property(#this) in let final core::int* #t40 = self::IntClassExtension|set#property(#this, #t39.{core::num::-}(1){(core::num*) →* core::int*}) in #t39);
self::expect(n0, self::IntClassExtension|get#property(#this));
self::expect(n0, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n2, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(n2));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(n2){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(n1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(n1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(#this));
- let final core::int* #t41 = self::IntClassExtension|get#property(#this).{core::num::+}(1) in let final void #t42 = self::IntClassExtension|set#property(#this, #t41) in #t41;
+ let final core::int* #t41 = self::IntClassExtension|get#property(#this).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t42 = self::IntClassExtension|set#property(#this, #t41) in #t41;
self::expect(n1, self::IntClassExtension|get#property(#this));
- let final core::int* #t43 = self::IntClassExtension|get#property(#this).{core::num::-}(1) in let final void #t44 = self::IntClassExtension|set#property(#this, #t43) in #t43;
+ let final core::int* #t43 = self::IntClassExtension|get#property(#this).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t44 = self::IntClassExtension|set#property(#this, #t43) in #t43;
self::expect(n0, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::+}(1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(#this));
- self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(1));
+ self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(#this));
}
static method IntClassExtension|get#testImplicitProperties(lowered final self::IntClass* #this) → () →* dynamic
@@ -231,36 +231,36 @@
self::Number* n1 = new self::Number::•(1);
self::Number* n2 = new self::Number::•(2);
self::Class* v = new self::Class::•(n0);
- self::expect(n0, v.{self::Class::field});
- self::expect(n1, let final self::Class* #t49 = v in #t49.{self::Class::field} = self::NumberExtension|+(#t49.{self::Class::field}, n1));
- self::expect(n2, let final self::Class* #t50 = v in #t50.{self::Class::field} = self::NumberExtension|+(#t50.{self::Class::field}, n1));
- self::expect(n0, let final self::Class* #t51 = v in #t51.{self::Class::field} = self::NumberExtension|-(#t51.{self::Class::field}, n2));
- self::expect(n1, let final self::Class* #t52 = v in #t52.{self::Class::field} = self::NumberExtension|+(#t52.{self::Class::field}, n1));
- self::expect(n0, let final self::Class* #t53 = v in #t53.{self::Class::field} = self::NumberExtension|-(#t53.{self::Class::field}, n1));
- self::expect(n1, let final self::Class* #t54 = v in #t54.{self::Class::field} = self::NumberExtension|+(#t54.{self::Class::field}, 1));
- self::expect(n0, let final self::Class* #t55 = v in #t55.{self::Class::field} = self::NumberExtension|-(#t55.{self::Class::field}, 1));
- self::expect(n0, let final self::Class* #t56 = v in let final self::Number* #t57 = #t56.{self::Class::field} in let final self::Number* #t58 = #t56.{self::Class::field} = self::NumberExtension|+(#t57, 1) in #t57);
- self::expect(n1, let final self::Class* #t59 = v in let final self::Number* #t60 = #t59.{self::Class::field} in let final self::Number* #t61 = #t59.{self::Class::field} = self::NumberExtension|-(#t60, 1) in #t60);
- self::expect(n0, v.{self::Class::field});
- self::expect(n0, v.{self::Class::field});
- let final self::Class* #t62 = v in #t62.{self::Class::field} = self::NumberExtension|+(#t62.{self::Class::field}, n1);
- self::expect(n1, v.{self::Class::field});
- let final self::Class* #t63 = v in #t63.{self::Class::field} = self::NumberExtension|+(#t63.{self::Class::field}, n1);
- self::expect(n2, v.{self::Class::field});
- let final self::Class* #t64 = v in #t64.{self::Class::field} = self::NumberExtension|-(#t64.{self::Class::field}, n2);
- self::expect(n0, v.{self::Class::field});
- let final self::Class* #t65 = v in #t65.{self::Class::field} = self::NumberExtension|+(#t65.{self::Class::field}, n1);
- self::expect(n1, v.{self::Class::field});
- let final self::Class* #t66 = v in #t66.{self::Class::field} = self::NumberExtension|-(#t66.{self::Class::field}, n1);
- self::expect(n0, v.{self::Class::field});
- let final self::Class* #t67 = v in #t67.{self::Class::field} = self::NumberExtension|+(#t67.{self::Class::field}, 1);
- self::expect(n1, v.{self::Class::field});
- let final self::Class* #t68 = v in #t68.{self::Class::field} = self::NumberExtension|-(#t68.{self::Class::field}, 1);
- self::expect(n0, v.{self::Class::field});
- let final self::Class* #t69 = v in #t69.{self::Class::field} = self::NumberExtension|+(#t69.{self::Class::field}, 1);
- self::expect(n1, v.{self::Class::field});
- let final self::Class* #t70 = v in #t70.{self::Class::field} = self::NumberExtension|-(#t70.{self::Class::field}, 1);
- self::expect(n0, v.{self::Class::field});
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ self::expect(n1, let final self::Class* #t49 = v in #t49.{self::Class::field} = self::NumberExtension|+(#t49.{self::Class::field}{self::Number*}, n1));
+ self::expect(n2, let final self::Class* #t50 = v in #t50.{self::Class::field} = self::NumberExtension|+(#t50.{self::Class::field}{self::Number*}, n1));
+ self::expect(n0, let final self::Class* #t51 = v in #t51.{self::Class::field} = self::NumberExtension|-(#t51.{self::Class::field}{self::Number*}, n2));
+ self::expect(n1, let final self::Class* #t52 = v in #t52.{self::Class::field} = self::NumberExtension|+(#t52.{self::Class::field}{self::Number*}, n1));
+ self::expect(n0, let final self::Class* #t53 = v in #t53.{self::Class::field} = self::NumberExtension|-(#t53.{self::Class::field}{self::Number*}, n1));
+ self::expect(n1, let final self::Class* #t54 = v in #t54.{self::Class::field} = self::NumberExtension|+(#t54.{self::Class::field}{self::Number*}, 1));
+ self::expect(n0, let final self::Class* #t55 = v in #t55.{self::Class::field} = self::NumberExtension|-(#t55.{self::Class::field}{self::Number*}, 1));
+ self::expect(n0, let final self::Class* #t56 = v in let final self::Number* #t57 = #t56.{self::Class::field}{self::Number*} in let final self::Number* #t58 = #t56.{self::Class::field} = self::NumberExtension|+(#t57, 1) in #t57);
+ self::expect(n1, let final self::Class* #t59 = v in let final self::Number* #t60 = #t59.{self::Class::field}{self::Number*} in let final self::Number* #t61 = #t59.{self::Class::field} = self::NumberExtension|-(#t60, 1) in #t60);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t62 = v in #t62.{self::Class::field} = self::NumberExtension|+(#t62.{self::Class::field}{self::Number*}, n1);
+ self::expect(n1, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t63 = v in #t63.{self::Class::field} = self::NumberExtension|+(#t63.{self::Class::field}{self::Number*}, n1);
+ self::expect(n2, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t64 = v in #t64.{self::Class::field} = self::NumberExtension|-(#t64.{self::Class::field}{self::Number*}, n2);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t65 = v in #t65.{self::Class::field} = self::NumberExtension|+(#t65.{self::Class::field}{self::Number*}, n1);
+ self::expect(n1, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t66 = v in #t66.{self::Class::field} = self::NumberExtension|-(#t66.{self::Class::field}{self::Number*}, n1);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t67 = v in #t67.{self::Class::field} = self::NumberExtension|+(#t67.{self::Class::field}{self::Number*}, 1);
+ self::expect(n1, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t68 = v in #t68.{self::Class::field} = self::NumberExtension|-(#t68.{self::Class::field}{self::Number*}, 1);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t69 = v in #t69.{self::Class::field} = self::NumberExtension|+(#t69.{self::Class::field}{self::Number*}, 1);
+ self::expect(n1, v.{self::Class::field}{self::Number*});
+ let final self::Class* #t70 = v in #t70.{self::Class::field} = self::NumberExtension|-(#t70.{self::Class::field}{self::Number*}, 1);
+ self::expect(n0, v.{self::Class::field}{self::Number*});
self::expect(n0, self::ClassExtension|get#property(v));
self::expect(n1, let final self::Class* #t71 = v in let final self::Number* #t72 = self::NumberExtension|+(self::ClassExtension|get#property(#t71), n1) in let final void #t73 = self::ClassExtension|set#property(#t71, #t72) in #t72);
self::expect(n2, let final self::Class* #t74 = v in let final self::Number* #t75 = self::NumberExtension|+(self::ClassExtension|get#property(#t74), n1) in let final void #t76 = self::ClassExtension|set#property(#t74, #t75) in #t75);
@@ -297,65 +297,65 @@
core::int* n1 = 1;
core::int* n2 = 2;
self::IntClass* v = new self::IntClass::•(n0);
- self::expect(n0, v.{self::IntClass::field});
- self::expect(n1, let final self::IntClass* #t111 = v in #t111.{self::IntClass::field} = #t111.{self::IntClass::field}.{core::num::+}(n1));
- self::expect(n2, let final self::IntClass* #t112 = v in #t112.{self::IntClass::field} = #t112.{self::IntClass::field}.{core::num::+}(n1));
- self::expect(n0, let final self::IntClass* #t113 = v in #t113.{self::IntClass::field} = #t113.{self::IntClass::field}.{core::num::-}(n2));
- self::expect(n1, let final self::IntClass* #t114 = v in #t114.{self::IntClass::field} = #t114.{self::IntClass::field}.{core::num::+}(n1));
- self::expect(n0, let final self::IntClass* #t115 = v in #t115.{self::IntClass::field} = #t115.{self::IntClass::field}.{core::num::-}(n1));
- self::expect(n1, let final self::IntClass* #t116 = v in #t116.{self::IntClass::field} = #t116.{self::IntClass::field}.{core::num::+}(1));
- self::expect(n0, let final self::IntClass* #t117 = v in #t117.{self::IntClass::field} = #t117.{self::IntClass::field}.{core::num::-}(1));
- self::expect(n0, let final self::IntClass* #t118 = v in let final core::int* #t119 = #t118.{self::IntClass::field} in let final core::int* #t120 = #t118.{self::IntClass::field} = #t119.{core::num::+}(1) in #t119);
- self::expect(n1, let final self::IntClass* #t121 = v in let final core::int* #t122 = #t121.{self::IntClass::field} in let final core::int* #t123 = #t121.{self::IntClass::field} = #t122.{core::num::-}(1) in #t122);
- self::expect(n0, v.{self::IntClass::field});
- self::expect(n0, v.{self::IntClass::field});
- let final self::IntClass* #t124 = v in #t124.{self::IntClass::field} = #t124.{self::IntClass::field}.{core::num::+}(n1);
- self::expect(n1, v.{self::IntClass::field});
- let final self::IntClass* #t125 = v in #t125.{self::IntClass::field} = #t125.{self::IntClass::field}.{core::num::+}(n1);
- self::expect(n2, v.{self::IntClass::field});
- let final self::IntClass* #t126 = v in #t126.{self::IntClass::field} = #t126.{self::IntClass::field}.{core::num::-}(n2);
- self::expect(n0, v.{self::IntClass::field});
- let final self::IntClass* #t127 = v in #t127.{self::IntClass::field} = #t127.{self::IntClass::field}.{core::num::+}(n1);
- self::expect(n1, v.{self::IntClass::field});
- let final self::IntClass* #t128 = v in #t128.{self::IntClass::field} = #t128.{self::IntClass::field}.{core::num::-}(n1);
- self::expect(n0, v.{self::IntClass::field});
- let final self::IntClass* #t129 = v in #t129.{self::IntClass::field} = #t129.{self::IntClass::field}.{core::num::+}(1);
- self::expect(n1, v.{self::IntClass::field});
- let final self::IntClass* #t130 = v in #t130.{self::IntClass::field} = #t130.{self::IntClass::field}.{core::num::-}(1);
- self::expect(n0, v.{self::IntClass::field});
- let final self::IntClass* #t131 = v in #t131.{self::IntClass::field} = #t131.{self::IntClass::field}.{core::num::+}(1);
- self::expect(n1, v.{self::IntClass::field});
- let final self::IntClass* #t132 = v in #t132.{self::IntClass::field} = #t132.{self::IntClass::field}.{core::num::-}(1);
- self::expect(n0, v.{self::IntClass::field});
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ self::expect(n1, let final self::IntClass* #t111 = v in #t111.{self::IntClass::field} = #t111.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n2, let final self::IntClass* #t112 = v in #t112.{self::IntClass::field} = #t112.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t113 = v in #t113.{self::IntClass::field} = #t113.{self::IntClass::field}{core::int*}.{core::num::-}(n2){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t114 = v in #t114.{self::IntClass::field} = #t114.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t115 = v in #t115.{self::IntClass::field} = #t115.{self::IntClass::field}{core::int*}.{core::num::-}(n1){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t116 = v in #t116.{self::IntClass::field} = #t116.{self::IntClass::field}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t117 = v in #t117.{self::IntClass::field} = #t117.{self::IntClass::field}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t118 = v in let final core::int* #t119 = #t118.{self::IntClass::field}{core::int*} in let final core::int* #t120 = #t118.{self::IntClass::field} = #t119.{core::num::+}(1){(core::num*) →* core::int*} in #t119);
+ self::expect(n1, let final self::IntClass* #t121 = v in let final core::int* #t122 = #t121.{self::IntClass::field}{core::int*} in let final core::int* #t123 = #t121.{self::IntClass::field} = #t122.{core::num::-}(1){(core::num*) →* core::int*} in #t122);
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t124 = v in #t124.{self::IntClass::field} = #t124.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*};
+ self::expect(n1, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t125 = v in #t125.{self::IntClass::field} = #t125.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*};
+ self::expect(n2, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t126 = v in #t126.{self::IntClass::field} = #t126.{self::IntClass::field}{core::int*}.{core::num::-}(n2){(core::num*) →* core::int*};
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t127 = v in #t127.{self::IntClass::field} = #t127.{self::IntClass::field}{core::int*}.{core::num::+}(n1){(core::num*) →* core::int*};
+ self::expect(n1, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t128 = v in #t128.{self::IntClass::field} = #t128.{self::IntClass::field}{core::int*}.{core::num::-}(n1){(core::num*) →* core::int*};
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t129 = v in #t129.{self::IntClass::field} = #t129.{self::IntClass::field}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ self::expect(n1, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t130 = v in #t130.{self::IntClass::field} = #t130.{self::IntClass::field}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*};
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t131 = v in #t131.{self::IntClass::field} = #t131.{self::IntClass::field}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ self::expect(n1, v.{self::IntClass::field}{core::int*});
+ let final self::IntClass* #t132 = v in #t132.{self::IntClass::field} = #t132.{self::IntClass::field}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*};
+ self::expect(n0, v.{self::IntClass::field}{core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- self::expect(n1, let final self::IntClass* #t133 = v in let final core::int* #t134 = self::IntClassExtension|get#property(#t133).{core::num::+}(n1) in let final void #t135 = self::IntClassExtension|set#property(#t133, #t134) in #t134);
- self::expect(n2, let final self::IntClass* #t136 = v in let final core::int* #t137 = self::IntClassExtension|get#property(#t136).{core::num::+}(n1) in let final void #t138 = self::IntClassExtension|set#property(#t136, #t137) in #t137);
- self::expect(n0, let final self::IntClass* #t139 = v in let final core::int* #t140 = self::IntClassExtension|get#property(#t139).{core::num::-}(n2) in let final void #t141 = self::IntClassExtension|set#property(#t139, #t140) in #t140);
- self::expect(n1, let final self::IntClass* #t142 = v in let final core::int* #t143 = self::IntClassExtension|get#property(#t142).{core::num::+}(n1) in let final void #t144 = self::IntClassExtension|set#property(#t142, #t143) in #t143);
- self::expect(n0, let final self::IntClass* #t145 = v in let final core::int* #t146 = self::IntClassExtension|get#property(#t145).{core::num::-}(n1) in let final void #t147 = self::IntClassExtension|set#property(#t145, #t146) in #t146);
- self::expect(n1, let final self::IntClass* #t148 = v in let final core::int* #t149 = self::IntClassExtension|get#property(#t148).{core::num::+}(1) in let final void #t150 = self::IntClassExtension|set#property(#t148, #t149) in #t149);
- self::expect(n0, let final self::IntClass* #t151 = v in let final core::int* #t152 = self::IntClassExtension|get#property(#t151).{core::num::-}(1) in let final void #t153 = self::IntClassExtension|set#property(#t151, #t152) in #t152);
- self::expect(n0, let final self::IntClass* #t154 = v in let final core::int* #t155 = self::IntClassExtension|get#property(#t154) in let final core::int* #t156 = self::IntClassExtension|set#property(#t154, #t155.{core::num::+}(1)) in #t155);
- self::expect(n1, let final self::IntClass* #t157 = v in let final core::int* #t158 = self::IntClassExtension|get#property(#t157) in let final core::int* #t159 = self::IntClassExtension|set#property(#t157, #t158.{core::num::-}(1)) in #t158);
+ self::expect(n1, let final self::IntClass* #t133 = v in let final core::int* #t134 = self::IntClassExtension|get#property(#t133).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t135 = self::IntClassExtension|set#property(#t133, #t134) in #t134);
+ self::expect(n2, let final self::IntClass* #t136 = v in let final core::int* #t137 = self::IntClassExtension|get#property(#t136).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t138 = self::IntClassExtension|set#property(#t136, #t137) in #t137);
+ self::expect(n0, let final self::IntClass* #t139 = v in let final core::int* #t140 = self::IntClassExtension|get#property(#t139).{core::num::-}(n2){(core::num*) →* core::int*} in let final void #t141 = self::IntClassExtension|set#property(#t139, #t140) in #t140);
+ self::expect(n1, let final self::IntClass* #t142 = v in let final core::int* #t143 = self::IntClassExtension|get#property(#t142).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t144 = self::IntClassExtension|set#property(#t142, #t143) in #t143);
+ self::expect(n0, let final self::IntClass* #t145 = v in let final core::int* #t146 = self::IntClassExtension|get#property(#t145).{core::num::-}(n1){(core::num*) →* core::int*} in let final void #t147 = self::IntClassExtension|set#property(#t145, #t146) in #t146);
+ self::expect(n1, let final self::IntClass* #t148 = v in let final core::int* #t149 = self::IntClassExtension|get#property(#t148).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t150 = self::IntClassExtension|set#property(#t148, #t149) in #t149);
+ self::expect(n0, let final self::IntClass* #t151 = v in let final core::int* #t152 = self::IntClassExtension|get#property(#t151).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t153 = self::IntClassExtension|set#property(#t151, #t152) in #t152);
+ self::expect(n0, let final self::IntClass* #t154 = v in let final core::int* #t155 = self::IntClassExtension|get#property(#t154) in let final core::int* #t156 = self::IntClassExtension|set#property(#t154, #t155.{core::num::+}(1){(core::num*) →* core::int*}) in #t155);
+ self::expect(n1, let final self::IntClass* #t157 = v in let final core::int* #t158 = self::IntClassExtension|get#property(#t157) in let final core::int* #t159 = self::IntClassExtension|set#property(#t157, #t158.{core::num::-}(1){(core::num*) →* core::int*}) in #t158);
self::expect(n0, self::IntClassExtension|get#property(v));
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t160 = v in self::IntClassExtension|set#property(#t160, self::IntClassExtension|get#property(#t160).{core::num::+}(n1));
+ let final self::IntClass* #t160 = v in self::IntClassExtension|set#property(#t160, self::IntClassExtension|get#property(#t160).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t161 = v in self::IntClassExtension|set#property(#t161, self::IntClassExtension|get#property(#t161).{core::num::+}(n1));
+ let final self::IntClass* #t161 = v in self::IntClassExtension|set#property(#t161, self::IntClassExtension|get#property(#t161).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n2, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t162 = v in self::IntClassExtension|set#property(#t162, self::IntClassExtension|get#property(#t162).{core::num::-}(n2));
+ let final self::IntClass* #t162 = v in self::IntClassExtension|set#property(#t162, self::IntClassExtension|get#property(#t162).{core::num::-}(n2){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t163 = v in self::IntClassExtension|set#property(#t163, self::IntClassExtension|get#property(#t163).{core::num::+}(n1));
+ let final self::IntClass* #t163 = v in self::IntClassExtension|set#property(#t163, self::IntClassExtension|get#property(#t163).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t164 = v in self::IntClassExtension|set#property(#t164, self::IntClassExtension|get#property(#t164).{core::num::-}(n1));
+ let final self::IntClass* #t164 = v in self::IntClassExtension|set#property(#t164, self::IntClassExtension|get#property(#t164).{core::num::-}(n1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t165 = v in let final core::int* #t166 = self::IntClassExtension|get#property(#t165).{core::num::+}(1) in let final void #t167 = self::IntClassExtension|set#property(#t165, #t166) in #t166;
+ let final self::IntClass* #t165 = v in let final core::int* #t166 = self::IntClassExtension|get#property(#t165).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t167 = self::IntClassExtension|set#property(#t165, #t166) in #t166;
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t168 = v in let final core::int* #t169 = self::IntClassExtension|get#property(#t168).{core::num::-}(1) in let final void #t170 = self::IntClassExtension|set#property(#t168, #t169) in #t169;
+ let final self::IntClass* #t168 = v in let final core::int* #t169 = self::IntClassExtension|get#property(#t168).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t170 = self::IntClassExtension|set#property(#t168, #t169) in #t169;
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t171 = v in self::IntClassExtension|set#property(#t171, self::IntClassExtension|get#property(#t171).{core::num::+}(1));
+ let final self::IntClass* #t171 = v in self::IntClassExtension|set#property(#t171, self::IntClassExtension|get#property(#t171).{core::num::+}(1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t172 = v in self::IntClassExtension|set#property(#t172, self::IntClassExtension|get#property(#t172).{core::num::-}(1));
+ let final self::IntClass* #t172 = v in self::IntClassExtension|set#property(#t172, self::IntClassExtension|get#property(#t172).{core::num::-}(1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
}
static method testExplicitProperties() → dynamic {
@@ -400,111 +400,111 @@
core::int* n2 = 2;
self::IntClass* v = new self::IntClass::•(n0);
self::expect(n0, self::IntClassExtension|get#property(v));
- self::expect(n1, let final self::IntClass* #t217 = v in let final core::int* #t218 = self::IntClassExtension|get#property(#t217).{core::num::+}(n1) in let final void #t219 = self::IntClassExtension|set#property(#t217, #t218) in #t218);
- self::expect(n2, let final self::IntClass* #t220 = v in let final core::int* #t221 = self::IntClassExtension|get#property(#t220).{core::num::+}(n1) in let final void #t222 = self::IntClassExtension|set#property(#t220, #t221) in #t221);
- self::expect(n0, let final self::IntClass* #t223 = v in let final core::int* #t224 = self::IntClassExtension|get#property(#t223).{core::num::-}(n2) in let final void #t225 = self::IntClassExtension|set#property(#t223, #t224) in #t224);
- self::expect(n1, let final self::IntClass* #t226 = v in let final core::int* #t227 = self::IntClassExtension|get#property(#t226).{core::num::+}(n1) in let final void #t228 = self::IntClassExtension|set#property(#t226, #t227) in #t227);
- self::expect(n0, let final self::IntClass* #t229 = v in let final core::int* #t230 = self::IntClassExtension|get#property(#t229).{core::num::-}(n1) in let final void #t231 = self::IntClassExtension|set#property(#t229, #t230) in #t230);
- self::expect(n1, let final self::IntClass* #t232 = v in let final core::int* #t233 = self::IntClassExtension|get#property(#t232).{core::num::+}(1) in let final void #t234 = self::IntClassExtension|set#property(#t232, #t233) in #t233);
- self::expect(n0, let final self::IntClass* #t235 = v in let final core::int* #t236 = self::IntClassExtension|get#property(#t235).{core::num::-}(1) in let final void #t237 = self::IntClassExtension|set#property(#t235, #t236) in #t236);
- self::expect(n0, let final self::IntClass* #t238 = v in let final core::int* #t239 = self::IntClassExtension|get#property(#t238) in let final core::int* #t240 = let final core::int* #t241 = #t239.{core::num::+}(1) in let final void #t242 = self::IntClassExtension|set#property(#t238, #t241) in #t241 in #t239);
- self::expect(n1, let final self::IntClass* #t243 = v in let final core::int* #t244 = self::IntClassExtension|get#property(#t243) in let final core::int* #t245 = let final core::int* #t246 = #t244.{core::num::-}(1) in let final void #t247 = self::IntClassExtension|set#property(#t243, #t246) in #t246 in #t244);
+ self::expect(n1, let final self::IntClass* #t217 = v in let final core::int* #t218 = self::IntClassExtension|get#property(#t217).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t219 = self::IntClassExtension|set#property(#t217, #t218) in #t218);
+ self::expect(n2, let final self::IntClass* #t220 = v in let final core::int* #t221 = self::IntClassExtension|get#property(#t220).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t222 = self::IntClassExtension|set#property(#t220, #t221) in #t221);
+ self::expect(n0, let final self::IntClass* #t223 = v in let final core::int* #t224 = self::IntClassExtension|get#property(#t223).{core::num::-}(n2){(core::num*) →* core::int*} in let final void #t225 = self::IntClassExtension|set#property(#t223, #t224) in #t224);
+ self::expect(n1, let final self::IntClass* #t226 = v in let final core::int* #t227 = self::IntClassExtension|get#property(#t226).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t228 = self::IntClassExtension|set#property(#t226, #t227) in #t227);
+ self::expect(n0, let final self::IntClass* #t229 = v in let final core::int* #t230 = self::IntClassExtension|get#property(#t229).{core::num::-}(n1){(core::num*) →* core::int*} in let final void #t231 = self::IntClassExtension|set#property(#t229, #t230) in #t230);
+ self::expect(n1, let final self::IntClass* #t232 = v in let final core::int* #t233 = self::IntClassExtension|get#property(#t232).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t234 = self::IntClassExtension|set#property(#t232, #t233) in #t233);
+ self::expect(n0, let final self::IntClass* #t235 = v in let final core::int* #t236 = self::IntClassExtension|get#property(#t235).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t237 = self::IntClassExtension|set#property(#t235, #t236) in #t236);
+ self::expect(n0, let final self::IntClass* #t238 = v in let final core::int* #t239 = self::IntClassExtension|get#property(#t238) in let final core::int* #t240 = let final core::int* #t241 = #t239.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t242 = self::IntClassExtension|set#property(#t238, #t241) in #t241 in #t239);
+ self::expect(n1, let final self::IntClass* #t243 = v in let final core::int* #t244 = self::IntClassExtension|get#property(#t243) in let final core::int* #t245 = let final core::int* #t246 = #t244.{core::num::-}(1){(core::num*) →* core::int*} in let final void #t247 = self::IntClassExtension|set#property(#t243, #t246) in #t246 in #t244);
self::expect(n0, self::IntClassExtension|get#property(v));
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t248 = v in self::IntClassExtension|set#property(#t248, self::IntClassExtension|get#property(#t248).{core::num::+}(n1));
+ let final self::IntClass* #t248 = v in self::IntClassExtension|set#property(#t248, self::IntClassExtension|get#property(#t248).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t249 = v in self::IntClassExtension|set#property(#t249, self::IntClassExtension|get#property(#t249).{core::num::+}(n1));
+ let final self::IntClass* #t249 = v in self::IntClassExtension|set#property(#t249, self::IntClassExtension|get#property(#t249).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n2, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t250 = v in self::IntClassExtension|set#property(#t250, self::IntClassExtension|get#property(#t250).{core::num::-}(n2));
+ let final self::IntClass* #t250 = v in self::IntClassExtension|set#property(#t250, self::IntClassExtension|get#property(#t250).{core::num::-}(n2){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t251 = v in self::IntClassExtension|set#property(#t251, self::IntClassExtension|get#property(#t251).{core::num::+}(n1));
+ let final self::IntClass* #t251 = v in self::IntClassExtension|set#property(#t251, self::IntClassExtension|get#property(#t251).{core::num::+}(n1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t252 = v in self::IntClassExtension|set#property(#t252, self::IntClassExtension|get#property(#t252).{core::num::-}(n1));
+ let final self::IntClass* #t252 = v in self::IntClassExtension|set#property(#t252, self::IntClassExtension|get#property(#t252).{core::num::-}(n1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t253 = v in let final core::int* #t254 = self::IntClassExtension|get#property(#t253).{core::num::+}(1) in let final void #t255 = self::IntClassExtension|set#property(#t253, #t254) in #t254;
+ let final self::IntClass* #t253 = v in let final core::int* #t254 = self::IntClassExtension|get#property(#t253).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t255 = self::IntClassExtension|set#property(#t253, #t254) in #t254;
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t256 = v in let final core::int* #t257 = self::IntClassExtension|get#property(#t256).{core::num::-}(1) in let final void #t258 = self::IntClassExtension|set#property(#t256, #t257) in #t257;
+ let final self::IntClass* #t256 = v in let final core::int* #t257 = self::IntClassExtension|get#property(#t256).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t258 = self::IntClassExtension|set#property(#t256, #t257) in #t257;
self::expect(n0, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t259 = v in self::IntClassExtension|set#property(#t259, self::IntClassExtension|get#property(#t259).{core::num::+}(1));
+ let final self::IntClass* #t259 = v in self::IntClassExtension|set#property(#t259, self::IntClassExtension|get#property(#t259).{core::num::+}(1){(core::num*) →* core::int*});
self::expect(n1, self::IntClassExtension|get#property(v));
- let final self::IntClass* #t260 = v in self::IntClassExtension|set#property(#t260, self::IntClassExtension|get#property(#t260).{core::num::-}(1));
+ let final self::IntClass* #t260 = v in self::IntClassExtension|set#property(#t260, self::IntClassExtension|get#property(#t260).{core::num::-}(1){(core::num*) →* core::int*});
self::expect(n0, self::IntClassExtension|get#property(v));
}
static method testExplicitNullAwareProperties(self::Class* v) → dynamic {
self::Number* n0 = new self::Number::•(0);
self::Number* n1 = new self::Number::•(1);
self::Number* n2 = new self::Number::•(2);
- self::expect(n0, let final self::Class* #t261 = v in #t261.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t261), v.{self::Class::==}(null));
- self::expect(n1, let final self::Class* #t262 = v in #t262.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t263 = self::NumberExtension|+(self::ClassExtension|get#property(#t262), n1) in let final void #t264 = self::ClassExtension|set#property(#t262, #t263) in #t263, v.{self::Class::==}(null));
- self::expect(n2, let final self::Class* #t265 = v in #t265.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t266 = self::NumberExtension|+(self::ClassExtension|get#property(#t265), n1) in let final void #t267 = self::ClassExtension|set#property(#t265, #t266) in #t266, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t268 = v in #t268.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t269 = self::NumberExtension|-(self::ClassExtension|get#property(#t268), n2) in let final void #t270 = self::ClassExtension|set#property(#t268, #t269) in #t269, v.{self::Class::==}(null));
- self::expect(n1, let final self::Class* #t271 = v in #t271.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t272 = self::NumberExtension|+(self::ClassExtension|get#property(#t271), n1) in let final void #t273 = self::ClassExtension|set#property(#t271, #t272) in #t272, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t274 = v in #t274.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t275 = self::NumberExtension|-(self::ClassExtension|get#property(#t274), n1) in let final void #t276 = self::ClassExtension|set#property(#t274, #t275) in #t275, v.{self::Class::==}(null));
- self::expect(n1, let final self::Class* #t277 = v in #t277.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t278 = self::NumberExtension|+(self::ClassExtension|get#property(#t277), 1) in let final void #t279 = self::ClassExtension|set#property(#t277, #t278) in #t278, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t280 = v in #t280.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t281 = self::NumberExtension|-(self::ClassExtension|get#property(#t280), 1) in let final void #t282 = self::ClassExtension|set#property(#t280, #t281) in #t281, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t283 = v in #t283.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t284 = self::ClassExtension|get#property(#t283) in let final self::Number* #t285 = let final self::Number* #t286 = self::NumberExtension|+(#t284, 1) in let final void #t287 = self::ClassExtension|set#property(#t283, #t286) in #t286 in #t284, v.{self::Class::==}(null));
- self::expect(n1, let final self::Class* #t288 = v in #t288.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t289 = self::ClassExtension|get#property(#t288) in let final self::Number* #t290 = let final self::Number* #t291 = self::NumberExtension|-(#t289, 1) in let final void #t292 = self::ClassExtension|set#property(#t288, #t291) in #t291 in #t289, v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t293 = v in #t293.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t293), v.{self::Class::==}(null));
- self::expect(n0, let final self::Class* #t294 = v in #t294.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t294), v.{self::Class::==}(null));
- let final self::Class* #t295 = v in #t295.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t295, self::NumberExtension|+(self::ClassExtension|get#property(#t295), n1));
- self::expect(n1, let final self::Class* #t296 = v in #t296.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t296), v.{self::Class::==}(null));
- let final self::Class* #t297 = v in #t297.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t297, self::NumberExtension|+(self::ClassExtension|get#property(#t297), n1));
- self::expect(n2, let final self::Class* #t298 = v in #t298.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t298), v.{self::Class::==}(null));
- let final self::Class* #t299 = v in #t299.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t299, self::NumberExtension|-(self::ClassExtension|get#property(#t299), n2));
- self::expect(n0, let final self::Class* #t300 = v in #t300.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t300), v.{self::Class::==}(null));
- let final self::Class* #t301 = v in #t301.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t301, self::NumberExtension|+(self::ClassExtension|get#property(#t301), n1));
- self::expect(n1, let final self::Class* #t302 = v in #t302.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t302), v.{self::Class::==}(null));
- let final self::Class* #t303 = v in #t303.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t303, self::NumberExtension|-(self::ClassExtension|get#property(#t303), n1));
- self::expect(n0, let final self::Class* #t304 = v in #t304.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t304), v.{self::Class::==}(null));
- let final self::Class* #t305 = v in #t305.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t306 = self::NumberExtension|+(self::ClassExtension|get#property(#t305), 1) in let final void #t307 = self::ClassExtension|set#property(#t305, #t306) in #t306;
- self::expect(n1, let final self::Class* #t308 = v in #t308.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t308), v.{self::Class::==}(null));
- let final self::Class* #t309 = v in #t309.{self::Class::==}(null) ?{self::Number*} null : let final self::Number* #t310 = self::NumberExtension|-(self::ClassExtension|get#property(#t309), 1) in let final void #t311 = self::ClassExtension|set#property(#t309, #t310) in #t310;
- self::expect(n0, let final self::Class* #t312 = v in #t312.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t312), v.{self::Class::==}(null));
- let final self::Class* #t313 = v in #t313.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t313, self::NumberExtension|+(self::ClassExtension|get#property(#t313), 1));
- self::expect(n1, let final self::Class* #t314 = v in #t314.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t314), v.{self::Class::==}(null));
- let final self::Class* #t315 = v in #t315.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|set#property(#t315, self::NumberExtension|-(self::ClassExtension|get#property(#t315), 1));
- self::expect(n0, let final self::Class* #t316 = v in #t316.{self::Class::==}(null) ?{self::Number*} null : self::ClassExtension|get#property(#t316), v.{self::Class::==}(null));
+ self::expect(n0, let final self::Class* #t261 = v in #t261 == null ?{self::Number*} null : self::ClassExtension|get#property(#t261), v == null);
+ self::expect(n1, let final self::Class* #t262 = v in #t262 == null ?{self::Number*} null : let final self::Number* #t263 = self::NumberExtension|+(self::ClassExtension|get#property(#t262), n1) in let final void #t264 = self::ClassExtension|set#property(#t262, #t263) in #t263, v == null);
+ self::expect(n2, let final self::Class* #t265 = v in #t265 == null ?{self::Number*} null : let final self::Number* #t266 = self::NumberExtension|+(self::ClassExtension|get#property(#t265), n1) in let final void #t267 = self::ClassExtension|set#property(#t265, #t266) in #t266, v == null);
+ self::expect(n0, let final self::Class* #t268 = v in #t268 == null ?{self::Number*} null : let final self::Number* #t269 = self::NumberExtension|-(self::ClassExtension|get#property(#t268), n2) in let final void #t270 = self::ClassExtension|set#property(#t268, #t269) in #t269, v == null);
+ self::expect(n1, let final self::Class* #t271 = v in #t271 == null ?{self::Number*} null : let final self::Number* #t272 = self::NumberExtension|+(self::ClassExtension|get#property(#t271), n1) in let final void #t273 = self::ClassExtension|set#property(#t271, #t272) in #t272, v == null);
+ self::expect(n0, let final self::Class* #t274 = v in #t274 == null ?{self::Number*} null : let final self::Number* #t275 = self::NumberExtension|-(self::ClassExtension|get#property(#t274), n1) in let final void #t276 = self::ClassExtension|set#property(#t274, #t275) in #t275, v == null);
+ self::expect(n1, let final self::Class* #t277 = v in #t277 == null ?{self::Number*} null : let final self::Number* #t278 = self::NumberExtension|+(self::ClassExtension|get#property(#t277), 1) in let final void #t279 = self::ClassExtension|set#property(#t277, #t278) in #t278, v == null);
+ self::expect(n0, let final self::Class* #t280 = v in #t280 == null ?{self::Number*} null : let final self::Number* #t281 = self::NumberExtension|-(self::ClassExtension|get#property(#t280), 1) in let final void #t282 = self::ClassExtension|set#property(#t280, #t281) in #t281, v == null);
+ self::expect(n0, let final self::Class* #t283 = v in #t283 == null ?{self::Number*} null : let final self::Number* #t284 = self::ClassExtension|get#property(#t283) in let final self::Number* #t285 = let final self::Number* #t286 = self::NumberExtension|+(#t284, 1) in let final void #t287 = self::ClassExtension|set#property(#t283, #t286) in #t286 in #t284, v == null);
+ self::expect(n1, let final self::Class* #t288 = v in #t288 == null ?{self::Number*} null : let final self::Number* #t289 = self::ClassExtension|get#property(#t288) in let final self::Number* #t290 = let final self::Number* #t291 = self::NumberExtension|-(#t289, 1) in let final void #t292 = self::ClassExtension|set#property(#t288, #t291) in #t291 in #t289, v == null);
+ self::expect(n0, let final self::Class* #t293 = v in #t293 == null ?{self::Number*} null : self::ClassExtension|get#property(#t293), v == null);
+ self::expect(n0, let final self::Class* #t294 = v in #t294 == null ?{self::Number*} null : self::ClassExtension|get#property(#t294), v == null);
+ let final self::Class* #t295 = v in #t295 == null ?{self::Number*} null : self::ClassExtension|set#property(#t295, self::NumberExtension|+(self::ClassExtension|get#property(#t295), n1));
+ self::expect(n1, let final self::Class* #t296 = v in #t296 == null ?{self::Number*} null : self::ClassExtension|get#property(#t296), v == null);
+ let final self::Class* #t297 = v in #t297 == null ?{self::Number*} null : self::ClassExtension|set#property(#t297, self::NumberExtension|+(self::ClassExtension|get#property(#t297), n1));
+ self::expect(n2, let final self::Class* #t298 = v in #t298 == null ?{self::Number*} null : self::ClassExtension|get#property(#t298), v == null);
+ let final self::Class* #t299 = v in #t299 == null ?{self::Number*} null : self::ClassExtension|set#property(#t299, self::NumberExtension|-(self::ClassExtension|get#property(#t299), n2));
+ self::expect(n0, let final self::Class* #t300 = v in #t300 == null ?{self::Number*} null : self::ClassExtension|get#property(#t300), v == null);
+ let final self::Class* #t301 = v in #t301 == null ?{self::Number*} null : self::ClassExtension|set#property(#t301, self::NumberExtension|+(self::ClassExtension|get#property(#t301), n1));
+ self::expect(n1, let final self::Class* #t302 = v in #t302 == null ?{self::Number*} null : self::ClassExtension|get#property(#t302), v == null);
+ let final self::Class* #t303 = v in #t303 == null ?{self::Number*} null : self::ClassExtension|set#property(#t303, self::NumberExtension|-(self::ClassExtension|get#property(#t303), n1));
+ self::expect(n0, let final self::Class* #t304 = v in #t304 == null ?{self::Number*} null : self::ClassExtension|get#property(#t304), v == null);
+ let final self::Class* #t305 = v in #t305 == null ?{self::Number*} null : let final self::Number* #t306 = self::NumberExtension|+(self::ClassExtension|get#property(#t305), 1) in let final void #t307 = self::ClassExtension|set#property(#t305, #t306) in #t306;
+ self::expect(n1, let final self::Class* #t308 = v in #t308 == null ?{self::Number*} null : self::ClassExtension|get#property(#t308), v == null);
+ let final self::Class* #t309 = v in #t309 == null ?{self::Number*} null : let final self::Number* #t310 = self::NumberExtension|-(self::ClassExtension|get#property(#t309), 1) in let final void #t311 = self::ClassExtension|set#property(#t309, #t310) in #t310;
+ self::expect(n0, let final self::Class* #t312 = v in #t312 == null ?{self::Number*} null : self::ClassExtension|get#property(#t312), v == null);
+ let final self::Class* #t313 = v in #t313 == null ?{self::Number*} null : self::ClassExtension|set#property(#t313, self::NumberExtension|+(self::ClassExtension|get#property(#t313), 1));
+ self::expect(n1, let final self::Class* #t314 = v in #t314 == null ?{self::Number*} null : self::ClassExtension|get#property(#t314), v == null);
+ let final self::Class* #t315 = v in #t315 == null ?{self::Number*} null : self::ClassExtension|set#property(#t315, self::NumberExtension|-(self::ClassExtension|get#property(#t315), 1));
+ self::expect(n0, let final self::Class* #t316 = v in #t316 == null ?{self::Number*} null : self::ClassExtension|get#property(#t316), v == null);
}
static method testExplicitNullAwareIntProperties(self::IntClass* v) → dynamic {
core::int* n0 = 0;
core::int* n1 = 1;
core::int* n2 = 2;
- self::expect(n0, let final self::IntClass* #t317 = v in #t317.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t317), v.{self::IntClass::==}(null));
- self::expect(n1, let final self::IntClass* #t318 = v in #t318.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t319 = self::IntClassExtension|get#property(#t318).{core::num::+}(n1) in let final void #t320 = self::IntClassExtension|set#property(#t318, #t319) in #t319, v.{self::IntClass::==}(null));
- self::expect(n2, let final self::IntClass* #t321 = v in #t321.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t322 = self::IntClassExtension|get#property(#t321).{core::num::+}(n1) in let final void #t323 = self::IntClassExtension|set#property(#t321, #t322) in #t322, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t324 = v in #t324.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t325 = self::IntClassExtension|get#property(#t324).{core::num::-}(n2) in let final void #t326 = self::IntClassExtension|set#property(#t324, #t325) in #t325, v.{self::IntClass::==}(null));
- self::expect(n1, let final self::IntClass* #t327 = v in #t327.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t328 = self::IntClassExtension|get#property(#t327).{core::num::+}(n1) in let final void #t329 = self::IntClassExtension|set#property(#t327, #t328) in #t328, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t330 = v in #t330.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t331 = self::IntClassExtension|get#property(#t330).{core::num::-}(n1) in let final void #t332 = self::IntClassExtension|set#property(#t330, #t331) in #t331, v.{self::IntClass::==}(null));
- self::expect(n1, let final self::IntClass* #t333 = v in #t333.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t334 = self::IntClassExtension|get#property(#t333).{core::num::+}(1) in let final void #t335 = self::IntClassExtension|set#property(#t333, #t334) in #t334, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t336 = v in #t336.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t337 = self::IntClassExtension|get#property(#t336).{core::num::-}(1) in let final void #t338 = self::IntClassExtension|set#property(#t336, #t337) in #t337, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t339 = v in #t339.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t340 = self::IntClassExtension|get#property(#t339) in let final core::int* #t341 = let final core::int* #t342 = #t340.{core::num::+}(1) in let final void #t343 = self::IntClassExtension|set#property(#t339, #t342) in #t342 in #t340, v.{self::IntClass::==}(null));
- self::expect(n1, let final self::IntClass* #t344 = v in #t344.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t345 = self::IntClassExtension|get#property(#t344) in let final core::int* #t346 = let final core::int* #t347 = #t345.{core::num::-}(1) in let final void #t348 = self::IntClassExtension|set#property(#t344, #t347) in #t347 in #t345, v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t349 = v in #t349.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t349), v.{self::IntClass::==}(null));
- self::expect(n0, let final self::IntClass* #t350 = v in #t350.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t350), v.{self::IntClass::==}(null));
- let final self::IntClass* #t351 = v in #t351.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t351, self::IntClassExtension|get#property(#t351).{core::num::+}(n1));
- self::expect(n1, let final self::IntClass* #t352 = v in #t352.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t352), v.{self::IntClass::==}(null));
- let final self::IntClass* #t353 = v in #t353.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t353, self::IntClassExtension|get#property(#t353).{core::num::+}(n1));
- self::expect(n2, let final self::IntClass* #t354 = v in #t354.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t354), v.{self::IntClass::==}(null));
- let final self::IntClass* #t355 = v in #t355.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t355, self::IntClassExtension|get#property(#t355).{core::num::-}(n2));
- self::expect(n0, let final self::IntClass* #t356 = v in #t356.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t356), v.{self::IntClass::==}(null));
- let final self::IntClass* #t357 = v in #t357.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t357, self::IntClassExtension|get#property(#t357).{core::num::+}(n1));
- self::expect(n1, let final self::IntClass* #t358 = v in #t358.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t358), v.{self::IntClass::==}(null));
- let final self::IntClass* #t359 = v in #t359.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t359, self::IntClassExtension|get#property(#t359).{core::num::-}(n1));
- self::expect(n0, let final self::IntClass* #t360 = v in #t360.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t360), v.{self::IntClass::==}(null));
- let final self::IntClass* #t361 = v in #t361.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t362 = self::IntClassExtension|get#property(#t361).{core::num::+}(1) in let final void #t363 = self::IntClassExtension|set#property(#t361, #t362) in #t362;
- self::expect(n1, let final self::IntClass* #t364 = v in #t364.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t364), v.{self::IntClass::==}(null));
- let final self::IntClass* #t365 = v in #t365.{self::IntClass::==}(null) ?{core::int*} null : let final core::int* #t366 = self::IntClassExtension|get#property(#t365).{core::num::-}(1) in let final void #t367 = self::IntClassExtension|set#property(#t365, #t366) in #t366;
- self::expect(n0, let final self::IntClass* #t368 = v in #t368.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t368), v.{self::IntClass::==}(null));
- let final self::IntClass* #t369 = v in #t369.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t369, self::IntClassExtension|get#property(#t369).{core::num::+}(1));
- self::expect(n1, let final self::IntClass* #t370 = v in #t370.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t370), v.{self::IntClass::==}(null));
- let final self::IntClass* #t371 = v in #t371.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|set#property(#t371, self::IntClassExtension|get#property(#t371).{core::num::-}(1));
- self::expect(n0, let final self::IntClass* #t372 = v in #t372.{self::IntClass::==}(null) ?{core::int*} null : self::IntClassExtension|get#property(#t372), v.{self::IntClass::==}(null));
+ self::expect(n0, let final self::IntClass* #t317 = v in #t317 == null ?{core::int*} null : self::IntClassExtension|get#property(#t317), v == null);
+ self::expect(n1, let final self::IntClass* #t318 = v in #t318 == null ?{core::int*} null : let final core::int* #t319 = self::IntClassExtension|get#property(#t318).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t320 = self::IntClassExtension|set#property(#t318, #t319) in #t319, v == null);
+ self::expect(n2, let final self::IntClass* #t321 = v in #t321 == null ?{core::int*} null : let final core::int* #t322 = self::IntClassExtension|get#property(#t321).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t323 = self::IntClassExtension|set#property(#t321, #t322) in #t322, v == null);
+ self::expect(n0, let final self::IntClass* #t324 = v in #t324 == null ?{core::int*} null : let final core::int* #t325 = self::IntClassExtension|get#property(#t324).{core::num::-}(n2){(core::num*) →* core::int*} in let final void #t326 = self::IntClassExtension|set#property(#t324, #t325) in #t325, v == null);
+ self::expect(n1, let final self::IntClass* #t327 = v in #t327 == null ?{core::int*} null : let final core::int* #t328 = self::IntClassExtension|get#property(#t327).{core::num::+}(n1){(core::num*) →* core::int*} in let final void #t329 = self::IntClassExtension|set#property(#t327, #t328) in #t328, v == null);
+ self::expect(n0, let final self::IntClass* #t330 = v in #t330 == null ?{core::int*} null : let final core::int* #t331 = self::IntClassExtension|get#property(#t330).{core::num::-}(n1){(core::num*) →* core::int*} in let final void #t332 = self::IntClassExtension|set#property(#t330, #t331) in #t331, v == null);
+ self::expect(n1, let final self::IntClass* #t333 = v in #t333 == null ?{core::int*} null : let final core::int* #t334 = self::IntClassExtension|get#property(#t333).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t335 = self::IntClassExtension|set#property(#t333, #t334) in #t334, v == null);
+ self::expect(n0, let final self::IntClass* #t336 = v in #t336 == null ?{core::int*} null : let final core::int* #t337 = self::IntClassExtension|get#property(#t336).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t338 = self::IntClassExtension|set#property(#t336, #t337) in #t337, v == null);
+ self::expect(n0, let final self::IntClass* #t339 = v in #t339 == null ?{core::int*} null : let final core::int* #t340 = self::IntClassExtension|get#property(#t339) in let final core::int* #t341 = let final core::int* #t342 = #t340.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t343 = self::IntClassExtension|set#property(#t339, #t342) in #t342 in #t340, v == null);
+ self::expect(n1, let final self::IntClass* #t344 = v in #t344 == null ?{core::int*} null : let final core::int* #t345 = self::IntClassExtension|get#property(#t344) in let final core::int* #t346 = let final core::int* #t347 = #t345.{core::num::-}(1){(core::num*) →* core::int*} in let final void #t348 = self::IntClassExtension|set#property(#t344, #t347) in #t347 in #t345, v == null);
+ self::expect(n0, let final self::IntClass* #t349 = v in #t349 == null ?{core::int*} null : self::IntClassExtension|get#property(#t349), v == null);
+ self::expect(n0, let final self::IntClass* #t350 = v in #t350 == null ?{core::int*} null : self::IntClassExtension|get#property(#t350), v == null);
+ let final self::IntClass* #t351 = v in #t351 == null ?{core::int*} null : self::IntClassExtension|set#property(#t351, self::IntClassExtension|get#property(#t351).{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t352 = v in #t352 == null ?{core::int*} null : self::IntClassExtension|get#property(#t352), v == null);
+ let final self::IntClass* #t353 = v in #t353 == null ?{core::int*} null : self::IntClassExtension|set#property(#t353, self::IntClassExtension|get#property(#t353).{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n2, let final self::IntClass* #t354 = v in #t354 == null ?{core::int*} null : self::IntClassExtension|get#property(#t354), v == null);
+ let final self::IntClass* #t355 = v in #t355 == null ?{core::int*} null : self::IntClassExtension|set#property(#t355, self::IntClassExtension|get#property(#t355).{core::num::-}(n2){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t356 = v in #t356 == null ?{core::int*} null : self::IntClassExtension|get#property(#t356), v == null);
+ let final self::IntClass* #t357 = v in #t357 == null ?{core::int*} null : self::IntClassExtension|set#property(#t357, self::IntClassExtension|get#property(#t357).{core::num::+}(n1){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t358 = v in #t358 == null ?{core::int*} null : self::IntClassExtension|get#property(#t358), v == null);
+ let final self::IntClass* #t359 = v in #t359 == null ?{core::int*} null : self::IntClassExtension|set#property(#t359, self::IntClassExtension|get#property(#t359).{core::num::-}(n1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t360 = v in #t360 == null ?{core::int*} null : self::IntClassExtension|get#property(#t360), v == null);
+ let final self::IntClass* #t361 = v in #t361 == null ?{core::int*} null : let final core::int* #t362 = self::IntClassExtension|get#property(#t361).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t363 = self::IntClassExtension|set#property(#t361, #t362) in #t362;
+ self::expect(n1, let final self::IntClass* #t364 = v in #t364 == null ?{core::int*} null : self::IntClassExtension|get#property(#t364), v == null);
+ let final self::IntClass* #t365 = v in #t365 == null ?{core::int*} null : let final core::int* #t366 = self::IntClassExtension|get#property(#t365).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t367 = self::IntClassExtension|set#property(#t365, #t366) in #t366;
+ self::expect(n0, let final self::IntClass* #t368 = v in #t368 == null ?{core::int*} null : self::IntClassExtension|get#property(#t368), v == null);
+ let final self::IntClass* #t369 = v in #t369 == null ?{core::int*} null : self::IntClassExtension|set#property(#t369, self::IntClassExtension|get#property(#t369).{core::num::+}(1){(core::num*) →* core::int*});
+ self::expect(n1, let final self::IntClass* #t370 = v in #t370 == null ?{core::int*} null : self::IntClassExtension|get#property(#t370), v == null);
+ let final self::IntClass* #t371 = v in #t371 == null ?{core::int*} null : self::IntClassExtension|set#property(#t371, self::IntClassExtension|get#property(#t371).{core::num::-}(1){(core::num*) →* core::int*});
+ self::expect(n0, let final self::IntClass* #t372 = v in #t372 == null ?{core::int*} null : self::IntClassExtension|get#property(#t372), v == null);
}
static method expect(dynamic expected, dynamic actual, [dynamic expectNull = #C1]) → dynamic {
if(expectNull as{TypeError,ForDynamic} core::bool*) {
expected = null;
}
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect
index fa3307c..96b1de2 100644
--- a/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect
@@ -60,13 +60,13 @@
return "Foo";
static method main() → dynamic {
core::int* value;
- self::expect(true, "".{core::Object::noSuchMethod} is core::Function*);
+ self::expect(true, "".{core::Object::noSuchMethod}{(core::Invocation*) →* dynamic} is core::Function*);
value = self::Extension|get#noSuchMethod("");
self::Extension|set#hashCode("", 42);
- self::expect(true, "".{core::Object::runtimeType} is core::Type*);
+ self::expect(true, "".{core::Object::runtimeType}{core::Type*} is core::Type*);
self::expect(true, self::Extension|get#runtimeType("") is core::Function*);
value = self::Extension|runtimeType("");
- self::expect(true, "".{core::String::==}(""));
+ self::expect(true, "" =={core::String::==}{(core::Object*) →* core::bool*} "");
self::expect("Foo", self::Extension|toString());
}
static method errors() → dynamic {
@@ -74,7 +74,7 @@
value = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:27:14: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'int'.
- 'Invocation' is from 'dart:core'.
value = \"\".noSuchMethod;
- ^" in "".{core::Object::noSuchMethod} as{TypeError} core::int*;
+ ^" in "".{core::Object::noSuchMethod}{(core::Invocation*) →* dynamic} as{TypeError} core::int*;
invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:28:6: Error: The setter 'hashCode' isn't defined for the class 'String'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'hashCode'.
\"\".hashCode = 42;
@@ -82,10 +82,10 @@
value = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:29:14: Error: A value of type 'Type' can't be assigned to a variable of type 'int'.
- 'Type' is from 'dart:core'.
value = \"\".runtimeType;
- ^" in "".{core::Object::runtimeType} as{TypeError} core::int*;
+ ^" in "".{core::Object::runtimeType}{core::Type*} as{TypeError} core::int*;
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect
index 7134ac1..5c1250b 100644
--- a/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect
@@ -60,13 +60,13 @@
return "Foo";
static method main() → dynamic {
core::int* value;
- self::expect(true, "".{core::Object::noSuchMethod} is core::Function*);
+ self::expect(true, "".{core::Object::noSuchMethod}{(core::Invocation*) →* dynamic} is core::Function*);
value = self::Extension|get#noSuchMethod("");
self::Extension|set#hashCode("", 42);
- self::expect(true, "".{core::Object::runtimeType} is core::Type*);
+ self::expect(true, "".{core::Object::runtimeType}{core::Type*} is core::Type*);
self::expect(true, self::Extension|get#runtimeType("") is core::Function*);
value = self::Extension|runtimeType("");
- self::expect(true, "".{core::String::==}(""));
+ self::expect(true, "" =={core::String::==}{(core::Object*) →* core::bool*} "");
self::expect("Foo", self::Extension|toString());
}
static method errors() → dynamic {
@@ -74,7 +74,7 @@
value = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:27:14: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'int'.
- 'Invocation' is from 'dart:core'.
value = \"\".noSuchMethod;
- ^" in "".{core::Object::noSuchMethod} as{TypeError} core::int*;
+ ^" in "".{core::Object::noSuchMethod}{(core::Invocation*) →* dynamic} as{TypeError} core::int*;
invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:28:6: Error: The setter 'hashCode' isn't defined for the class 'String'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'hashCode'.
\"\".hashCode = 42;
@@ -82,15 +82,15 @@
value = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/conflict_with_object.dart:29:14: Error: A value of type 'Type' can't be assigned to a variable of type 'int'.
- 'Type' is from 'dart:core'.
value = \"\".runtimeType;
- ^" in "".{core::Object::runtimeType} as{TypeError} core::int*;
+ ^" in "".{core::Object::runtimeType}{core::Type*} as{TypeError} core::int*;
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///conflict_with_object.dart:21:19 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///conflict_with_object.dart:21:19 -> BoolConstant(true)
Extra constant evaluation: evaluated: 37, effectively constant: 1
diff --git a/pkg/front_end/testcases/extensions/default_values.dart.weak.expect b/pkg/front_end/testcases/extensions/default_values.dart.weak.expect
index 3c37068..f4256f5 100644
--- a/pkg/front_end/testcases/extensions/default_values.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/default_values.dart.weak.expect
@@ -41,7 +41,7 @@
static method Extension|get#method2(lowered final self::Class* #this) → ({b: dynamic}) →* dynamic
return ({dynamic b = #C3}) → dynamic => self::Extension|method2(#this, b: b);
static method Extension|method3(lowered final self::Class* #this, {dynamic c = #C4}) → dynamic
- return c.call();
+ return c{dynamic}.call();
static method Extension|get#method3(lowered final self::Class* #this) → ({c: dynamic}) →* dynamic
return ({dynamic c = #C4}) → dynamic => self::Extension|method3(#this, c: c);
static method Extension|staticMethod() → dynamic
@@ -49,20 +49,20 @@
static method main() → dynamic {
self::Class* c = new self::Class::•();
([dynamic]) →* dynamic tearOff0 = self::Extension|get#method0(c);
- self::expect(0, tearOff0.call(0));
- self::expect(null, tearOff0.call());
+ self::expect(0, tearOff0(0){([dynamic]) →* dynamic});
+ self::expect(null, tearOff0(){([dynamic]) →* dynamic});
([dynamic]) →* dynamic tearOff1 = self::Extension|get#method1(c);
- self::expect(0, tearOff1.call(0));
- self::expect(42, tearOff1.call());
+ self::expect(0, tearOff1(0){([dynamic]) →* dynamic});
+ self::expect(42, tearOff1(){([dynamic]) →* dynamic});
({b: dynamic}) →* dynamic tearOff2 = self::Extension|get#method2(c);
- self::expect(0, tearOff2.call(b: 0));
- self::expect(87, tearOff2.call());
+ self::expect(0, tearOff2(b: 0){({b: dynamic}) →* dynamic});
+ self::expect(87, tearOff2(){({b: dynamic}) →* dynamic});
({c: dynamic}) →* dynamic tearOff3 = self::Extension|get#method3(c);
- self::expect(0, tearOff3.call(c: () → core::int* => 0));
- self::expect(123, tearOff3.call());
+ self::expect(0, tearOff3(c: () → core::int* => 0){({c: dynamic}) →* dynamic});
+ self::expect(123, tearOff3(){({c: dynamic}) →* dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/default_values.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/default_values.dart.weak.transformed.expect
index 3c37068..f4256f5 100644
--- a/pkg/front_end/testcases/extensions/default_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/default_values.dart.weak.transformed.expect
@@ -41,7 +41,7 @@
static method Extension|get#method2(lowered final self::Class* #this) → ({b: dynamic}) →* dynamic
return ({dynamic b = #C3}) → dynamic => self::Extension|method2(#this, b: b);
static method Extension|method3(lowered final self::Class* #this, {dynamic c = #C4}) → dynamic
- return c.call();
+ return c{dynamic}.call();
static method Extension|get#method3(lowered final self::Class* #this) → ({c: dynamic}) →* dynamic
return ({dynamic c = #C4}) → dynamic => self::Extension|method3(#this, c: c);
static method Extension|staticMethod() → dynamic
@@ -49,20 +49,20 @@
static method main() → dynamic {
self::Class* c = new self::Class::•();
([dynamic]) →* dynamic tearOff0 = self::Extension|get#method0(c);
- self::expect(0, tearOff0.call(0));
- self::expect(null, tearOff0.call());
+ self::expect(0, tearOff0(0){([dynamic]) →* dynamic});
+ self::expect(null, tearOff0(){([dynamic]) →* dynamic});
([dynamic]) →* dynamic tearOff1 = self::Extension|get#method1(c);
- self::expect(0, tearOff1.call(0));
- self::expect(42, tearOff1.call());
+ self::expect(0, tearOff1(0){([dynamic]) →* dynamic});
+ self::expect(42, tearOff1(){([dynamic]) →* dynamic});
({b: dynamic}) →* dynamic tearOff2 = self::Extension|get#method2(c);
- self::expect(0, tearOff2.call(b: 0));
- self::expect(87, tearOff2.call());
+ self::expect(0, tearOff2(b: 0){({b: dynamic}) →* dynamic});
+ self::expect(87, tearOff2(){({b: dynamic}) →* dynamic});
({c: dynamic}) →* dynamic tearOff3 = self::Extension|get#method3(c);
- self::expect(0, tearOff3.call(c: () → core::int* => 0));
- self::expect(123, tearOff3.call());
+ self::expect(0, tearOff3(c: () → core::int* => 0){({c: dynamic}) →* dynamic});
+ self::expect(123, tearOff3(){({c: dynamic}) →* dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.expect b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.expect
index eb88dad..a3e0d9a 100644
--- a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.expect
@@ -25,7 +25,7 @@
self::expect(87, let final dynamic #t11 = CheckLibraryIsLoaded(prefix) in def::Extension|staticMethod());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
@@ -53,12 +53,12 @@
static method Extension|staticMethod() → core::int*
return def::Extension|staticField;
static method Extension|get#property(lowered final core::int* #this) → core::int*
- return #this.{core::num::+}(def::Extension|staticField);
+ return #this.{core::num::+}(def::Extension|staticField){(core::num*) →* core::int*};
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void {
def::Extension|staticField = value;
}
static method Extension|method(lowered final core::int* #this) → core::int*
- return #this.{core::num::+}(def::Extension|staticField);
+ return #this.{core::num::+}(def::Extension|staticField){(core::num*) →* core::int*};
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
return () → core::int* => def::Extension|method(#this);
static get topLevelProperty() → core::int*
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect
index 9a7758f..c7560fa 100644
--- a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect
@@ -51,7 +51,7 @@
return :async_future;
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
@@ -79,12 +79,12 @@
static method Extension|staticMethod() → core::int*
return def::Extension|staticField;
static method Extension|get#property(lowered final core::int* #this) → core::int*
- return #this.{core::num::+}(def::Extension|staticField);
+ return #this.{core::num::+}(def::Extension|staticField){(core::num*) →* core::int*};
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void {
def::Extension|staticField = value;
}
static method Extension|method(lowered final core::int* #this) → core::int*
- return #this.{core::num::+}(def::Extension|staticField);
+ return #this.{core::num::+}(def::Extension|staticField){(core::num*) →* core::int*};
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
return () → core::int* => def::Extension|method(#this);
static get topLevelProperty() → core::int*
diff --git a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.expect b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.expect
index 614cb6f..ddd41d6 100644
--- a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.expect
@@ -16,7 +16,7 @@
self::expect(87, let final dynamic #t7 = CheckLibraryIsLoaded(prefix) in def::topLevelMethod());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
@@ -44,12 +44,12 @@
static method Extension|staticMethod() → core::int*
return def::Extension|staticField;
static method Extension|get#property(lowered final core::int* #this) → core::int*
- return #this.{core::num::+}(def::Extension|staticField);
+ return #this.{core::num::+}(def::Extension|staticField){(core::num*) →* core::int*};
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void {
def::Extension|staticField = value;
}
static method Extension|method(lowered final core::int* #this) → core::int*
- return #this.{core::num::+}(def::Extension|staticField);
+ return #this.{core::num::+}(def::Extension|staticField){(core::num*) →* core::int*};
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
return () → core::int* => def::Extension|method(#this);
static get topLevelProperty() → core::int*
diff --git a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect
index 41815d4..86a95a1 100644
--- a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect
@@ -42,7 +42,7 @@
return :async_future;
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
@@ -70,12 +70,12 @@
static method Extension|staticMethod() → core::int*
return def::Extension|staticField;
static method Extension|get#property(lowered final core::int* #this) → core::int*
- return #this.{core::num::+}(def::Extension|staticField);
+ return #this.{core::num::+}(def::Extension|staticField){(core::num*) →* core::int*};
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void {
def::Extension|staticField = value;
}
static method Extension|method(lowered final core::int* #this) → core::int*
- return #this.{core::num::+}(def::Extension|staticField);
+ return #this.{core::num::+}(def::Extension|staticField){(core::num*) →* core::int*};
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
return () → core::int* => def::Extension|method(#this);
static get topLevelProperty() → core::int*
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.expect
index 394a69b3..96d1c00 100644
--- a/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.expect
@@ -116,7 +116,7 @@
static method Extension|get#tearOffGetterNamed(lowered final self::Class* #this) → dynamic
return self::Extension|get#writeSetterNamed(#this);
static method Extension|get#property(lowered final self::Class* #this) → dynamic
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{dynamic};
static method Extension|set#property(lowered final self::Class* #this, dynamic value) → void {
#this.{self::Class::field} = value;
}
@@ -134,23 +134,23 @@
return (dynamic value) → dynamic => self::Extension|tearOffs(#this, value);
static method Extension|tearOffs(lowered final self::Class* #this, dynamic value) → dynamic {
() →* dynamic tearOffNoArgs = self::Extension|get#readGetter(#this);
- tearOffNoArgs.call();
+ tearOffNoArgs();
(dynamic) →* dynamic tearOffRequired = self::Extension|get#writeSetterRequired(#this);
- tearOffRequired.call(value);
+ tearOffRequired(value){(dynamic) →* dynamic};
([dynamic]) →* dynamic tearOffOptional = self::Extension|get#writeSetterOptional(#this);
- tearOffOptional.call();
- tearOffOptional.call(value);
+ tearOffOptional(){([dynamic]) →* dynamic};
+ tearOffOptional(value){([dynamic]) →* dynamic};
({value: dynamic}) →* dynamic tearOffNamed = self::Extension|get#writeSetterNamed(#this);
- tearOffNamed.call();
- tearOffNamed.call(value: value);
+ tearOffNamed(){({value: dynamic}) →* dynamic};
+ tearOffNamed(value: value){({value: dynamic}) →* dynamic};
}
static method Extension|getterCalls(lowered final self::Class* #this, dynamic value) → dynamic {
- self::Extension|get#tearOffGetterNoArgs(#this).call();
- self::Extension|get#tearOffGetterRequired(#this).call(value);
- self::Extension|get#tearOffGetterOptional(#this).call();
- self::Extension|get#tearOffGetterOptional(#this).call(value);
- self::Extension|get#tearOffGetterNamed(#this).call();
- self::Extension|get#tearOffGetterNamed(#this).call(value: value);
+ self::Extension|get#tearOffGetterNoArgs(#this){dynamic}.call();
+ self::Extension|get#tearOffGetterRequired(#this){dynamic}.call(value);
+ self::Extension|get#tearOffGetterOptional(#this){dynamic}.call();
+ self::Extension|get#tearOffGetterOptional(#this){dynamic}.call(value);
+ self::Extension|get#tearOffGetterNamed(#this){dynamic}.call();
+ self::Extension|get#tearOffGetterNamed(#this){dynamic}.call(value: value);
}
static method Extension|get#getterCalls(lowered final self::Class* #this) → (dynamic) →* dynamic
return (dynamic value) → dynamic => self::Extension|getterCalls(#this, value);
@@ -190,7 +190,7 @@
self::GenericExtension|set#property<self::GenericExtension|genericWriteSetterNamed::T*>(#this, value);
}
static method GenericExtension|get#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
- return #this.{self::GenericClass::field};
+ return #this.{self::GenericClass::field}{self::GenericExtension|get#property::T*};
static method GenericExtension|set#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#property::T*>* #this, self::GenericExtension|set#property::T* value) → void {
#this.{self::GenericClass::field} = value;
}
@@ -235,58 +235,58 @@
return <S extends self::GenericExtension|get#invocations::T* = dynamic>(S* value) → dynamic => self::GenericExtension|invocations<self::GenericExtension|get#invocations::T*, S*>(#this, value);
static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S extends self::GenericExtension|tearOffs::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|tearOffs::T*>* #this, self::GenericExtension|tearOffs::S* value) → dynamic {
() →* self::GenericExtension|tearOffs::T* tearOffNoArgs = self::GenericExtension|get#readGetter<self::GenericExtension|tearOffs::T*>(#this);
- tearOffNoArgs.call();
+ tearOffNoArgs(){() →* self::GenericExtension|tearOffs::T*};
(self::GenericExtension|tearOffs::T*) →* dynamic tearOffRequired = self::GenericExtension|get#writeSetterRequired<self::GenericExtension|tearOffs::T*>(#this);
- tearOffRequired.call(value);
+ tearOffRequired(value){(self::GenericExtension|tearOffs::T*) →* dynamic};
([self::GenericExtension|tearOffs::T*]) →* dynamic tearOffOptional = self::GenericExtension|get#writeSetterOptional<self::GenericExtension|tearOffs::T*>(#this);
- tearOffOptional.call();
- tearOffOptional.call(value);
+ tearOffOptional(){([self::GenericExtension|tearOffs::T*]) →* dynamic};
+ tearOffOptional(value){([self::GenericExtension|tearOffs::T*]) →* dynamic};
({value: self::GenericExtension|tearOffs::T*}) →* dynamic tearOffNamed = self::GenericExtension|get#writeSetterNamed<self::GenericExtension|tearOffs::T*>(#this);
- tearOffNamed.call();
- tearOffNamed.call(value: value);
+ tearOffNamed(){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
+ tearOffNamed(value: value){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
<S extends self::GenericExtension|tearOffs::T* = dynamic>(S*) →* dynamic genericTearOffRequired = self::GenericExtension|get#genericWriteSetterRequired<self::GenericExtension|tearOffs::T*>(#this);
- genericTearOffRequired.call<self::GenericExtension|tearOffs::S*>(value);
- genericTearOffRequired.call<self::GenericExtension|tearOffs::T*>(value);
- genericTearOffRequired.call<self::GenericExtension|tearOffs::S*>(value);
+ genericTearOffRequired<self::GenericExtension|tearOffs::S*>(value){(self::GenericExtension|tearOffs::S*) →* dynamic};
+ genericTearOffRequired<self::GenericExtension|tearOffs::T*>(value){(self::GenericExtension|tearOffs::T*) →* dynamic};
+ genericTearOffRequired<self::GenericExtension|tearOffs::S*>(value){(self::GenericExtension|tearOffs::S*) →* dynamic};
<S extends self::GenericExtension|tearOffs::T* = dynamic>([S*]) →* dynamic genericTearOffOptional = self::GenericExtension|get#genericWriteSetterOptional<self::GenericExtension|tearOffs::T*>(#this);
- genericTearOffOptional.call<self::GenericExtension|tearOffs::T*>();
- genericTearOffOptional.call<self::GenericExtension|tearOffs::T*>();
- genericTearOffOptional.call<self::GenericExtension|tearOffs::S*>();
- genericTearOffOptional.call<self::GenericExtension|tearOffs::S*>(value);
- genericTearOffOptional.call<self::GenericExtension|tearOffs::T*>(value);
- genericTearOffOptional.call<self::GenericExtension|tearOffs::S*>(value);
+ genericTearOffOptional<self::GenericExtension|tearOffs::T*>(){([self::GenericExtension|tearOffs::T*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::T*>(){([self::GenericExtension|tearOffs::T*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::S*>(){([self::GenericExtension|tearOffs::S*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::S*>(value){([self::GenericExtension|tearOffs::S*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::T*>(value){([self::GenericExtension|tearOffs::T*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::S*>(value){([self::GenericExtension|tearOffs::S*]) →* dynamic};
<S extends self::GenericExtension|tearOffs::T* = dynamic>({value: S*}) →* dynamic genericTearOffNamed = self::GenericExtension|get#genericWriteSetterNamed<self::GenericExtension|tearOffs::T*>(#this);
- genericTearOffNamed.call<self::GenericExtension|tearOffs::T*>();
- genericTearOffNamed.call<self::GenericExtension|tearOffs::T*>();
- genericTearOffNamed.call<self::GenericExtension|tearOffs::S*>();
- genericTearOffNamed.call<self::GenericExtension|tearOffs::S*>(value: value);
- genericTearOffNamed.call<self::GenericExtension|tearOffs::T*>(value: value);
- genericTearOffNamed.call<self::GenericExtension|tearOffs::S*>(value: value);
+ genericTearOffNamed<self::GenericExtension|tearOffs::T*>(){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::T*>(){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::S*>(){({value: self::GenericExtension|tearOffs::S*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::S*>(value: value){({value: self::GenericExtension|tearOffs::S*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::T*>(value: value){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::S*>(value: value){({value: self::GenericExtension|tearOffs::S*}) →* dynamic};
}
static method GenericExtension|get#tearOffs<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffs::T*>* #this) → <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S*) →* dynamic
return <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S* value) → dynamic => self::GenericExtension|tearOffs<self::GenericExtension|get#tearOffs::T*, S*>(#this, value);
static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S extends self::GenericExtension|getterCalls::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|getterCalls::T*>* #this, self::GenericExtension|getterCalls::S* value) → dynamic {
- self::GenericExtension|get#tearOffGetterNoArgs<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterRequired<self::GenericExtension|getterCalls::T*>(#this).call(value);
- self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this).call(value);
- self::GenericExtension|get#tearOffGetterNamed<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterNamed<self::GenericExtension|getterCalls::T*>(#this).call(value: value);
- self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this).call(value);
- self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>(value);
- self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>(value);
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>();
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>();
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call(value);
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>(value);
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>(value);
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>();
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>();
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call(value: value);
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>(value: value);
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>(value: value);
+ self::GenericExtension|get#tearOffGetterNoArgs<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterRequired<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value);
+ self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value);
+ self::GenericExtension|get#tearOffGetterNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value: value);
+ self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value);
+ self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>(value);
+ self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>(value);
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>();
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>();
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value);
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>(value);
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>(value);
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>();
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>();
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value: value);
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>(value: value);
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>(value: value);
}
static method GenericExtension|get#getterCalls<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#getterCalls::T*>* #this) → <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S*) →* dynamic
return <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S* value) → dynamic => self::GenericExtension|getterCalls<self::GenericExtension|get#getterCalls::T*, S*>(#this, value);
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.transformed.expect
index 394a69b3..96d1c00 100644
--- a/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.transformed.expect
@@ -116,7 +116,7 @@
static method Extension|get#tearOffGetterNamed(lowered final self::Class* #this) → dynamic
return self::Extension|get#writeSetterNamed(#this);
static method Extension|get#property(lowered final self::Class* #this) → dynamic
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{dynamic};
static method Extension|set#property(lowered final self::Class* #this, dynamic value) → void {
#this.{self::Class::field} = value;
}
@@ -134,23 +134,23 @@
return (dynamic value) → dynamic => self::Extension|tearOffs(#this, value);
static method Extension|tearOffs(lowered final self::Class* #this, dynamic value) → dynamic {
() →* dynamic tearOffNoArgs = self::Extension|get#readGetter(#this);
- tearOffNoArgs.call();
+ tearOffNoArgs();
(dynamic) →* dynamic tearOffRequired = self::Extension|get#writeSetterRequired(#this);
- tearOffRequired.call(value);
+ tearOffRequired(value){(dynamic) →* dynamic};
([dynamic]) →* dynamic tearOffOptional = self::Extension|get#writeSetterOptional(#this);
- tearOffOptional.call();
- tearOffOptional.call(value);
+ tearOffOptional(){([dynamic]) →* dynamic};
+ tearOffOptional(value){([dynamic]) →* dynamic};
({value: dynamic}) →* dynamic tearOffNamed = self::Extension|get#writeSetterNamed(#this);
- tearOffNamed.call();
- tearOffNamed.call(value: value);
+ tearOffNamed(){({value: dynamic}) →* dynamic};
+ tearOffNamed(value: value){({value: dynamic}) →* dynamic};
}
static method Extension|getterCalls(lowered final self::Class* #this, dynamic value) → dynamic {
- self::Extension|get#tearOffGetterNoArgs(#this).call();
- self::Extension|get#tearOffGetterRequired(#this).call(value);
- self::Extension|get#tearOffGetterOptional(#this).call();
- self::Extension|get#tearOffGetterOptional(#this).call(value);
- self::Extension|get#tearOffGetterNamed(#this).call();
- self::Extension|get#tearOffGetterNamed(#this).call(value: value);
+ self::Extension|get#tearOffGetterNoArgs(#this){dynamic}.call();
+ self::Extension|get#tearOffGetterRequired(#this){dynamic}.call(value);
+ self::Extension|get#tearOffGetterOptional(#this){dynamic}.call();
+ self::Extension|get#tearOffGetterOptional(#this){dynamic}.call(value);
+ self::Extension|get#tearOffGetterNamed(#this){dynamic}.call();
+ self::Extension|get#tearOffGetterNamed(#this){dynamic}.call(value: value);
}
static method Extension|get#getterCalls(lowered final self::Class* #this) → (dynamic) →* dynamic
return (dynamic value) → dynamic => self::Extension|getterCalls(#this, value);
@@ -190,7 +190,7 @@
self::GenericExtension|set#property<self::GenericExtension|genericWriteSetterNamed::T*>(#this, value);
}
static method GenericExtension|get#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
- return #this.{self::GenericClass::field};
+ return #this.{self::GenericClass::field}{self::GenericExtension|get#property::T*};
static method GenericExtension|set#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#property::T*>* #this, self::GenericExtension|set#property::T* value) → void {
#this.{self::GenericClass::field} = value;
}
@@ -235,58 +235,58 @@
return <S extends self::GenericExtension|get#invocations::T* = dynamic>(S* value) → dynamic => self::GenericExtension|invocations<self::GenericExtension|get#invocations::T*, S*>(#this, value);
static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S extends self::GenericExtension|tearOffs::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|tearOffs::T*>* #this, self::GenericExtension|tearOffs::S* value) → dynamic {
() →* self::GenericExtension|tearOffs::T* tearOffNoArgs = self::GenericExtension|get#readGetter<self::GenericExtension|tearOffs::T*>(#this);
- tearOffNoArgs.call();
+ tearOffNoArgs(){() →* self::GenericExtension|tearOffs::T*};
(self::GenericExtension|tearOffs::T*) →* dynamic tearOffRequired = self::GenericExtension|get#writeSetterRequired<self::GenericExtension|tearOffs::T*>(#this);
- tearOffRequired.call(value);
+ tearOffRequired(value){(self::GenericExtension|tearOffs::T*) →* dynamic};
([self::GenericExtension|tearOffs::T*]) →* dynamic tearOffOptional = self::GenericExtension|get#writeSetterOptional<self::GenericExtension|tearOffs::T*>(#this);
- tearOffOptional.call();
- tearOffOptional.call(value);
+ tearOffOptional(){([self::GenericExtension|tearOffs::T*]) →* dynamic};
+ tearOffOptional(value){([self::GenericExtension|tearOffs::T*]) →* dynamic};
({value: self::GenericExtension|tearOffs::T*}) →* dynamic tearOffNamed = self::GenericExtension|get#writeSetterNamed<self::GenericExtension|tearOffs::T*>(#this);
- tearOffNamed.call();
- tearOffNamed.call(value: value);
+ tearOffNamed(){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
+ tearOffNamed(value: value){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
<S extends self::GenericExtension|tearOffs::T* = dynamic>(S*) →* dynamic genericTearOffRequired = self::GenericExtension|get#genericWriteSetterRequired<self::GenericExtension|tearOffs::T*>(#this);
- genericTearOffRequired.call<self::GenericExtension|tearOffs::S*>(value);
- genericTearOffRequired.call<self::GenericExtension|tearOffs::T*>(value);
- genericTearOffRequired.call<self::GenericExtension|tearOffs::S*>(value);
+ genericTearOffRequired<self::GenericExtension|tearOffs::S*>(value){(self::GenericExtension|tearOffs::S*) →* dynamic};
+ genericTearOffRequired<self::GenericExtension|tearOffs::T*>(value){(self::GenericExtension|tearOffs::T*) →* dynamic};
+ genericTearOffRequired<self::GenericExtension|tearOffs::S*>(value){(self::GenericExtension|tearOffs::S*) →* dynamic};
<S extends self::GenericExtension|tearOffs::T* = dynamic>([S*]) →* dynamic genericTearOffOptional = self::GenericExtension|get#genericWriteSetterOptional<self::GenericExtension|tearOffs::T*>(#this);
- genericTearOffOptional.call<self::GenericExtension|tearOffs::T*>();
- genericTearOffOptional.call<self::GenericExtension|tearOffs::T*>();
- genericTearOffOptional.call<self::GenericExtension|tearOffs::S*>();
- genericTearOffOptional.call<self::GenericExtension|tearOffs::S*>(value);
- genericTearOffOptional.call<self::GenericExtension|tearOffs::T*>(value);
- genericTearOffOptional.call<self::GenericExtension|tearOffs::S*>(value);
+ genericTearOffOptional<self::GenericExtension|tearOffs::T*>(){([self::GenericExtension|tearOffs::T*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::T*>(){([self::GenericExtension|tearOffs::T*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::S*>(){([self::GenericExtension|tearOffs::S*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::S*>(value){([self::GenericExtension|tearOffs::S*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::T*>(value){([self::GenericExtension|tearOffs::T*]) →* dynamic};
+ genericTearOffOptional<self::GenericExtension|tearOffs::S*>(value){([self::GenericExtension|tearOffs::S*]) →* dynamic};
<S extends self::GenericExtension|tearOffs::T* = dynamic>({value: S*}) →* dynamic genericTearOffNamed = self::GenericExtension|get#genericWriteSetterNamed<self::GenericExtension|tearOffs::T*>(#this);
- genericTearOffNamed.call<self::GenericExtension|tearOffs::T*>();
- genericTearOffNamed.call<self::GenericExtension|tearOffs::T*>();
- genericTearOffNamed.call<self::GenericExtension|tearOffs::S*>();
- genericTearOffNamed.call<self::GenericExtension|tearOffs::S*>(value: value);
- genericTearOffNamed.call<self::GenericExtension|tearOffs::T*>(value: value);
- genericTearOffNamed.call<self::GenericExtension|tearOffs::S*>(value: value);
+ genericTearOffNamed<self::GenericExtension|tearOffs::T*>(){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::T*>(){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::S*>(){({value: self::GenericExtension|tearOffs::S*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::S*>(value: value){({value: self::GenericExtension|tearOffs::S*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::T*>(value: value){({value: self::GenericExtension|tearOffs::T*}) →* dynamic};
+ genericTearOffNamed<self::GenericExtension|tearOffs::S*>(value: value){({value: self::GenericExtension|tearOffs::S*}) →* dynamic};
}
static method GenericExtension|get#tearOffs<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffs::T*>* #this) → <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S*) →* dynamic
return <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S* value) → dynamic => self::GenericExtension|tearOffs<self::GenericExtension|get#tearOffs::T*, S*>(#this, value);
static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S extends self::GenericExtension|getterCalls::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|getterCalls::T*>* #this, self::GenericExtension|getterCalls::S* value) → dynamic {
- self::GenericExtension|get#tearOffGetterNoArgs<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterRequired<self::GenericExtension|getterCalls::T*>(#this).call(value);
- self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this).call(value);
- self::GenericExtension|get#tearOffGetterNamed<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterNamed<self::GenericExtension|getterCalls::T*>(#this).call(value: value);
- self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this).call(value);
- self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>(value);
- self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>(value);
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>();
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>();
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call(value);
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>(value);
- self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>(value);
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call();
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>();
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>();
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call(value: value);
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>(value: value);
- self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>(value: value);
+ self::GenericExtension|get#tearOffGetterNoArgs<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterRequired<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value);
+ self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value);
+ self::GenericExtension|get#tearOffGetterNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value: value);
+ self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value);
+ self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>(value);
+ self::GenericExtension|get#tearOffGetterGenericRequired<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>(value);
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>();
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>();
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value);
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>(value);
+ self::GenericExtension|get#tearOffGetterGenericOptional<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>(value);
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call();
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>();
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>();
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call(value: value);
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::T*>(value: value);
+ self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this){dynamic}.call<self::GenericExtension|getterCalls::S*>(value: value);
}
static method GenericExtension|get#getterCalls<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#getterCalls::T*>* #this) → <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S*) →* dynamic
return <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S* value) → dynamic => self::GenericExtension|getterCalls<self::GenericExtension|get#getterCalls::T*, S*>(#this, value);
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.expect
index f9c2886..e3e273f 100644
--- a/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.expect
@@ -110,50 +110,50 @@
}
static method Extension|tearOffsFromStaticContext(core::int* value) → dynamic {
() →* dynamic tearOffNoArgs = #C2;
- tearOffNoArgs.call();
+ tearOffNoArgs();
(dynamic) →* dynamic tearOffRequired = #C3;
- tearOffRequired.call(value);
+ tearOffRequired(value){(dynamic) →* dynamic};
([dynamic]) →* dynamic tearOffOptional = #C4;
- tearOffOptional.call();
- tearOffOptional.call(value);
+ tearOffOptional(){([dynamic]) →* dynamic};
+ tearOffOptional(value){([dynamic]) →* dynamic};
({value: dynamic}) →* dynamic tearOffNamed = #C5;
- tearOffNamed.call();
- tearOffNamed.call(value: value);
+ tearOffNamed(){({value: dynamic}) →* dynamic};
+ tearOffNamed(value: value){({value: dynamic}) →* dynamic};
<S extends core::Object* = dynamic>(S*) →* dynamic tearOffGenericRequired = #C6;
- tearOffGenericRequired.call<core::int*>(value);
- tearOffGenericRequired.call<core::int*>(value);
+ tearOffGenericRequired<core::int*>(value){(core::int*) →* dynamic};
+ tearOffGenericRequired<core::int*>(value){(core::int*) →* dynamic};
<S extends core::Object* = dynamic>([S*]) →* dynamic tearOffGenericOptional = #C7;
- tearOffGenericOptional.call<dynamic>();
- tearOffGenericOptional.call<core::int*>();
- tearOffGenericOptional.call<core::int*>(value);
- tearOffGenericOptional.call<core::int*>(value);
+ tearOffGenericOptional<dynamic>(){([dynamic]) →* dynamic};
+ tearOffGenericOptional<core::int*>(){([core::int*]) →* dynamic};
+ tearOffGenericOptional<core::int*>(value){([core::int*]) →* dynamic};
+ tearOffGenericOptional<core::int*>(value){([core::int*]) →* dynamic};
<S extends core::Object* = dynamic>({value: S*}) →* dynamic tearOffGenericNamed = #C8;
- tearOffGenericNamed.call<dynamic>();
- tearOffGenericNamed.call<core::int*>();
- tearOffGenericNamed.call<core::int*>(value: value);
- tearOffGenericNamed.call<core::int*>(value: value);
+ tearOffGenericNamed<dynamic>(){({value: dynamic}) →* dynamic};
+ tearOffGenericNamed<core::int*>(){({value: core::int*}) →* dynamic};
+ tearOffGenericNamed<core::int*>(value: value){({value: core::int*}) →* dynamic};
+ tearOffGenericNamed<core::int*>(value: value){({value: core::int*}) →* dynamic};
}
static method Extension|fieldAccessFromStaticContext() → dynamic {
self::Extension|field = self::Extension|property;
self::Extension|property = self::Extension|field;
}
static method Extension|getterCallsFromStaticContext(core::int* value) → dynamic {
- self::Extension|tearOffGetterNoArgs.call();
- self::Extension|tearOffGetterRequired.call(value);
- self::Extension|tearOffGetterOptional.call();
- self::Extension|tearOffGetterOptional.call(value);
- self::Extension|tearOffGetterNamed.call();
- self::Extension|tearOffGetterNamed.call(value: value);
- self::Extension|tearOffGetterGenericRequired.call(value);
- self::Extension|tearOffGetterGenericRequired.call<core::int*>(value);
- self::Extension|tearOffGetterGenericOptional.call();
- self::Extension|tearOffGetterGenericOptional.call<core::int*>();
- self::Extension|tearOffGetterGenericOptional.call(value);
- self::Extension|tearOffGetterGenericOptional.call<core::int*>(value);
- self::Extension|tearOffGetterGenericNamed.call();
- self::Extension|tearOffGetterGenericNamed.call<core::int*>();
- self::Extension|tearOffGetterGenericNamed.call(value: value);
- self::Extension|tearOffGetterGenericNamed.call<core::int*>(value: value);
+ self::Extension|tearOffGetterNoArgs{dynamic}.call();
+ self::Extension|tearOffGetterRequired{dynamic}.call(value);
+ self::Extension|tearOffGetterOptional{dynamic}.call();
+ self::Extension|tearOffGetterOptional{dynamic}.call(value);
+ self::Extension|tearOffGetterNamed{dynamic}.call();
+ self::Extension|tearOffGetterNamed{dynamic}.call(value: value);
+ self::Extension|tearOffGetterGenericRequired{dynamic}.call(value);
+ self::Extension|tearOffGetterGenericRequired{dynamic}.call<core::int*>(value);
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call();
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call<core::int*>();
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call(value);
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call<core::int*>(value);
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call();
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call<core::int*>();
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call(value: value);
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call<core::int*>(value: value);
}
static method Extension|invocationsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|invocationsFromInstanceContext::T*>* #this, self::Extension|invocationsFromInstanceContext::T* value) → dynamic {
self::Extension|readGetter();
@@ -177,28 +177,28 @@
return (self::Extension|get#invocationsFromInstanceContext::T* value) → dynamic => self::Extension|invocationsFromInstanceContext<self::Extension|get#invocationsFromInstanceContext::T*>(#this, value);
static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|tearOffsFromInstanceContext::T*>* #this, self::Extension|tearOffsFromInstanceContext::T* value) → dynamic {
() →* dynamic tearOffNoArgs = #C2;
- tearOffNoArgs.call();
+ tearOffNoArgs();
(dynamic) →* dynamic tearOffRequired = #C3;
- tearOffRequired.call(value);
+ tearOffRequired(value){(dynamic) →* dynamic};
([dynamic]) →* dynamic tearOffOptional = #C4;
- tearOffOptional.call();
- tearOffOptional.call(value);
+ tearOffOptional(){([dynamic]) →* dynamic};
+ tearOffOptional(value){([dynamic]) →* dynamic};
({value: dynamic}) →* dynamic tearOffNamed = #C5;
- tearOffNamed.call();
- tearOffNamed.call(value: value);
+ tearOffNamed(){({value: dynamic}) →* dynamic};
+ tearOffNamed(value: value){({value: dynamic}) →* dynamic};
<S extends core::Object* = dynamic>(S*) →* dynamic tearOffGenericRequired = #C6;
- tearOffGenericRequired.call<self::Extension|tearOffsFromInstanceContext::T*>(value);
- tearOffGenericRequired.call<self::Extension|tearOffsFromInstanceContext::T*>(value);
+ tearOffGenericRequired<self::Extension|tearOffsFromInstanceContext::T*>(value){(self::Extension|tearOffsFromInstanceContext::T*) →* dynamic};
+ tearOffGenericRequired<self::Extension|tearOffsFromInstanceContext::T*>(value){(self::Extension|tearOffsFromInstanceContext::T*) →* dynamic};
<S extends core::Object* = dynamic>([S*]) →* dynamic tearOffGenericOptional = #C7;
- tearOffGenericOptional.call<dynamic>();
- tearOffGenericOptional.call<self::Extension|tearOffsFromInstanceContext::T*>();
- tearOffGenericOptional.call<self::Extension|tearOffsFromInstanceContext::T*>(value);
- tearOffGenericOptional.call<self::Extension|tearOffsFromInstanceContext::T*>(value);
+ tearOffGenericOptional<dynamic>(){([dynamic]) →* dynamic};
+ tearOffGenericOptional<self::Extension|tearOffsFromInstanceContext::T*>(){([self::Extension|tearOffsFromInstanceContext::T*]) →* dynamic};
+ tearOffGenericOptional<self::Extension|tearOffsFromInstanceContext::T*>(value){([self::Extension|tearOffsFromInstanceContext::T*]) →* dynamic};
+ tearOffGenericOptional<self::Extension|tearOffsFromInstanceContext::T*>(value){([self::Extension|tearOffsFromInstanceContext::T*]) →* dynamic};
<S extends core::Object* = dynamic>({value: S*}) →* dynamic tearOffGenericNamed = #C8;
- tearOffGenericNamed.call<dynamic>();
- tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>();
- tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>(value: value);
- tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>(value: value);
+ tearOffGenericNamed<dynamic>(){({value: dynamic}) →* dynamic};
+ tearOffGenericNamed<self::Extension|tearOffsFromInstanceContext::T*>(){({value: self::Extension|tearOffsFromInstanceContext::T*}) →* dynamic};
+ tearOffGenericNamed<self::Extension|tearOffsFromInstanceContext::T*>(value: value){({value: self::Extension|tearOffsFromInstanceContext::T*}) →* dynamic};
+ tearOffGenericNamed<self::Extension|tearOffsFromInstanceContext::T*>(value: value){({value: self::Extension|tearOffsFromInstanceContext::T*}) →* dynamic};
}
static method Extension|get#tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#tearOffsFromInstanceContext::T*>* #this) → (self::Extension|get#tearOffsFromInstanceContext::T*) →* dynamic
return (self::Extension|get#tearOffsFromInstanceContext::T* value) → dynamic => self::Extension|tearOffsFromInstanceContext<self::Extension|get#tearOffsFromInstanceContext::T*>(#this, value);
@@ -209,22 +209,22 @@
static method Extension|get#fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#fieldAccessFromInstanceContext::T*>* #this) → () →* dynamic
return () → dynamic => self::Extension|fieldAccessFromInstanceContext<self::Extension|get#fieldAccessFromInstanceContext::T*>(#this);
static method Extension|getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|getterCallsFromInstanceContext::T*>* #this, self::Extension|getterCallsFromInstanceContext::T* value) → dynamic {
- self::Extension|tearOffGetterNoArgs.call();
- self::Extension|tearOffGetterRequired.call(value);
- self::Extension|tearOffGetterOptional.call();
- self::Extension|tearOffGetterOptional.call(value);
- self::Extension|tearOffGetterNamed.call();
- self::Extension|tearOffGetterNamed.call(value: value);
- self::Extension|tearOffGetterGenericRequired.call(value);
- self::Extension|tearOffGetterGenericRequired.call<self::Extension|getterCallsFromInstanceContext::T*>(value);
- self::Extension|tearOffGetterGenericOptional.call();
- self::Extension|tearOffGetterGenericOptional.call<self::Extension|getterCallsFromInstanceContext::T*>();
- self::Extension|tearOffGetterGenericOptional.call(value);
- self::Extension|tearOffGetterGenericOptional.call<self::Extension|getterCallsFromInstanceContext::T*>(value);
- self::Extension|tearOffGetterGenericNamed.call();
- self::Extension|tearOffGetterGenericNamed.call<self::Extension|getterCallsFromInstanceContext::T*>();
- self::Extension|tearOffGetterGenericNamed.call(value: value);
- self::Extension|tearOffGetterGenericNamed.call<self::Extension|getterCallsFromInstanceContext::T*>(value: value);
+ self::Extension|tearOffGetterNoArgs{dynamic}.call();
+ self::Extension|tearOffGetterRequired{dynamic}.call(value);
+ self::Extension|tearOffGetterOptional{dynamic}.call();
+ self::Extension|tearOffGetterOptional{dynamic}.call(value);
+ self::Extension|tearOffGetterNamed{dynamic}.call();
+ self::Extension|tearOffGetterNamed{dynamic}.call(value: value);
+ self::Extension|tearOffGetterGenericRequired{dynamic}.call(value);
+ self::Extension|tearOffGetterGenericRequired{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>(value);
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call();
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>();
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call(value);
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>(value);
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call();
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>();
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call(value: value);
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>(value: value);
}
static method Extension|get#getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#getterCallsFromInstanceContext::T*>* #this) → (self::Extension|get#getterCallsFromInstanceContext::T*) →* dynamic
return (self::Extension|get#getterCallsFromInstanceContext::T* value) → dynamic => self::Extension|getterCallsFromInstanceContext<self::Extension|get#getterCallsFromInstanceContext::T*>(#this, value);
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.transformed.expect
index f9c2886..e3e273f 100644
--- a/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.transformed.expect
@@ -110,50 +110,50 @@
}
static method Extension|tearOffsFromStaticContext(core::int* value) → dynamic {
() →* dynamic tearOffNoArgs = #C2;
- tearOffNoArgs.call();
+ tearOffNoArgs();
(dynamic) →* dynamic tearOffRequired = #C3;
- tearOffRequired.call(value);
+ tearOffRequired(value){(dynamic) →* dynamic};
([dynamic]) →* dynamic tearOffOptional = #C4;
- tearOffOptional.call();
- tearOffOptional.call(value);
+ tearOffOptional(){([dynamic]) →* dynamic};
+ tearOffOptional(value){([dynamic]) →* dynamic};
({value: dynamic}) →* dynamic tearOffNamed = #C5;
- tearOffNamed.call();
- tearOffNamed.call(value: value);
+ tearOffNamed(){({value: dynamic}) →* dynamic};
+ tearOffNamed(value: value){({value: dynamic}) →* dynamic};
<S extends core::Object* = dynamic>(S*) →* dynamic tearOffGenericRequired = #C6;
- tearOffGenericRequired.call<core::int*>(value);
- tearOffGenericRequired.call<core::int*>(value);
+ tearOffGenericRequired<core::int*>(value){(core::int*) →* dynamic};
+ tearOffGenericRequired<core::int*>(value){(core::int*) →* dynamic};
<S extends core::Object* = dynamic>([S*]) →* dynamic tearOffGenericOptional = #C7;
- tearOffGenericOptional.call<dynamic>();
- tearOffGenericOptional.call<core::int*>();
- tearOffGenericOptional.call<core::int*>(value);
- tearOffGenericOptional.call<core::int*>(value);
+ tearOffGenericOptional<dynamic>(){([dynamic]) →* dynamic};
+ tearOffGenericOptional<core::int*>(){([core::int*]) →* dynamic};
+ tearOffGenericOptional<core::int*>(value){([core::int*]) →* dynamic};
+ tearOffGenericOptional<core::int*>(value){([core::int*]) →* dynamic};
<S extends core::Object* = dynamic>({value: S*}) →* dynamic tearOffGenericNamed = #C8;
- tearOffGenericNamed.call<dynamic>();
- tearOffGenericNamed.call<core::int*>();
- tearOffGenericNamed.call<core::int*>(value: value);
- tearOffGenericNamed.call<core::int*>(value: value);
+ tearOffGenericNamed<dynamic>(){({value: dynamic}) →* dynamic};
+ tearOffGenericNamed<core::int*>(){({value: core::int*}) →* dynamic};
+ tearOffGenericNamed<core::int*>(value: value){({value: core::int*}) →* dynamic};
+ tearOffGenericNamed<core::int*>(value: value){({value: core::int*}) →* dynamic};
}
static method Extension|fieldAccessFromStaticContext() → dynamic {
self::Extension|field = self::Extension|property;
self::Extension|property = self::Extension|field;
}
static method Extension|getterCallsFromStaticContext(core::int* value) → dynamic {
- self::Extension|tearOffGetterNoArgs.call();
- self::Extension|tearOffGetterRequired.call(value);
- self::Extension|tearOffGetterOptional.call();
- self::Extension|tearOffGetterOptional.call(value);
- self::Extension|tearOffGetterNamed.call();
- self::Extension|tearOffGetterNamed.call(value: value);
- self::Extension|tearOffGetterGenericRequired.call(value);
- self::Extension|tearOffGetterGenericRequired.call<core::int*>(value);
- self::Extension|tearOffGetterGenericOptional.call();
- self::Extension|tearOffGetterGenericOptional.call<core::int*>();
- self::Extension|tearOffGetterGenericOptional.call(value);
- self::Extension|tearOffGetterGenericOptional.call<core::int*>(value);
- self::Extension|tearOffGetterGenericNamed.call();
- self::Extension|tearOffGetterGenericNamed.call<core::int*>();
- self::Extension|tearOffGetterGenericNamed.call(value: value);
- self::Extension|tearOffGetterGenericNamed.call<core::int*>(value: value);
+ self::Extension|tearOffGetterNoArgs{dynamic}.call();
+ self::Extension|tearOffGetterRequired{dynamic}.call(value);
+ self::Extension|tearOffGetterOptional{dynamic}.call();
+ self::Extension|tearOffGetterOptional{dynamic}.call(value);
+ self::Extension|tearOffGetterNamed{dynamic}.call();
+ self::Extension|tearOffGetterNamed{dynamic}.call(value: value);
+ self::Extension|tearOffGetterGenericRequired{dynamic}.call(value);
+ self::Extension|tearOffGetterGenericRequired{dynamic}.call<core::int*>(value);
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call();
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call<core::int*>();
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call(value);
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call<core::int*>(value);
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call();
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call<core::int*>();
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call(value: value);
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call<core::int*>(value: value);
}
static method Extension|invocationsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|invocationsFromInstanceContext::T*>* #this, self::Extension|invocationsFromInstanceContext::T* value) → dynamic {
self::Extension|readGetter();
@@ -177,28 +177,28 @@
return (self::Extension|get#invocationsFromInstanceContext::T* value) → dynamic => self::Extension|invocationsFromInstanceContext<self::Extension|get#invocationsFromInstanceContext::T*>(#this, value);
static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|tearOffsFromInstanceContext::T*>* #this, self::Extension|tearOffsFromInstanceContext::T* value) → dynamic {
() →* dynamic tearOffNoArgs = #C2;
- tearOffNoArgs.call();
+ tearOffNoArgs();
(dynamic) →* dynamic tearOffRequired = #C3;
- tearOffRequired.call(value);
+ tearOffRequired(value){(dynamic) →* dynamic};
([dynamic]) →* dynamic tearOffOptional = #C4;
- tearOffOptional.call();
- tearOffOptional.call(value);
+ tearOffOptional(){([dynamic]) →* dynamic};
+ tearOffOptional(value){([dynamic]) →* dynamic};
({value: dynamic}) →* dynamic tearOffNamed = #C5;
- tearOffNamed.call();
- tearOffNamed.call(value: value);
+ tearOffNamed(){({value: dynamic}) →* dynamic};
+ tearOffNamed(value: value){({value: dynamic}) →* dynamic};
<S extends core::Object* = dynamic>(S*) →* dynamic tearOffGenericRequired = #C6;
- tearOffGenericRequired.call<self::Extension|tearOffsFromInstanceContext::T*>(value);
- tearOffGenericRequired.call<self::Extension|tearOffsFromInstanceContext::T*>(value);
+ tearOffGenericRequired<self::Extension|tearOffsFromInstanceContext::T*>(value){(self::Extension|tearOffsFromInstanceContext::T*) →* dynamic};
+ tearOffGenericRequired<self::Extension|tearOffsFromInstanceContext::T*>(value){(self::Extension|tearOffsFromInstanceContext::T*) →* dynamic};
<S extends core::Object* = dynamic>([S*]) →* dynamic tearOffGenericOptional = #C7;
- tearOffGenericOptional.call<dynamic>();
- tearOffGenericOptional.call<self::Extension|tearOffsFromInstanceContext::T*>();
- tearOffGenericOptional.call<self::Extension|tearOffsFromInstanceContext::T*>(value);
- tearOffGenericOptional.call<self::Extension|tearOffsFromInstanceContext::T*>(value);
+ tearOffGenericOptional<dynamic>(){([dynamic]) →* dynamic};
+ tearOffGenericOptional<self::Extension|tearOffsFromInstanceContext::T*>(){([self::Extension|tearOffsFromInstanceContext::T*]) →* dynamic};
+ tearOffGenericOptional<self::Extension|tearOffsFromInstanceContext::T*>(value){([self::Extension|tearOffsFromInstanceContext::T*]) →* dynamic};
+ tearOffGenericOptional<self::Extension|tearOffsFromInstanceContext::T*>(value){([self::Extension|tearOffsFromInstanceContext::T*]) →* dynamic};
<S extends core::Object* = dynamic>({value: S*}) →* dynamic tearOffGenericNamed = #C8;
- tearOffGenericNamed.call<dynamic>();
- tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>();
- tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>(value: value);
- tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>(value: value);
+ tearOffGenericNamed<dynamic>(){({value: dynamic}) →* dynamic};
+ tearOffGenericNamed<self::Extension|tearOffsFromInstanceContext::T*>(){({value: self::Extension|tearOffsFromInstanceContext::T*}) →* dynamic};
+ tearOffGenericNamed<self::Extension|tearOffsFromInstanceContext::T*>(value: value){({value: self::Extension|tearOffsFromInstanceContext::T*}) →* dynamic};
+ tearOffGenericNamed<self::Extension|tearOffsFromInstanceContext::T*>(value: value){({value: self::Extension|tearOffsFromInstanceContext::T*}) →* dynamic};
}
static method Extension|get#tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#tearOffsFromInstanceContext::T*>* #this) → (self::Extension|get#tearOffsFromInstanceContext::T*) →* dynamic
return (self::Extension|get#tearOffsFromInstanceContext::T* value) → dynamic => self::Extension|tearOffsFromInstanceContext<self::Extension|get#tearOffsFromInstanceContext::T*>(#this, value);
@@ -209,22 +209,22 @@
static method Extension|get#fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#fieldAccessFromInstanceContext::T*>* #this) → () →* dynamic
return () → dynamic => self::Extension|fieldAccessFromInstanceContext<self::Extension|get#fieldAccessFromInstanceContext::T*>(#this);
static method Extension|getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|getterCallsFromInstanceContext::T*>* #this, self::Extension|getterCallsFromInstanceContext::T* value) → dynamic {
- self::Extension|tearOffGetterNoArgs.call();
- self::Extension|tearOffGetterRequired.call(value);
- self::Extension|tearOffGetterOptional.call();
- self::Extension|tearOffGetterOptional.call(value);
- self::Extension|tearOffGetterNamed.call();
- self::Extension|tearOffGetterNamed.call(value: value);
- self::Extension|tearOffGetterGenericRequired.call(value);
- self::Extension|tearOffGetterGenericRequired.call<self::Extension|getterCallsFromInstanceContext::T*>(value);
- self::Extension|tearOffGetterGenericOptional.call();
- self::Extension|tearOffGetterGenericOptional.call<self::Extension|getterCallsFromInstanceContext::T*>();
- self::Extension|tearOffGetterGenericOptional.call(value);
- self::Extension|tearOffGetterGenericOptional.call<self::Extension|getterCallsFromInstanceContext::T*>(value);
- self::Extension|tearOffGetterGenericNamed.call();
- self::Extension|tearOffGetterGenericNamed.call<self::Extension|getterCallsFromInstanceContext::T*>();
- self::Extension|tearOffGetterGenericNamed.call(value: value);
- self::Extension|tearOffGetterGenericNamed.call<self::Extension|getterCallsFromInstanceContext::T*>(value: value);
+ self::Extension|tearOffGetterNoArgs{dynamic}.call();
+ self::Extension|tearOffGetterRequired{dynamic}.call(value);
+ self::Extension|tearOffGetterOptional{dynamic}.call();
+ self::Extension|tearOffGetterOptional{dynamic}.call(value);
+ self::Extension|tearOffGetterNamed{dynamic}.call();
+ self::Extension|tearOffGetterNamed{dynamic}.call(value: value);
+ self::Extension|tearOffGetterGenericRequired{dynamic}.call(value);
+ self::Extension|tearOffGetterGenericRequired{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>(value);
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call();
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>();
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call(value);
+ self::Extension|tearOffGetterGenericOptional{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>(value);
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call();
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>();
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call(value: value);
+ self::Extension|tearOffGetterGenericNamed{dynamic}.call<self::Extension|getterCallsFromInstanceContext::T*>(value: value);
}
static method Extension|get#getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#getterCallsFromInstanceContext::T*>* #this) → (self::Extension|get#getterCallsFromInstanceContext::T*) →* dynamic
return (self::Extension|get#getterCallsFromInstanceContext::T* value) → dynamic => self::Extension|getterCallsFromInstanceContext<self::Extension|get#getterCallsFromInstanceContext::T*>(#this, value);
diff --git a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.expect b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.expect
index 3f2a400..8289cb4 100644
--- a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.expect
@@ -38,12 +38,12 @@
dynamic c0 = new self::Class::•();
core::Object* c1 = new self::Class::•();
self::Class* c2 = new self::Class::•();
- self::expect(123, c0.method());
+ self::expect(123, c0{dynamic}.method());
self::expect(87, self::Extension|method(c1));
self::expect(42, self::ClassExtension|method(c2));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.transformed.expect
index 3f2a400..8289cb4 100644
--- a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.transformed.expect
@@ -38,12 +38,12 @@
dynamic c0 = new self::Class::•();
core::Object* c1 = new self::Class::•();
self::Class* c2 = new self::Class::•();
- self::expect(123, c0.method());
+ self::expect(123, c0{dynamic}.method());
self::expect(87, self::Extension|method(c1));
self::expect(42, self::ClassExtension|method(c2));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.expect b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.expect
index cf95acc..b2bd40c 100644
--- a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.expect
@@ -36,29 +36,29 @@
set field = self::Extension2|set#field;
}
static method Extension1|get#field(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field1};
+ return #this.{self::Class::field1}{core::int*};
static method Extension1|set#field(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field1} = value;
}
static method Extension1|method(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field1};
+ return #this.{self::Class::field1}{core::int*};
static method Extension1|get#method(lowered final self::Class* #this) → () →* core::int*
return () → core::int* => self::Extension1|method(#this);
static method Extension1|genericMethod<T extends core::num*>(lowered final self::Class* #this, self::Extension1|genericMethod::T* t) → core::int*
- return #this.{self::Class::field1}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class::field1}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
static method Extension1|get#genericMethod(lowered final self::Class* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension1|genericMethod<T*>(#this, t);
static method Extension2|get#field(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field2};
+ return #this.{self::Class::field2}{core::int*};
static method Extension2|set#field(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field2} = value;
}
static method Extension2|method(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field2};
+ return #this.{self::Class::field2}{core::int*};
static method Extension2|get#method(lowered final self::Class* #this) → () →* core::int*
return () → core::int* => self::Extension2|method(#this);
static method Extension2|genericMethod<T extends core::num*>(lowered final self::Class* #this, self::Extension2|genericMethod::T* t) → core::int*
- return #this.{self::Class::field2}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class::field2}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
static method Extension2|get#genericMethod(lowered final self::Class* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension2|genericMethod<T*>(#this, t);
static method main() → dynamic {
@@ -69,25 +69,25 @@
self::expect(87, self::Extension2|method(c));
() →* core::int* tearOff1 = self::Extension1|get#method(c);
() →* core::int* tearOff2 = self::Extension2|get#method(c);
- self::expect(42, tearOff1.call());
- self::expect(87, tearOff2.call());
+ self::expect(42, tearOff1(){() →* core::int*});
+ self::expect(87, tearOff2(){() →* core::int*});
self::expect(52, self::Extension1|genericMethod<core::int*>(c, 10));
self::expect(97, self::Extension2|genericMethod<core::int*>(c, 10));
self::expect(52, self::Extension1|genericMethod<core::num*>(c, 10));
self::expect(97, self::Extension2|genericMethod<core::num*>(c, 10));
<T extends core::num*>(T*) →* core::int* genericTearOff1 = self::Extension1|get#genericMethod(c);
<T extends core::num*>(T*) →* core::int* genericTearOff2 = self::Extension2|get#genericMethod(c);
- self::expect(52, genericTearOff1.call<core::int*>(10));
- self::expect(97, genericTearOff2.call<core::int*>(10));
- self::expect(52, genericTearOff1.call<core::num*>(10));
- self::expect(97, genericTearOff2.call<core::num*>(10));
+ self::expect(52, genericTearOff1<core::int*>(10){(core::int*) →* core::int*});
+ self::expect(97, genericTearOff2<core::int*>(10){(core::int*) →* core::int*});
+ self::expect(52, genericTearOff1<core::num*>(10){(core::num*) →* core::int*});
+ self::expect(97, genericTearOff2<core::num*>(10){(core::num*) →* core::int*});
self::expect(23, let final self::Class* #t1 = c in let final core::int* #t2 = 23 in let final void #t3 = self::Extension1|set#field(#t1, #t2) in #t2);
self::expect(67, let final self::Class* #t4 = c in let final core::int* #t5 = 67 in let final void #t6 = self::Extension2|set#field(#t4, #t5) in #t5);
self::expect(23, self::Extension1|get#field(c));
self::expect(67, self::Extension2|get#field(c));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.transformed.expect
index ad97e80..5beead8 100644
--- a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.transformed.expect
@@ -36,29 +36,29 @@
set field = self::Extension2|set#field;
}
static method Extension1|get#field(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field1};
+ return #this.{self::Class::field1}{core::int*};
static method Extension1|set#field(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field1} = value;
}
static method Extension1|method(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field1};
+ return #this.{self::Class::field1}{core::int*};
static method Extension1|get#method(lowered final self::Class* #this) → () →* core::int*
return () → core::int* => self::Extension1|method(#this);
static method Extension1|genericMethod<T extends core::num*>(lowered final self::Class* #this, self::Extension1|genericMethod::T* t) → core::int*
- return #this.{self::Class::field1}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class::field1}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
static method Extension1|get#genericMethod(lowered final self::Class* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension1|genericMethod<T*>(#this, t);
static method Extension2|get#field(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field2};
+ return #this.{self::Class::field2}{core::int*};
static method Extension2|set#field(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field2} = value;
}
static method Extension2|method(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field2};
+ return #this.{self::Class::field2}{core::int*};
static method Extension2|get#method(lowered final self::Class* #this) → () →* core::int*
return () → core::int* => self::Extension2|method(#this);
static method Extension2|genericMethod<T extends core::num*>(lowered final self::Class* #this, self::Extension2|genericMethod::T* t) → core::int*
- return #this.{self::Class::field2}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class::field2}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
static method Extension2|get#genericMethod(lowered final self::Class* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension2|genericMethod<T*>(#this, t);
static method main() → dynamic {
@@ -69,25 +69,25 @@
self::expect(87, self::Extension2|method(c));
() →* core::int* tearOff1 = self::Extension1|get#method(c);
() →* core::int* tearOff2 = self::Extension2|get#method(c);
- self::expect(42, tearOff1.call());
- self::expect(87, tearOff2.call());
+ self::expect(42, tearOff1(){() →* core::int*});
+ self::expect(87, tearOff2(){() →* core::int*});
self::expect(52, self::Extension1|genericMethod<core::int*>(c, 10));
self::expect(97, self::Extension2|genericMethod<core::int*>(c, 10));
self::expect(52, self::Extension1|genericMethod<core::num*>(c, 10));
self::expect(97, self::Extension2|genericMethod<core::num*>(c, 10));
<T extends core::num*>(T*) →* core::int* genericTearOff1 = self::Extension1|get#genericMethod(c);
<T extends core::num*>(T*) →* core::int* genericTearOff2 = self::Extension2|get#genericMethod(c);
- self::expect(52, genericTearOff1.call<core::int*>(10));
- self::expect(97, genericTearOff2.call<core::int*>(10));
- self::expect(52, genericTearOff1.call<core::num*>(10));
- self::expect(97, genericTearOff2.call<core::num*>(10));
+ self::expect(52, genericTearOff1<core::int*>(10){(core::int*) →* core::int*});
+ self::expect(97, genericTearOff2<core::int*>(10){(core::int*) →* core::int*});
+ self::expect(52, genericTearOff1<core::num*>(10){(core::num*) →* core::int*});
+ self::expect(97, genericTearOff2<core::num*>(10){(core::num*) →* core::int*});
self::expect(23, let final self::Class* #t1 = c in let final core::int* #t2 = 23 in let final void #t3 = self::Extension1|set#field(#t1, #t2) in #t2);
self::expect(67, let final self::Class* #t4 = c in let final core::int* #t5 = 67 in let final void #t6 = self::Extension2|set#field(#t4, #t5) in #t5);
self::expect(23, self::Extension1|get#field(c));
self::expect(67, self::Extension2|get#field(c));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.expect b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.expect
index 6cff7c7..6e15fda 100644
--- a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.expect
@@ -39,7 +39,7 @@
static field core::String* Extension1|latestType;
static method Extension1|get#field<T extends core::num*>(lowered final self::Class<self::Extension1|get#field::T*>* #this) → self::Extension1|get#field::T* {
self::Extension1|latestType = "${self::Extension1|get#field::T*}";
- return #this.{self::Class::field1};
+ return #this.{self::Class::field1}{self::Extension1|get#field::T*};
}
static method Extension1|set#field<T extends core::num*>(lowered final self::Class<self::Extension1|set#field::T*>* #this, self::Extension1|set#field::T* value) → void {
self::Extension1|latestType = "${self::Extension1|set#field::T*}";
@@ -47,27 +47,27 @@
}
static method Extension1|method<T extends core::num*>(lowered final self::Class<self::Extension1|method::T*>* #this) → self::Extension1|method::T* {
self::Extension1|latestType = "${self::Extension1|method::T*}";
- return #this.{self::Class::field1};
+ return #this.{self::Class::field1}{self::Extension1|method::T*};
}
static method Extension1|get#method<T extends core::num*>(lowered final self::Class<self::Extension1|get#method::T*>* #this) → () →* self::Extension1|get#method::T*
return () → self::Extension1|get#method::T* => self::Extension1|method<self::Extension1|get#method::T*>(#this);
static method Extension1|genericMethod<T extends core::num*, S extends core::num*>(lowered final self::Class<self::Extension1|genericMethod::T*>* #this, self::Extension1|genericMethod::S* t) → self::Extension1|genericMethod::T* {
self::Extension1|latestType = "${self::Extension1|genericMethod::T*}:${self::Extension1|genericMethod::S*}";
- return #this.{self::Class::field1}.{core::num::+}(t) as{TypeError} self::Extension1|genericMethod::T*;
+ return #this.{self::Class::field1}{self::Extension1|genericMethod::T*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} self::Extension1|genericMethod::T*;
}
static method Extension1|get#genericMethod<T extends core::num*>(lowered final self::Class<self::Extension1|get#genericMethod::T*>* #this) → <S extends core::num*>(S*) →* self::Extension1|get#genericMethod::T*
return <S extends core::num*>(S* t) → self::Extension1|get#genericMethod::T* => self::Extension1|genericMethod<self::Extension1|get#genericMethod::T*, S*>(#this, t);
static method Extension2|get#field<T extends core::num*>(lowered final self::Class<self::Extension2|get#field::T*>* #this) → self::Extension2|get#field::T*
- return #this.{self::Class::field2};
+ return #this.{self::Class::field2}{self::Extension2|get#field::T*};
static method Extension2|set#field<T extends core::num*>(lowered final self::Class<self::Extension2|set#field::T*>* #this, self::Extension2|set#field::T* value) → void {
#this.{self::Class::field2} = value;
}
static method Extension2|method<T extends core::num*>(lowered final self::Class<self::Extension2|method::T*>* #this) → self::Extension2|method::T*
- return #this.{self::Class::field2};
+ return #this.{self::Class::field2}{self::Extension2|method::T*};
static method Extension2|get#method<T extends core::num*>(lowered final self::Class<self::Extension2|get#method::T*>* #this) → () →* self::Extension2|get#method::T*
return () → self::Extension2|get#method::T* => self::Extension2|method<self::Extension2|get#method::T*>(#this);
static method Extension2|genericMethod<T extends core::num*, S extends core::num*>(lowered final self::Class<self::Extension2|genericMethod::T*>* #this, self::Extension2|genericMethod::S* t) → self::Extension2|genericMethod::T*
- return #this.{self::Class::field2}.{core::num::+}(t) as{TypeError} self::Extension2|genericMethod::T*;
+ return #this.{self::Class::field2}{self::Extension2|genericMethod::T*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} self::Extension2|genericMethod::T*;
static method Extension2|get#genericMethod<T extends core::num*>(lowered final self::Class<self::Extension2|get#genericMethod::T*>* #this) → <S extends core::num*>(S*) →* self::Extension2|get#genericMethod::T*
return <S extends core::num*>(S* t) → self::Extension2|get#genericMethod::T* => self::Extension2|genericMethod<self::Extension2|get#genericMethod::T*, S*>(#this, t);
static method main() → dynamic {
@@ -85,11 +85,11 @@
() →* core::num* tearOffNumber1 = self::Extension1|get#method<core::num*>(c);
() →* core::int* tearOffInteger1 = self::Extension1|get#method<core::int*>(c);
() →* core::num* tearOff2 = self::Extension2|get#method<core::num*>(c);
- self::expect(42, tearOffNumber1.call());
+ self::expect(42, tearOffNumber1(){() →* core::num*});
self::expect("num", self::Extension1|latestType);
- self::expect(42, tearOffInteger1.call());
+ self::expect(42, tearOffInteger1(){() →* core::int*});
self::expect("int", self::Extension1|latestType);
- self::expect(87, tearOff2.call());
+ self::expect(87, tearOff2(){() →* core::num*});
self::expect(52, self::Extension1|genericMethod<core::num*, core::int*>(c, 10));
self::expect("num:int", self::Extension1|latestType);
self::expect(52, self::Extension1|genericMethod<core::int*, core::int*>(c, 10));
@@ -109,16 +109,16 @@
<S extends core::num*>(S*) →* core::num* genericTearOffNumber1 = self::Extension1|get#genericMethod<core::num*>(c);
<S extends core::num*>(S*) →* core::int* genericTearOffInteger1 = self::Extension1|get#genericMethod<core::int*>(c);
<S extends core::num*>(S*) →* core::num* genericTearOff2 = self::Extension2|get#genericMethod<core::num*>(c);
- self::expect(52, genericTearOffNumber1.call<core::int*>(10));
+ self::expect(52, genericTearOffNumber1<core::int*>(10){(core::int*) →* core::num*});
self::expect("num:int", self::Extension1|latestType);
- self::expect(52, genericTearOffInteger1.call<core::int*>(10));
+ self::expect(52, genericTearOffInteger1<core::int*>(10){(core::int*) →* core::int*});
self::expect("int:int", self::Extension1|latestType);
- self::expect(97, genericTearOff2.call<core::int*>(10));
- self::expect(52, genericTearOffNumber1.call<core::num*>(10));
+ self::expect(97, genericTearOff2<core::int*>(10){(core::int*) →* core::num*});
+ self::expect(52, genericTearOffNumber1<core::num*>(10){(core::num*) →* core::num*});
self::expect("num:num", self::Extension1|latestType);
- self::expect(52, genericTearOffInteger1.call<core::num*>(10));
+ self::expect(52, genericTearOffInteger1<core::num*>(10){(core::num*) →* core::int*});
self::expect("int:num", self::Extension1|latestType);
- self::expect(97, genericTearOff2.call<core::num*>(10));
+ self::expect(97, genericTearOff2<core::num*>(10){(core::num*) →* core::num*});
self::expect(23, let final self::Class<core::int*>* #t1 = c in let final core::int* #t2 = 23 in let final void #t3 = self::Extension1|set#field<core::num*>(#t1, #t2) in #t2);
self::expect("num", self::Extension1|latestType);
self::expect(23, let final self::Class<core::int*>* #t4 = c in let final core::int* #t5 = 23 in let final void #t6 = self::Extension1|set#field<core::int*>(#t4, #t5) in #t5);
@@ -128,7 +128,7 @@
self::expect(67, self::Extension2|get#field<core::num*>(c));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.transformed.expect
index 8f41bf6..a8c297a 100644
--- a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.transformed.expect
@@ -39,7 +39,7 @@
static field core::String* Extension1|latestType;
static method Extension1|get#field<T extends core::num*>(lowered final self::Class<self::Extension1|get#field::T*>* #this) → self::Extension1|get#field::T* {
self::Extension1|latestType = "${self::Extension1|get#field::T*}";
- return #this.{self::Class::field1};
+ return #this.{self::Class::field1}{self::Extension1|get#field::T*};
}
static method Extension1|set#field<T extends core::num*>(lowered final self::Class<self::Extension1|set#field::T*>* #this, self::Extension1|set#field::T* value) → void {
self::Extension1|latestType = "${self::Extension1|set#field::T*}";
@@ -47,27 +47,27 @@
}
static method Extension1|method<T extends core::num*>(lowered final self::Class<self::Extension1|method::T*>* #this) → self::Extension1|method::T* {
self::Extension1|latestType = "${self::Extension1|method::T*}";
- return #this.{self::Class::field1};
+ return #this.{self::Class::field1}{self::Extension1|method::T*};
}
static method Extension1|get#method<T extends core::num*>(lowered final self::Class<self::Extension1|get#method::T*>* #this) → () →* self::Extension1|get#method::T*
return () → self::Extension1|get#method::T* => self::Extension1|method<self::Extension1|get#method::T*>(#this);
static method Extension1|genericMethod<T extends core::num*, S extends core::num*>(lowered final self::Class<self::Extension1|genericMethod::T*>* #this, self::Extension1|genericMethod::S* t) → self::Extension1|genericMethod::T* {
self::Extension1|latestType = "${self::Extension1|genericMethod::T*}:${self::Extension1|genericMethod::S*}";
- return #this.{self::Class::field1}.{core::num::+}(t) as{TypeError} self::Extension1|genericMethod::T*;
+ return #this.{self::Class::field1}{self::Extension1|genericMethod::T*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} self::Extension1|genericMethod::T*;
}
static method Extension1|get#genericMethod<T extends core::num*>(lowered final self::Class<self::Extension1|get#genericMethod::T*>* #this) → <S extends core::num*>(S*) →* self::Extension1|get#genericMethod::T*
return <S extends core::num*>(S* t) → self::Extension1|get#genericMethod::T* => self::Extension1|genericMethod<self::Extension1|get#genericMethod::T*, S*>(#this, t);
static method Extension2|get#field<T extends core::num*>(lowered final self::Class<self::Extension2|get#field::T*>* #this) → self::Extension2|get#field::T*
- return #this.{self::Class::field2};
+ return #this.{self::Class::field2}{self::Extension2|get#field::T*};
static method Extension2|set#field<T extends core::num*>(lowered final self::Class<self::Extension2|set#field::T*>* #this, self::Extension2|set#field::T* value) → void {
#this.{self::Class::field2} = value;
}
static method Extension2|method<T extends core::num*>(lowered final self::Class<self::Extension2|method::T*>* #this) → self::Extension2|method::T*
- return #this.{self::Class::field2};
+ return #this.{self::Class::field2}{self::Extension2|method::T*};
static method Extension2|get#method<T extends core::num*>(lowered final self::Class<self::Extension2|get#method::T*>* #this) → () →* self::Extension2|get#method::T*
return () → self::Extension2|get#method::T* => self::Extension2|method<self::Extension2|get#method::T*>(#this);
static method Extension2|genericMethod<T extends core::num*, S extends core::num*>(lowered final self::Class<self::Extension2|genericMethod::T*>* #this, self::Extension2|genericMethod::S* t) → self::Extension2|genericMethod::T*
- return #this.{self::Class::field2}.{core::num::+}(t) as{TypeError} self::Extension2|genericMethod::T*;
+ return #this.{self::Class::field2}{self::Extension2|genericMethod::T*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} self::Extension2|genericMethod::T*;
static method Extension2|get#genericMethod<T extends core::num*>(lowered final self::Class<self::Extension2|get#genericMethod::T*>* #this) → <S extends core::num*>(S*) →* self::Extension2|get#genericMethod::T*
return <S extends core::num*>(S* t) → self::Extension2|get#genericMethod::T* => self::Extension2|genericMethod<self::Extension2|get#genericMethod::T*, S*>(#this, t);
static method main() → dynamic {
@@ -85,11 +85,11 @@
() →* core::num* tearOffNumber1 = self::Extension1|get#method<core::num*>(c);
() →* core::int* tearOffInteger1 = self::Extension1|get#method<core::int*>(c);
() →* core::num* tearOff2 = self::Extension2|get#method<core::num*>(c);
- self::expect(42, tearOffNumber1.call());
+ self::expect(42, tearOffNumber1(){() →* core::num*});
self::expect("num", self::Extension1|latestType);
- self::expect(42, tearOffInteger1.call());
+ self::expect(42, tearOffInteger1(){() →* core::int*});
self::expect("int", self::Extension1|latestType);
- self::expect(87, tearOff2.call());
+ self::expect(87, tearOff2(){() →* core::num*});
self::expect(52, self::Extension1|genericMethod<core::num*, core::int*>(c, 10));
self::expect("num:int", self::Extension1|latestType);
self::expect(52, self::Extension1|genericMethod<core::int*, core::int*>(c, 10));
@@ -109,16 +109,16 @@
<S extends core::num*>(S*) →* core::num* genericTearOffNumber1 = self::Extension1|get#genericMethod<core::num*>(c);
<S extends core::num*>(S*) →* core::int* genericTearOffInteger1 = self::Extension1|get#genericMethod<core::int*>(c);
<S extends core::num*>(S*) →* core::num* genericTearOff2 = self::Extension2|get#genericMethod<core::num*>(c);
- self::expect(52, genericTearOffNumber1.call<core::int*>(10));
+ self::expect(52, genericTearOffNumber1<core::int*>(10){(core::int*) →* core::num*});
self::expect("num:int", self::Extension1|latestType);
- self::expect(52, genericTearOffInteger1.call<core::int*>(10));
+ self::expect(52, genericTearOffInteger1<core::int*>(10){(core::int*) →* core::int*});
self::expect("int:int", self::Extension1|latestType);
- self::expect(97, genericTearOff2.call<core::int*>(10));
- self::expect(52, genericTearOffNumber1.call<core::num*>(10));
+ self::expect(97, genericTearOff2<core::int*>(10){(core::int*) →* core::num*});
+ self::expect(52, genericTearOffNumber1<core::num*>(10){(core::num*) →* core::num*});
self::expect("num:num", self::Extension1|latestType);
- self::expect(52, genericTearOffInteger1.call<core::num*>(10));
+ self::expect(52, genericTearOffInteger1<core::num*>(10){(core::num*) →* core::int*});
self::expect("int:num", self::Extension1|latestType);
- self::expect(97, genericTearOff2.call<core::num*>(10));
+ self::expect(97, genericTearOff2<core::num*>(10){(core::num*) →* core::num*});
self::expect(23, let final self::Class<core::int*>* #t1 = c in let final core::int* #t2 = 23 in let final void #t3 = self::Extension1|set#field<core::num*>(#t1, #t2) in #t2);
self::expect("num", self::Extension1|latestType);
self::expect(23, let final self::Class<core::int*>* #t4 = c in let final core::int* #t5 = 23 in let final void #t6 = self::Extension1|set#field<core::int*>(#t4, #t5) in #t5);
@@ -128,7 +128,7 @@
self::expect(67, self::Extension2|get#field<core::num*>(c));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.weak.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.weak.expect
index f13b8bd..9328ef6 100644
--- a/pkg/front_end/testcases/extensions/explicit_this.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/explicit_this.dart.weak.expect
@@ -28,11 +28,11 @@
tearoff method4 = self::A2|get#method4;
}
static method A2|method2(lowered final self::A1* #this) → void
- return #this.{self::A1::method1}();
+ return #this.{self::A1::method1}(){() →* void};
static method A2|get#method2(lowered final self::A1* #this) → () →* void
return () → void => self::A2|method2(#this);
static method A2|method3(lowered final self::A1* #this) → core::Object*
- return #this.{self::A1::field};
+ return #this.{self::A1::field}{core::Object*};
static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
return () → core::Object* => self::A2|method3(#this);
static method A2|method4(lowered final self::A1* #this, core::Object* o) → void {
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.weak.transformed.expect
index f13b8bd..9328ef6 100644
--- a/pkg/front_end/testcases/extensions/explicit_this.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/explicit_this.dart.weak.transformed.expect
@@ -28,11 +28,11 @@
tearoff method4 = self::A2|get#method4;
}
static method A2|method2(lowered final self::A1* #this) → void
- return #this.{self::A1::method1}();
+ return #this.{self::A1::method1}(){() →* void};
static method A2|get#method2(lowered final self::A1* #this) → () →* void
return () → void => self::A2|method2(#this);
static method A2|method3(lowered final self::A1* #this) → core::Object*
- return #this.{self::A1::field};
+ return #this.{self::A1::field}{core::Object*};
static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
return () → core::Object* => self::A2|method3(#this);
static method A2|method4(lowered final self::A1* #this, core::Object* o) → void {
diff --git a/pkg/front_end/testcases/extensions/extension_call.dart.weak.expect b/pkg/front_end/testcases/extensions/extension_call.dart.weak.expect
index 12c9cd8..c6d89be 100644
--- a/pkg/front_end/testcases/extensions/extension_call.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/extension_call.dart.weak.expect
@@ -24,7 +24,7 @@
tearoff call = self::Extension|get#call;
}
static method Extension|call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|call::T*>* #this, self::Extension|call::T* a) → self::Extension|call::T*
- return #this.{self::Class::method}(a);
+ return #this.{self::Class::method}(a){(self::Extension|call::T*) →* self::Extension|call::T*};
static method Extension|get#call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#call::T*>* #this) → (self::Extension|get#call::T*) →* self::Extension|get#call::T*
return (self::Extension|get#call::T* a) → self::Extension|get#call::T* => self::Extension|call<self::Extension|get#call::T*>(#this, a);
static method main() → dynamic {
@@ -37,7 +37,7 @@
self::expect(123, self::Extension|call<core::int*>(c, 123));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/extension_call.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/extension_call.dart.weak.transformed.expect
index 12c9cd8..c6d89be 100644
--- a/pkg/front_end/testcases/extensions/extension_call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/extension_call.dart.weak.transformed.expect
@@ -24,7 +24,7 @@
tearoff call = self::Extension|get#call;
}
static method Extension|call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|call::T*>* #this, self::Extension|call::T* a) → self::Extension|call::T*
- return #this.{self::Class::method}(a);
+ return #this.{self::Class::method}(a){(self::Extension|call::T*) →* self::Extension|call::T*};
static method Extension|get#call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#call::T*>* #this) → (self::Extension|get#call::T*) →* self::Extension|get#call::T*
return (self::Extension|get#call::T* a) → self::Extension|get#call::T* => self::Extension|call<self::Extension|get#call::T*>(#this, a);
static method main() → dynamic {
@@ -37,7 +37,7 @@
self::expect(123, self::Extension|call<core::int*>(c, 123));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.expect b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.expect
index e1fc1ee..3578f8e 100644
--- a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.expect
@@ -85,16 +85,16 @@
static field core::int* E|field2 = (() → Null {
invalid-type x = null;
return null;
-}).call();
+})(){() →* Null};
static field core::List<invalid-type>* E|field3 = null;
static field (invalid-type) →* invalid-type E|field4 = null;
static field (core::List<invalid-type>*) →* core::List<invalid-type>* E|field5 = null;
static field core::int* E|field6 = (<E extends core::Object* = dynamic>() → Null {
E* x = null;
return null;
-}).call<core::String*>();
+})<core::String*>(){() →* Null};
static field core::int* E|field7 = (<E extends core::Object* = dynamic>() → Null {
E* x = null;
return null;
-}).call<invalid-type>();
+})<invalid-type>(){() →* Null};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.transformed.expect
index e1fc1ee..3578f8e 100644
--- a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.transformed.expect
@@ -85,16 +85,16 @@
static field core::int* E|field2 = (() → Null {
invalid-type x = null;
return null;
-}).call();
+})(){() →* Null};
static field core::List<invalid-type>* E|field3 = null;
static field (invalid-type) →* invalid-type E|field4 = null;
static field (core::List<invalid-type>*) →* core::List<invalid-type>* E|field5 = null;
static field core::int* E|field6 = (<E extends core::Object* = dynamic>() → Null {
E* x = null;
return null;
-}).call<core::String*>();
+})<core::String*>(){() →* Null};
static field core::int* E|field7 = (<E extends core::Object* = dynamic>() → Null {
E* x = null;
return null;
-}).call<invalid-type>();
+})<invalid-type>(){() →* Null};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.weak.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.weak.expect
index fd6fddd..dd3ee97 100644
--- a/pkg/front_end/testcases/extensions/extension_methods.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/extension_methods.dart.weak.expect
@@ -29,6 +29,6 @@
return 2;
static method main() → dynamic {
self::C* c = new self::C::•();
- core::int* result = c.{self::C::one}.{core::num::+}(self::E|get#two(c));
+ core::int* result = c.{self::C::one}{core::int*}.{core::num::+}(self::E|get#two(c)){(core::num*) →* core::int*};
exp::Expect::equals(result, 3);
}
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.weak.transformed.expect
index fd6fddd..dd3ee97 100644
--- a/pkg/front_end/testcases/extensions/extension_methods.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/extension_methods.dart.weak.transformed.expect
@@ -29,6 +29,6 @@
return 2;
static method main() → dynamic {
self::C* c = new self::C::•();
- core::int* result = c.{self::C::one}.{core::num::+}(self::E|get#two(c));
+ core::int* result = c.{self::C::one}{core::int*}.{core::num::+}(self::E|get#two(c)){(core::num*) →* core::int*};
exp::Expect::equals(result, 3);
}
diff --git a/pkg/front_end/testcases/extensions/extension_setter.dart.weak.expect b/pkg/front_end/testcases/extensions/extension_setter.dart.weak.expect
index ce8e8ef..049dae0 100644
--- a/pkg/front_end/testcases/extensions/extension_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/extension_setter.dart.weak.expect
@@ -49,175 +49,175 @@
set setter = self::GenericExtension|set#setter;
}
static method Extension|get#simpleSetter(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#simpleSetter(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field} = value;
}
static method Extension|get#mutatingSetter(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#mutatingSetter(lowered final self::Class* #this, core::int* value) → void {
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
#this.{self::Class::field} = value;
}
static method Extension|get#setterWithReturn(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#setterWithReturn(lowered final self::Class* #this, core::int* value) → void {
- if(value.{core::num::<}(0)) {
- #this.{self::Class::field} = value.{core::int::unary-}();
+ if(value.{core::num::<}(0){(core::num*) →* core::bool*}) {
+ #this.{self::Class::field} = value.{core::int::unary-}(){() →* core::int*};
return;
}
#this.{self::Class::field} = value;
}
static method Extension|get#setterWithClosure(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#setterWithClosure(lowered final self::Class* #this, core::int* value) → void {
function abs(dynamic value) → dynamic {
- return value.<(0) as{TypeError,ForDynamic} core::bool* ?{dynamic} value.unary-() : value;
+ return value{dynamic}.<(0) as{TypeError,ForDynamic} core::bool* ?{dynamic} value{dynamic}.unary-() : value;
}
- #this.{self::Class::field} = abs.call(value) as{TypeError,ForDynamic} core::int*;
+ #this.{self::Class::field} = abs(value){(dynamic) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method Extension|testInternal(lowered final self::Class* #this) → dynamic {
- self::expect(null, #this.{self::Class::field});
+ self::expect(null, #this.{self::Class::field}{core::int*});
self::Extension|set#simpleSetter(#this, 0);
- self::expect(0, #this.{self::Class::field});
+ self::expect(0, #this.{self::Class::field}{core::int*});
self::expect(1, let final core::int* #t1 = 1 in let final void #t2 = self::Extension|set#simpleSetter(#this, #t1) in #t1);
self::Extension|set#mutatingSetter(#this, 0);
- self::expect(1, #this.{self::Class::field});
+ self::expect(1, #this.{self::Class::field}{core::int*});
self::expect(2, let final core::int* #t3 = 2 in let final void #t4 = self::Extension|set#mutatingSetter(#this, #t3) in #t3);
- self::expect(3, #this.{self::Class::field});
+ self::expect(3, #this.{self::Class::field}{core::int*});
self::Extension|set#setterWithReturn(#this, 1);
- self::expect(1, #this.{self::Class::field});
- self::Extension|set#setterWithReturn(#this, 2.{core::int::unary-}());
- self::expect(2, #this.{self::Class::field});
+ self::expect(1, #this.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithReturn(#this, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, #this.{self::Class::field}{core::int*});
self::expect(3, let final core::int* #t5 = 3 in let final void #t6 = self::Extension|set#setterWithReturn(#this, #t5) in #t5);
- self::expect(3, #this.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final core::int* #t7 = 4.{core::int::unary-}() in let final void #t8 = self::Extension|set#setterWithReturn(#this, #t7) in #t7);
- self::expect(4, #this.{self::Class::field});
+ self::expect(3, #this.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final core::int* #t7 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t8 = self::Extension|set#setterWithReturn(#this, #t7) in #t7);
+ self::expect(4, #this.{self::Class::field}{core::int*});
self::Extension|set#setterWithClosure(#this, 1);
- self::expect(1, #this.{self::Class::field});
- self::Extension|set#setterWithClosure(#this, 2.{core::int::unary-}());
- self::expect(2, #this.{self::Class::field});
+ self::expect(1, #this.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithClosure(#this, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, #this.{self::Class::field}{core::int*});
self::expect(3, let final core::int* #t9 = 3 in let final void #t10 = self::Extension|set#setterWithClosure(#this, #t9) in #t9);
- self::expect(3, #this.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final core::int* #t11 = 4.{core::int::unary-}() in let final void #t12 = self::Extension|set#setterWithClosure(#this, #t11) in #t11);
- self::expect(4, #this.{self::Class::field});
+ self::expect(3, #this.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final core::int* #t11 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t12 = self::Extension|set#setterWithClosure(#this, #t11) in #t11);
+ self::expect(4, #this.{self::Class::field}{core::int*});
}
static method Extension|get#testInternal(lowered final self::Class* #this) → () →* dynamic
return () → dynamic => self::Extension|testInternal(#this);
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
static method main() → dynamic {
self::Class* c = new self::Class::•();
- self::expect(null, c.{self::Class::field});
+ self::expect(null, c.{self::Class::field}{core::int*});
self::Extension|set#simpleSetter(c, 0);
- self::expect(0, c.{self::Class::field});
+ self::expect(0, c.{self::Class::field}{core::int*});
self::expect(1, let final core::int* #t13 = 1 in let final void #t14 = self::Extension|set#simpleSetter(c, #t13) in #t13);
self::Extension|set#simpleSetter(c, 2);
- self::expect(2, c.{self::Class::field});
+ self::expect(2, c.{self::Class::field}{core::int*});
self::expect(3, let final self::Class* #t15 = c in let final core::int* #t16 = 3 in let final void #t17 = self::Extension|set#simpleSetter(#t15, #t16) in #t16);
self::Extension|set#mutatingSetter(c, 0);
- self::expect(1, c.{self::Class::field});
+ self::expect(1, c.{self::Class::field}{core::int*});
self::expect(2, let final core::int* #t18 = 2 in let final void #t19 = self::Extension|set#mutatingSetter(c, #t18) in #t18);
- self::expect(3, c.{self::Class::field});
+ self::expect(3, c.{self::Class::field}{core::int*});
self::Extension|set#mutatingSetter(c, 4);
- self::expect(5, c.{self::Class::field});
+ self::expect(5, c.{self::Class::field}{core::int*});
self::expect(6, let final self::Class* #t20 = c in let final core::int* #t21 = 6 in let final void #t22 = self::Extension|set#mutatingSetter(#t20, #t21) in #t21);
- self::expect(7, c.{self::Class::field});
+ self::expect(7, c.{self::Class::field}{core::int*});
self::Extension|set#setterWithReturn(c, 1);
- self::expect(1, c.{self::Class::field});
- self::Extension|set#setterWithReturn(c, 2.{core::int::unary-}());
- self::expect(2, c.{self::Class::field});
+ self::expect(1, c.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithReturn(c, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, c.{self::Class::field}{core::int*});
self::expect(3, let final core::int* #t23 = 3 in let final void #t24 = self::Extension|set#setterWithReturn(c, #t23) in #t23);
- self::expect(3, c.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final core::int* #t25 = 4.{core::int::unary-}() in let final void #t26 = self::Extension|set#setterWithReturn(c, #t25) in #t25);
- self::expect(4, c.{self::Class::field});
+ self::expect(3, c.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final core::int* #t25 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t26 = self::Extension|set#setterWithReturn(c, #t25) in #t25);
+ self::expect(4, c.{self::Class::field}{core::int*});
self::Extension|set#setterWithReturn(c, 5);
- self::expect(5, c.{self::Class::field});
- self::Extension|set#setterWithReturn(c, 6.{core::int::unary-}());
- self::expect(6, c.{self::Class::field});
+ self::expect(5, c.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithReturn(c, 6.{core::int::unary-}(){() →* core::int*});
+ self::expect(6, c.{self::Class::field}{core::int*});
self::expect(7, let final self::Class* #t27 = c in let final core::int* #t28 = 7 in let final void #t29 = self::Extension|set#setterWithReturn(#t27, #t28) in #t28);
- self::expect(7, c.{self::Class::field});
- self::expect(8.{core::int::unary-}(), let final self::Class* #t30 = c in let final core::int* #t31 = 8.{core::int::unary-}() in let final void #t32 = self::Extension|set#setterWithReturn(#t30, #t31) in #t31);
- self::expect(8, c.{self::Class::field});
+ self::expect(7, c.{self::Class::field}{core::int*});
+ self::expect(8.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t30 = c in let final core::int* #t31 = 8.{core::int::unary-}(){() →* core::int*} in let final void #t32 = self::Extension|set#setterWithReturn(#t30, #t31) in #t31);
+ self::expect(8, c.{self::Class::field}{core::int*});
self::Extension|set#setterWithClosure(c, 1);
- self::expect(1, c.{self::Class::field});
- self::Extension|set#setterWithClosure(c, 2.{core::int::unary-}());
- self::expect(2, c.{self::Class::field});
+ self::expect(1, c.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithClosure(c, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, c.{self::Class::field}{core::int*});
self::expect(3, let final core::int* #t33 = 3 in let final void #t34 = self::Extension|set#setterWithClosure(c, #t33) in #t33);
- self::expect(3, c.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final core::int* #t35 = 4.{core::int::unary-}() in let final void #t36 = self::Extension|set#setterWithClosure(c, #t35) in #t35);
- self::expect(4, c.{self::Class::field});
+ self::expect(3, c.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final core::int* #t35 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t36 = self::Extension|set#setterWithClosure(c, #t35) in #t35);
+ self::expect(4, c.{self::Class::field}{core::int*});
self::Extension|set#setterWithClosure(c, 5);
- self::expect(5, c.{self::Class::field});
- self::Extension|set#setterWithClosure(c, 6.{core::int::unary-}());
- self::expect(6, c.{self::Class::field});
+ self::expect(5, c.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithClosure(c, 6.{core::int::unary-}(){() →* core::int*});
+ self::expect(6, c.{self::Class::field}{core::int*});
self::expect(7, let final self::Class* #t37 = c in let final core::int* #t38 = 7 in let final void #t39 = self::Extension|set#setterWithClosure(#t37, #t38) in #t38);
- self::expect(7, c.{self::Class::field});
- self::expect(8.{core::int::unary-}(), let final self::Class* #t40 = c in let final core::int* #t41 = 8.{core::int::unary-}() in let final void #t42 = self::Extension|set#setterWithClosure(#t40, #t41) in #t41);
- self::expect(8, c.{self::Class::field});
+ self::expect(7, c.{self::Class::field}{core::int*});
+ self::expect(8.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t40 = c in let final core::int* #t41 = 8.{core::int::unary-}(){() →* core::int*} in let final void #t42 = self::Extension|set#setterWithClosure(#t40, #t41) in #t41);
+ self::expect(8, c.{self::Class::field}{core::int*});
self::Extension|set#simpleSetter(c, 0);
- self::expect(0, let final self::Class* #t43 = c in #t43.{self::Class::==}(null) ?{core::int*} null : #t43.{self::Class::field});
- self::expect(1, let final self::Class* #t44 = c in #t44.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t45 = 1 in let final void #t46 = self::Extension|set#simpleSetter(#t44, #t45) in #t45);
+ self::expect(0, let final self::Class* #t43 = c in #t43 == null ?{core::int*} null : #t43.{self::Class::field}{core::int*});
+ self::expect(1, let final self::Class* #t44 = c in #t44 == null ?{core::int*} null : let final core::int* #t45 = 1 in let final void #t46 = self::Extension|set#simpleSetter(#t44, #t45) in #t45);
self::Extension|set#simpleSetter(c, 2);
- self::expect(2, let final self::Class* #t47 = c in #t47.{self::Class::==}(null) ?{core::int*} null : #t47.{self::Class::field});
+ self::expect(2, let final self::Class* #t47 = c in #t47 == null ?{core::int*} null : #t47.{self::Class::field}{core::int*});
self::expect(3, let final self::Class* #t48 = c in let final core::int* #t49 = 3 in let final void #t50 = self::Extension|set#simpleSetter(#t48, #t49) in #t49);
self::Extension|set#mutatingSetter(c, 0);
- self::expect(1, let final self::Class* #t51 = c in #t51.{self::Class::==}(null) ?{core::int*} null : #t51.{self::Class::field});
- self::expect(2, let final self::Class* #t52 = c in #t52.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t53 = 2 in let final void #t54 = self::Extension|set#mutatingSetter(#t52, #t53) in #t53);
- self::expect(3, let final self::Class* #t55 = c in #t55.{self::Class::==}(null) ?{core::int*} null : #t55.{self::Class::field});
+ self::expect(1, let final self::Class* #t51 = c in #t51 == null ?{core::int*} null : #t51.{self::Class::field}{core::int*});
+ self::expect(2, let final self::Class* #t52 = c in #t52 == null ?{core::int*} null : let final core::int* #t53 = 2 in let final void #t54 = self::Extension|set#mutatingSetter(#t52, #t53) in #t53);
+ self::expect(3, let final self::Class* #t55 = c in #t55 == null ?{core::int*} null : #t55.{self::Class::field}{core::int*});
self::Extension|set#mutatingSetter(c, 4);
- self::expect(5, let final self::Class* #t56 = c in #t56.{self::Class::==}(null) ?{core::int*} null : #t56.{self::Class::field});
+ self::expect(5, let final self::Class* #t56 = c in #t56 == null ?{core::int*} null : #t56.{self::Class::field}{core::int*});
self::expect(6, let final self::Class* #t57 = c in let final core::int* #t58 = 6 in let final void #t59 = self::Extension|set#mutatingSetter(#t57, #t58) in #t58);
- self::expect(7, let final self::Class* #t60 = c in #t60.{self::Class::==}(null) ?{core::int*} null : #t60.{self::Class::field});
- let final self::Class* #t61 = c in #t61.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#setterWithReturn(#t61, 1);
- self::expect(1, let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{core::int*} null : #t62.{self::Class::field});
- let final self::Class* #t63 = c in #t63.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#setterWithReturn(#t63, 2.{core::int::unary-}());
- self::expect(2, let final self::Class* #t64 = c in #t64.{self::Class::==}(null) ?{core::int*} null : #t64.{self::Class::field});
- self::expect(3, let final self::Class* #t65 = c in #t65.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t66 = 3 in let final void #t67 = self::Extension|set#setterWithReturn(#t65, #t66) in #t66);
- self::expect(3, let final self::Class* #t68 = c in #t68.{self::Class::==}(null) ?{core::int*} null : #t68.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final self::Class* #t69 = c in #t69.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t70 = 4.{core::int::unary-}() in let final void #t71 = self::Extension|set#setterWithReturn(#t69, #t70) in #t70);
- self::expect(4, let final self::Class* #t72 = c in #t72.{self::Class::==}(null) ?{core::int*} null : #t72.{self::Class::field});
+ self::expect(7, let final self::Class* #t60 = c in #t60 == null ?{core::int*} null : #t60.{self::Class::field}{core::int*});
+ let final self::Class* #t61 = c in #t61 == null ?{core::int*} null : self::Extension|set#setterWithReturn(#t61, 1);
+ self::expect(1, let final self::Class* #t62 = c in #t62 == null ?{core::int*} null : #t62.{self::Class::field}{core::int*});
+ let final self::Class* #t63 = c in #t63 == null ?{core::int*} null : self::Extension|set#setterWithReturn(#t63, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, let final self::Class* #t64 = c in #t64 == null ?{core::int*} null : #t64.{self::Class::field}{core::int*});
+ self::expect(3, let final self::Class* #t65 = c in #t65 == null ?{core::int*} null : let final core::int* #t66 = 3 in let final void #t67 = self::Extension|set#setterWithReturn(#t65, #t66) in #t66);
+ self::expect(3, let final self::Class* #t68 = c in #t68 == null ?{core::int*} null : #t68.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t69 = c in #t69 == null ?{core::int*} null : let final core::int* #t70 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t71 = self::Extension|set#setterWithReturn(#t69, #t70) in #t70);
+ self::expect(4, let final self::Class* #t72 = c in #t72 == null ?{core::int*} null : #t72.{self::Class::field}{core::int*});
self::Extension|set#setterWithReturn(c, 5);
- self::expect(5, let final self::Class* #t73 = c in #t73.{self::Class::==}(null) ?{core::int*} null : #t73.{self::Class::field});
- self::Extension|set#setterWithReturn(c, 6.{core::int::unary-}());
- self::expect(6, let final self::Class* #t74 = c in #t74.{self::Class::==}(null) ?{core::int*} null : #t74.{self::Class::field});
+ self::expect(5, let final self::Class* #t73 = c in #t73 == null ?{core::int*} null : #t73.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithReturn(c, 6.{core::int::unary-}(){() →* core::int*});
+ self::expect(6, let final self::Class* #t74 = c in #t74 == null ?{core::int*} null : #t74.{self::Class::field}{core::int*});
self::expect(7, let final self::Class* #t75 = c in let final core::int* #t76 = 7 in let final void #t77 = self::Extension|set#setterWithReturn(#t75, #t76) in #t76);
- self::expect(7, let final self::Class* #t78 = c in #t78.{self::Class::==}(null) ?{core::int*} null : #t78.{self::Class::field});
- self::expect(8.{core::int::unary-}(), let final self::Class* #t79 = c in let final core::int* #t80 = 8.{core::int::unary-}() in let final void #t81 = self::Extension|set#setterWithReturn(#t79, #t80) in #t80);
- self::expect(8, let final self::Class* #t82 = c in #t82.{self::Class::==}(null) ?{core::int*} null : #t82.{self::Class::field});
- let final self::Class* #t83 = c in #t83.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#setterWithClosure(#t83, 1);
- self::expect(1, let final self::Class* #t84 = c in #t84.{self::Class::==}(null) ?{core::int*} null : #t84.{self::Class::field});
- let final self::Class* #t85 = c in #t85.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#setterWithClosure(#t85, 2.{core::int::unary-}());
- self::expect(2, let final self::Class* #t86 = c in #t86.{self::Class::==}(null) ?{core::int*} null : #t86.{self::Class::field});
- self::expect(3, let final self::Class* #t87 = c in #t87.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t88 = 3 in let final void #t89 = self::Extension|set#setterWithClosure(#t87, #t88) in #t88);
- self::expect(3, let final self::Class* #t90 = c in #t90.{self::Class::==}(null) ?{core::int*} null : #t90.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final self::Class* #t91 = c in #t91.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t92 = 4.{core::int::unary-}() in let final void #t93 = self::Extension|set#setterWithClosure(#t91, #t92) in #t92);
- self::expect(4, let final self::Class* #t94 = c in #t94.{self::Class::==}(null) ?{core::int*} null : #t94.{self::Class::field});
+ self::expect(7, let final self::Class* #t78 = c in #t78 == null ?{core::int*} null : #t78.{self::Class::field}{core::int*});
+ self::expect(8.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t79 = c in let final core::int* #t80 = 8.{core::int::unary-}(){() →* core::int*} in let final void #t81 = self::Extension|set#setterWithReturn(#t79, #t80) in #t80);
+ self::expect(8, let final self::Class* #t82 = c in #t82 == null ?{core::int*} null : #t82.{self::Class::field}{core::int*});
+ let final self::Class* #t83 = c in #t83 == null ?{core::int*} null : self::Extension|set#setterWithClosure(#t83, 1);
+ self::expect(1, let final self::Class* #t84 = c in #t84 == null ?{core::int*} null : #t84.{self::Class::field}{core::int*});
+ let final self::Class* #t85 = c in #t85 == null ?{core::int*} null : self::Extension|set#setterWithClosure(#t85, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, let final self::Class* #t86 = c in #t86 == null ?{core::int*} null : #t86.{self::Class::field}{core::int*});
+ self::expect(3, let final self::Class* #t87 = c in #t87 == null ?{core::int*} null : let final core::int* #t88 = 3 in let final void #t89 = self::Extension|set#setterWithClosure(#t87, #t88) in #t88);
+ self::expect(3, let final self::Class* #t90 = c in #t90 == null ?{core::int*} null : #t90.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t91 = c in #t91 == null ?{core::int*} null : let final core::int* #t92 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t93 = self::Extension|set#setterWithClosure(#t91, #t92) in #t92);
+ self::expect(4, let final self::Class* #t94 = c in #t94 == null ?{core::int*} null : #t94.{self::Class::field}{core::int*});
self::Extension|set#setterWithClosure(c, 5);
- self::expect(5, let final self::Class* #t95 = c in #t95.{self::Class::==}(null) ?{core::int*} null : #t95.{self::Class::field});
- self::Extension|set#setterWithClosure(c, 6.{core::int::unary-}());
- self::expect(6, let final self::Class* #t96 = c in #t96.{self::Class::==}(null) ?{core::int*} null : #t96.{self::Class::field});
+ self::expect(5, let final self::Class* #t95 = c in #t95 == null ?{core::int*} null : #t95.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithClosure(c, 6.{core::int::unary-}(){() →* core::int*});
+ self::expect(6, let final self::Class* #t96 = c in #t96 == null ?{core::int*} null : #t96.{self::Class::field}{core::int*});
self::expect(7, let final self::Class* #t97 = c in let final core::int* #t98 = 7 in let final void #t99 = self::Extension|set#setterWithClosure(#t97, #t98) in #t98);
- self::expect(7, let final self::Class* #t100 = c in #t100.{self::Class::==}(null) ?{core::int*} null : #t100.{self::Class::field});
- self::expect(8.{core::int::unary-}(), let final self::Class* #t101 = c in let final core::int* #t102 = 8.{core::int::unary-}() in let final void #t103 = self::Extension|set#setterWithClosure(#t101, #t102) in #t102);
- self::expect(8, let final self::Class* #t104 = c in #t104.{self::Class::==}(null) ?{core::int*} null : #t104.{self::Class::field});
+ self::expect(7, let final self::Class* #t100 = c in #t100 == null ?{core::int*} null : #t100.{self::Class::field}{core::int*});
+ self::expect(8.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t101 = c in let final core::int* #t102 = 8.{core::int::unary-}(){() →* core::int*} in let final void #t103 = self::Extension|set#setterWithClosure(#t101, #t102) in #t102);
+ self::expect(8, let final self::Class* #t104 = c in #t104 == null ?{core::int*} null : #t104.{self::Class::field}{core::int*});
c.{self::Class::field} = null;
- let final self::Class* #t105 = c in self::Extension|get#simpleSetter(#t105).{core::num::==}(null) ?{core::int*} self::Extension|set#simpleSetter(#t105, 1) : null;
- self::expect(1, c.{self::Class::field});
- self::expect(1, let final self::Class* #t106 = c in let final core::int* #t107 = self::Extension|get#simpleSetter(#t106) in #t107.{core::num::==}(null) ?{core::int*} let final core::int* #t108 = 2 in let final void #t109 = self::Extension|set#simpleSetter(#t106, #t108) in #t108 : #t107);
+ let final self::Class* #t105 = c in self::Extension|get#simpleSetter(#t105) == null ?{core::int*} self::Extension|set#simpleSetter(#t105, 1) : null;
+ self::expect(1, c.{self::Class::field}{core::int*});
+ self::expect(1, let final self::Class* #t106 = c in let final core::int* #t107 = self::Extension|get#simpleSetter(#t106) in #t107 == null ?{core::int*} let final core::int* #t108 = 2 in let final void #t109 = self::Extension|set#simpleSetter(#t106, #t108) in #t108 : #t107);
c.{self::Class::field} = null;
- self::expect(2, let final self::Class* #t110 = c in let final core::int* #t111 = self::Extension|get#simpleSetter(#t110) in #t111.{core::num::==}(null) ?{core::int*} let final core::int* #t112 = 2 in let final void #t113 = self::Extension|set#simpleSetter(#t110, #t112) in #t112 : #t111);
- let final self::Class* #t114 = c in #t114.{self::Class::==}(null) ?{Null} null : #t114.{self::Class::field} = null;
- let final self::Class* #t115 = c in #t115.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#simpleSetter(#t115).{core::num::==}(null) ?{core::int*} self::Extension|set#simpleSetter(#t115, 1) : null;
- self::expect(1, let final self::Class* #t116 = c in #t116.{self::Class::==}(null) ?{core::int*} null : #t116.{self::Class::field});
- self::expect(1, let final self::Class* #t117 = c in #t117.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t118 = self::Extension|get#simpleSetter(#t117) in #t118.{core::num::==}(null) ?{core::int*} let final core::int* #t119 = 2 in let final void #t120 = self::Extension|set#simpleSetter(#t117, #t119) in #t119 : #t118);
- let final self::Class* #t121 = c in #t121.{self::Class::==}(null) ?{Null} null : #t121.{self::Class::field} = null;
- self::expect(2, let final self::Class* #t122 = c in #t122.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t123 = self::Extension|get#simpleSetter(#t122) in #t123.{core::num::==}(null) ?{core::int*} let final core::int* #t124 = 2 in let final void #t125 = self::Extension|set#simpleSetter(#t122, #t124) in #t124 : #t123);
+ self::expect(2, let final self::Class* #t110 = c in let final core::int* #t111 = self::Extension|get#simpleSetter(#t110) in #t111 == null ?{core::int*} let final core::int* #t112 = 2 in let final void #t113 = self::Extension|set#simpleSetter(#t110, #t112) in #t112 : #t111);
+ let final self::Class* #t114 = c in #t114 == null ?{Null} null : #t114.{self::Class::field} = null;
+ let final self::Class* #t115 = c in #t115 == null ?{core::int*} null : self::Extension|get#simpleSetter(#t115) == null ?{core::int*} self::Extension|set#simpleSetter(#t115, 1) : null;
+ self::expect(1, let final self::Class* #t116 = c in #t116 == null ?{core::int*} null : #t116.{self::Class::field}{core::int*});
+ self::expect(1, let final self::Class* #t117 = c in #t117 == null ?{core::int*} null : let final core::int* #t118 = self::Extension|get#simpleSetter(#t117) in #t118 == null ?{core::int*} let final core::int* #t119 = 2 in let final void #t120 = self::Extension|set#simpleSetter(#t117, #t119) in #t119 : #t118);
+ let final self::Class* #t121 = c in #t121 == null ?{Null} null : #t121.{self::Class::field} = null;
+ self::expect(2, let final self::Class* #t122 = c in #t122 == null ?{core::int*} null : let final core::int* #t123 = self::Extension|get#simpleSetter(#t122) in #t123 == null ?{core::int*} let final core::int* #t124 = 2 in let final void #t125 = self::Extension|set#simpleSetter(#t122, #t124) in #t124 : #t123);
self::Extension|testInternal(new self::Class::•());
self::GenericClass<core::int*>* genericClass = new self::GenericClass::•<core::int*>();
self::expect(1, let final self::GenericClass<core::int*>* #t126 = genericClass in let final core::int* #t127 = 1 in let final void #t128 = self::GenericExtension|set#setter<core::int*>(#t126, #t127) in #t127);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/extension_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/extension_setter.dart.weak.transformed.expect
index 37d083c..27a9a41 100644
--- a/pkg/front_end/testcases/extensions/extension_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/extension_setter.dart.weak.transformed.expect
@@ -49,175 +49,175 @@
set setter = self::GenericExtension|set#setter;
}
static method Extension|get#simpleSetter(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#simpleSetter(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field} = value;
}
static method Extension|get#mutatingSetter(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#mutatingSetter(lowered final self::Class* #this, core::int* value) → void {
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
#this.{self::Class::field} = value;
}
static method Extension|get#setterWithReturn(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#setterWithReturn(lowered final self::Class* #this, core::int* value) → void {
- if(value.{core::num::<}(0)) {
- #this.{self::Class::field} = value.{core::int::unary-}();
+ if(value.{core::num::<}(0){(core::num*) →* core::bool*}) {
+ #this.{self::Class::field} = value.{core::int::unary-}(){() →* core::int*};
return;
}
#this.{self::Class::field} = value;
}
static method Extension|get#setterWithClosure(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#setterWithClosure(lowered final self::Class* #this, core::int* value) → void {
function abs(dynamic value) → dynamic {
- return value.<(0) as{TypeError,ForDynamic} core::bool* ?{dynamic} value.unary-() : value;
+ return value{dynamic}.<(0) as{TypeError,ForDynamic} core::bool* ?{dynamic} value{dynamic}.unary-() : value;
}
- #this.{self::Class::field} = abs.call(value) as{TypeError,ForDynamic} core::int*;
+ #this.{self::Class::field} = abs(value){(dynamic) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method Extension|testInternal(lowered final self::Class* #this) → dynamic {
- self::expect(null, #this.{self::Class::field});
+ self::expect(null, #this.{self::Class::field}{core::int*});
self::Extension|set#simpleSetter(#this, 0);
- self::expect(0, #this.{self::Class::field});
+ self::expect(0, #this.{self::Class::field}{core::int*});
self::expect(1, let final core::int* #t1 = 1 in let final void #t2 = self::Extension|set#simpleSetter(#this, #t1) in #t1);
self::Extension|set#mutatingSetter(#this, 0);
- self::expect(1, #this.{self::Class::field});
+ self::expect(1, #this.{self::Class::field}{core::int*});
self::expect(2, let final core::int* #t3 = 2 in let final void #t4 = self::Extension|set#mutatingSetter(#this, #t3) in #t3);
- self::expect(3, #this.{self::Class::field});
+ self::expect(3, #this.{self::Class::field}{core::int*});
self::Extension|set#setterWithReturn(#this, 1);
- self::expect(1, #this.{self::Class::field});
- self::Extension|set#setterWithReturn(#this, 2.{core::int::unary-}());
- self::expect(2, #this.{self::Class::field});
+ self::expect(1, #this.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithReturn(#this, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, #this.{self::Class::field}{core::int*});
self::expect(3, let final core::int* #t5 = 3 in let final void #t6 = self::Extension|set#setterWithReturn(#this, #t5) in #t5);
- self::expect(3, #this.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final core::int* #t7 = 4.{core::int::unary-}() in let final void #t8 = self::Extension|set#setterWithReturn(#this, #t7) in #t7);
- self::expect(4, #this.{self::Class::field});
+ self::expect(3, #this.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final core::int* #t7 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t8 = self::Extension|set#setterWithReturn(#this, #t7) in #t7);
+ self::expect(4, #this.{self::Class::field}{core::int*});
self::Extension|set#setterWithClosure(#this, 1);
- self::expect(1, #this.{self::Class::field});
- self::Extension|set#setterWithClosure(#this, 2.{core::int::unary-}());
- self::expect(2, #this.{self::Class::field});
+ self::expect(1, #this.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithClosure(#this, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, #this.{self::Class::field}{core::int*});
self::expect(3, let final core::int* #t9 = 3 in let final void #t10 = self::Extension|set#setterWithClosure(#this, #t9) in #t9);
- self::expect(3, #this.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final core::int* #t11 = 4.{core::int::unary-}() in let final void #t12 = self::Extension|set#setterWithClosure(#this, #t11) in #t11);
- self::expect(4, #this.{self::Class::field});
+ self::expect(3, #this.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final core::int* #t11 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t12 = self::Extension|set#setterWithClosure(#this, #t11) in #t11);
+ self::expect(4, #this.{self::Class::field}{core::int*});
}
static method Extension|get#testInternal(lowered final self::Class* #this) → () →* dynamic
return () → dynamic => self::Extension|testInternal(#this);
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
static method main() → dynamic {
self::Class* c = new self::Class::•();
- self::expect(null, c.{self::Class::field});
+ self::expect(null, c.{self::Class::field}{core::int*});
self::Extension|set#simpleSetter(c, 0);
- self::expect(0, c.{self::Class::field});
+ self::expect(0, c.{self::Class::field}{core::int*});
self::expect(1, let final core::int* #t13 = 1 in let final void #t14 = self::Extension|set#simpleSetter(c, #t13) in #t13);
self::Extension|set#simpleSetter(c, 2);
- self::expect(2, c.{self::Class::field});
+ self::expect(2, c.{self::Class::field}{core::int*});
self::expect(3, let final self::Class* #t15 = c in let final core::int* #t16 = 3 in let final void #t17 = self::Extension|set#simpleSetter(#t15, #t16) in #t16);
self::Extension|set#mutatingSetter(c, 0);
- self::expect(1, c.{self::Class::field});
+ self::expect(1, c.{self::Class::field}{core::int*});
self::expect(2, let final core::int* #t18 = 2 in let final void #t19 = self::Extension|set#mutatingSetter(c, #t18) in #t18);
- self::expect(3, c.{self::Class::field});
+ self::expect(3, c.{self::Class::field}{core::int*});
self::Extension|set#mutatingSetter(c, 4);
- self::expect(5, c.{self::Class::field});
+ self::expect(5, c.{self::Class::field}{core::int*});
self::expect(6, let final self::Class* #t20 = c in let final core::int* #t21 = 6 in let final void #t22 = self::Extension|set#mutatingSetter(#t20, #t21) in #t21);
- self::expect(7, c.{self::Class::field});
+ self::expect(7, c.{self::Class::field}{core::int*});
self::Extension|set#setterWithReturn(c, 1);
- self::expect(1, c.{self::Class::field});
- self::Extension|set#setterWithReturn(c, 2.{core::int::unary-}());
- self::expect(2, c.{self::Class::field});
+ self::expect(1, c.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithReturn(c, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, c.{self::Class::field}{core::int*});
self::expect(3, let final core::int* #t23 = 3 in let final void #t24 = self::Extension|set#setterWithReturn(c, #t23) in #t23);
- self::expect(3, c.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final core::int* #t25 = 4.{core::int::unary-}() in let final void #t26 = self::Extension|set#setterWithReturn(c, #t25) in #t25);
- self::expect(4, c.{self::Class::field});
+ self::expect(3, c.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final core::int* #t25 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t26 = self::Extension|set#setterWithReturn(c, #t25) in #t25);
+ self::expect(4, c.{self::Class::field}{core::int*});
self::Extension|set#setterWithReturn(c, 5);
- self::expect(5, c.{self::Class::field});
- self::Extension|set#setterWithReturn(c, 6.{core::int::unary-}());
- self::expect(6, c.{self::Class::field});
+ self::expect(5, c.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithReturn(c, 6.{core::int::unary-}(){() →* core::int*});
+ self::expect(6, c.{self::Class::field}{core::int*});
self::expect(7, let final self::Class* #t27 = c in let final core::int* #t28 = 7 in let final void #t29 = self::Extension|set#setterWithReturn(#t27, #t28) in #t28);
- self::expect(7, c.{self::Class::field});
- self::expect(8.{core::int::unary-}(), let final self::Class* #t30 = c in let final core::int* #t31 = 8.{core::int::unary-}() in let final void #t32 = self::Extension|set#setterWithReturn(#t30, #t31) in #t31);
- self::expect(8, c.{self::Class::field});
+ self::expect(7, c.{self::Class::field}{core::int*});
+ self::expect(8.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t30 = c in let final core::int* #t31 = 8.{core::int::unary-}(){() →* core::int*} in let final void #t32 = self::Extension|set#setterWithReturn(#t30, #t31) in #t31);
+ self::expect(8, c.{self::Class::field}{core::int*});
self::Extension|set#setterWithClosure(c, 1);
- self::expect(1, c.{self::Class::field});
- self::Extension|set#setterWithClosure(c, 2.{core::int::unary-}());
- self::expect(2, c.{self::Class::field});
+ self::expect(1, c.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithClosure(c, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, c.{self::Class::field}{core::int*});
self::expect(3, let final core::int* #t33 = 3 in let final void #t34 = self::Extension|set#setterWithClosure(c, #t33) in #t33);
- self::expect(3, c.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final core::int* #t35 = 4.{core::int::unary-}() in let final void #t36 = self::Extension|set#setterWithClosure(c, #t35) in #t35);
- self::expect(4, c.{self::Class::field});
+ self::expect(3, c.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final core::int* #t35 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t36 = self::Extension|set#setterWithClosure(c, #t35) in #t35);
+ self::expect(4, c.{self::Class::field}{core::int*});
self::Extension|set#setterWithClosure(c, 5);
- self::expect(5, c.{self::Class::field});
- self::Extension|set#setterWithClosure(c, 6.{core::int::unary-}());
- self::expect(6, c.{self::Class::field});
+ self::expect(5, c.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithClosure(c, 6.{core::int::unary-}(){() →* core::int*});
+ self::expect(6, c.{self::Class::field}{core::int*});
self::expect(7, let final self::Class* #t37 = c in let final core::int* #t38 = 7 in let final void #t39 = self::Extension|set#setterWithClosure(#t37, #t38) in #t38);
- self::expect(7, c.{self::Class::field});
- self::expect(8.{core::int::unary-}(), let final self::Class* #t40 = c in let final core::int* #t41 = 8.{core::int::unary-}() in let final void #t42 = self::Extension|set#setterWithClosure(#t40, #t41) in #t41);
- self::expect(8, c.{self::Class::field});
+ self::expect(7, c.{self::Class::field}{core::int*});
+ self::expect(8.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t40 = c in let final core::int* #t41 = 8.{core::int::unary-}(){() →* core::int*} in let final void #t42 = self::Extension|set#setterWithClosure(#t40, #t41) in #t41);
+ self::expect(8, c.{self::Class::field}{core::int*});
self::Extension|set#simpleSetter(c, 0);
- self::expect(0, let final self::Class* #t43 = c in #t43.{self::Class::==}(null) ?{core::int*} null : #t43.{self::Class::field});
- self::expect(1, let final self::Class* #t44 = c in #t44.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t45 = 1 in let final void #t46 = self::Extension|set#simpleSetter(#t44, #t45) in #t45);
+ self::expect(0, let final self::Class* #t43 = c in #t43 == null ?{core::int*} null : #t43.{self::Class::field}{core::int*});
+ self::expect(1, let final self::Class* #t44 = c in #t44 == null ?{core::int*} null : let final core::int* #t45 = 1 in let final void #t46 = self::Extension|set#simpleSetter(#t44, #t45) in #t45);
self::Extension|set#simpleSetter(c, 2);
- self::expect(2, let final self::Class* #t47 = c in #t47.{self::Class::==}(null) ?{core::int*} null : #t47.{self::Class::field});
+ self::expect(2, let final self::Class* #t47 = c in #t47 == null ?{core::int*} null : #t47.{self::Class::field}{core::int*});
self::expect(3, let final self::Class* #t48 = c in let final core::int* #t49 = 3 in let final void #t50 = self::Extension|set#simpleSetter(#t48, #t49) in #t49);
self::Extension|set#mutatingSetter(c, 0);
- self::expect(1, let final self::Class* #t51 = c in #t51.{self::Class::==}(null) ?{core::int*} null : #t51.{self::Class::field});
- self::expect(2, let final self::Class* #t52 = c in #t52.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t53 = 2 in let final void #t54 = self::Extension|set#mutatingSetter(#t52, #t53) in #t53);
- self::expect(3, let final self::Class* #t55 = c in #t55.{self::Class::==}(null) ?{core::int*} null : #t55.{self::Class::field});
+ self::expect(1, let final self::Class* #t51 = c in #t51 == null ?{core::int*} null : #t51.{self::Class::field}{core::int*});
+ self::expect(2, let final self::Class* #t52 = c in #t52 == null ?{core::int*} null : let final core::int* #t53 = 2 in let final void #t54 = self::Extension|set#mutatingSetter(#t52, #t53) in #t53);
+ self::expect(3, let final self::Class* #t55 = c in #t55 == null ?{core::int*} null : #t55.{self::Class::field}{core::int*});
self::Extension|set#mutatingSetter(c, 4);
- self::expect(5, let final self::Class* #t56 = c in #t56.{self::Class::==}(null) ?{core::int*} null : #t56.{self::Class::field});
+ self::expect(5, let final self::Class* #t56 = c in #t56 == null ?{core::int*} null : #t56.{self::Class::field}{core::int*});
self::expect(6, let final self::Class* #t57 = c in let final core::int* #t58 = 6 in let final void #t59 = self::Extension|set#mutatingSetter(#t57, #t58) in #t58);
- self::expect(7, let final self::Class* #t60 = c in #t60.{self::Class::==}(null) ?{core::int*} null : #t60.{self::Class::field});
- let final self::Class* #t61 = c in #t61.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#setterWithReturn(#t61, 1);
- self::expect(1, let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{core::int*} null : #t62.{self::Class::field});
- let final self::Class* #t63 = c in #t63.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#setterWithReturn(#t63, 2.{core::int::unary-}());
- self::expect(2, let final self::Class* #t64 = c in #t64.{self::Class::==}(null) ?{core::int*} null : #t64.{self::Class::field});
- self::expect(3, let final self::Class* #t65 = c in #t65.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t66 = 3 in let final void #t67 = self::Extension|set#setterWithReturn(#t65, #t66) in #t66);
- self::expect(3, let final self::Class* #t68 = c in #t68.{self::Class::==}(null) ?{core::int*} null : #t68.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final self::Class* #t69 = c in #t69.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t70 = 4.{core::int::unary-}() in let final void #t71 = self::Extension|set#setterWithReturn(#t69, #t70) in #t70);
- self::expect(4, let final self::Class* #t72 = c in #t72.{self::Class::==}(null) ?{core::int*} null : #t72.{self::Class::field});
+ self::expect(7, let final self::Class* #t60 = c in #t60 == null ?{core::int*} null : #t60.{self::Class::field}{core::int*});
+ let final self::Class* #t61 = c in #t61 == null ?{core::int*} null : self::Extension|set#setterWithReturn(#t61, 1);
+ self::expect(1, let final self::Class* #t62 = c in #t62 == null ?{core::int*} null : #t62.{self::Class::field}{core::int*});
+ let final self::Class* #t63 = c in #t63 == null ?{core::int*} null : self::Extension|set#setterWithReturn(#t63, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, let final self::Class* #t64 = c in #t64 == null ?{core::int*} null : #t64.{self::Class::field}{core::int*});
+ self::expect(3, let final self::Class* #t65 = c in #t65 == null ?{core::int*} null : let final core::int* #t66 = 3 in let final void #t67 = self::Extension|set#setterWithReturn(#t65, #t66) in #t66);
+ self::expect(3, let final self::Class* #t68 = c in #t68 == null ?{core::int*} null : #t68.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t69 = c in #t69 == null ?{core::int*} null : let final core::int* #t70 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t71 = self::Extension|set#setterWithReturn(#t69, #t70) in #t70);
+ self::expect(4, let final self::Class* #t72 = c in #t72 == null ?{core::int*} null : #t72.{self::Class::field}{core::int*});
self::Extension|set#setterWithReturn(c, 5);
- self::expect(5, let final self::Class* #t73 = c in #t73.{self::Class::==}(null) ?{core::int*} null : #t73.{self::Class::field});
- self::Extension|set#setterWithReturn(c, 6.{core::int::unary-}());
- self::expect(6, let final self::Class* #t74 = c in #t74.{self::Class::==}(null) ?{core::int*} null : #t74.{self::Class::field});
+ self::expect(5, let final self::Class* #t73 = c in #t73 == null ?{core::int*} null : #t73.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithReturn(c, 6.{core::int::unary-}(){() →* core::int*});
+ self::expect(6, let final self::Class* #t74 = c in #t74 == null ?{core::int*} null : #t74.{self::Class::field}{core::int*});
self::expect(7, let final self::Class* #t75 = c in let final core::int* #t76 = 7 in let final void #t77 = self::Extension|set#setterWithReturn(#t75, #t76) in #t76);
- self::expect(7, let final self::Class* #t78 = c in #t78.{self::Class::==}(null) ?{core::int*} null : #t78.{self::Class::field});
- self::expect(8.{core::int::unary-}(), let final self::Class* #t79 = c in let final core::int* #t80 = 8.{core::int::unary-}() in let final void #t81 = self::Extension|set#setterWithReturn(#t79, #t80) in #t80);
- self::expect(8, let final self::Class* #t82 = c in #t82.{self::Class::==}(null) ?{core::int*} null : #t82.{self::Class::field});
- let final self::Class* #t83 = c in #t83.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#setterWithClosure(#t83, 1);
- self::expect(1, let final self::Class* #t84 = c in #t84.{self::Class::==}(null) ?{core::int*} null : #t84.{self::Class::field});
- let final self::Class* #t85 = c in #t85.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#setterWithClosure(#t85, 2.{core::int::unary-}());
- self::expect(2, let final self::Class* #t86 = c in #t86.{self::Class::==}(null) ?{core::int*} null : #t86.{self::Class::field});
- self::expect(3, let final self::Class* #t87 = c in #t87.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t88 = 3 in let final void #t89 = self::Extension|set#setterWithClosure(#t87, #t88) in #t88);
- self::expect(3, let final self::Class* #t90 = c in #t90.{self::Class::==}(null) ?{core::int*} null : #t90.{self::Class::field});
- self::expect(4.{core::int::unary-}(), let final self::Class* #t91 = c in #t91.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t92 = 4.{core::int::unary-}() in let final void #t93 = self::Extension|set#setterWithClosure(#t91, #t92) in #t92);
- self::expect(4, let final self::Class* #t94 = c in #t94.{self::Class::==}(null) ?{core::int*} null : #t94.{self::Class::field});
+ self::expect(7, let final self::Class* #t78 = c in #t78 == null ?{core::int*} null : #t78.{self::Class::field}{core::int*});
+ self::expect(8.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t79 = c in let final core::int* #t80 = 8.{core::int::unary-}(){() →* core::int*} in let final void #t81 = self::Extension|set#setterWithReturn(#t79, #t80) in #t80);
+ self::expect(8, let final self::Class* #t82 = c in #t82 == null ?{core::int*} null : #t82.{self::Class::field}{core::int*});
+ let final self::Class* #t83 = c in #t83 == null ?{core::int*} null : self::Extension|set#setterWithClosure(#t83, 1);
+ self::expect(1, let final self::Class* #t84 = c in #t84 == null ?{core::int*} null : #t84.{self::Class::field}{core::int*});
+ let final self::Class* #t85 = c in #t85 == null ?{core::int*} null : self::Extension|set#setterWithClosure(#t85, 2.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, let final self::Class* #t86 = c in #t86 == null ?{core::int*} null : #t86.{self::Class::field}{core::int*});
+ self::expect(3, let final self::Class* #t87 = c in #t87 == null ?{core::int*} null : let final core::int* #t88 = 3 in let final void #t89 = self::Extension|set#setterWithClosure(#t87, #t88) in #t88);
+ self::expect(3, let final self::Class* #t90 = c in #t90 == null ?{core::int*} null : #t90.{self::Class::field}{core::int*});
+ self::expect(4.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t91 = c in #t91 == null ?{core::int*} null : let final core::int* #t92 = 4.{core::int::unary-}(){() →* core::int*} in let final void #t93 = self::Extension|set#setterWithClosure(#t91, #t92) in #t92);
+ self::expect(4, let final self::Class* #t94 = c in #t94 == null ?{core::int*} null : #t94.{self::Class::field}{core::int*});
self::Extension|set#setterWithClosure(c, 5);
- self::expect(5, let final self::Class* #t95 = c in #t95.{self::Class::==}(null) ?{core::int*} null : #t95.{self::Class::field});
- self::Extension|set#setterWithClosure(c, 6.{core::int::unary-}());
- self::expect(6, let final self::Class* #t96 = c in #t96.{self::Class::==}(null) ?{core::int*} null : #t96.{self::Class::field});
+ self::expect(5, let final self::Class* #t95 = c in #t95 == null ?{core::int*} null : #t95.{self::Class::field}{core::int*});
+ self::Extension|set#setterWithClosure(c, 6.{core::int::unary-}(){() →* core::int*});
+ self::expect(6, let final self::Class* #t96 = c in #t96 == null ?{core::int*} null : #t96.{self::Class::field}{core::int*});
self::expect(7, let final self::Class* #t97 = c in let final core::int* #t98 = 7 in let final void #t99 = self::Extension|set#setterWithClosure(#t97, #t98) in #t98);
- self::expect(7, let final self::Class* #t100 = c in #t100.{self::Class::==}(null) ?{core::int*} null : #t100.{self::Class::field});
- self::expect(8.{core::int::unary-}(), let final self::Class* #t101 = c in let final core::int* #t102 = 8.{core::int::unary-}() in let final void #t103 = self::Extension|set#setterWithClosure(#t101, #t102) in #t102);
- self::expect(8, let final self::Class* #t104 = c in #t104.{self::Class::==}(null) ?{core::int*} null : #t104.{self::Class::field});
+ self::expect(7, let final self::Class* #t100 = c in #t100 == null ?{core::int*} null : #t100.{self::Class::field}{core::int*});
+ self::expect(8.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t101 = c in let final core::int* #t102 = 8.{core::int::unary-}(){() →* core::int*} in let final void #t103 = self::Extension|set#setterWithClosure(#t101, #t102) in #t102);
+ self::expect(8, let final self::Class* #t104 = c in #t104 == null ?{core::int*} null : #t104.{self::Class::field}{core::int*});
c.{self::Class::field} = null;
- let final self::Class* #t105 = c in self::Extension|get#simpleSetter(#t105).{core::num::==}(null) ?{core::int*} self::Extension|set#simpleSetter(#t105, 1) : null;
- self::expect(1, c.{self::Class::field});
- self::expect(1, let final self::Class* #t106 = c in let final core::int* #t107 = self::Extension|get#simpleSetter(#t106) in #t107.{core::num::==}(null) ?{core::int*} let final core::int* #t108 = 2 in let final void #t109 = self::Extension|set#simpleSetter(#t106, #t108) in #t108 : #t107);
+ let final self::Class* #t105 = c in self::Extension|get#simpleSetter(#t105) == null ?{core::int*} self::Extension|set#simpleSetter(#t105, 1) : null;
+ self::expect(1, c.{self::Class::field}{core::int*});
+ self::expect(1, let final self::Class* #t106 = c in let final core::int* #t107 = self::Extension|get#simpleSetter(#t106) in #t107 == null ?{core::int*} let final core::int* #t108 = 2 in let final void #t109 = self::Extension|set#simpleSetter(#t106, #t108) in #t108 : #t107);
c.{self::Class::field} = null;
- self::expect(2, let final self::Class* #t110 = c in let final core::int* #t111 = self::Extension|get#simpleSetter(#t110) in #t111.{core::num::==}(null) ?{core::int*} let final core::int* #t112 = 2 in let final void #t113 = self::Extension|set#simpleSetter(#t110, #t112) in #t112 : #t111);
- let final self::Class* #t114 = c in #t114.{self::Class::==}(null) ?{Null} null : #t114.{self::Class::field} = null;
- let final self::Class* #t115 = c in #t115.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#simpleSetter(#t115).{core::num::==}(null) ?{core::int*} self::Extension|set#simpleSetter(#t115, 1) : null;
- self::expect(1, let final self::Class* #t116 = c in #t116.{self::Class::==}(null) ?{core::int*} null : #t116.{self::Class::field});
- self::expect(1, let final self::Class* #t117 = c in #t117.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t118 = self::Extension|get#simpleSetter(#t117) in #t118.{core::num::==}(null) ?{core::int*} let final core::int* #t119 = 2 in let final void #t120 = self::Extension|set#simpleSetter(#t117, #t119) in #t119 : #t118);
- let final self::Class* #t121 = c in #t121.{self::Class::==}(null) ?{Null} null : #t121.{self::Class::field} = null;
- self::expect(2, let final self::Class* #t122 = c in #t122.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t123 = self::Extension|get#simpleSetter(#t122) in #t123.{core::num::==}(null) ?{core::int*} let final core::int* #t124 = 2 in let final void #t125 = self::Extension|set#simpleSetter(#t122, #t124) in #t124 : #t123);
+ self::expect(2, let final self::Class* #t110 = c in let final core::int* #t111 = self::Extension|get#simpleSetter(#t110) in #t111 == null ?{core::int*} let final core::int* #t112 = 2 in let final void #t113 = self::Extension|set#simpleSetter(#t110, #t112) in #t112 : #t111);
+ let final self::Class* #t114 = c in #t114 == null ?{Null} null : #t114.{self::Class::field} = null;
+ let final self::Class* #t115 = c in #t115 == null ?{core::int*} null : self::Extension|get#simpleSetter(#t115) == null ?{core::int*} self::Extension|set#simpleSetter(#t115, 1) : null;
+ self::expect(1, let final self::Class* #t116 = c in #t116 == null ?{core::int*} null : #t116.{self::Class::field}{core::int*});
+ self::expect(1, let final self::Class* #t117 = c in #t117 == null ?{core::int*} null : let final core::int* #t118 = self::Extension|get#simpleSetter(#t117) in #t118 == null ?{core::int*} let final core::int* #t119 = 2 in let final void #t120 = self::Extension|set#simpleSetter(#t117, #t119) in #t119 : #t118);
+ let final self::Class* #t121 = c in #t121 == null ?{Null} null : #t121.{self::Class::field} = null;
+ self::expect(2, let final self::Class* #t122 = c in #t122 == null ?{core::int*} null : let final core::int* #t123 = self::Extension|get#simpleSetter(#t122) in #t123 == null ?{core::int*} let final core::int* #t124 = 2 in let final void #t125 = self::Extension|set#simpleSetter(#t122, #t124) in #t124 : #t123);
self::Extension|testInternal(new self::Class::•());
self::GenericClass<core::int*>* genericClass = new self::GenericClass::•<core::int*>();
self::expect(1, let final self::GenericClass<core::int*>* #t126 = genericClass in let final core::int* #t127 = 1 in let final void #t128 = self::GenericExtension|set#setter<core::int*>(#t126, #t127) in #t127);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
@@ -228,18 +228,18 @@
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:47:30 -> IntConstant(1)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:51:32 -> IntConstant(2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:51:32 -> IntConstant(2)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:56:24 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:56:24 -> IntConstant(-2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:58:34 -> IntConstant(3)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:58:34 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:60:12 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:60:35 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:60:12 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:60:35 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:60:35 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:60:35 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:65:25 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:65:25 -> IntConstant(-2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:67:35 -> IntConstant(3)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:67:35 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:69:12 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:69:36 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:69:12 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:69:36 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:69:36 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:69:36 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:86:30 -> IntConstant(1)
@@ -250,32 +250,32 @@
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:93:32 -> IntConstant(2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:97:43 -> IntConstant(6)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:97:43 -> IntConstant(6)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:102:24 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:102:24 -> IntConstant(-2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:104:34 -> IntConstant(3)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:104:34 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:106:10 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:106:35 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:106:10 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:106:35 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:106:35 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:106:35 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:110:35 -> IntConstant(-6)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:110:35 -> IntConstant(-6)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:112:45 -> IntConstant(7)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:112:45 -> IntConstant(7)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:114:10 -> IntConstant(-8)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:114:46 -> IntConstant(-8)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:114:10 -> IntConstant(-8)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:114:46 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:114:46 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:114:46 -> IntConstant(-8)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:119:25 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:119:25 -> IntConstant(-2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:121:35 -> IntConstant(3)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:121:35 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:123:10 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:123:36 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:123:10 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:123:36 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:123:36 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:123:36 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:127:36 -> IntConstant(-6)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:127:36 -> IntConstant(-6)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:129:46 -> IntConstant(7)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:129:46 -> IntConstant(7)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:131:10 -> IntConstant(-8)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:131:47 -> IntConstant(-8)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:131:10 -> IntConstant(-8)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:131:47 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:131:47 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:131:47 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:136:31 -> IntConstant(1)
@@ -286,32 +286,32 @@
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:143:33 -> IntConstant(2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:147:43 -> IntConstant(6)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:147:43 -> IntConstant(6)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:152:25 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:152:25 -> IntConstant(-2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:154:35 -> IntConstant(3)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:154:35 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:156:10 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:156:36 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:156:10 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:156:36 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:156:36 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:156:36 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:160:35 -> IntConstant(-6)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:160:35 -> IntConstant(-6)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:162:45 -> IntConstant(7)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:162:45 -> IntConstant(7)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:164:10 -> IntConstant(-8)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:164:46 -> IntConstant(-8)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:164:10 -> IntConstant(-8)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:164:46 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:164:46 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:164:46 -> IntConstant(-8)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:169:26 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:169:26 -> IntConstant(-2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:171:36 -> IntConstant(3)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:171:36 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:173:10 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:173:37 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:173:10 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:173:37 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:173:37 -> IntConstant(-4)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:173:37 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:177:36 -> IntConstant(-6)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:177:36 -> IntConstant(-6)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:179:46 -> IntConstant(7)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:179:46 -> IntConstant(7)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:181:10 -> IntConstant(-8)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///extension_setter.dart:181:47 -> IntConstant(-8)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:181:10 -> IntConstant(-8)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///extension_setter.dart:181:47 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:181:47 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:181:47 -> IntConstant(-8)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:187:32 -> IntConstant(2)
@@ -324,4 +324,4 @@
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:196:33 -> IntConstant(2)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:201:53 -> IntConstant(1)
Evaluated: VariableGet @ org-dartlang-testcase:///extension_setter.dart:201:53 -> IntConstant(1)
-Extra constant evaluation: evaluated: 836, effectively constant: 100
+Extra constant evaluation: evaluated: 835, effectively constant: 100
diff --git a/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect b/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect
index 5bf824a..9f115ce 100644
--- a/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect
@@ -37,7 +37,7 @@
^" in genericClass as{TypeError} self::GenericClass<core::double*>* in let final Null #t3 = null in let final void #t4 = self::GenericExtension|set#setter<core::double*>(#t1, #t3) in #t3);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.expect b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.expect
index e351a9e..47243334 100644
--- a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.expect
@@ -26,5 +26,5 @@
static method Extension|get#method<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#method::T*>* #this) → <R extends core::Object* = dynamic>(self::Extension|get#method::T*) →* R*
return <R extends core::Object* = dynamic>(self::Extension|get#method::T* t) → R* => self::Extension|method<self::Extension|get#method::T*, R*>(#this, t);
static method main() → dynamic {
- let final dynamic #t1 = self::Extension|method<core::int*, dynamic>(new self::Class::•<core::int*>(), 0) in #t1.{core::Object::==}(null) ?{core::String*} null : #t1.{core::Object::toString}();
+ let final dynamic #t1 = self::Extension|method<core::int*, dynamic>(new self::Class::•<core::int*>(), 0) in #t1 == null ?{core::String*} null : #t1.{core::Object::toString}(){() →* core::String*};
}
diff --git a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.transformed.expect
index e351a9e..47243334 100644
--- a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.transformed.expect
@@ -26,5 +26,5 @@
static method Extension|get#method<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#method::T*>* #this) → <R extends core::Object* = dynamic>(self::Extension|get#method::T*) →* R*
return <R extends core::Object* = dynamic>(self::Extension|get#method::T* t) → R* => self::Extension|method<self::Extension|get#method::T*, R*>(#this, t);
static method main() → dynamic {
- let final dynamic #t1 = self::Extension|method<core::int*, dynamic>(new self::Class::•<core::int*>(), 0) in #t1.{core::Object::==}(null) ?{core::String*} null : #t1.{core::Object::toString}();
+ let final dynamic #t1 = self::Extension|method<core::int*, dynamic>(new self::Class::•<core::int*>(), 0) in #t1 == null ?{core::String*} null : #t1.{core::Object::toString}(){() →* core::String*};
}
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect
index 4c0c516..9ae037b 100644
--- a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect
@@ -104,7 +104,7 @@
static method Extension1|set#m4(lowered final self::Class* #this, core::int* x) → void {}
static method main() → dynamic {
self::Class* c = new self::Class::•();
- self::expect(0, c.{self::Class::m1});
+ self::expect(0, c.{self::Class::m1}{core::int*});
c.{self::Class::m2} = 2;
}
static method errors() → dynamic {
@@ -141,7 +141,7 @@
^^";
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect
index 4c0c516..9ae037b 100644
--- a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect
@@ -104,7 +104,7 @@
static method Extension1|set#m4(lowered final self::Class* #this, core::int* x) → void {}
static method main() → dynamic {
self::Class* c = new self::Class::•();
- self::expect(0, c.{self::Class::m1});
+ self::expect(0, c.{self::Class::m1}{core::int*});
c.{self::Class::m2} = 2;
}
static method errors() → dynamic {
@@ -141,7 +141,7 @@
^^";
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/if_null.dart.weak.expect b/pkg/front_end/testcases/extensions/if_null.dart.weak.expect
index e4d6312..34aa9aa 100644
--- a/pkg/front_end/testcases/extensions/if_null.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/if_null.dart.weak.expect
@@ -25,25 +25,25 @@
set property = self::Extension|set#property;
}
static method Extension|get#property(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#property(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field} = value;
}
static method Extension|method(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|get#method(lowered final self::Class* #this) → () →* core::int*
return () → core::int* => self::Extension|method(#this);
static method main() → dynamic {
self::Class* c;
- let final core::int* #t1 = let final self::Class* #t2 = c in #t2.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t2) in #t1.{core::num::==}(null) ?{core::int*} 0 : #t1;
- let final core::int* #t3 = let final self::Class* #t4 = c in #t4.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t4) in #t3.{core::num::==}(null) ?{core::int*} 0 : #t3;
- let final self::Class* #t5 = c in #t5.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#property(#t5, let final core::int* #t6 = 42 in #t6.{core::num::==}(null) ?{core::int*} 0 : #t6);
- let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#property(#t7, let final core::int* #t8 = 42 in #t8.{core::num::==}(null) ?{core::int*} 0 : #t8);
- let final core::int* #t9 = let final self::Class* #t10 = c in #t10.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t11 = 42 in let final void #t12 = self::Extension|set#property(#t10, #t11) in #t11 in #t9.{core::num::==}(null) ?{core::int*} 0 : #t9;
- let final core::int* #t13 = let final self::Class* #t14 = c in #t14.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t15 = 42 in let final void #t16 = self::Extension|set#property(#t14, #t15) in #t15 in #t13.{core::num::==}(null) ?{core::int*} 0 : #t13;
- let final core::int* #t17 = let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{core::int*} null : self::Extension|method(#t18) in #t17.{core::num::==}(null) ?{core::int*} 0 : #t17;
- let final core::int* #t19 = let final self::Class* #t20 = c in #t20.{self::Class::==}(null) ?{core::int*} null : self::Extension|method(#t20) in #t19.{core::num::==}(null) ?{core::int*} 0 : #t19;
+ let final core::int* #t1 = let final self::Class* #t2 = c in #t2 == null ?{core::int*} null : self::Extension|get#property(#t2) in #t1 == null ?{core::int*} 0 : #t1;
+ let final core::int* #t3 = let final self::Class* #t4 = c in #t4 == null ?{core::int*} null : self::Extension|get#property(#t4) in #t3 == null ?{core::int*} 0 : #t3;
+ let final self::Class* #t5 = c in #t5 == null ?{core::int*} null : self::Extension|set#property(#t5, let final core::int* #t6 = 42 in #t6 == null ?{core::int*} 0 : #t6);
+ let final self::Class* #t7 = c in #t7 == null ?{core::int*} null : self::Extension|set#property(#t7, let final core::int* #t8 = 42 in #t8 == null ?{core::int*} 0 : #t8);
+ let final core::int* #t9 = let final self::Class* #t10 = c in #t10 == null ?{core::int*} null : let final core::int* #t11 = 42 in let final void #t12 = self::Extension|set#property(#t10, #t11) in #t11 in #t9 == null ?{core::int*} 0 : #t9;
+ let final core::int* #t13 = let final self::Class* #t14 = c in #t14 == null ?{core::int*} null : let final core::int* #t15 = 42 in let final void #t16 = self::Extension|set#property(#t14, #t15) in #t15 in #t13 == null ?{core::int*} 0 : #t13;
+ let final core::int* #t17 = let final self::Class* #t18 = c in #t18 == null ?{core::int*} null : self::Extension|method(#t18) in #t17 == null ?{core::int*} 0 : #t17;
+ let final core::int* #t19 = let final self::Class* #t20 = c in #t20 == null ?{core::int*} null : self::Extension|method(#t20) in #t19 == null ?{core::int*} 0 : #t19;
c = new self::Class::•();
- let final core::int* #t21 = self::Extension|get#property(c) in #t21.{core::num::==}(null) ?{core::int*} 0 : #t21;
- let final core::int* #t22 = self::Extension|get#property(c) in #t22.{core::num::==}(null) ?{core::int*} 0 : #t22;
+ let final core::int* #t21 = self::Extension|get#property(c) in #t21 == null ?{core::int*} 0 : #t21;
+ let final core::int* #t22 = self::Extension|get#property(c) in #t22 == null ?{core::int*} 0 : #t22;
}
diff --git a/pkg/front_end/testcases/extensions/if_null.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/if_null.dart.weak.transformed.expect
index f3e6b96..c98287f 100644
--- a/pkg/front_end/testcases/extensions/if_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/if_null.dart.weak.transformed.expect
@@ -25,27 +25,27 @@
set property = self::Extension|set#property;
}
static method Extension|get#property(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#property(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field} = value;
}
static method Extension|method(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|get#method(lowered final self::Class* #this) → () →* core::int*
return () → core::int* => self::Extension|method(#this);
static method main() → dynamic {
self::Class* c;
- let final core::int* #t1 = let final self::Class* #t2 = c in #t2.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t2) in #t1.{core::num::==}(null) ?{core::int*} 0 : #t1;
- let final core::int* #t3 = let final self::Class* #t4 = c in #t4.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t4) in #t3.{core::num::==}(null) ?{core::int*} 0 : #t3;
- let final self::Class* #t5 = c in #t5.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#property(#t5, let final core::int* #t6 = 42 in #t6.{core::num::==}(null) ?{core::int*} 0 : #t6);
- let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{core::int*} null : self::Extension|set#property(#t7, let final core::int* #t8 = 42 in #t8.{core::num::==}(null) ?{core::int*} 0 : #t8);
- let final core::int* #t9 = let final self::Class* #t10 = c in #t10.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t11 = 42 in let final void #t12 = self::Extension|set#property(#t10, #t11) in #t11 in #t9.{core::num::==}(null) ?{core::int*} 0 : #t9;
- let final core::int* #t13 = let final self::Class* #t14 = c in #t14.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t15 = 42 in let final void #t16 = self::Extension|set#property(#t14, #t15) in #t15 in #t13.{core::num::==}(null) ?{core::int*} 0 : #t13;
- let final core::int* #t17 = let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{core::int*} null : self::Extension|method(#t18) in #t17.{core::num::==}(null) ?{core::int*} 0 : #t17;
- let final core::int* #t19 = let final self::Class* #t20 = c in #t20.{self::Class::==}(null) ?{core::int*} null : self::Extension|method(#t20) in #t19.{core::num::==}(null) ?{core::int*} 0 : #t19;
+ let final core::int* #t1 = let final self::Class* #t2 = c in #t2 == null ?{core::int*} null : self::Extension|get#property(#t2) in #t1 == null ?{core::int*} 0 : #t1;
+ let final core::int* #t3 = let final self::Class* #t4 = c in #t4 == null ?{core::int*} null : self::Extension|get#property(#t4) in #t3 == null ?{core::int*} 0 : #t3;
+ let final self::Class* #t5 = c in #t5 == null ?{core::int*} null : self::Extension|set#property(#t5, let final core::int* #t6 = 42 in #t6 == null ?{core::int*} 0 : #t6);
+ let final self::Class* #t7 = c in #t7 == null ?{core::int*} null : self::Extension|set#property(#t7, let final core::int* #t8 = 42 in #t8 == null ?{core::int*} 0 : #t8);
+ let final core::int* #t9 = let final self::Class* #t10 = c in #t10 == null ?{core::int*} null : let final core::int* #t11 = 42 in let final void #t12 = self::Extension|set#property(#t10, #t11) in #t11 in #t9 == null ?{core::int*} 0 : #t9;
+ let final core::int* #t13 = let final self::Class* #t14 = c in #t14 == null ?{core::int*} null : let final core::int* #t15 = 42 in let final void #t16 = self::Extension|set#property(#t14, #t15) in #t15 in #t13 == null ?{core::int*} 0 : #t13;
+ let final core::int* #t17 = let final self::Class* #t18 = c in #t18 == null ?{core::int*} null : self::Extension|method(#t18) in #t17 == null ?{core::int*} 0 : #t17;
+ let final core::int* #t19 = let final self::Class* #t20 = c in #t20 == null ?{core::int*} null : self::Extension|method(#t20) in #t19 == null ?{core::int*} 0 : #t19;
c = new self::Class::•();
- let final core::int* #t21 = self::Extension|get#property(c) in #t21.{core::num::==}(null) ?{core::int*} 0 : #t21;
- let final core::int* #t22 = self::Extension|get#property(c) in #t22.{core::num::==}(null) ?{core::int*} 0 : #t22;
+ let final core::int* #t21 = self::Extension|get#property(c) in #t21 == null ?{core::int*} 0 : #t21;
+ let final core::int* #t22 = self::Extension|get#property(c) in #t22 == null ?{core::int*} 0 : #t22;
}
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.weak.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.weak.expect
index f13b8bd..9328ef6 100644
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/implicit_this.dart.weak.expect
@@ -28,11 +28,11 @@
tearoff method4 = self::A2|get#method4;
}
static method A2|method2(lowered final self::A1* #this) → void
- return #this.{self::A1::method1}();
+ return #this.{self::A1::method1}(){() →* void};
static method A2|get#method2(lowered final self::A1* #this) → () →* void
return () → void => self::A2|method2(#this);
static method A2|method3(lowered final self::A1* #this) → core::Object*
- return #this.{self::A1::field};
+ return #this.{self::A1::field}{core::Object*};
static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
return () → core::Object* => self::A2|method3(#this);
static method A2|method4(lowered final self::A1* #this, core::Object* o) → void {
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.weak.transformed.expect
index f13b8bd..9328ef6 100644
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/implicit_this.dart.weak.transformed.expect
@@ -28,11 +28,11 @@
tearoff method4 = self::A2|get#method4;
}
static method A2|method2(lowered final self::A1* #this) → void
- return #this.{self::A1::method1}();
+ return #this.{self::A1::method1}(){() →* void};
static method A2|get#method2(lowered final self::A1* #this) → () →* void
return () → void => self::A2|method2(#this);
static method A2|method3(lowered final self::A1* #this) → core::Object*
- return #this.{self::A1::field};
+ return #this.{self::A1::field}{core::Object*};
static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
return () → core::Object* => self::A2|method3(#this);
static method A2|method4(lowered final self::A1* #this, core::Object* o) → void {
diff --git a/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.expect b/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.expect
index 6ffdbd7..0b2f376 100644
--- a/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.expect
@@ -9,7 +9,7 @@
self::expect(3, imp::Extension|method("foo"));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
@@ -22,6 +22,6 @@
tearoff method = imp::Extension|get#method;
}
static method Extension|method(lowered final core::String* #this) → core::int*
- return #this.{core::String::length};
+ return #this.{core::String::length}{core::int*};
static method Extension|get#method(lowered final core::String* #this) → () →* core::int*
return () → core::int* => imp::Extension|method(#this);
diff --git a/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.transformed.expect
index 6ffdbd7..0b2f376 100644
--- a/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
self::expect(3, imp::Extension|method("foo"));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
@@ -22,6 +22,6 @@
tearoff method = imp::Extension|get#method;
}
static method Extension|method(lowered final core::String* #this) → core::int*
- return #this.{core::String::length};
+ return #this.{core::String::length}{core::int*};
static method Extension|get#method(lowered final core::String* #this) → () →* core::int*
return () → core::int* => imp::Extension|method(#this);
diff --git a/pkg/front_end/testcases/extensions/index.dart.weak.expect b/pkg/front_end/testcases/extensions/index.dart.weak.expect
index 81557be..d141d5b 100644
--- a/pkg/front_end/testcases/extensions/index.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/index.dart.weak.expect
@@ -8,9 +8,9 @@
: super core::Object::•()
;
method get(core::Object* key) → self::MapLike::V*
- return this.{self::MapLike::_map}.{core::Map::[]}(key);
+ return this.{self::MapLike::_map}{core::Map<self::MapLike::K*, self::MapLike::V*>*}.{core::Map::[]}(key){(core::Object*) →* self::MapLike::V*};
method put(generic-covariant-impl self::MapLike::K* key, generic-covariant-impl self::MapLike::V* value) → self::MapLike::V*
- return let final core::Map<self::MapLike::K*, self::MapLike::V*>* #t1 = this.{self::MapLike::_map} in let final self::MapLike::K* #t2 = key in let final self::MapLike::V* #t3 = value in let final void #t4 = #t1.{core::Map::[]=}(#t2, #t3) in #t3;
+ return let final core::Map<self::MapLike::K*, self::MapLike::V*>* #t1 = this.{self::MapLike::_map}{core::Map<self::MapLike::K*, self::MapLike::V*>*} in let final self::MapLike::K* #t2 = key in let final self::MapLike::V* #t3 = value in let final void #t4 = #t1.{core::Map::[]=}(#t2, #t3){(self::MapLike::K*, self::MapLike::V*) →* void} in #t3;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -27,9 +27,9 @@
operator []= = self::Extension|[]=;
}
static method Extension|[]<K extends core::Object* = dynamic, V extends core::Object* = dynamic>(lowered final self::MapLike<self::Extension|[]::K*, self::Extension|[]::V*>* #this, core::Object* key) → self::Extension|[]::V*
- return #this.{self::MapLike::get}(key);
+ return #this.{self::MapLike::get}(key){(core::Object*) →* self::Extension|[]::V*};
static method Extension|[]=<K extends core::Object* = dynamic, V extends core::Object* = dynamic>(lowered final self::MapLike<self::Extension|[]=::K*, self::Extension|[]=::V*>* #this, self::Extension|[]=::K* key, self::Extension|[]=::V* value) → void
- return #this.{self::MapLike::put}(key, value);
+ return #this.{self::MapLike::put}(key, value){(self::Extension|[]=::K*, self::Extension|[]=::V*) →* self::Extension|[]=::V*};
static method main() → dynamic {
self::implicit();
self::explicitWithTypeArguments();
@@ -38,86 +38,86 @@
static method implicit() → dynamic {
self::MapLike<core::int*, core::String*>* map1 = new self::MapLike::•<core::int*, core::String*>();
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 0));
- map1.{self::MapLike::put}(0, "0");
+ map1.{self::MapLike::put}(0, "0"){(core::int*, core::String*) →* core::String*};
self::expect("0", self::Extension|[]<core::int*, core::String*>(map1, 0));
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 1));
self::Extension|[]=<core::int*, core::String*>(map1, 1, "1");
self::expect("1", self::Extension|[]<core::int*, core::String*>(map1, 1));
self::expect("2", let final self::MapLike<core::int*, core::String*>* #t5 = map1 in let final core::int* #t6 = 1 in let final core::String* #t7 = "2" in let final void #t8 = self::Extension|[]=<core::int*, core::String*>(#t5, #t6, #t7) in #t7);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t9 = map1 in let final core::int* #t10 = 1 in self::Extension|[]<core::int*, core::String*>(#t9, #t10).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t9, #t10, "3") : null;
+ let final self::MapLike<core::int*, core::String*>* #t9 = map1 in let final core::int* #t10 = 1 in self::Extension|[]<core::int*, core::String*>(#t9, #t10) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t9, #t10, "3") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- self::expect("2", let final self::MapLike<core::int*, core::String*>* #t11 = map1 in let final core::int* #t12 = 1 in let final core::String* #t13 = self::Extension|[]<core::int*, core::String*>(#t11, #t12) in #t13.{core::String::==}(null) ?{core::String*} let final core::String* #t14 = "4" in let final void #t15 = self::Extension|[]=<core::int*, core::String*>(#t11, #t12, #t14) in #t14 : #t13);
+ self::expect("2", let final self::MapLike<core::int*, core::String*>* #t11 = map1 in let final core::int* #t12 = 1 in let final core::String* #t13 = self::Extension|[]<core::int*, core::String*>(#t11, #t12) in #t13 == null ?{core::String*} let final core::String* #t14 = "4" in let final void #t15 = self::Extension|[]=<core::int*, core::String*>(#t11, #t12, #t14) in #t14 : #t13);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t16 = map1 in let final core::int* #t17 = 2 in self::Extension|[]<core::int*, core::String*>(#t16, #t17).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t16, #t17, "2") : null;
+ let final self::MapLike<core::int*, core::String*>* #t16 = map1 in let final core::int* #t17 = 2 in self::Extension|[]<core::int*, core::String*>(#t16, #t17) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t16, #t17, "2") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 2));
- self::expect("3", let final self::MapLike<core::int*, core::String*>* #t18 = map1 in let final core::int* #t19 = 3 in let final core::String* #t20 = self::Extension|[]<core::int*, core::String*>(#t18, #t19) in #t20.{core::String::==}(null) ?{core::String*} let final core::String* #t21 = "3" in let final void #t22 = self::Extension|[]=<core::int*, core::String*>(#t18, #t19, #t21) in #t21 : #t20);
+ self::expect("3", let final self::MapLike<core::int*, core::String*>* #t18 = map1 in let final core::int* #t19 = 3 in let final core::String* #t20 = self::Extension|[]<core::int*, core::String*>(#t18, #t19) in #t20 == null ?{core::String*} let final core::String* #t21 = "3" in let final void #t22 = self::Extension|[]=<core::int*, core::String*>(#t18, #t19, #t21) in #t21 : #t20);
self::expect("3", self::Extension|[]<core::int*, core::String*>(map1, 3));
self::MapLike<core::int*, core::int*>* map2 = new self::MapLike::•<core::int*, core::int*>();
self::expect(1, let final self::MapLike<core::int*, core::int*>* #t23 = map2 in let final core::int* #t24 = 0 in let final core::int* #t25 = 1 in let final void #t26 = self::Extension|[]=<core::int*, core::int*>(#t23, #t24, #t25) in #t25);
- self::expect(3, let final self::MapLike<core::int*, core::int*>* #t27 = map2 in let final core::int* #t28 = 0 in let final core::int* #t29 = self::Extension|[]<core::int*, core::int*>(#t27, #t28).{core::num::+}(2) in let final void #t30 = self::Extension|[]=<core::int*, core::int*>(#t27, #t28, #t29) in #t29);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t31 = map2 in let final core::int* #t32 = 0 in let final core::int* #t33 = self::Extension|[]<core::int*, core::int*>(#t31, #t32).{core::num::+}(2) in let final void #t34 = self::Extension|[]=<core::int*, core::int*>(#t31, #t32, #t33) in #t33);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t35 = map2 in let final core::int* #t36 = 0 in let final core::int* #t37 = self::Extension|[]<core::int*, core::int*>(#t35, #t36) in let final void #t38 = self::Extension|[]=<core::int*, core::int*>(#t35, #t36, #t37.{core::num::+}(1)) in #t37);
+ self::expect(3, let final self::MapLike<core::int*, core::int*>* #t27 = map2 in let final core::int* #t28 = 0 in let final core::int* #t29 = self::Extension|[]<core::int*, core::int*>(#t27, #t28).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t30 = self::Extension|[]=<core::int*, core::int*>(#t27, #t28, #t29) in #t29);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t31 = map2 in let final core::int* #t32 = 0 in let final core::int* #t33 = self::Extension|[]<core::int*, core::int*>(#t31, #t32).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t34 = self::Extension|[]=<core::int*, core::int*>(#t31, #t32, #t33) in #t33);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t35 = map2 in let final core::int* #t36 = 0 in let final core::int* #t37 = self::Extension|[]<core::int*, core::int*>(#t35, #t36) in let final void #t38 = self::Extension|[]=<core::int*, core::int*>(#t35, #t36, #t37.{core::num::+}(1){(core::num*) →* core::int*}) in #t37);
self::expect(6, self::Extension|[]<core::int*, core::int*>(map2, 0));
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t39 = map2 in let final core::int* #t40 = 0 in let final core::int* #t41 = self::Extension|[]<core::int*, core::int*>(#t39, #t40).{core::num::-}(1) in let final void #t42 = self::Extension|[]=<core::int*, core::int*>(#t39, #t40, #t41) in #t41);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t39 = map2 in let final core::int* #t40 = 0 in let final core::int* #t41 = self::Extension|[]<core::int*, core::int*>(#t39, #t40).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t42 = self::Extension|[]=<core::int*, core::int*>(#t39, #t40, #t41) in #t41);
self::expect(5, self::Extension|[]<core::int*, core::int*>(map2, 0));
}
static method explicitWithTypeArguments() → dynamic {
self::MapLike<core::int*, core::String*>* map1 = new self::MapLike::•<core::int*, core::String*>();
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 0));
- map1.{self::MapLike::put}(0, "0");
+ map1.{self::MapLike::put}(0, "0"){(core::int*, core::String*) →* core::String*};
self::expect("0", self::Extension|[]<core::int*, core::String*>(map1, 0));
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 1));
self::Extension|[]=<core::int*, core::String*>(map1, 1, "1");
self::expect("1", self::Extension|[]<core::int*, core::String*>(map1, 1));
self::expect("2", let final self::MapLike<core::int*, core::String*>* #t43 = map1 in let final core::String* #t44 = "2" in let final void #t45 = self::Extension|[]=<core::int*, core::String*>(#t43, 1, #t44) in #t44);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t46 = map1 in let final core::int* #t47 = 1 in self::Extension|[]<core::int*, core::String*>(#t46, #t47).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t46, #t47, "3") : null;
+ let final self::MapLike<core::int*, core::String*>* #t46 = map1 in let final core::int* #t47 = 1 in self::Extension|[]<core::int*, core::String*>(#t46, #t47) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t46, #t47, "3") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- self::expect("2", let final self::MapLike<core::int*, core::String*>* #t48 = map1 in let final core::int* #t49 = 1 in let final core::String* #t50 = self::Extension|[]<core::int*, core::String*>(#t48, #t49) in #t50.{core::String::==}(null) ?{core::String*} let final core::String* #t51 = "4" in let final void #t52 = self::Extension|[]=<core::int*, core::String*>(#t48, #t49, #t51) in #t51 : #t50);
+ self::expect("2", let final self::MapLike<core::int*, core::String*>* #t48 = map1 in let final core::int* #t49 = 1 in let final core::String* #t50 = self::Extension|[]<core::int*, core::String*>(#t48, #t49) in #t50 == null ?{core::String*} let final core::String* #t51 = "4" in let final void #t52 = self::Extension|[]=<core::int*, core::String*>(#t48, #t49, #t51) in #t51 : #t50);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t53 = map1 in let final core::int* #t54 = 2 in self::Extension|[]<core::int*, core::String*>(#t53, #t54).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t53, #t54, "2") : null;
+ let final self::MapLike<core::int*, core::String*>* #t53 = map1 in let final core::int* #t54 = 2 in self::Extension|[]<core::int*, core::String*>(#t53, #t54) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t53, #t54, "2") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 2));
- self::expect("3", let final self::MapLike<core::int*, core::String*>* #t55 = map1 in let final core::int* #t56 = 3 in let final core::String* #t57 = self::Extension|[]<core::int*, core::String*>(#t55, #t56) in #t57.{core::String::==}(null) ?{core::String*} let final core::String* #t58 = "3" in let final void #t59 = self::Extension|[]=<core::int*, core::String*>(#t55, #t56, #t58) in #t58 : #t57);
+ self::expect("3", let final self::MapLike<core::int*, core::String*>* #t55 = map1 in let final core::int* #t56 = 3 in let final core::String* #t57 = self::Extension|[]<core::int*, core::String*>(#t55, #t56) in #t57 == null ?{core::String*} let final core::String* #t58 = "3" in let final void #t59 = self::Extension|[]=<core::int*, core::String*>(#t55, #t56, #t58) in #t58 : #t57);
self::expect("3", self::Extension|[]<core::int*, core::String*>(map1, 3));
self::MapLike<core::int*, core::int*>* map2 = new self::MapLike::•<core::int*, core::int*>();
self::expect(1, let final self::MapLike<core::int*, core::int*>* #t60 = map2 in let final core::int* #t61 = 1 in let final void #t62 = self::Extension|[]=<core::int*, core::int*>(#t60, 0, #t61) in #t61);
- self::expect(3, let final self::MapLike<core::int*, core::int*>* #t63 = map2 in let final core::int* #t64 = 0 in let final core::int* #t65 = self::Extension|[]<core::int*, core::int*>(#t63, #t64).{core::num::+}(2) in let final void #t66 = self::Extension|[]=<core::int*, core::int*>(#t63, #t64, #t65) in #t65);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t67 = map2 in let final core::int* #t68 = 0 in let final core::int* #t69 = self::Extension|[]<core::int*, core::int*>(#t67, #t68).{core::num::+}(2) in let final void #t70 = self::Extension|[]=<core::int*, core::int*>(#t67, #t68, #t69) in #t69);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t71 = map2 in let final core::int* #t72 = 0 in let final core::int* #t73 = self::Extension|[]<core::int*, core::int*>(#t71, #t72) in let final void #t74 = self::Extension|[]=<core::int*, core::int*>(#t71, #t72, #t73.{core::num::+}(1)) in #t73);
+ self::expect(3, let final self::MapLike<core::int*, core::int*>* #t63 = map2 in let final core::int* #t64 = 0 in let final core::int* #t65 = self::Extension|[]<core::int*, core::int*>(#t63, #t64).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t66 = self::Extension|[]=<core::int*, core::int*>(#t63, #t64, #t65) in #t65);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t67 = map2 in let final core::int* #t68 = 0 in let final core::int* #t69 = self::Extension|[]<core::int*, core::int*>(#t67, #t68).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t70 = self::Extension|[]=<core::int*, core::int*>(#t67, #t68, #t69) in #t69);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t71 = map2 in let final core::int* #t72 = 0 in let final core::int* #t73 = self::Extension|[]<core::int*, core::int*>(#t71, #t72) in let final void #t74 = self::Extension|[]=<core::int*, core::int*>(#t71, #t72, #t73.{core::num::+}(1){(core::num*) →* core::int*}) in #t73);
self::expect(6, self::Extension|[]<core::int*, core::int*>(map2, 0));
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t75 = map2 in let final core::int* #t76 = 0 in let final core::int* #t77 = self::Extension|[]<core::int*, core::int*>(#t75, #t76).{core::num::-}(1) in let final void #t78 = self::Extension|[]=<core::int*, core::int*>(#t75, #t76, #t77) in #t77);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t75 = map2 in let final core::int* #t76 = 0 in let final core::int* #t77 = self::Extension|[]<core::int*, core::int*>(#t75, #t76).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t78 = self::Extension|[]=<core::int*, core::int*>(#t75, #t76, #t77) in #t77);
self::expect(5, self::Extension|[]<core::int*, core::int*>(map2, 0));
}
static method explicitInferredTypeArguments() → dynamic {
self::MapLike<core::int*, core::String*>* map1 = new self::MapLike::•<core::int*, core::String*>();
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 0));
- map1.{self::MapLike::put}(0, "0");
+ map1.{self::MapLike::put}(0, "0"){(core::int*, core::String*) →* core::String*};
self::expect("0", self::Extension|[]<core::int*, core::String*>(map1, 0));
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 1));
self::Extension|[]=<core::int*, core::String*>(map1, 1, "1");
self::expect("1", self::Extension|[]<core::int*, core::String*>(map1, 1));
self::expect("2", let final self::MapLike<core::int*, core::String*>* #t79 = map1 in let final core::String* #t80 = "2" in let final void #t81 = self::Extension|[]=<core::int*, core::String*>(#t79, 1, #t80) in #t80);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t82 = map1 in let final core::int* #t83 = 1 in self::Extension|[]<core::int*, core::String*>(#t82, #t83).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t82, #t83, "3") : null;
+ let final self::MapLike<core::int*, core::String*>* #t82 = map1 in let final core::int* #t83 = 1 in self::Extension|[]<core::int*, core::String*>(#t82, #t83) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t82, #t83, "3") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- self::expect("2", let final self::MapLike<core::int*, core::String*>* #t84 = map1 in let final core::int* #t85 = 1 in let final core::String* #t86 = self::Extension|[]<core::int*, core::String*>(#t84, #t85) in #t86.{core::String::==}(null) ?{core::String*} let final core::String* #t87 = "4" in let final void #t88 = self::Extension|[]=<core::int*, core::String*>(#t84, #t85, #t87) in #t87 : #t86);
+ self::expect("2", let final self::MapLike<core::int*, core::String*>* #t84 = map1 in let final core::int* #t85 = 1 in let final core::String* #t86 = self::Extension|[]<core::int*, core::String*>(#t84, #t85) in #t86 == null ?{core::String*} let final core::String* #t87 = "4" in let final void #t88 = self::Extension|[]=<core::int*, core::String*>(#t84, #t85, #t87) in #t87 : #t86);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t89 = map1 in let final core::int* #t90 = 2 in self::Extension|[]<core::int*, core::String*>(#t89, #t90).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t89, #t90, "2") : null;
+ let final self::MapLike<core::int*, core::String*>* #t89 = map1 in let final core::int* #t90 = 2 in self::Extension|[]<core::int*, core::String*>(#t89, #t90) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t89, #t90, "2") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 2));
- self::expect("3", let final self::MapLike<core::int*, core::String*>* #t91 = map1 in let final core::int* #t92 = 3 in let final core::String* #t93 = self::Extension|[]<core::int*, core::String*>(#t91, #t92) in #t93.{core::String::==}(null) ?{core::String*} let final core::String* #t94 = "3" in let final void #t95 = self::Extension|[]=<core::int*, core::String*>(#t91, #t92, #t94) in #t94 : #t93);
+ self::expect("3", let final self::MapLike<core::int*, core::String*>* #t91 = map1 in let final core::int* #t92 = 3 in let final core::String* #t93 = self::Extension|[]<core::int*, core::String*>(#t91, #t92) in #t93 == null ?{core::String*} let final core::String* #t94 = "3" in let final void #t95 = self::Extension|[]=<core::int*, core::String*>(#t91, #t92, #t94) in #t94 : #t93);
self::expect("3", self::Extension|[]<core::int*, core::String*>(map1, 3));
self::MapLike<core::int*, core::int*>* map2 = new self::MapLike::•<core::int*, core::int*>();
self::expect(1, let final self::MapLike<core::int*, core::int*>* #t96 = map2 in let final core::int* #t97 = 1 in let final void #t98 = self::Extension|[]=<core::int*, core::int*>(#t96, 0, #t97) in #t97);
- self::expect(3, let final self::MapLike<core::int*, core::int*>* #t99 = map2 in let final core::int* #t100 = 0 in let final core::int* #t101 = self::Extension|[]<core::int*, core::int*>(#t99, #t100).{core::num::+}(2) in let final void #t102 = self::Extension|[]=<core::int*, core::int*>(#t99, #t100, #t101) in #t101);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t103 = map2 in let final core::int* #t104 = 0 in let final core::int* #t105 = self::Extension|[]<core::int*, core::int*>(#t103, #t104).{core::num::+}(2) in let final void #t106 = self::Extension|[]=<core::int*, core::int*>(#t103, #t104, #t105) in #t105);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t107 = map2 in let final core::int* #t108 = 0 in let final core::int* #t109 = self::Extension|[]<core::int*, core::int*>(#t107, #t108) in let final void #t110 = self::Extension|[]=<core::int*, core::int*>(#t107, #t108, #t109.{core::num::+}(1)) in #t109);
+ self::expect(3, let final self::MapLike<core::int*, core::int*>* #t99 = map2 in let final core::int* #t100 = 0 in let final core::int* #t101 = self::Extension|[]<core::int*, core::int*>(#t99, #t100).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t102 = self::Extension|[]=<core::int*, core::int*>(#t99, #t100, #t101) in #t101);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t103 = map2 in let final core::int* #t104 = 0 in let final core::int* #t105 = self::Extension|[]<core::int*, core::int*>(#t103, #t104).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t106 = self::Extension|[]=<core::int*, core::int*>(#t103, #t104, #t105) in #t105);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t107 = map2 in let final core::int* #t108 = 0 in let final core::int* #t109 = self::Extension|[]<core::int*, core::int*>(#t107, #t108) in let final void #t110 = self::Extension|[]=<core::int*, core::int*>(#t107, #t108, #t109.{core::num::+}(1){(core::num*) →* core::int*}) in #t109);
self::expect(6, self::Extension|[]<core::int*, core::int*>(map2, 0));
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t111 = map2 in let final core::int* #t112 = 0 in let final core::int* #t113 = self::Extension|[]<core::int*, core::int*>(#t111, #t112).{core::num::-}(1) in let final void #t114 = self::Extension|[]=<core::int*, core::int*>(#t111, #t112, #t113) in #t113);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t111 = map2 in let final core::int* #t112 = 0 in let final core::int* #t113 = self::Extension|[]<core::int*, core::int*>(#t111, #t112).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t114 = self::Extension|[]=<core::int*, core::int*>(#t111, #t112, #t113) in #t113);
self::expect(5, self::Extension|[]<core::int*, core::int*>(map2, 0));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/index.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/index.dart.weak.transformed.expect
index e570b06..fd7413f 100644
--- a/pkg/front_end/testcases/extensions/index.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/index.dart.weak.transformed.expect
@@ -8,9 +8,9 @@
: super core::Object::•()
;
method get(core::Object* key) → self::MapLike::V*
- return this.{self::MapLike::_map}.{core::Map::[]}(key);
+ return this.{self::MapLike::_map}{core::Map<self::MapLike::K*, self::MapLike::V*>*}.{core::Map::[]}(key){(core::Object*) →* self::MapLike::V*};
method put(generic-covariant-impl self::MapLike::K* key, generic-covariant-impl self::MapLike::V* value) → self::MapLike::V*
- return let final core::Map<self::MapLike::K*, self::MapLike::V*>* #t1 = this.{self::MapLike::_map} in let final self::MapLike::K* #t2 = key in let final self::MapLike::V* #t3 = value in let final void #t4 = #t1.{core::Map::[]=}(#t2, #t3) in #t3;
+ return let final core::Map<self::MapLike::K*, self::MapLike::V*>* #t1 = this.{self::MapLike::_map}{core::Map<self::MapLike::K*, self::MapLike::V*>*} in let final self::MapLike::K* #t2 = key in let final self::MapLike::V* #t3 = value in let final void #t4 = #t1.{core::Map::[]=}(#t2, #t3){(self::MapLike::K*, self::MapLike::V*) →* void} in #t3;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -27,9 +27,9 @@
operator []= = self::Extension|[]=;
}
static method Extension|[]<K extends core::Object* = dynamic, V extends core::Object* = dynamic>(lowered final self::MapLike<self::Extension|[]::K*, self::Extension|[]::V*>* #this, core::Object* key) → self::Extension|[]::V*
- return #this.{self::MapLike::get}(key);
+ return #this.{self::MapLike::get}(key){(core::Object*) →* self::Extension|[]::V*};
static method Extension|[]=<K extends core::Object* = dynamic, V extends core::Object* = dynamic>(lowered final self::MapLike<self::Extension|[]=::K*, self::Extension|[]=::V*>* #this, self::Extension|[]=::K* key, self::Extension|[]=::V* value) → void
- return #this.{self::MapLike::put}(key, value);
+ return #this.{self::MapLike::put}(key, value){(self::Extension|[]=::K*, self::Extension|[]=::V*) →* self::Extension|[]=::V*};
static method main() → dynamic {
self::implicit();
self::explicitWithTypeArguments();
@@ -38,86 +38,86 @@
static method implicit() → dynamic {
self::MapLike<core::int*, core::String*>* map1 = new self::MapLike::•<core::int*, core::String*>();
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 0));
- map1.{self::MapLike::put}(0, "0");
+ map1.{self::MapLike::put}(0, "0"){(core::int*, core::String*) →* core::String*};
self::expect("0", self::Extension|[]<core::int*, core::String*>(map1, 0));
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 1));
self::Extension|[]=<core::int*, core::String*>(map1, 1, "1");
self::expect("1", self::Extension|[]<core::int*, core::String*>(map1, 1));
self::expect("2", let final self::MapLike<core::int*, core::String*>* #t5 = map1 in let final core::int* #t6 = 1 in let final core::String* #t7 = "2" in let final void #t8 = self::Extension|[]=<core::int*, core::String*>(#t5, #t6, #t7) in #t7);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t9 = map1 in let final core::int* #t10 = 1 in self::Extension|[]<core::int*, core::String*>(#t9, #t10).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t9, #t10, "3") : null;
+ let final self::MapLike<core::int*, core::String*>* #t9 = map1 in let final core::int* #t10 = 1 in self::Extension|[]<core::int*, core::String*>(#t9, #t10) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t9, #t10, "3") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- self::expect("2", let final self::MapLike<core::int*, core::String*>* #t11 = map1 in let final core::int* #t12 = 1 in let final core::String* #t13 = self::Extension|[]<core::int*, core::String*>(#t11, #t12) in #t13.{core::String::==}(null) ?{core::String*} let final core::String* #t14 = "4" in let final void #t15 = self::Extension|[]=<core::int*, core::String*>(#t11, #t12, #t14) in #t14 : #t13);
+ self::expect("2", let final self::MapLike<core::int*, core::String*>* #t11 = map1 in let final core::int* #t12 = 1 in let final core::String* #t13 = self::Extension|[]<core::int*, core::String*>(#t11, #t12) in #t13 == null ?{core::String*} let final core::String* #t14 = "4" in let final void #t15 = self::Extension|[]=<core::int*, core::String*>(#t11, #t12, #t14) in #t14 : #t13);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t16 = map1 in let final core::int* #t17 = 2 in self::Extension|[]<core::int*, core::String*>(#t16, #t17).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t16, #t17, "2") : null;
+ let final self::MapLike<core::int*, core::String*>* #t16 = map1 in let final core::int* #t17 = 2 in self::Extension|[]<core::int*, core::String*>(#t16, #t17) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t16, #t17, "2") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 2));
- self::expect("3", let final self::MapLike<core::int*, core::String*>* #t18 = map1 in let final core::int* #t19 = 3 in let final core::String* #t20 = self::Extension|[]<core::int*, core::String*>(#t18, #t19) in #t20.{core::String::==}(null) ?{core::String*} let final core::String* #t21 = "3" in let final void #t22 = self::Extension|[]=<core::int*, core::String*>(#t18, #t19, #t21) in #t21 : #t20);
+ self::expect("3", let final self::MapLike<core::int*, core::String*>* #t18 = map1 in let final core::int* #t19 = 3 in let final core::String* #t20 = self::Extension|[]<core::int*, core::String*>(#t18, #t19) in #t20 == null ?{core::String*} let final core::String* #t21 = "3" in let final void #t22 = self::Extension|[]=<core::int*, core::String*>(#t18, #t19, #t21) in #t21 : #t20);
self::expect("3", self::Extension|[]<core::int*, core::String*>(map1, 3));
self::MapLike<core::int*, core::int*>* map2 = new self::MapLike::•<core::int*, core::int*>();
self::expect(1, let final self::MapLike<core::int*, core::int*>* #t23 = map2 in let final core::int* #t24 = 0 in let final core::int* #t25 = 1 in let final void #t26 = self::Extension|[]=<core::int*, core::int*>(#t23, #t24, #t25) in #t25);
- self::expect(3, let final self::MapLike<core::int*, core::int*>* #t27 = map2 in let final core::int* #t28 = 0 in let final core::int* #t29 = self::Extension|[]<core::int*, core::int*>(#t27, #t28).{core::num::+}(2) in let final void #t30 = self::Extension|[]=<core::int*, core::int*>(#t27, #t28, #t29) in #t29);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t31 = map2 in let final core::int* #t32 = 0 in let final core::int* #t33 = self::Extension|[]<core::int*, core::int*>(#t31, #t32).{core::num::+}(2) in let final void #t34 = self::Extension|[]=<core::int*, core::int*>(#t31, #t32, #t33) in #t33);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t35 = map2 in let final core::int* #t36 = 0 in let final core::int* #t37 = self::Extension|[]<core::int*, core::int*>(#t35, #t36) in let final void #t38 = self::Extension|[]=<core::int*, core::int*>(#t35, #t36, #t37.{core::num::+}(1)) in #t37);
+ self::expect(3, let final self::MapLike<core::int*, core::int*>* #t27 = map2 in let final core::int* #t28 = 0 in let final core::int* #t29 = self::Extension|[]<core::int*, core::int*>(#t27, #t28).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t30 = self::Extension|[]=<core::int*, core::int*>(#t27, #t28, #t29) in #t29);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t31 = map2 in let final core::int* #t32 = 0 in let final core::int* #t33 = self::Extension|[]<core::int*, core::int*>(#t31, #t32).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t34 = self::Extension|[]=<core::int*, core::int*>(#t31, #t32, #t33) in #t33);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t35 = map2 in let final core::int* #t36 = 0 in let final core::int* #t37 = self::Extension|[]<core::int*, core::int*>(#t35, #t36) in let final void #t38 = self::Extension|[]=<core::int*, core::int*>(#t35, #t36, #t37.{core::num::+}(1){(core::num*) →* core::int*}) in #t37);
self::expect(6, self::Extension|[]<core::int*, core::int*>(map2, 0));
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t39 = map2 in let final core::int* #t40 = 0 in let final core::int* #t41 = self::Extension|[]<core::int*, core::int*>(#t39, #t40).{core::num::-}(1) in let final void #t42 = self::Extension|[]=<core::int*, core::int*>(#t39, #t40, #t41) in #t41);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t39 = map2 in let final core::int* #t40 = 0 in let final core::int* #t41 = self::Extension|[]<core::int*, core::int*>(#t39, #t40).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t42 = self::Extension|[]=<core::int*, core::int*>(#t39, #t40, #t41) in #t41);
self::expect(5, self::Extension|[]<core::int*, core::int*>(map2, 0));
}
static method explicitWithTypeArguments() → dynamic {
self::MapLike<core::int*, core::String*>* map1 = new self::MapLike::•<core::int*, core::String*>();
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 0));
- map1.{self::MapLike::put}(0, "0");
+ map1.{self::MapLike::put}(0, "0"){(core::int*, core::String*) →* core::String*};
self::expect("0", self::Extension|[]<core::int*, core::String*>(map1, 0));
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 1));
self::Extension|[]=<core::int*, core::String*>(map1, 1, "1");
self::expect("1", self::Extension|[]<core::int*, core::String*>(map1, 1));
self::expect("2", let final self::MapLike<core::int*, core::String*>* #t43 = map1 in let final core::String* #t44 = "2" in let final void #t45 = self::Extension|[]=<core::int*, core::String*>(#t43, 1, #t44) in #t44);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t46 = map1 in let final core::int* #t47 = 1 in self::Extension|[]<core::int*, core::String*>(#t46, #t47).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t46, #t47, "3") : null;
+ let final self::MapLike<core::int*, core::String*>* #t46 = map1 in let final core::int* #t47 = 1 in self::Extension|[]<core::int*, core::String*>(#t46, #t47) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t46, #t47, "3") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- self::expect("2", let final self::MapLike<core::int*, core::String*>* #t48 = map1 in let final core::int* #t49 = 1 in let final core::String* #t50 = self::Extension|[]<core::int*, core::String*>(#t48, #t49) in #t50.{core::String::==}(null) ?{core::String*} let final core::String* #t51 = "4" in let final void #t52 = self::Extension|[]=<core::int*, core::String*>(#t48, #t49, #t51) in #t51 : #t50);
+ self::expect("2", let final self::MapLike<core::int*, core::String*>* #t48 = map1 in let final core::int* #t49 = 1 in let final core::String* #t50 = self::Extension|[]<core::int*, core::String*>(#t48, #t49) in #t50 == null ?{core::String*} let final core::String* #t51 = "4" in let final void #t52 = self::Extension|[]=<core::int*, core::String*>(#t48, #t49, #t51) in #t51 : #t50);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t53 = map1 in let final core::int* #t54 = 2 in self::Extension|[]<core::int*, core::String*>(#t53, #t54).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t53, #t54, "2") : null;
+ let final self::MapLike<core::int*, core::String*>* #t53 = map1 in let final core::int* #t54 = 2 in self::Extension|[]<core::int*, core::String*>(#t53, #t54) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t53, #t54, "2") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 2));
- self::expect("3", let final self::MapLike<core::int*, core::String*>* #t55 = map1 in let final core::int* #t56 = 3 in let final core::String* #t57 = self::Extension|[]<core::int*, core::String*>(#t55, #t56) in #t57.{core::String::==}(null) ?{core::String*} let final core::String* #t58 = "3" in let final void #t59 = self::Extension|[]=<core::int*, core::String*>(#t55, #t56, #t58) in #t58 : #t57);
+ self::expect("3", let final self::MapLike<core::int*, core::String*>* #t55 = map1 in let final core::int* #t56 = 3 in let final core::String* #t57 = self::Extension|[]<core::int*, core::String*>(#t55, #t56) in #t57 == null ?{core::String*} let final core::String* #t58 = "3" in let final void #t59 = self::Extension|[]=<core::int*, core::String*>(#t55, #t56, #t58) in #t58 : #t57);
self::expect("3", self::Extension|[]<core::int*, core::String*>(map1, 3));
self::MapLike<core::int*, core::int*>* map2 = new self::MapLike::•<core::int*, core::int*>();
self::expect(1, let final self::MapLike<core::int*, core::int*>* #t60 = map2 in let final core::int* #t61 = 1 in let final void #t62 = self::Extension|[]=<core::int*, core::int*>(#t60, 0, #t61) in #t61);
- self::expect(3, let final self::MapLike<core::int*, core::int*>* #t63 = map2 in let final core::int* #t64 = 0 in let final core::int* #t65 = self::Extension|[]<core::int*, core::int*>(#t63, #t64).{core::num::+}(2) in let final void #t66 = self::Extension|[]=<core::int*, core::int*>(#t63, #t64, #t65) in #t65);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t67 = map2 in let final core::int* #t68 = 0 in let final core::int* #t69 = self::Extension|[]<core::int*, core::int*>(#t67, #t68).{core::num::+}(2) in let final void #t70 = self::Extension|[]=<core::int*, core::int*>(#t67, #t68, #t69) in #t69);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t71 = map2 in let final core::int* #t72 = 0 in let final core::int* #t73 = self::Extension|[]<core::int*, core::int*>(#t71, #t72) in let final void #t74 = self::Extension|[]=<core::int*, core::int*>(#t71, #t72, #t73.{core::num::+}(1)) in #t73);
+ self::expect(3, let final self::MapLike<core::int*, core::int*>* #t63 = map2 in let final core::int* #t64 = 0 in let final core::int* #t65 = self::Extension|[]<core::int*, core::int*>(#t63, #t64).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t66 = self::Extension|[]=<core::int*, core::int*>(#t63, #t64, #t65) in #t65);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t67 = map2 in let final core::int* #t68 = 0 in let final core::int* #t69 = self::Extension|[]<core::int*, core::int*>(#t67, #t68).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t70 = self::Extension|[]=<core::int*, core::int*>(#t67, #t68, #t69) in #t69);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t71 = map2 in let final core::int* #t72 = 0 in let final core::int* #t73 = self::Extension|[]<core::int*, core::int*>(#t71, #t72) in let final void #t74 = self::Extension|[]=<core::int*, core::int*>(#t71, #t72, #t73.{core::num::+}(1){(core::num*) →* core::int*}) in #t73);
self::expect(6, self::Extension|[]<core::int*, core::int*>(map2, 0));
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t75 = map2 in let final core::int* #t76 = 0 in let final core::int* #t77 = self::Extension|[]<core::int*, core::int*>(#t75, #t76).{core::num::-}(1) in let final void #t78 = self::Extension|[]=<core::int*, core::int*>(#t75, #t76, #t77) in #t77);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t75 = map2 in let final core::int* #t76 = 0 in let final core::int* #t77 = self::Extension|[]<core::int*, core::int*>(#t75, #t76).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t78 = self::Extension|[]=<core::int*, core::int*>(#t75, #t76, #t77) in #t77);
self::expect(5, self::Extension|[]<core::int*, core::int*>(map2, 0));
}
static method explicitInferredTypeArguments() → dynamic {
self::MapLike<core::int*, core::String*>* map1 = new self::MapLike::•<core::int*, core::String*>();
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 0));
- map1.{self::MapLike::put}(0, "0");
+ map1.{self::MapLike::put}(0, "0"){(core::int*, core::String*) →* core::String*};
self::expect("0", self::Extension|[]<core::int*, core::String*>(map1, 0));
self::expect(null, self::Extension|[]<core::int*, core::String*>(map1, 1));
self::Extension|[]=<core::int*, core::String*>(map1, 1, "1");
self::expect("1", self::Extension|[]<core::int*, core::String*>(map1, 1));
self::expect("2", let final self::MapLike<core::int*, core::String*>* #t79 = map1 in let final core::String* #t80 = "2" in let final void #t81 = self::Extension|[]=<core::int*, core::String*>(#t79, 1, #t80) in #t80);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t82 = map1 in let final core::int* #t83 = 1 in self::Extension|[]<core::int*, core::String*>(#t82, #t83).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t82, #t83, "3") : null;
+ let final self::MapLike<core::int*, core::String*>* #t82 = map1 in let final core::int* #t83 = 1 in self::Extension|[]<core::int*, core::String*>(#t82, #t83) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t82, #t83, "3") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- self::expect("2", let final self::MapLike<core::int*, core::String*>* #t84 = map1 in let final core::int* #t85 = 1 in let final core::String* #t86 = self::Extension|[]<core::int*, core::String*>(#t84, #t85) in #t86.{core::String::==}(null) ?{core::String*} let final core::String* #t87 = "4" in let final void #t88 = self::Extension|[]=<core::int*, core::String*>(#t84, #t85, #t87) in #t87 : #t86);
+ self::expect("2", let final self::MapLike<core::int*, core::String*>* #t84 = map1 in let final core::int* #t85 = 1 in let final core::String* #t86 = self::Extension|[]<core::int*, core::String*>(#t84, #t85) in #t86 == null ?{core::String*} let final core::String* #t87 = "4" in let final void #t88 = self::Extension|[]=<core::int*, core::String*>(#t84, #t85, #t87) in #t87 : #t86);
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 1));
- let final self::MapLike<core::int*, core::String*>* #t89 = map1 in let final core::int* #t90 = 2 in self::Extension|[]<core::int*, core::String*>(#t89, #t90).{core::String::==}(null) ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t89, #t90, "2") : null;
+ let final self::MapLike<core::int*, core::String*>* #t89 = map1 in let final core::int* #t90 = 2 in self::Extension|[]<core::int*, core::String*>(#t89, #t90) == null ?{core::String*} self::Extension|[]=<core::int*, core::String*>(#t89, #t90, "2") : null;
self::expect("2", self::Extension|[]<core::int*, core::String*>(map1, 2));
- self::expect("3", let final self::MapLike<core::int*, core::String*>* #t91 = map1 in let final core::int* #t92 = 3 in let final core::String* #t93 = self::Extension|[]<core::int*, core::String*>(#t91, #t92) in #t93.{core::String::==}(null) ?{core::String*} let final core::String* #t94 = "3" in let final void #t95 = self::Extension|[]=<core::int*, core::String*>(#t91, #t92, #t94) in #t94 : #t93);
+ self::expect("3", let final self::MapLike<core::int*, core::String*>* #t91 = map1 in let final core::int* #t92 = 3 in let final core::String* #t93 = self::Extension|[]<core::int*, core::String*>(#t91, #t92) in #t93 == null ?{core::String*} let final core::String* #t94 = "3" in let final void #t95 = self::Extension|[]=<core::int*, core::String*>(#t91, #t92, #t94) in #t94 : #t93);
self::expect("3", self::Extension|[]<core::int*, core::String*>(map1, 3));
self::MapLike<core::int*, core::int*>* map2 = new self::MapLike::•<core::int*, core::int*>();
self::expect(1, let final self::MapLike<core::int*, core::int*>* #t96 = map2 in let final core::int* #t97 = 1 in let final void #t98 = self::Extension|[]=<core::int*, core::int*>(#t96, 0, #t97) in #t97);
- self::expect(3, let final self::MapLike<core::int*, core::int*>* #t99 = map2 in let final core::int* #t100 = 0 in let final core::int* #t101 = self::Extension|[]<core::int*, core::int*>(#t99, #t100).{core::num::+}(2) in let final void #t102 = self::Extension|[]=<core::int*, core::int*>(#t99, #t100, #t101) in #t101);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t103 = map2 in let final core::int* #t104 = 0 in let final core::int* #t105 = self::Extension|[]<core::int*, core::int*>(#t103, #t104).{core::num::+}(2) in let final void #t106 = self::Extension|[]=<core::int*, core::int*>(#t103, #t104, #t105) in #t105);
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t107 = map2 in let final core::int* #t108 = 0 in let final core::int* #t109 = self::Extension|[]<core::int*, core::int*>(#t107, #t108) in let final void #t110 = self::Extension|[]=<core::int*, core::int*>(#t107, #t108, #t109.{core::num::+}(1)) in #t109);
+ self::expect(3, let final self::MapLike<core::int*, core::int*>* #t99 = map2 in let final core::int* #t100 = 0 in let final core::int* #t101 = self::Extension|[]<core::int*, core::int*>(#t99, #t100).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t102 = self::Extension|[]=<core::int*, core::int*>(#t99, #t100, #t101) in #t101);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t103 = map2 in let final core::int* #t104 = 0 in let final core::int* #t105 = self::Extension|[]<core::int*, core::int*>(#t103, #t104).{core::num::+}(2){(core::num*) →* core::int*} in let final void #t106 = self::Extension|[]=<core::int*, core::int*>(#t103, #t104, #t105) in #t105);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t107 = map2 in let final core::int* #t108 = 0 in let final core::int* #t109 = self::Extension|[]<core::int*, core::int*>(#t107, #t108) in let final void #t110 = self::Extension|[]=<core::int*, core::int*>(#t107, #t108, #t109.{core::num::+}(1){(core::num*) →* core::int*}) in #t109);
self::expect(6, self::Extension|[]<core::int*, core::int*>(map2, 0));
- self::expect(5, let final self::MapLike<core::int*, core::int*>* #t111 = map2 in let final core::int* #t112 = 0 in let final core::int* #t113 = self::Extension|[]<core::int*, core::int*>(#t111, #t112).{core::num::-}(1) in let final void #t114 = self::Extension|[]=<core::int*, core::int*>(#t111, #t112, #t113) in #t113);
+ self::expect(5, let final self::MapLike<core::int*, core::int*>* #t111 = map2 in let final core::int* #t112 = 0 in let final core::int* #t113 = self::Extension|[]<core::int*, core::int*>(#t111, #t112).{core::num::-}(1){(core::num*) →* core::int*} in let final void #t114 = self::Extension|[]=<core::int*, core::int*>(#t111, #t112, #t113) in #t113);
self::expect(5, self::Extension|[]<core::int*, core::int*>(map2, 0));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/instance_access.dart.weak.expect b/pkg/front_end/testcases/extensions/instance_access.dart.weak.expect
index acfd4c8..215028e 100644
--- a/pkg/front_end/testcases/extensions/instance_access.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/instance_access.dart.weak.expect
@@ -8,7 +8,7 @@
: self::Class1::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class1(${this.{self::Class1::field}})";
+ return "Class1(${this.{self::Class1::field}{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
@@ -25,7 +25,7 @@
: self::Class2::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class2(${this.{self::Class2::field}})";
+ return "Class2(${this.{self::Class2::field}{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
@@ -54,44 +54,44 @@
}
static method Extension1|method(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.method on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method Extension1|get#method(lowered final self::Class1* #this) → () →* core::int*
return () → core::int* => self::Extension1|method(#this);
static method Extension1|genericMethod<T extends core::num*>(lowered final self::Class1* #this, self::Extension1|genericMethod::T* t) → core::int* {
core::print("Extension1.genericMethod<${self::Extension1|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class1::field}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class1::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method Extension1|get#genericMethod(lowered final self::Class1* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension1|genericMethod<T*>(#this, t);
static method Extension1|get#property(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.property get on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method Extension1|set#property(lowered final self::Class1* #this, core::int* value) → void {
#this.{self::Class1::field} = value;
core::print("Extension1.property set(${value}) on ${#this}");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
}
static method Extension2|method(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.method on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(3);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*};
}
static method Extension2|get#method(lowered final self::Class2* #this) → () →* core::int*
return () → core::int* => self::Extension2|method(#this);
static method Extension2|genericMethod<T extends core::num*>(lowered final self::Class2* #this, self::Extension2|genericMethod::T* t) → core::int* {
core::print("Extension2.genericMethod<${self::Extension2|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(t).{core::num::+}(4) as{TypeError} core::int*;
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*}.{core::num::+}(4){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method Extension2|get#genericMethod(lowered final self::Class2* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension2|genericMethod<T*>(#this, t);
static method Extension2|get#property(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.property get on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(5);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(5){(core::num*) →* core::int*};
}
static method Extension2|set#property(lowered final self::Class2* #this, core::int* value) → void {
core::print("Extension2.property set(${value}) on ${#this}");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
#this.{self::Class2::field} = value;
}
static method main() → dynamic {
@@ -103,13 +103,13 @@
self::Class1* c1 = new self::Class1::•(1);
self::expect(0, self::Extension1|method(c0));
self::expect(1, self::Extension1|method(c1));
- self::expect(1, let final self::Class1* #t1 = c1 in #t1.{self::Class1::==}(null) ?{core::int*} null : self::Extension1|method(#t1));
+ self::expect(1, let final self::Class1* #t1 = c1 in #t1 == null ?{core::int*} null : self::Extension1|method(#t1));
self::expect(42, self::Extension1|genericMethod<core::int*>(c0, 42));
self::expect(43, self::Extension1|genericMethod<core::num*>(c0, 43));
self::expect(88, self::Extension1|genericMethod<core::int*>(c1, 87));
self::expect(89, self::Extension1|genericMethod<core::num*>(c1, 88));
self::expect(0, self::Extension1|get#property(c0));
- self::expect(0, let final self::Class1* #t2 = c0 in #t2.{self::Class1::==}(null) ?{core::int*} null : self::Extension1|get#property(#t2));
+ self::expect(0, let final self::Class1* #t2 = c0 in #t2 == null ?{core::int*} null : self::Extension1|get#property(#t2));
self::expect(42, let final core::int* #t3 = 42 in let final void #t4 = self::Extension1|set#property(c0, #t3) in #t3);
self::expect(1, self::Extension1|get#property(c1));
self::expect(87, let final core::int* #t5 = 87 in let final void #t6 = self::Extension1|set#property(c0, #t5) in #t5);
@@ -122,14 +122,14 @@
self::Class2* c0 = new self::Class2::•(0);
self::Class2* c1 = new self::Class2::•(1);
self::expect(3, self::Extension2|method(c0));
- self::expect(3, let final self::Class2* #t27 = c0 in #t27.{self::Class2::==}(null) ?{core::int*} null : self::Extension2|method(#t27));
+ self::expect(3, let final self::Class2* #t27 = c0 in #t27 == null ?{core::int*} null : self::Extension2|method(#t27));
self::expect(4, self::Extension2|method(c1));
self::expect(46, self::Extension2|genericMethod<core::int*>(c0, 42));
self::expect(47, self::Extension2|genericMethod<core::num*>(c0, 43));
self::expect(92, self::Extension2|genericMethod<core::int*>(c1, 87));
self::expect(93, self::Extension2|genericMethod<core::num*>(c1, 88));
self::expect(5, self::Extension2|get#property(c0));
- self::expect(5, let final self::Class2* #t28 = c0 in #t28.{self::Class2::==}(null) ?{core::int*} null : self::Extension2|get#property(#t28));
+ self::expect(5, let final self::Class2* #t28 = c0 in #t28 == null ?{core::int*} null : self::Extension2|get#property(#t28));
self::expect(42, let final core::int* #t29 = 42 in let final void #t30 = self::Extension2|set#property(c0, #t29) in #t29);
self::expect(48, self::Extension2|get#property(c0));
self::expect(6, self::Extension2|get#property(c1));
@@ -141,7 +141,7 @@
self::expect(67, let final core::int* #t41 = let final core::int* #t42 = self::Extension2|get#property(c0) in let final void #t43 = self::Extension2|set#property(c1, #t42) in #t42 in let final void #t44 = self::Extension2|set#property(c0, #t41) in #t41);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/instance_access.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/instance_access.dart.weak.transformed.expect
index c022d12..a0cad7e 100644
--- a/pkg/front_end/testcases/extensions/instance_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/instance_access.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
: self::Class1::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class1(${this.{self::Class1::field}})";
+ return "Class1(${this.{self::Class1::field}{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
@@ -25,7 +25,7 @@
: self::Class2::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class2(${this.{self::Class2::field}})";
+ return "Class2(${this.{self::Class2::field}{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
@@ -54,44 +54,44 @@
}
static method Extension1|method(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.method on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method Extension1|get#method(lowered final self::Class1* #this) → () →* core::int*
return () → core::int* => self::Extension1|method(#this);
static method Extension1|genericMethod<T extends core::num*>(lowered final self::Class1* #this, self::Extension1|genericMethod::T* t) → core::int* {
core::print("Extension1.genericMethod<${self::Extension1|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class1::field}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class1::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method Extension1|get#genericMethod(lowered final self::Class1* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension1|genericMethod<T*>(#this, t);
static method Extension1|get#property(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.property get on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method Extension1|set#property(lowered final self::Class1* #this, core::int* value) → void {
#this.{self::Class1::field} = value;
core::print("Extension1.property set(${value}) on ${#this}");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
}
static method Extension2|method(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.method on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(3);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*};
}
static method Extension2|get#method(lowered final self::Class2* #this) → () →* core::int*
return () → core::int* => self::Extension2|method(#this);
static method Extension2|genericMethod<T extends core::num*>(lowered final self::Class2* #this, self::Extension2|genericMethod::T* t) → core::int* {
core::print("Extension2.genericMethod<${self::Extension2|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(t).{core::num::+}(4) as{TypeError} core::int*;
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*}.{core::num::+}(4){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method Extension2|get#genericMethod(lowered final self::Class2* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension2|genericMethod<T*>(#this, t);
static method Extension2|get#property(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.property get on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(5);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(5){(core::num*) →* core::int*};
}
static method Extension2|set#property(lowered final self::Class2* #this, core::int* value) → void {
core::print("Extension2.property set(${value}) on ${#this}");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
#this.{self::Class2::field} = value;
}
static method main() → dynamic {
@@ -103,13 +103,13 @@
self::Class1* c1 = new self::Class1::•(1);
self::expect(0, self::Extension1|method(c0));
self::expect(1, self::Extension1|method(c1));
- self::expect(1, let final self::Class1* #t1 = c1 in #t1.{self::Class1::==}(null) ?{core::int*} null : self::Extension1|method(#t1));
+ self::expect(1, let final self::Class1* #t1 = c1 in #t1 == null ?{core::int*} null : self::Extension1|method(#t1));
self::expect(42, self::Extension1|genericMethod<core::int*>(c0, 42));
self::expect(43, self::Extension1|genericMethod<core::num*>(c0, 43));
self::expect(88, self::Extension1|genericMethod<core::int*>(c1, 87));
self::expect(89, self::Extension1|genericMethod<core::num*>(c1, 88));
self::expect(0, self::Extension1|get#property(c0));
- self::expect(0, let final self::Class1* #t2 = c0 in #t2.{self::Class1::==}(null) ?{core::int*} null : self::Extension1|get#property(#t2));
+ self::expect(0, let final self::Class1* #t2 = c0 in #t2 == null ?{core::int*} null : self::Extension1|get#property(#t2));
self::expect(42, let final core::int* #t3 = 42 in let final void #t4 = self::Extension1|set#property(c0, #t3) in #t3);
self::expect(1, self::Extension1|get#property(c1));
self::expect(87, let final core::int* #t5 = 87 in let final void #t6 = self::Extension1|set#property(c0, #t5) in #t5);
@@ -122,14 +122,14 @@
self::Class2* c0 = new self::Class2::•(0);
self::Class2* c1 = new self::Class2::•(1);
self::expect(3, self::Extension2|method(c0));
- self::expect(3, let final self::Class2* #t27 = c0 in #t27.{self::Class2::==}(null) ?{core::int*} null : self::Extension2|method(#t27));
+ self::expect(3, let final self::Class2* #t27 = c0 in #t27 == null ?{core::int*} null : self::Extension2|method(#t27));
self::expect(4, self::Extension2|method(c1));
self::expect(46, self::Extension2|genericMethod<core::int*>(c0, 42));
self::expect(47, self::Extension2|genericMethod<core::num*>(c0, 43));
self::expect(92, self::Extension2|genericMethod<core::int*>(c1, 87));
self::expect(93, self::Extension2|genericMethod<core::num*>(c1, 88));
self::expect(5, self::Extension2|get#property(c0));
- self::expect(5, let final self::Class2* #t28 = c0 in #t28.{self::Class2::==}(null) ?{core::int*} null : self::Extension2|get#property(#t28));
+ self::expect(5, let final self::Class2* #t28 = c0 in #t28 == null ?{core::int*} null : self::Extension2|get#property(#t28));
self::expect(42, let final core::int* #t29 = 42 in let final void #t30 = self::Extension2|set#property(c0, #t29) in #t29);
self::expect(48, self::Extension2|get#property(c0));
self::expect(6, self::Extension2|get#property(c1));
@@ -141,7 +141,7 @@
self::expect(67, let final core::int* #t41 = let final core::int* #t42 = self::Extension2|get#property(c0) in let final void #t43 = self::Extension2|set#property(c1, #t42) in #t42 in let final void #t44 = self::Extension2|set#property(c0, #t41) in #t41);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect
index 948d21b..42cf217 100644
--- a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect
@@ -71,7 +71,7 @@
}
static set Extension1|staticProperty(core::int* value) → void {
core::print("Extension1.staticProperty(${value})");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
}
static method main() → dynamic {
self::Class1* c = new self::Class1::•();
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect
index 948d21b..42cf217 100644
--- a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect
@@ -71,7 +71,7 @@
}
static set Extension1|staticProperty(core::int* value) → void {
core::print("Extension1.staticProperty(${value})");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
}
static method main() → dynamic {
self::Class1* c = new self::Class1::•();
diff --git a/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.expect b/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.expect
index 7ff18f4..1240994 100644
--- a/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.expect
@@ -8,7 +8,7 @@
: self::Class1::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class1(${this.{self::Class1::field}})";
+ return "Class1(${this.{self::Class1::field}{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
@@ -25,7 +25,7 @@
: self::Class2::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class2(${this.{self::Class2::field}})";
+ return "Class2(${this.{self::Class2::field}{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
@@ -50,25 +50,25 @@
}
static method Extension1|method(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.method on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method Extension1|get#method(lowered final self::Class1* #this) → () →* core::int*
return () → core::int* => self::Extension1|method(#this);
static method Extension1|genericMethod<T extends core::num*>(lowered final self::Class1* #this, self::Extension1|genericMethod::T* t) → core::int* {
core::print("Extension1.genericMethod<${self::Extension1|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class1::field}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class1::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method Extension1|get#genericMethod(lowered final self::Class1* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension1|genericMethod<T*>(#this, t);
static method Extension2|method(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.method on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(2);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(2){(core::num*) →* core::int*};
}
static method Extension2|get#method(lowered final self::Class2* #this) → () →* core::int*
return () → core::int* => self::Extension2|method(#this);
static method Extension2|genericMethod<T extends core::num*>(lowered final self::Class2* #this, self::Extension2|genericMethod::T* t) → core::int* {
core::print("Extension2.genericMethod<${self::Extension2|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(t).{core::num::+}(3) as{TypeError} core::int*;
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*}.{core::num::+}(3){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method Extension2|get#genericMethod(lowered final self::Class2* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension2|genericMethod<T*>(#this, t);
@@ -80,40 +80,40 @@
self::Class1* c0 = new self::Class1::•(0);
self::Class1* c1 = new self::Class1::•(1);
() →* core::int* tearOff0 = self::Extension1|get#method(c0);
- self::expect(0, tearOff0.call());
- c0 = new self::Class1::•(4.{core::int::unary-}());
- self::expect(0, tearOff0.call());
+ self::expect(0, tearOff0(){() →* core::int*});
+ c0 = new self::Class1::•(4.{core::int::unary-}(){() →* core::int*});
+ self::expect(0, tearOff0(){() →* core::int*});
() →* core::int* tearOff1 = self::Extension1|get#method(c1);
- self::expect(1, tearOff1.call());
- c1 = new self::Class1::•(7.{core::int::unary-}());
- self::expect(1, tearOff1.call());
+ self::expect(1, tearOff1(){() →* core::int*});
+ c1 = new self::Class1::•(7.{core::int::unary-}(){() →* core::int*});
+ self::expect(1, tearOff1(){() →* core::int*});
<T extends core::num*>(T*) →* core::int* genericTearOff0 = self::Extension1|get#genericMethod(c0);
- self::expect(38, genericTearOff0.call<core::int*>(42));
- self::expect(38, genericTearOff0.call<core::num*>(42));
+ self::expect(38, genericTearOff0<core::int*>(42){(core::int*) →* core::int*});
+ self::expect(38, genericTearOff0<core::num*>(42){(core::num*) →* core::int*});
<T extends core::num*>(T*) →* core::int* genericTearOff1 = self::Extension1|get#genericMethod(c1);
- self::expect(35, genericTearOff1.call<core::int*>(42));
- self::expect(35, genericTearOff1.call<core::num*>(42));
+ self::expect(35, genericTearOff1<core::int*>(42){(core::int*) →* core::int*});
+ self::expect(35, genericTearOff1<core::num*>(42){(core::num*) →* core::int*});
}
static method testExtension2() → dynamic {
self::Class2* c0 = new self::Class2::•(0);
self::Class2* c1 = new self::Class2::•(1);
() →* core::int* tearOff0 = self::Extension2|get#method(c0);
- self::expect(2, tearOff0.call());
- c0 = new self::Class2::•(4.{core::int::unary-}());
- self::expect(2, tearOff0.call());
+ self::expect(2, tearOff0(){() →* core::int*});
+ c0 = new self::Class2::•(4.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, tearOff0(){() →* core::int*});
() →* core::int* tearOff1 = self::Extension2|get#method(c1);
- self::expect(3, tearOff1.call());
- c1 = new self::Class2::•(7.{core::int::unary-}());
- self::expect(3, tearOff1.call());
+ self::expect(3, tearOff1(){() →* core::int*});
+ c1 = new self::Class2::•(7.{core::int::unary-}(){() →* core::int*});
+ self::expect(3, tearOff1(){() →* core::int*});
<T extends core::num*>(T*) →* core::int* genericTearOff0 = self::Extension2|get#genericMethod(c0);
- self::expect(41, genericTearOff0.call<core::int*>(42));
- self::expect(41, genericTearOff0.call<core::num*>(42));
+ self::expect(41, genericTearOff0<core::int*>(42){(core::int*) →* core::int*});
+ self::expect(41, genericTearOff0<core::num*>(42){(core::num*) →* core::int*});
<T extends core::num*>(T*) →* core::int* genericTearOff1 = self::Extension2|get#genericMethod(c1);
- self::expect(38, genericTearOff1.call<core::int*>(42));
- self::expect(38, genericTearOff1.call<core::num*>(42));
+ self::expect(38, genericTearOff1<core::int*>(42){(core::int*) →* core::int*});
+ self::expect(38, genericTearOff1<core::num*>(42){(core::num*) →* core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.transformed.expect
index 1c79b12..c14a689 100644
--- a/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
: self::Class1::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class1(${this.{self::Class1::field}})";
+ return "Class1(${this.{self::Class1::field}{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
@@ -25,7 +25,7 @@
: self::Class2::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class2(${this.{self::Class2::field}})";
+ return "Class2(${this.{self::Class2::field}{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
@@ -50,25 +50,25 @@
}
static method Extension1|method(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.method on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method Extension1|get#method(lowered final self::Class1* #this) → () →* core::int*
return () → core::int* => self::Extension1|method(#this);
static method Extension1|genericMethod<T extends core::num*>(lowered final self::Class1* #this, self::Extension1|genericMethod::T* t) → core::int* {
core::print("Extension1.genericMethod<${self::Extension1|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class1::field}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class1::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method Extension1|get#genericMethod(lowered final self::Class1* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension1|genericMethod<T*>(#this, t);
static method Extension2|method(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.method on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(2);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(2){(core::num*) →* core::int*};
}
static method Extension2|get#method(lowered final self::Class2* #this) → () →* core::int*
return () → core::int* => self::Extension2|method(#this);
static method Extension2|genericMethod<T extends core::num*>(lowered final self::Class2* #this, self::Extension2|genericMethod::T* t) → core::int* {
core::print("Extension2.genericMethod<${self::Extension2|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(t).{core::num::+}(3) as{TypeError} core::int*;
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*}.{core::num::+}(3){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method Extension2|get#genericMethod(lowered final self::Class2* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::Extension2|genericMethod<T*>(#this, t);
@@ -80,48 +80,48 @@
self::Class1* c0 = new self::Class1::•(0);
self::Class1* c1 = new self::Class1::•(1);
() →* core::int* tearOff0 = self::Extension1|get#method(c0);
- self::expect(0, tearOff0.call());
- c0 = new self::Class1::•(4.{core::int::unary-}());
- self::expect(0, tearOff0.call());
+ self::expect(0, tearOff0(){() →* core::int*});
+ c0 = new self::Class1::•(4.{core::int::unary-}(){() →* core::int*});
+ self::expect(0, tearOff0(){() →* core::int*});
() →* core::int* tearOff1 = self::Extension1|get#method(c1);
- self::expect(1, tearOff1.call());
- c1 = new self::Class1::•(7.{core::int::unary-}());
- self::expect(1, tearOff1.call());
+ self::expect(1, tearOff1(){() →* core::int*});
+ c1 = new self::Class1::•(7.{core::int::unary-}(){() →* core::int*});
+ self::expect(1, tearOff1(){() →* core::int*});
<T extends core::num*>(T*) →* core::int* genericTearOff0 = self::Extension1|get#genericMethod(c0);
- self::expect(38, genericTearOff0.call<core::int*>(42));
- self::expect(38, genericTearOff0.call<core::num*>(42));
+ self::expect(38, genericTearOff0<core::int*>(42){(core::int*) →* core::int*});
+ self::expect(38, genericTearOff0<core::num*>(42){(core::num*) →* core::int*});
<T extends core::num*>(T*) →* core::int* genericTearOff1 = self::Extension1|get#genericMethod(c1);
- self::expect(35, genericTearOff1.call<core::int*>(42));
- self::expect(35, genericTearOff1.call<core::num*>(42));
+ self::expect(35, genericTearOff1<core::int*>(42){(core::int*) →* core::int*});
+ self::expect(35, genericTearOff1<core::num*>(42){(core::num*) →* core::int*});
}
static method testExtension2() → dynamic {
self::Class2* c0 = new self::Class2::•(0);
self::Class2* c1 = new self::Class2::•(1);
() →* core::int* tearOff0 = self::Extension2|get#method(c0);
- self::expect(2, tearOff0.call());
- c0 = new self::Class2::•(4.{core::int::unary-}());
- self::expect(2, tearOff0.call());
+ self::expect(2, tearOff0(){() →* core::int*});
+ c0 = new self::Class2::•(4.{core::int::unary-}(){() →* core::int*});
+ self::expect(2, tearOff0(){() →* core::int*});
() →* core::int* tearOff1 = self::Extension2|get#method(c1);
- self::expect(3, tearOff1.call());
- c1 = new self::Class2::•(7.{core::int::unary-}());
- self::expect(3, tearOff1.call());
+ self::expect(3, tearOff1(){() →* core::int*});
+ c1 = new self::Class2::•(7.{core::int::unary-}(){() →* core::int*});
+ self::expect(3, tearOff1(){() →* core::int*});
<T extends core::num*>(T*) →* core::int* genericTearOff0 = self::Extension2|get#genericMethod(c0);
- self::expect(41, genericTearOff0.call<core::int*>(42));
- self::expect(41, genericTearOff0.call<core::num*>(42));
+ self::expect(41, genericTearOff0<core::int*>(42){(core::int*) →* core::int*});
+ self::expect(41, genericTearOff0<core::num*>(42){(core::num*) →* core::int*});
<T extends core::num*>(T*) →* core::int* genericTearOff1 = self::Extension2|get#genericMethod(c1);
- self::expect(38, genericTearOff1.call<core::int*>(42));
- self::expect(38, genericTearOff1.call<core::num*>(42));
+ self::expect(38, genericTearOff1<core::int*>(42){(core::int*) →* core::int*});
+ self::expect(38, genericTearOff1<core::num*>(42){(core::num*) →* core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///instance_tearoff.dart:54:19 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///instance_tearoff.dart:58:19 -> IntConstant(-7)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///instance_tearoff.dart:73:19 -> IntConstant(-4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///instance_tearoff.dart:77:19 -> IntConstant(-7)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///instance_tearoff.dart:54:19 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///instance_tearoff.dart:58:19 -> IntConstant(-7)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///instance_tearoff.dart:73:19 -> IntConstant(-4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///instance_tearoff.dart:77:19 -> IntConstant(-7)
Extra constant evaluation: evaluated: 144, effectively constant: 4
diff --git a/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.expect b/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.expect
index 810c73b..80f8e09 100644
--- a/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.expect
@@ -31,7 +31,7 @@
static method _extension#0|set#property1(lowered final self::Class* #this, core::int* value) → void
return #this.{self::Class::field} = value;
static method _extension#1|get#property2(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method _extension#1|set#property2(lowered final self::Class* #this, core::int* value) → void
return let final core::int* #t1 = value in let final void #t2 = self::_extension#0|set#property1(#this, #t1) in #t1;
static method main() → dynamic {
@@ -44,7 +44,7 @@
self::expect(87, self::_extension#0|get#property1(c));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.transformed.expect
index ee08d45..faaf375 100644
--- a/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.transformed.expect
@@ -31,7 +31,7 @@
static method _extension#0|set#property1(lowered final self::Class* #this, core::int* value) → void
return #this.{self::Class::field} = value;
static method _extension#1|get#property2(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method _extension#1|set#property2(lowered final self::Class* #this, core::int* value) → void
return let final core::int* #t1 = value in let final void #t2 = self::_extension#0|set#property1(#this, #t1) in #t1;
static method main() → dynamic {
@@ -44,7 +44,7 @@
self::expect(87, self::_extension#0|get#property1(c));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect
index 3dfc9a6..b85efb2 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect
@@ -173,19 +173,19 @@
self::Class* c1 = new self::Class::•();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:23:3: Error: Explicit extension application requires exactly 1 positional argument.
Extension().method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:24:3: Error: Explicit extension application requires exactly 1 positional argument.
Extension(c1, null).method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:25:3: Error: Explicit extension application requires exactly 1 positional argument.
Extension(receiver: c1).method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:26:3: Error: Explicit extension application requires exactly 1 positional argument.
Extension(c1, receiver: null).method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:27:3: Error: Explicit extension application of extension 'Extension' takes '0' type argument(s).
Extension<int>(c1).method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
self::Extension|method(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:28:13: Error: The argument type 'String' can't be assigned to the parameter type 'Class'.
- 'Class' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
Extension(s).method(null);
@@ -218,31 +218,31 @@
self::GenericClass<core::int*>* c2 = new self::GenericClass::•<core::int*>();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:42:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension().method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:43:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension<int>().method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:44:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension(c2, null).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:45:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension<int>(c2, null).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:46:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension(receiver: c2).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:47:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension<int>(receiver: c2).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:48:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension(c2, receiver: null).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:49:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension<int>(c2, receiver: null).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:50:3: Error: Explicit extension application of extension 'GenericExtension' takes '1' type argument(s).
GenericExtension<int, String>(c2).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
self::GenericExtension|method<dynamic>(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:51:20: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<dynamic>'.
- 'GenericClass' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
GenericExtension(s).method();
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect
index 3dfc9a6..b85efb2 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect
@@ -173,19 +173,19 @@
self::Class* c1 = new self::Class::•();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:23:3: Error: Explicit extension application requires exactly 1 positional argument.
Extension().method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:24:3: Error: Explicit extension application requires exactly 1 positional argument.
Extension(c1, null).method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:25:3: Error: Explicit extension application requires exactly 1 positional argument.
Extension(receiver: c1).method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:26:3: Error: Explicit extension application requires exactly 1 positional argument.
Extension(c1, receiver: null).method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:27:3: Error: Explicit extension application of extension 'Extension' takes '0' type argument(s).
Extension<int>(c1).method(null);
- ^^^^^^^^^".method(null);
+ ^^^^^^^^^"{dynamic}.method(null);
self::Extension|method(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:28:13: Error: The argument type 'String' can't be assigned to the parameter type 'Class'.
- 'Class' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
Extension(s).method(null);
@@ -218,31 +218,31 @@
self::GenericClass<core::int*>* c2 = new self::GenericClass::•<core::int*>();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:42:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension().method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:43:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension<int>().method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:44:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension(c2, null).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:45:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension<int>(c2, null).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:46:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension(receiver: c2).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:47:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension<int>(receiver: c2).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:48:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension(c2, receiver: null).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:49:3: Error: Explicit extension application requires exactly 1 positional argument.
GenericExtension<int>(c2, receiver: null).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:50:3: Error: Explicit extension application of extension 'GenericExtension' takes '1' type argument(s).
GenericExtension<int, String>(c2).method();
- ^^^^^^^^^^^^^^^^".method();
+ ^^^^^^^^^^^^^^^^"{dynamic}.method();
self::GenericExtension|method<dynamic>(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/extensions/invalid_explicit_access.dart:51:20: Error: The argument type 'String' can't be assigned to the parameter type 'GenericClass<dynamic>'.
- 'GenericClass' is from 'pkg/front_end/testcases/extensions/invalid_explicit_access.dart'.
GenericExtension(s).method();
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart.weak.expect b/pkg/front_end/testcases/extensions/issue38750.dart.weak.expect
index 3935f4db..1a16509 100644
--- a/pkg/front_end/testcases/extensions/issue38750.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue38750.dart.weak.expect
@@ -35,7 +35,7 @@
invalid-expression "pkg/front_end/testcases/extensions/issue38750.dart:13:5: Error: Method not found: 'C._staticFoo'.
C._staticFoo();
^^^^^^^^^^";
- c.{iss::C::foo}();
+ c.{iss::C::foo}(){() →* dynamic};
iss::C::staticFoo();
invalid-expression "pkg/front_end/testcases/extensions/issue38750.dart:16:5: Error: The method '_bar' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/extensions/issue38750_lib1.dart'.
@@ -53,7 +53,7 @@
: super core::Object::•()
;
method foo() → dynamic
- return this.{iss::C::_foo}();
+ return this.{iss::C::_foo}(){() →* dynamic};
method _foo() → dynamic {
try {
throw "producing a stack trace";
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect
index 3935f4db..1a16509 100644
--- a/pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect
@@ -35,7 +35,7 @@
invalid-expression "pkg/front_end/testcases/extensions/issue38750.dart:13:5: Error: Method not found: 'C._staticFoo'.
C._staticFoo();
^^^^^^^^^^";
- c.{iss::C::foo}();
+ c.{iss::C::foo}(){() →* dynamic};
iss::C::staticFoo();
invalid-expression "pkg/front_end/testcases/extensions/issue38750.dart:16:5: Error: The method '_bar' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/extensions/issue38750_lib1.dart'.
@@ -53,7 +53,7 @@
: super core::Object::•()
;
method foo() → dynamic
- return this.{iss::C::_foo}();
+ return this.{iss::C::_foo}(){() →* dynamic};
method _foo() → dynamic {
try {
throw "producing a stack trace";
diff --git a/pkg/front_end/testcases/extensions/issue38755.dart.weak.expect b/pkg/front_end/testcases/extensions/issue38755.dart.weak.expect
index 724ef26..8be9036 100644
--- a/pkg/front_end/testcases/extensions/issue38755.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue38755.dart.weak.expect
@@ -8,7 +8,7 @@
}
static final field core::List<core::String*>* list = self::A|myMap<core::String*, core::String*>(<core::String*>["a", "b", "c"], (core::String* it) → core::String* => it);
static method A|myMap<T extends core::Object* = dynamic, R extends core::Object* = dynamic>(lowered final core::List<self::A|myMap::T*>* #this, (self::A|myMap::T*) →* self::A|myMap::R* block) → core::List<self::A|myMap::R*>* {
- return #this.{core::Iterable::map}<self::A|myMap::R*>(block).{core::Iterable::toList}();
+ return #this.{core::Iterable::map}<self::A|myMap::R*>(block){((self::A|myMap::T*) →* self::A|myMap::R*) →* core::Iterable<self::A|myMap::R*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<self::A|myMap::R*>*};
}
static method A|get#myMap<T extends core::Object* = dynamic>(lowered final core::List<self::A|get#myMap::T*>* #this) → <R extends core::Object* = dynamic>((self::A|get#myMap::T*) →* R*) →* core::List<R*>*
return <R extends core::Object* = dynamic>((self::A|get#myMap::T*) →* R* block) → core::List<R*>* => self::A|myMap<self::A|get#myMap::T*, R*>(#this, block);
diff --git a/pkg/front_end/testcases/extensions/issue38755.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue38755.dart.weak.transformed.expect
index a04ed8e..b5537fa 100644
--- a/pkg/front_end/testcases/extensions/issue38755.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue38755.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
}
static final field core::List<core::String*>* list = self::A|myMap<core::String*, core::String*>(core::_GrowableList::_literal3<core::String*>("a", "b", "c"), (core::String* it) → core::String* => it);
static method A|myMap<T extends core::Object* = dynamic, R extends core::Object* = dynamic>(lowered final core::List<self::A|myMap::T*>* #this, (self::A|myMap::T*) →* self::A|myMap::R* block) → core::List<self::A|myMap::R*>* {
- return #this.{core::Iterable::map}<self::A|myMap::R*>(block).{core::Iterable::toList}();
+ return #this.{core::Iterable::map}<self::A|myMap::R*>(block){((self::A|myMap::T*) →* self::A|myMap::R*) →* core::Iterable<self::A|myMap::R*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<self::A|myMap::R*>*};
}
static method A|get#myMap<T extends core::Object* = dynamic>(lowered final core::List<self::A|get#myMap::T*>* #this) → <R extends core::Object* = dynamic>((self::A|get#myMap::T*) →* R*) →* core::List<R*>*
return <R extends core::Object* = dynamic>((self::A|get#myMap::T*) →* R* block) → core::List<R*>* => self::A|myMap<self::A|get#myMap::T*, R*>(#this, block);
diff --git a/pkg/front_end/testcases/extensions/issue39527.dart.weak.expect b/pkg/front_end/testcases/extensions/issue39527.dart.weak.expect
index 16896b4..7d9415b 100644
--- a/pkg/front_end/testcases/extensions/issue39527.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue39527.dart.weak.expect
@@ -25,10 +25,10 @@
}
static method Extension1|[](lowered final self::C* #this, core::int* index) → self::C*
return let final self::C* #t1 = #this in block {
- #t1.{self::C::value} = #t1.{self::C::value}.{core::num::+}(index.{core::num::+}(1));
+ #t1.{self::C::value} = #t1.{self::C::value}{core::int*}.{core::num::+}(index.{core::num::+}(1){(core::num*) →* core::int*}){(core::num*) →* core::int*};
} =>#t1;
static method Extension1|[]=(lowered final self::C* #this, core::int* index, self::C* other) → void
- return #this.{self::C::value} = #this.{self::C::value}.{core::num::+}(other.{self::C::value}.{core::num::+}(index).{core::num::+}(1));
+ return #this.{self::C::value} = #this.{self::C::value}{core::int*}.{core::num::+}(other.{self::C::value}{core::int*}.{core::num::+}(index){(core::num*) →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*}){(core::num*) →* core::int*};
static method Extension1|-(lowered final self::C* #this, core::int* val) → self::C*
return #this;
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/extensions/issue39527.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue39527.dart.weak.transformed.expect
index 59b0317..f952880 100644
--- a/pkg/front_end/testcases/extensions/issue39527.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue39527.dart.weak.transformed.expect
@@ -25,10 +25,10 @@
}
static method Extension1|[](lowered final self::C* #this, core::int* index) → self::C*
return let final self::C* #t1 = #this in block {
- #t1.{self::C::value} = #t1.{self::C::value}.{core::num::+}(index.{core::num::+}(1));
+ #t1.{self::C::value} = #t1.{self::C::value}{core::int*}.{core::num::+}(index.{core::num::+}(1){(core::num*) →* core::int*}){(core::num*) →* core::int*};
} =>#t1;
static method Extension1|[]=(lowered final self::C* #this, core::int* index, self::C* other) → void
- return #this.{self::C::value} = #this.{self::C::value}.{core::num::+}(other.{self::C::value}.{core::num::+}(index).{core::num::+}(1));
+ return #this.{self::C::value} = #this.{self::C::value}{core::int*}.{core::num::+}(other.{self::C::value}{core::int*}.{core::num::+}(index){(core::num*) →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*}){(core::num*) →* core::int*};
static method Extension1|-(lowered final self::C* #this, core::int* val) → self::C*
return #this;
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.expect b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.expect
index 687f686..aef46a0 100644
--- a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.expect
@@ -16,7 +16,7 @@
self::expect(false, iss::Extension|+(false, false));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}.";
}
@@ -28,4 +28,4 @@
operator + = iss::Extension|+;
}
static method Extension|+(lowered final core::bool* #this, core::bool* other) → core::bool*
- return #this.{core::bool::|}(other);
+ return #this.{core::bool::|}(other){(core::bool*) →* core::bool*};
diff --git a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.transformed.expect
index 687f686..aef46a0 100644
--- a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
self::expect(false, iss::Extension|+(false, false));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}.";
}
@@ -28,4 +28,4 @@
operator + = iss::Extension|+;
}
static method Extension|+(lowered final core::bool* #this, core::bool* other) → core::bool*
- return #this.{core::bool::|}(other);
+ return #this.{core::bool::|}(other){(core::bool*) →* core::bool*};
diff --git a/pkg/front_end/testcases/extensions/issue40596.dart.weak.expect b/pkg/front_end/testcases/extensions/issue40596.dart.weak.expect
index 7a2fd83..4f80fad 100644
--- a/pkg/front_end/testcases/extensions/issue40596.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue40596.dart.weak.expect
@@ -13,12 +13,12 @@
asy::StreamController<core::String*>* controller = asy::StreamController::•<core::String*>();
let final asy::StreamController<core::String*>* #t1 = controller in let final (dynamic) →* Null #t2 = (dynamic s) → Null {
core::print(s);
- } in self::Extension|call<core::String*>(#t1.{asy::StreamController::stream}, #t2);
+ } in self::Extension|call<core::String*>(#t1.{asy::StreamController::stream}{asy::Stream<core::String*>*}, #t2);
}
static method Extension|call<T extends core::Object* = dynamic>(lowered final asy::Stream<self::Extension|call::T*>* #this, core::Function* onData) → asy::StreamSubscription<self::Extension|call::T*>* {
return #this.{asy::Stream::listen}((self::Extension|call::T* d) → Null {
- onData.call(d);
- });
+ onData(d);
+ }){((self::Extension|call::T*) →* void, {cancelOnError: core::bool*, onDone: () →* void, onError: core::Function*}) →* asy::StreamSubscription<self::Extension|call::T*>*};
}
static method Extension|get#call<T extends core::Object* = dynamic>(lowered final asy::Stream<self::Extension|get#call::T*>* #this) → (core::Function*) →* asy::StreamSubscription<self::Extension|get#call::T*>*
return (core::Function* onData) → asy::StreamSubscription<self::Extension|get#call::T*>* => self::Extension|call<self::Extension|get#call::T*>(#this, onData);
diff --git a/pkg/front_end/testcases/extensions/issue40596.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue40596.dart.weak.transformed.expect
index 7a2fd83..4f80fad 100644
--- a/pkg/front_end/testcases/extensions/issue40596.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue40596.dart.weak.transformed.expect
@@ -13,12 +13,12 @@
asy::StreamController<core::String*>* controller = asy::StreamController::•<core::String*>();
let final asy::StreamController<core::String*>* #t1 = controller in let final (dynamic) →* Null #t2 = (dynamic s) → Null {
core::print(s);
- } in self::Extension|call<core::String*>(#t1.{asy::StreamController::stream}, #t2);
+ } in self::Extension|call<core::String*>(#t1.{asy::StreamController::stream}{asy::Stream<core::String*>*}, #t2);
}
static method Extension|call<T extends core::Object* = dynamic>(lowered final asy::Stream<self::Extension|call::T*>* #this, core::Function* onData) → asy::StreamSubscription<self::Extension|call::T*>* {
return #this.{asy::Stream::listen}((self::Extension|call::T* d) → Null {
- onData.call(d);
- });
+ onData(d);
+ }){((self::Extension|call::T*) →* void, {cancelOnError: core::bool*, onDone: () →* void, onError: core::Function*}) →* asy::StreamSubscription<self::Extension|call::T*>*};
}
static method Extension|get#call<T extends core::Object* = dynamic>(lowered final asy::Stream<self::Extension|get#call::T*>* #this) → (core::Function*) →* asy::StreamSubscription<self::Extension|get#call::T*>*
return (core::Function* onData) → asy::StreamSubscription<self::Extension|get#call::T*>* => self::Extension|call<self::Extension|get#call::T*>(#this, onData);
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart.weak.expect b/pkg/front_end/testcases/extensions/issue40713.dart.weak.expect
index f44a847..5609379 100644
--- a/pkg/front_end/testcases/extensions/issue40713.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue40713.dart.weak.expect
@@ -17,14 +17,14 @@
get safeFirst = self::SafeAccess|get#safeFirst;
}
static method SafeAccess|get#safeFirst<T extends core::Object* = dynamic>(lowered final core::Iterable<self::SafeAccess|get#safeFirst::T*>* #this) → self::SafeAccess|get#safeFirst::T* {
- return #this.{core::Iterable::isNotEmpty} ?{self::SafeAccess|get#safeFirst::T*} #this.{core::Iterable::first} : null;
+ return #this.{core::Iterable::isNotEmpty}{core::bool*} ?{self::SafeAccess|get#safeFirst::T*} #this.{core::Iterable::first}{self::SafeAccess|get#safeFirst::T*} : null;
}
static method main() → dynamic {}
static method test() → void {
final core::List<dynamic>* list = <dynamic>[];
- self::SafeAccess|get#safeFirst<dynamic>(list).call();
+ self::SafeAccess|get#safeFirst<dynamic>(list){dynamic}.call();
final core::List<(core::int*) →* void>* list2 = <(core::int*) →* void>[];
- self::SafeAccess|get#safeFirst<(core::int*) →* void>(list2).call(0);
+ self::SafeAccess|get#safeFirst<(core::int*) →* void>(list2)(0){(core::int*) →* void};
}
static method errors() → void {
final core::List<core::Object*>* list = <core::Object*>[];
@@ -34,5 +34,5 @@
final core::List<(core::int*) →* void>* list2 = <(core::int*) →* void>[];
let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:24:18: Error: Too few positional arguments: 1 required, 0 given.
list2.safeFirst();
- ^" in self::SafeAccess|get#safeFirst<(core::int*) →* void>(list2).call();
+ ^" in self::SafeAccess|get#safeFirst<(core::int*) →* void>(list2){<inapplicable>}.();
}
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue40713.dart.weak.transformed.expect
new file mode 100644
index 0000000..4627c59
--- /dev/null
+++ b/pkg/front_end/testcases/extensions/issue40713.dart.weak.transformed.expect
@@ -0,0 +1,38 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/extensions/issue40713.dart:22:8: Error: 'safeFirst' isn't a function or method and can't be invoked.
+// list.safeFirst();
+// ^^^^^^^^^
+//
+// pkg/front_end/testcases/extensions/issue40713.dart:24:18: Error: Too few positional arguments: 1 required, 0 given.
+// list2.safeFirst();
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+extension SafeAccess<T extends core::Object* = dynamic> on core::Iterable<T*>* {
+ get safeFirst = self::SafeAccess|get#safeFirst;
+}
+static method SafeAccess|get#safeFirst<T extends core::Object* = dynamic>(lowered final core::Iterable<self::SafeAccess|get#safeFirst::T*>* #this) → self::SafeAccess|get#safeFirst::T* {
+ return #this.{core::Iterable::isNotEmpty}{core::bool*} ?{self::SafeAccess|get#safeFirst::T*} #this.{core::Iterable::first}{self::SafeAccess|get#safeFirst::T*} : null;
+}
+static method main() → dynamic {}
+static method test() → void {
+ final core::List<dynamic>* list = core::_GrowableList::•<dynamic>(0);
+ self::SafeAccess|get#safeFirst<dynamic>(list){dynamic}.call();
+ final core::List<(core::int*) →* void>* list2 = core::_GrowableList::•<(core::int*) →* void>(0);
+ self::SafeAccess|get#safeFirst<(core::int*) →* void>(list2)(0){(core::int*) →* void};
+}
+static method errors() → void {
+ final core::List<core::Object*>* list = core::_GrowableList::•<core::Object*>(0);
+ invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:22:8: Error: 'safeFirst' isn't a function or method and can't be invoked.
+ list.safeFirst();
+ ^^^^^^^^^";
+ final core::List<(core::int*) →* void>* list2 = core::_GrowableList::•<(core::int*) →* void>(0);
+ let final Never* #t1 = invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:24:18: Error: Too few positional arguments: 1 required, 0 given.
+ list2.safeFirst();
+ ^" in self::SafeAccess|get#safeFirst<(core::int*) →* void>(list2){<inapplicable>}.();
+}
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart.weak.expect b/pkg/front_end/testcases/extensions/issue43218.dart.weak.expect
index fd80b29..26ad712 100644
--- a/pkg/front_end/testcases/extensions/issue43218.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/issue43218.dart.weak.expect
@@ -18,7 +18,7 @@
this.{self::C::value} = 0;
}
get id() → core::int*
- return this.{self::C::value};
+ return this.{self::C::value}{core::int*};
set id(core::int* v) → void {
this.{self::C::value} = v;
}
@@ -37,7 +37,7 @@
get id = self::Ext|get#id;
}
static method Ext|get#id(lowered final self::C* #this) → core::int*
- return #this.{self::C::value}.{core::num::+}(1);
+ return #this.{self::C::value}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
static method test() → dynamic {
self::C* c = new self::C::•();
let final self::C* #t1 = c in invalid-expression "pkg/front_end/testcases/extensions/issue43218.dart:24:10: Error: The setter 'id' isn't defined for the class 'int'.
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect
index fd80b29..26ad712 100644
--- a/pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect
@@ -18,7 +18,7 @@
this.{self::C::value} = 0;
}
get id() → core::int*
- return this.{self::C::value};
+ return this.{self::C::value}{core::int*};
set id(core::int* v) → void {
this.{self::C::value} = v;
}
@@ -37,7 +37,7 @@
get id = self::Ext|get#id;
}
static method Ext|get#id(lowered final self::C* #this) → core::int*
- return #this.{self::C::value}.{core::num::+}(1);
+ return #this.{self::C::value}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
static method test() → dynamic {
self::C* c = new self::C::•();
let final self::C* #t1 = c in invalid-expression "pkg/front_end/testcases/extensions/issue43218.dart:24:10: Error: The setter 'id' isn't defined for the class 'int'.
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect
index c79acde..e492265 100644
--- a/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect
@@ -34,6 +34,6 @@
- 'Class' is from 'pkg/front_end/testcases/extensions/missing_toplevel.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'setter'.
var missingGetter = c.setter += 42;
- ^^^^^^".+(42) as{TypeError,ForDynamic} core::int* in let final void #t3 = self::Extension|set#setter(#t1, #t2) in #t2;
+ ^^^^^^"{dynamic}.+(42) as{TypeError,ForDynamic} core::int* in let final void #t3 = self::Extension|set#setter(#t1, #t2) in #t2;
static method Extension|set#setter(lowered final self::Class* #this, core::int* value) → void {}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect
index 0a31620..d71c075 100644
--- a/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect
@@ -34,6 +34,6 @@
- 'Class' is from 'pkg/front_end/testcases/extensions/missing_toplevel.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'setter'.
var missingGetter = c.setter += 42;
- ^^^^^^".+(42) as{TypeError,ForDynamic} core::int* in let final void #t3 = self::Extension|set#setter(#t1, #t2) in #t2;
+ ^^^^^^"{dynamic}.+(42) as{TypeError,ForDynamic} core::int* in let final void #t3 = self::Extension|set#setter(#t1, #t2) in #t2;
static method Extension|set#setter(lowered final self::Class* #this, core::int* value) → void {}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/null_aware.dart.weak.expect b/pkg/front_end/testcases/extensions/null_aware.dart.weak.expect
index 9cff1f1..31cc462 100644
--- a/pkg/front_end/testcases/extensions/null_aware.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/null_aware.dart.weak.expect
@@ -27,61 +27,61 @@
set property = self::Extension|set#property;
}
static method Extension|get#property(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#property(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field} = value;
}
static method Extension|method(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|get#method(lowered final self::Class* #this) → () →* core::int*
return () → core::int* => self::Extension|method(#this);
static method Extension|testImplicitThis(lowered final self::Class* #this) → dynamic {
self::expect(null, self::Extension|get#property(#this));
- self::expect(42, let final core::int* #t1 = self::Extension|get#property(#this) in #t1.{core::num::==}(null) ?{core::int*} let final core::int* #t2 = 42 in let final void #t3 = self::Extension|set#property(#this, #t2) in #t2 : #t1);
- self::expect(42, let final core::int* #t4 = self::Extension|get#property(#this) in #t4.{core::num::==}(null) ?{core::int*} let final core::int* #t5 = 87 in let final void #t6 = self::Extension|set#property(#this, #t5) in #t5 : #t4);
+ self::expect(42, let final core::int* #t1 = self::Extension|get#property(#this) in #t1 == null ?{core::int*} let final core::int* #t2 = 42 in let final void #t3 = self::Extension|set#property(#this, #t2) in #t2 : #t1);
+ self::expect(42, let final core::int* #t4 = self::Extension|get#property(#this) in #t4 == null ?{core::int*} let final core::int* #t5 = 87 in let final void #t6 = self::Extension|set#property(#this, #t5) in #t5 : #t4);
}
static method Extension|get#testImplicitThis(lowered final self::Class* #this) → () →* dynamic
return () → dynamic => self::Extension|testImplicitThis(#this);
static method main() → dynamic {
self::Class* c;
- self::expect(null, let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t7));
- self::expect(null, let final self::Class* #t8 = c in #t8.{self::Class::==}(null) ?{() →* core::int*} null : self::Extension|get#method(#t8));
- self::expect(null, let final self::Class* #t9 = c in #t9.{self::Class::==}(null) ?{core::int*} null : self::Extension|method(#t9));
- self::expect(null, let final self::Class* #t10 = c in #t10.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t11 = 42 in let final void #t12 = self::Extension|set#property(#t10, #t11) in #t11);
- self::expect(null, let final self::Class* #t13 = c in #t13.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t14 = self::Extension|get#property(#t13) in #t14.{core::num::==}(null) ?{core::int*} let final core::int* #t15 = 42 in let final void #t16 = self::Extension|set#property(#t13, #t15) in #t15 : #t14);
+ self::expect(null, let final self::Class* #t7 = c in #t7 == null ?{core::int*} null : self::Extension|get#property(#t7));
+ self::expect(null, let final self::Class* #t8 = c in #t8 == null ?{() →* core::int*} null : self::Extension|get#method(#t8));
+ self::expect(null, let final self::Class* #t9 = c in #t9 == null ?{core::int*} null : self::Extension|method(#t9));
+ self::expect(null, let final self::Class* #t10 = c in #t10 == null ?{core::int*} null : let final core::int* #t11 = 42 in let final void #t12 = self::Extension|set#property(#t10, #t11) in #t11);
+ self::expect(null, let final self::Class* #t13 = c in #t13 == null ?{core::int*} null : let final core::int* #t14 = self::Extension|get#property(#t13) in #t14 == null ?{core::int*} let final core::int* #t15 = 42 in let final void #t16 = self::Extension|set#property(#t13, #t15) in #t15 : #t14);
c = new self::Class::•();
- self::expect(null, let final self::Class* #t17 = c in #t17.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t17));
- self::expect(null, let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{core::int*} null : self::Extension|method(#t18));
- () →* core::int* tearOff = let final self::Class* #t19 = c in #t19.{self::Class::==}(null) ?{() →* core::int*} null : self::Extension|get#method(#t19);
- self::expect(null, tearOff.call());
- self::expect(42, let final self::Class* #t20 = c in #t20.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t21 = 42 in let final void #t22 = self::Extension|set#property(#t20, #t21) in #t21);
- self::expect(42, tearOff.call());
- self::expect(null, let final self::Class* #t23 = c in #t23.{self::Class::==}(null) ?{Null} null : let final Null #t24 = null in let final void #t25 = self::Extension|set#property(#t23, #t24) in #t24);
- self::expect(42, let final self::Class* #t26 = c in #t26.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t27 = 42 in let final void #t28 = self::Extension|set#property(#t26, #t27) in #t27);
- let final self::Class* #t29 = c in #t29.{self::Class::==}(null) ?{Null} null : self::Extension|set#property(#t29, null);
- self::expect(null, let final self::Class* #t30 = c in #t30.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t30));
- self::expect(42, let final self::Class* #t31 = c in let final core::int* #t32 = self::Extension|get#property(#t31) in #t32.{core::num::==}(null) ?{core::int*} let final core::int* #t33 = 42 in let final void #t34 = self::Extension|set#property(#t31, #t33) in #t33 : #t32);
- self::expect(42, let final self::Class* #t35 = c in let final core::int* #t36 = self::Extension|get#property(#t35) in #t36.{core::num::==}(null) ?{core::int*} let final core::int* #t37 = 87 in let final void #t38 = self::Extension|set#property(#t35, #t37) in #t37 : #t36);
- self::expect(null, let final self::Class* #t39 = c in #t39.{self::Class::==}(null) ?{Null} null : let final Null #t40 = null in let final void #t41 = self::Extension|set#property(#t39, #t40) in #t40);
- let final self::Class* #t42 = c in self::Extension|get#property(#t42).{core::num::==}(null) ?{core::int*} self::Extension|set#property(#t42, 42) : null;
- self::expect(42, let final self::Class* #t43 = c in #t43.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t43));
- let final self::Class* #t44 = c in self::Extension|get#property(#t44).{core::num::==}(null) ?{core::int*} self::Extension|set#property(#t44, 87) : null;
- self::expect(42, let final self::Class* #t45 = c in #t45.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t45));
- let final self::Class* #t46 = c in #t46.{self::Class::==}(null) ?{Null} null : self::Extension|set#property(#t46, null);
- self::expect(null, let final self::Class* #t47 = c in #t47.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t47));
- self::expect(42, let final self::Class* #t48 = c in let final core::int* #t49 = self::Extension|get#property(#t48) in #t49.{core::num::==}(null) ?{core::int*} let final core::int* #t50 = 42 in let final void #t51 = self::Extension|set#property(#t48, #t50) in #t50 : #t49);
- self::expect(42, let final self::Class* #t52 = c in let final core::int* #t53 = self::Extension|get#property(#t52) in #t53.{core::num::==}(null) ?{core::int*} let final core::int* #t54 = 87 in let final void #t55 = self::Extension|set#property(#t52, #t54) in #t54 : #t53);
- let final self::Class* #t56 = c in #t56.{self::Class::==}(null) ?{Null} null : self::Extension|set#property(#t56, null);
- self::expect(null, let final self::Class* #t57 = c in #t57.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t57));
- let final self::Class* #t58 = c in self::Extension|get#property(#t58).{core::num::==}(null) ?{core::int*} self::Extension|set#property(#t58, 42) : null;
- self::expect(42, let final self::Class* #t59 = c in #t59.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t59));
- let final self::Class* #t60 = c in self::Extension|get#property(#t60).{core::num::==}(null) ?{core::int*} self::Extension|set#property(#t60, 87) : null;
- self::expect(42, let final self::Class* #t61 = c in #t61.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t61));
- let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{Null} null : self::Extension|set#property(#t62, null);
+ self::expect(null, let final self::Class* #t17 = c in #t17 == null ?{core::int*} null : self::Extension|get#property(#t17));
+ self::expect(null, let final self::Class* #t18 = c in #t18 == null ?{core::int*} null : self::Extension|method(#t18));
+ () →* core::int* tearOff = let final self::Class* #t19 = c in #t19 == null ?{() →* core::int*} null : self::Extension|get#method(#t19);
+ self::expect(null, tearOff(){() →* core::int*});
+ self::expect(42, let final self::Class* #t20 = c in #t20 == null ?{core::int*} null : let final core::int* #t21 = 42 in let final void #t22 = self::Extension|set#property(#t20, #t21) in #t21);
+ self::expect(42, tearOff(){() →* core::int*});
+ self::expect(null, let final self::Class* #t23 = c in #t23 == null ?{Null} null : let final Null #t24 = null in let final void #t25 = self::Extension|set#property(#t23, #t24) in #t24);
+ self::expect(42, let final self::Class* #t26 = c in #t26 == null ?{core::int*} null : let final core::int* #t27 = 42 in let final void #t28 = self::Extension|set#property(#t26, #t27) in #t27);
+ let final self::Class* #t29 = c in #t29 == null ?{Null} null : self::Extension|set#property(#t29, null);
+ self::expect(null, let final self::Class* #t30 = c in #t30 == null ?{core::int*} null : self::Extension|get#property(#t30));
+ self::expect(42, let final self::Class* #t31 = c in let final core::int* #t32 = self::Extension|get#property(#t31) in #t32 == null ?{core::int*} let final core::int* #t33 = 42 in let final void #t34 = self::Extension|set#property(#t31, #t33) in #t33 : #t32);
+ self::expect(42, let final self::Class* #t35 = c in let final core::int* #t36 = self::Extension|get#property(#t35) in #t36 == null ?{core::int*} let final core::int* #t37 = 87 in let final void #t38 = self::Extension|set#property(#t35, #t37) in #t37 : #t36);
+ self::expect(null, let final self::Class* #t39 = c in #t39 == null ?{Null} null : let final Null #t40 = null in let final void #t41 = self::Extension|set#property(#t39, #t40) in #t40);
+ let final self::Class* #t42 = c in self::Extension|get#property(#t42) == null ?{core::int*} self::Extension|set#property(#t42, 42) : null;
+ self::expect(42, let final self::Class* #t43 = c in #t43 == null ?{core::int*} null : self::Extension|get#property(#t43));
+ let final self::Class* #t44 = c in self::Extension|get#property(#t44) == null ?{core::int*} self::Extension|set#property(#t44, 87) : null;
+ self::expect(42, let final self::Class* #t45 = c in #t45 == null ?{core::int*} null : self::Extension|get#property(#t45));
+ let final self::Class* #t46 = c in #t46 == null ?{Null} null : self::Extension|set#property(#t46, null);
+ self::expect(null, let final self::Class* #t47 = c in #t47 == null ?{core::int*} null : self::Extension|get#property(#t47));
+ self::expect(42, let final self::Class* #t48 = c in let final core::int* #t49 = self::Extension|get#property(#t48) in #t49 == null ?{core::int*} let final core::int* #t50 = 42 in let final void #t51 = self::Extension|set#property(#t48, #t50) in #t50 : #t49);
+ self::expect(42, let final self::Class* #t52 = c in let final core::int* #t53 = self::Extension|get#property(#t52) in #t53 == null ?{core::int*} let final core::int* #t54 = 87 in let final void #t55 = self::Extension|set#property(#t52, #t54) in #t54 : #t53);
+ let final self::Class* #t56 = c in #t56 == null ?{Null} null : self::Extension|set#property(#t56, null);
+ self::expect(null, let final self::Class* #t57 = c in #t57 == null ?{core::int*} null : self::Extension|get#property(#t57));
+ let final self::Class* #t58 = c in self::Extension|get#property(#t58) == null ?{core::int*} self::Extension|set#property(#t58, 42) : null;
+ self::expect(42, let final self::Class* #t59 = c in #t59 == null ?{core::int*} null : self::Extension|get#property(#t59));
+ let final self::Class* #t60 = c in self::Extension|get#property(#t60) == null ?{core::int*} self::Extension|set#property(#t60, 87) : null;
+ self::expect(42, let final self::Class* #t61 = c in #t61 == null ?{core::int*} null : self::Extension|get#property(#t61));
+ let final self::Class* #t62 = c in #t62 == null ?{Null} null : self::Extension|set#property(#t62, null);
self::Extension|testImplicitThis(c);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/null_aware.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/null_aware.dart.weak.transformed.expect
index afe8026..6ea809e 100644
--- a/pkg/front_end/testcases/extensions/null_aware.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/null_aware.dart.weak.transformed.expect
@@ -27,61 +27,61 @@
set property = self::Extension|set#property;
}
static method Extension|get#property(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|set#property(lowered final self::Class* #this, core::int* value) → void {
#this.{self::Class::field} = value;
}
static method Extension|method(lowered final self::Class* #this) → core::int*
- return #this.{self::Class::field};
+ return #this.{self::Class::field}{core::int*};
static method Extension|get#method(lowered final self::Class* #this) → () →* core::int*
return () → core::int* => self::Extension|method(#this);
static method Extension|testImplicitThis(lowered final self::Class* #this) → dynamic {
self::expect(null, self::Extension|get#property(#this));
- self::expect(42, let final core::int* #t1 = self::Extension|get#property(#this) in #t1.{core::num::==}(null) ?{core::int*} let final core::int* #t2 = 42 in let final void #t3 = self::Extension|set#property(#this, #t2) in #t2 : #t1);
- self::expect(42, let final core::int* #t4 = self::Extension|get#property(#this) in #t4.{core::num::==}(null) ?{core::int*} let final core::int* #t5 = 87 in let final void #t6 = self::Extension|set#property(#this, #t5) in #t5 : #t4);
+ self::expect(42, let final core::int* #t1 = self::Extension|get#property(#this) in #t1 == null ?{core::int*} let final core::int* #t2 = 42 in let final void #t3 = self::Extension|set#property(#this, #t2) in #t2 : #t1);
+ self::expect(42, let final core::int* #t4 = self::Extension|get#property(#this) in #t4 == null ?{core::int*} let final core::int* #t5 = 87 in let final void #t6 = self::Extension|set#property(#this, #t5) in #t5 : #t4);
}
static method Extension|get#testImplicitThis(lowered final self::Class* #this) → () →* dynamic
return () → dynamic => self::Extension|testImplicitThis(#this);
static method main() → dynamic {
self::Class* c;
- self::expect(null, let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t7));
- self::expect(null, let final self::Class* #t8 = c in #t8.{self::Class::==}(null) ?{() →* core::int*} null : self::Extension|get#method(#t8));
- self::expect(null, let final self::Class* #t9 = c in #t9.{self::Class::==}(null) ?{core::int*} null : self::Extension|method(#t9));
- self::expect(null, let final self::Class* #t10 = c in #t10.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t11 = 42 in let final void #t12 = self::Extension|set#property(#t10, #t11) in #t11);
- self::expect(null, let final self::Class* #t13 = c in #t13.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t14 = self::Extension|get#property(#t13) in #t14.{core::num::==}(null) ?{core::int*} let final core::int* #t15 = 42 in let final void #t16 = self::Extension|set#property(#t13, #t15) in #t15 : #t14);
+ self::expect(null, let final self::Class* #t7 = c in #t7 == null ?{core::int*} null : self::Extension|get#property(#t7));
+ self::expect(null, let final self::Class* #t8 = c in #t8 == null ?{() →* core::int*} null : self::Extension|get#method(#t8));
+ self::expect(null, let final self::Class* #t9 = c in #t9 == null ?{core::int*} null : self::Extension|method(#t9));
+ self::expect(null, let final self::Class* #t10 = c in #t10 == null ?{core::int*} null : let final core::int* #t11 = 42 in let final void #t12 = self::Extension|set#property(#t10, #t11) in #t11);
+ self::expect(null, let final self::Class* #t13 = c in #t13 == null ?{core::int*} null : let final core::int* #t14 = self::Extension|get#property(#t13) in #t14 == null ?{core::int*} let final core::int* #t15 = 42 in let final void #t16 = self::Extension|set#property(#t13, #t15) in #t15 : #t14);
c = new self::Class::•();
- self::expect(null, let final self::Class* #t17 = c in #t17.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t17));
- self::expect(null, let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{core::int*} null : self::Extension|method(#t18));
- () →* core::int* tearOff = let final self::Class* #t19 = c in #t19.{self::Class::==}(null) ?{() →* core::int*} null : self::Extension|get#method(#t19);
- self::expect(null, tearOff.call());
- self::expect(42, let final self::Class* #t20 = c in #t20.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t21 = 42 in let final void #t22 = self::Extension|set#property(#t20, #t21) in #t21);
- self::expect(42, tearOff.call());
- self::expect(null, let final self::Class* #t23 = c in #t23.{self::Class::==}(null) ?{Null} null : let final Null #t24 = null in let final void #t25 = self::Extension|set#property(#t23, #t24) in #t24);
- self::expect(42, let final self::Class* #t26 = c in #t26.{self::Class::==}(null) ?{core::int*} null : let final core::int* #t27 = 42 in let final void #t28 = self::Extension|set#property(#t26, #t27) in #t27);
- let final self::Class* #t29 = c in #t29.{self::Class::==}(null) ?{Null} null : self::Extension|set#property(#t29, null);
- self::expect(null, let final self::Class* #t30 = c in #t30.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t30));
- self::expect(42, let final self::Class* #t31 = c in let final core::int* #t32 = self::Extension|get#property(#t31) in #t32.{core::num::==}(null) ?{core::int*} let final core::int* #t33 = 42 in let final void #t34 = self::Extension|set#property(#t31, #t33) in #t33 : #t32);
- self::expect(42, let final self::Class* #t35 = c in let final core::int* #t36 = self::Extension|get#property(#t35) in #t36.{core::num::==}(null) ?{core::int*} let final core::int* #t37 = 87 in let final void #t38 = self::Extension|set#property(#t35, #t37) in #t37 : #t36);
- self::expect(null, let final self::Class* #t39 = c in #t39.{self::Class::==}(null) ?{Null} null : let final Null #t40 = null in let final void #t41 = self::Extension|set#property(#t39, #t40) in #t40);
- let final self::Class* #t42 = c in self::Extension|get#property(#t42).{core::num::==}(null) ?{core::int*} self::Extension|set#property(#t42, 42) : null;
- self::expect(42, let final self::Class* #t43 = c in #t43.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t43));
- let final self::Class* #t44 = c in self::Extension|get#property(#t44).{core::num::==}(null) ?{core::int*} self::Extension|set#property(#t44, 87) : null;
- self::expect(42, let final self::Class* #t45 = c in #t45.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t45));
- let final self::Class* #t46 = c in #t46.{self::Class::==}(null) ?{Null} null : self::Extension|set#property(#t46, null);
- self::expect(null, let final self::Class* #t47 = c in #t47.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t47));
- self::expect(42, let final self::Class* #t48 = c in let final core::int* #t49 = self::Extension|get#property(#t48) in #t49.{core::num::==}(null) ?{core::int*} let final core::int* #t50 = 42 in let final void #t51 = self::Extension|set#property(#t48, #t50) in #t50 : #t49);
- self::expect(42, let final self::Class* #t52 = c in let final core::int* #t53 = self::Extension|get#property(#t52) in #t53.{core::num::==}(null) ?{core::int*} let final core::int* #t54 = 87 in let final void #t55 = self::Extension|set#property(#t52, #t54) in #t54 : #t53);
- let final self::Class* #t56 = c in #t56.{self::Class::==}(null) ?{Null} null : self::Extension|set#property(#t56, null);
- self::expect(null, let final self::Class* #t57 = c in #t57.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t57));
- let final self::Class* #t58 = c in self::Extension|get#property(#t58).{core::num::==}(null) ?{core::int*} self::Extension|set#property(#t58, 42) : null;
- self::expect(42, let final self::Class* #t59 = c in #t59.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t59));
- let final self::Class* #t60 = c in self::Extension|get#property(#t60).{core::num::==}(null) ?{core::int*} self::Extension|set#property(#t60, 87) : null;
- self::expect(42, let final self::Class* #t61 = c in #t61.{self::Class::==}(null) ?{core::int*} null : self::Extension|get#property(#t61));
- let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{Null} null : self::Extension|set#property(#t62, null);
+ self::expect(null, let final self::Class* #t17 = c in #t17 == null ?{core::int*} null : self::Extension|get#property(#t17));
+ self::expect(null, let final self::Class* #t18 = c in #t18 == null ?{core::int*} null : self::Extension|method(#t18));
+ () →* core::int* tearOff = let final self::Class* #t19 = c in #t19 == null ?{() →* core::int*} null : self::Extension|get#method(#t19);
+ self::expect(null, tearOff(){() →* core::int*});
+ self::expect(42, let final self::Class* #t20 = c in #t20 == null ?{core::int*} null : let final core::int* #t21 = 42 in let final void #t22 = self::Extension|set#property(#t20, #t21) in #t21);
+ self::expect(42, tearOff(){() →* core::int*});
+ self::expect(null, let final self::Class* #t23 = c in #t23 == null ?{Null} null : let final Null #t24 = null in let final void #t25 = self::Extension|set#property(#t23, #t24) in #t24);
+ self::expect(42, let final self::Class* #t26 = c in #t26 == null ?{core::int*} null : let final core::int* #t27 = 42 in let final void #t28 = self::Extension|set#property(#t26, #t27) in #t27);
+ let final self::Class* #t29 = c in #t29 == null ?{Null} null : self::Extension|set#property(#t29, null);
+ self::expect(null, let final self::Class* #t30 = c in #t30 == null ?{core::int*} null : self::Extension|get#property(#t30));
+ self::expect(42, let final self::Class* #t31 = c in let final core::int* #t32 = self::Extension|get#property(#t31) in #t32 == null ?{core::int*} let final core::int* #t33 = 42 in let final void #t34 = self::Extension|set#property(#t31, #t33) in #t33 : #t32);
+ self::expect(42, let final self::Class* #t35 = c in let final core::int* #t36 = self::Extension|get#property(#t35) in #t36 == null ?{core::int*} let final core::int* #t37 = 87 in let final void #t38 = self::Extension|set#property(#t35, #t37) in #t37 : #t36);
+ self::expect(null, let final self::Class* #t39 = c in #t39 == null ?{Null} null : let final Null #t40 = null in let final void #t41 = self::Extension|set#property(#t39, #t40) in #t40);
+ let final self::Class* #t42 = c in self::Extension|get#property(#t42) == null ?{core::int*} self::Extension|set#property(#t42, 42) : null;
+ self::expect(42, let final self::Class* #t43 = c in #t43 == null ?{core::int*} null : self::Extension|get#property(#t43));
+ let final self::Class* #t44 = c in self::Extension|get#property(#t44) == null ?{core::int*} self::Extension|set#property(#t44, 87) : null;
+ self::expect(42, let final self::Class* #t45 = c in #t45 == null ?{core::int*} null : self::Extension|get#property(#t45));
+ let final self::Class* #t46 = c in #t46 == null ?{Null} null : self::Extension|set#property(#t46, null);
+ self::expect(null, let final self::Class* #t47 = c in #t47 == null ?{core::int*} null : self::Extension|get#property(#t47));
+ self::expect(42, let final self::Class* #t48 = c in let final core::int* #t49 = self::Extension|get#property(#t48) in #t49 == null ?{core::int*} let final core::int* #t50 = 42 in let final void #t51 = self::Extension|set#property(#t48, #t50) in #t50 : #t49);
+ self::expect(42, let final self::Class* #t52 = c in let final core::int* #t53 = self::Extension|get#property(#t52) in #t53 == null ?{core::int*} let final core::int* #t54 = 87 in let final void #t55 = self::Extension|set#property(#t52, #t54) in #t54 : #t53);
+ let final self::Class* #t56 = c in #t56 == null ?{Null} null : self::Extension|set#property(#t56, null);
+ self::expect(null, let final self::Class* #t57 = c in #t57 == null ?{core::int*} null : self::Extension|get#property(#t57));
+ let final self::Class* #t58 = c in self::Extension|get#property(#t58) == null ?{core::int*} self::Extension|set#property(#t58, 42) : null;
+ self::expect(42, let final self::Class* #t59 = c in #t59 == null ?{core::int*} null : self::Extension|get#property(#t59));
+ let final self::Class* #t60 = c in self::Extension|get#property(#t60) == null ?{core::int*} self::Extension|set#property(#t60, 87) : null;
+ self::expect(42, let final self::Class* #t61 = c in #t61 == null ?{core::int*} null : self::Extension|get#property(#t61));
+ let final self::Class* #t62 = c in #t62 == null ?{Null} null : self::Extension|set#property(#t62, null);
self::Extension|testImplicitThis(c);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/operators.dart.weak.expect b/pkg/front_end/testcases/extensions/operators.dart.weak.expect
index 271cbb1..d97d9f4 100644
--- a/pkg/front_end/testcases/extensions/operators.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/operators.dart.weak.expect
@@ -20,23 +20,23 @@
: self::Complex::real = real, self::Complex::imaginary = imaginary, super core::Object::•()
;
method add(self::Complex* other) → self::Complex* {
- return new self::Complex::•(this.{self::Complex::real}.{core::double::+}(other.{self::Complex::real}), this.{self::Complex::imaginary}.{core::double::+}(other.{self::Complex::imaginary}));
+ return new self::Complex::•(this.{self::Complex::real}{core::double*}.{core::double::+}(other.{self::Complex::real}{core::double*}){(core::num*) →* core::double*}, this.{self::Complex::imaginary}{core::double*}.{core::double::+}(other.{self::Complex::imaginary}{core::double*}){(core::num*) →* core::double*});
}
method sub(self::Complex* other) → self::Complex* {
- return new self::Complex::•(this.{self::Complex::real}.{core::double::-}(other.{self::Complex::real}), this.{self::Complex::imaginary}.{core::double::-}(other.{self::Complex::imaginary}));
+ return new self::Complex::•(this.{self::Complex::real}{core::double*}.{core::double::-}(other.{self::Complex::real}{core::double*}){(core::num*) →* core::double*}, this.{self::Complex::imaginary}{core::double*}.{core::double::-}(other.{self::Complex::imaginary}{core::double*}){(core::num*) →* core::double*});
}
method negate() → self::Complex* {
- return new self::Complex::•(this.{self::Complex::real}.{core::double::unary-}(), this.{self::Complex::imaginary}.{core::double::unary-}());
+ return new self::Complex::•(this.{self::Complex::real}{core::double*}.{core::double::unary-}(){() →* core::double*}, this.{self::Complex::imaginary}{core::double*}.{core::double::unary-}(){() →* core::double*});
}
get hashCode() → core::int*
- return this.{self::Complex::real}.{core::num::hashCode}.{core::num::*}(13).{core::num::+}(this.{self::Complex::imaginary}.{core::num::hashCode}.{core::num::*}(19));
+ return this.{self::Complex::real}{core::double*}.{core::num::hashCode}{core::int*}.{core::num::*}(13){(core::num*) →* core::int*}.{core::num::+}(this.{self::Complex::imaginary}{core::double*}.{core::num::hashCode}{core::int*}.{core::num::*}(19){(core::num*) →* core::int*}){(core::num*) →* core::int*};
operator ==(core::Object* other) → core::bool* {
if(core::identical(this, other))
return true;
- return other is self::Complex* && this.{self::Complex::real}.{core::num::==}(other{self::Complex*}.{self::Complex::real}) && this.{self::Complex::imaginary}.{core::num::==}(other{self::Complex*}.{self::Complex::imaginary});
+ return other is self::Complex* && this.{self::Complex::real}{core::double*} =={core::num::==}{(core::Object*) →* core::bool*} other{self::Complex*}.{self::Complex::real}{core::double*} && this.{self::Complex::imaginary}{core::double*} =={core::num::==}{(core::Object*) →* core::bool*} other{self::Complex*}.{self::Complex::imaginary}{core::double*};
}
method toString() → core::String*
- return "Complex(${this.{self::Complex::real}},${this.{self::Complex::imaginary}})";
+ return "Complex(${this.{self::Complex::real}{core::double*}},${this.{self::Complex::imaginary}{core::double*}})";
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -51,11 +51,11 @@
operator unary- = self::Operators|unary-;
}
static method Operators|+(lowered final self::Complex* #this, self::Complex* other) → self::Complex*
- return #this.{self::Complex::add}(other);
+ return #this.{self::Complex::add}(other){(self::Complex*) →* self::Complex*};
static method Operators|-(lowered final self::Complex* #this, self::Complex* other) → self::Complex*
- return #this.{self::Complex::sub}(other);
+ return #this.{self::Complex::sub}(other){(self::Complex*) →* self::Complex*};
static method Operators|unary-(lowered final self::Complex* #this) → self::Complex*
- return #this.{self::Complex::negate}();
+ return #this.{self::Complex::negate}(){() →* self::Complex*};
static method main() → dynamic {
self::implicit();
self::explicit();
@@ -135,13 +135,13 @@
static method errors(self::Complex* c) → void {
invalid-expression "pkg/front_end/testcases/extensions/operators.dart:125:3: Error: Explicit extension application cannot be used as an expression.
Operators(c) == c;
- ^^^^^^^^^".{core::Object::==}(c);
- !invalid-expression "pkg/front_end/testcases/extensions/operators.dart:126:3: Error: Explicit extension application cannot be used as an expression.
+ ^^^^^^^^^" =={core::Object::==}{(core::Object*) →* core::bool*} c;
+ !(invalid-expression "pkg/front_end/testcases/extensions/operators.dart:126:3: Error: Explicit extension application cannot be used as an expression.
Operators(c) != c;
- ^^^^^^^^^".{core::Object::==}(c);
+ ^^^^^^^^^" =={core::Object::==}{(core::Object*) →* core::bool*} c);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/operators.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/operators.dart.weak.transformed.expect
index 271cbb1..d97d9f4 100644
--- a/pkg/front_end/testcases/extensions/operators.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/operators.dart.weak.transformed.expect
@@ -20,23 +20,23 @@
: self::Complex::real = real, self::Complex::imaginary = imaginary, super core::Object::•()
;
method add(self::Complex* other) → self::Complex* {
- return new self::Complex::•(this.{self::Complex::real}.{core::double::+}(other.{self::Complex::real}), this.{self::Complex::imaginary}.{core::double::+}(other.{self::Complex::imaginary}));
+ return new self::Complex::•(this.{self::Complex::real}{core::double*}.{core::double::+}(other.{self::Complex::real}{core::double*}){(core::num*) →* core::double*}, this.{self::Complex::imaginary}{core::double*}.{core::double::+}(other.{self::Complex::imaginary}{core::double*}){(core::num*) →* core::double*});
}
method sub(self::Complex* other) → self::Complex* {
- return new self::Complex::•(this.{self::Complex::real}.{core::double::-}(other.{self::Complex::real}), this.{self::Complex::imaginary}.{core::double::-}(other.{self::Complex::imaginary}));
+ return new self::Complex::•(this.{self::Complex::real}{core::double*}.{core::double::-}(other.{self::Complex::real}{core::double*}){(core::num*) →* core::double*}, this.{self::Complex::imaginary}{core::double*}.{core::double::-}(other.{self::Complex::imaginary}{core::double*}){(core::num*) →* core::double*});
}
method negate() → self::Complex* {
- return new self::Complex::•(this.{self::Complex::real}.{core::double::unary-}(), this.{self::Complex::imaginary}.{core::double::unary-}());
+ return new self::Complex::•(this.{self::Complex::real}{core::double*}.{core::double::unary-}(){() →* core::double*}, this.{self::Complex::imaginary}{core::double*}.{core::double::unary-}(){() →* core::double*});
}
get hashCode() → core::int*
- return this.{self::Complex::real}.{core::num::hashCode}.{core::num::*}(13).{core::num::+}(this.{self::Complex::imaginary}.{core::num::hashCode}.{core::num::*}(19));
+ return this.{self::Complex::real}{core::double*}.{core::num::hashCode}{core::int*}.{core::num::*}(13){(core::num*) →* core::int*}.{core::num::+}(this.{self::Complex::imaginary}{core::double*}.{core::num::hashCode}{core::int*}.{core::num::*}(19){(core::num*) →* core::int*}){(core::num*) →* core::int*};
operator ==(core::Object* other) → core::bool* {
if(core::identical(this, other))
return true;
- return other is self::Complex* && this.{self::Complex::real}.{core::num::==}(other{self::Complex*}.{self::Complex::real}) && this.{self::Complex::imaginary}.{core::num::==}(other{self::Complex*}.{self::Complex::imaginary});
+ return other is self::Complex* && this.{self::Complex::real}{core::double*} =={core::num::==}{(core::Object*) →* core::bool*} other{self::Complex*}.{self::Complex::real}{core::double*} && this.{self::Complex::imaginary}{core::double*} =={core::num::==}{(core::Object*) →* core::bool*} other{self::Complex*}.{self::Complex::imaginary}{core::double*};
}
method toString() → core::String*
- return "Complex(${this.{self::Complex::real}},${this.{self::Complex::imaginary}})";
+ return "Complex(${this.{self::Complex::real}{core::double*}},${this.{self::Complex::imaginary}{core::double*}})";
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -51,11 +51,11 @@
operator unary- = self::Operators|unary-;
}
static method Operators|+(lowered final self::Complex* #this, self::Complex* other) → self::Complex*
- return #this.{self::Complex::add}(other);
+ return #this.{self::Complex::add}(other){(self::Complex*) →* self::Complex*};
static method Operators|-(lowered final self::Complex* #this, self::Complex* other) → self::Complex*
- return #this.{self::Complex::sub}(other);
+ return #this.{self::Complex::sub}(other){(self::Complex*) →* self::Complex*};
static method Operators|unary-(lowered final self::Complex* #this) → self::Complex*
- return #this.{self::Complex::negate}();
+ return #this.{self::Complex::negate}(){() →* self::Complex*};
static method main() → dynamic {
self::implicit();
self::explicit();
@@ -135,13 +135,13 @@
static method errors(self::Complex* c) → void {
invalid-expression "pkg/front_end/testcases/extensions/operators.dart:125:3: Error: Explicit extension application cannot be used as an expression.
Operators(c) == c;
- ^^^^^^^^^".{core::Object::==}(c);
- !invalid-expression "pkg/front_end/testcases/extensions/operators.dart:126:3: Error: Explicit extension application cannot be used as an expression.
+ ^^^^^^^^^" =={core::Object::==}{(core::Object*) →* core::bool*} c;
+ !(invalid-expression "pkg/front_end/testcases/extensions/operators.dart:126:3: Error: Explicit extension application cannot be used as an expression.
Operators(c) != c;
- ^^^^^^^^^".{core::Object::==}(c);
+ ^^^^^^^^^" =={core::Object::==}{(core::Object*) →* core::bool*} c);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.weak.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.weak.expect
index c83a5d1..5a567f7 100644
--- a/pkg/front_end/testcases/extensions/other_kinds.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/other_kinds.dart.weak.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
method getInstanceField() → core::int*
- return this.{self::A1::_instanceField};
+ return this.{self::A1::_instanceField}{core::int*};
method setInstanceField(core::int* value) → void {
this.{self::A1::_instanceField} = value;
}
@@ -41,18 +41,18 @@
}
static field core::int* A2|staticField = self::A1::getStaticField();
static method A2|get#instanceProperty(lowered final self::A1* #this) → core::int*
- return #this.{self::A1::getInstanceField}();
+ return #this.{self::A1::getInstanceField}(){() →* core::int*};
static method A2|set#instanceProperty(lowered final self::A1* #this, core::int* value) → void {
- #this.{self::A1::setInstanceField}(value);
+ #this.{self::A1::setInstanceField}(value){(core::int*) →* void};
}
static method A2|+(lowered final self::A1* #this, core::int* value) → core::int* {
- return #this.{self::A1::getInstanceField}().{core::num::+}(value);
+ return #this.{self::A1::getInstanceField}(){() →* core::int*}.{core::num::+}(value){(core::num*) →* core::int*};
}
static method A2|-(lowered final self::A1* #this, core::int* value) → core::int* {
- return #this.{self::A1::getInstanceField}().{core::num::-}(value);
+ return #this.{self::A1::getInstanceField}(){() →* core::int*}.{core::num::-}(value){(core::num*) →* core::int*};
}
static method A2|unary-(lowered final self::A1* #this) → core::int* {
- return #this.{self::A1::getInstanceField}().{core::int::unary-}();
+ return #this.{self::A1::getInstanceField}(){() →* core::int*}.{core::int::unary-}(){() →* core::int*};
}
static get A2|staticProperty() → core::int*
return self::A1::getStaticField();
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.weak.transformed.expect
index c83a5d1..5a567f7 100644
--- a/pkg/front_end/testcases/extensions/other_kinds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/other_kinds.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
method getInstanceField() → core::int*
- return this.{self::A1::_instanceField};
+ return this.{self::A1::_instanceField}{core::int*};
method setInstanceField(core::int* value) → void {
this.{self::A1::_instanceField} = value;
}
@@ -41,18 +41,18 @@
}
static field core::int* A2|staticField = self::A1::getStaticField();
static method A2|get#instanceProperty(lowered final self::A1* #this) → core::int*
- return #this.{self::A1::getInstanceField}();
+ return #this.{self::A1::getInstanceField}(){() →* core::int*};
static method A2|set#instanceProperty(lowered final self::A1* #this, core::int* value) → void {
- #this.{self::A1::setInstanceField}(value);
+ #this.{self::A1::setInstanceField}(value){(core::int*) →* void};
}
static method A2|+(lowered final self::A1* #this, core::int* value) → core::int* {
- return #this.{self::A1::getInstanceField}().{core::num::+}(value);
+ return #this.{self::A1::getInstanceField}(){() →* core::int*}.{core::num::+}(value){(core::num*) →* core::int*};
}
static method A2|-(lowered final self::A1* #this, core::int* value) → core::int* {
- return #this.{self::A1::getInstanceField}().{core::num::-}(value);
+ return #this.{self::A1::getInstanceField}(){() →* core::int*}.{core::num::-}(value){(core::num*) →* core::int*};
}
static method A2|unary-(lowered final self::A1* #this) → core::int* {
- return #this.{self::A1::getInstanceField}().{core::int::unary-}();
+ return #this.{self::A1::getInstanceField}(){() →* core::int*}.{core::int::unary-}(){() →* core::int*};
}
static get A2|staticProperty() → core::int*
return self::A1::getStaticField();
diff --git a/pkg/front_end/testcases/extensions/private_members.dart.weak.expect b/pkg/front_end/testcases/extensions/private_members.dart.weak.expect
index 344b0e7..4a003d0 100644
--- a/pkg/front_end/testcases/extensions/private_members.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/private_members.dart.weak.expect
@@ -85,19 +85,19 @@
^^^^^^^^^^^^^^^");
pri::expect(42, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:23:14: Error: Method not found: '_PrivateExtension'.
expect(42, _PrivateExtension(\"\").publicMethod1());
- ^^^^^^^^^^^^^^^^^".publicMethod1());
+ ^^^^^^^^^^^^^^^^^"{dynamic}.publicMethod1());
pri::expect(87, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:24:14: Error: Method not found: '_PrivateExtension'.
expect(87, _PrivateExtension(\"\")._privateMethod1());
- ^^^^^^^^^^^^^^^^^"._privateMethod1());
+ ^^^^^^^^^^^^^^^^^"{dynamic}._privateMethod1());
pri::expect(237, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:25:35: Error: Method not found: '_privateMethod2'.
expect(237, PublicExtension(\"\")._privateMethod2());
^^^^^^^^^^^^^^^");
pri::expect(24, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:27:14: Error: Getter not found: '_PrivateExtension'.
expect(24, _PrivateExtension.publicStaticMethod1());
- ^^^^^^^^^^^^^^^^^".publicStaticMethod1());
+ ^^^^^^^^^^^^^^^^^"{dynamic}.publicStaticMethod1());
pri::expect(78, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:28:14: Error: Getter not found: '_PrivateExtension'.
expect(78, _PrivateExtension._privateStaticMethod1());
- ^^^^^^^^^^^^^^^^^"._privateStaticMethod1());
+ ^^^^^^^^^^^^^^^^^"{dynamic}._privateStaticMethod1());
pri::expect(732, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:29:31: Error: Method not found: 'PublicExtension._privateStaticMethod2'.
expect(732, PublicExtension._privateStaticMethod2());
^^^^^^^^^^^^^^^^^^^^^");
@@ -217,7 +217,7 @@
pri::_extension#0|test3("");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect
index 344b0e7..4a003d0 100644
--- a/pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect
@@ -85,19 +85,19 @@
^^^^^^^^^^^^^^^");
pri::expect(42, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:23:14: Error: Method not found: '_PrivateExtension'.
expect(42, _PrivateExtension(\"\").publicMethod1());
- ^^^^^^^^^^^^^^^^^".publicMethod1());
+ ^^^^^^^^^^^^^^^^^"{dynamic}.publicMethod1());
pri::expect(87, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:24:14: Error: Method not found: '_PrivateExtension'.
expect(87, _PrivateExtension(\"\")._privateMethod1());
- ^^^^^^^^^^^^^^^^^"._privateMethod1());
+ ^^^^^^^^^^^^^^^^^"{dynamic}._privateMethod1());
pri::expect(237, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:25:35: Error: Method not found: '_privateMethod2'.
expect(237, PublicExtension(\"\")._privateMethod2());
^^^^^^^^^^^^^^^");
pri::expect(24, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:27:14: Error: Getter not found: '_PrivateExtension'.
expect(24, _PrivateExtension.publicStaticMethod1());
- ^^^^^^^^^^^^^^^^^".publicStaticMethod1());
+ ^^^^^^^^^^^^^^^^^"{dynamic}.publicStaticMethod1());
pri::expect(78, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:28:14: Error: Getter not found: '_PrivateExtension'.
expect(78, _PrivateExtension._privateStaticMethod1());
- ^^^^^^^^^^^^^^^^^"._privateStaticMethod1());
+ ^^^^^^^^^^^^^^^^^"{dynamic}._privateStaticMethod1());
pri::expect(732, invalid-expression "pkg/front_end/testcases/extensions/private_members.dart:29:31: Error: Method not found: 'PublicExtension._privateStaticMethod2'.
expect(732, PublicExtension._privateStaticMethod2());
^^^^^^^^^^^^^^^^^^^^^");
@@ -217,7 +217,7 @@
pri::_extension#0|test3("");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.expect b/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.expect
index 5b11e7e..20bfb57 100644
--- a/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.expect
@@ -45,7 +45,7 @@
return new self::Class::•();
}
static method test2<T extends self::Class*>(self::test2::T* t2) → dynamic {
- if(self::test2::T*.{core::Type::==}(#C1)) {
+ if(self::test2::T* =={core::Type::==}{(core::Object*) →* core::bool*} (#C1)) {
self::SubClass* subClass = self::BoundExtension|method2<self::Class*>(t2) as{TypeError} self::SubClass*;
}
}
diff --git a/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.transformed.expect
index 5b11e7e..20bfb57 100644
--- a/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
return new self::Class::•();
}
static method test2<T extends self::Class*>(self::test2::T* t2) → dynamic {
- if(self::test2::T*.{core::Type::==}(#C1)) {
+ if(self::test2::T* =={core::Type::==}{(core::Object*) →* core::bool*} (#C1)) {
self::SubClass* subClass = self::BoundExtension|method2<self::Class*>(t2) as{TypeError} self::SubClass*;
}
}
diff --git a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.expect b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.expect
index 932e48a..6532400 100644
--- a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.expect
+++ b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.expect
@@ -8,7 +8,7 @@
: self::Class1::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class1(${this.{self::Class1::field}})";
+ return "Class1(${this.{self::Class1::field}{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
@@ -25,7 +25,7 @@
: self::Class2::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class2(${this.{self::Class2::field}})";
+ return "Class2(${this.{self::Class2::field}{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
@@ -54,44 +54,44 @@
}
static method _extension#0|method(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.method on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method _extension#0|get#method(lowered final self::Class1* #this) → () →* core::int*
return () → core::int* => self::_extension#0|method(#this);
static method _extension#0|genericMethod<T extends core::num*>(lowered final self::Class1* #this, self::_extension#0|genericMethod::T* t) → core::int* {
core::print("Extension1.genericMethod<${self::_extension#0|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class1::field}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class1::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method _extension#0|get#genericMethod(lowered final self::Class1* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::_extension#0|genericMethod<T*>(#this, t);
static method _extension#0|get#property(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.property get on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method _extension#0|set#property(lowered final self::Class1* #this, core::int* value) → void {
#this.{self::Class1::field} = value;
core::print("Extension1.property set(${value}) on ${#this}");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
}
static method _extension#1|method(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.method on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(3);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*};
}
static method _extension#1|get#method(lowered final self::Class2* #this) → () →* core::int*
return () → core::int* => self::_extension#1|method(#this);
static method _extension#1|genericMethod<T extends core::num*>(lowered final self::Class2* #this, self::_extension#1|genericMethod::T* t) → core::int* {
core::print("Extension2.genericMethod<${self::_extension#1|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(t).{core::num::+}(4) as{TypeError} core::int*;
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*}.{core::num::+}(4){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method _extension#1|get#genericMethod(lowered final self::Class2* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::_extension#1|genericMethod<T*>(#this, t);
static method _extension#1|get#property(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.property get on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(5);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(5){(core::num*) →* core::int*};
}
static method _extension#1|set#property(lowered final self::Class2* #this, core::int* value) → void {
core::print("Extension2.property set(${value}) on ${#this}");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
#this.{self::Class2::field} = value;
}
static method main() → dynamic {
@@ -103,13 +103,13 @@
self::Class1* c1 = new self::Class1::•(1);
self::expect(0, self::_extension#0|method(c0));
self::expect(1, self::_extension#0|method(c1));
- self::expect(1, let final self::Class1* #t1 = c1 in #t1.{self::Class1::==}(null) ?{core::int*} null : self::_extension#0|method(#t1));
+ self::expect(1, let final self::Class1* #t1 = c1 in #t1 == null ?{core::int*} null : self::_extension#0|method(#t1));
self::expect(42, self::_extension#0|genericMethod<core::int*>(c0, 42));
self::expect(43, self::_extension#0|genericMethod<core::num*>(c0, 43));
self::expect(88, self::_extension#0|genericMethod<core::int*>(c1, 87));
self::expect(89, self::_extension#0|genericMethod<core::num*>(c1, 88));
self::expect(0, self::_extension#0|get#property(c0));
- self::expect(0, let final self::Class1* #t2 = c0 in #t2.{self::Class1::==}(null) ?{core::int*} null : self::_extension#0|get#property(#t2));
+ self::expect(0, let final self::Class1* #t2 = c0 in #t2 == null ?{core::int*} null : self::_extension#0|get#property(#t2));
self::expect(42, let final core::int* #t3 = 42 in let final void #t4 = self::_extension#0|set#property(c0, #t3) in #t3);
self::expect(1, self::_extension#0|get#property(c1));
self::expect(87, let final core::int* #t5 = 87 in let final void #t6 = self::_extension#0|set#property(c0, #t5) in #t5);
@@ -122,14 +122,14 @@
self::Class2* c0 = new self::Class2::•(0);
self::Class2* c1 = new self::Class2::•(1);
self::expect(3, self::_extension#1|method(c0));
- self::expect(3, let final self::Class2* #t27 = c0 in #t27.{self::Class2::==}(null) ?{core::int*} null : self::_extension#1|method(#t27));
+ self::expect(3, let final self::Class2* #t27 = c0 in #t27 == null ?{core::int*} null : self::_extension#1|method(#t27));
self::expect(4, self::_extension#1|method(c1));
self::expect(46, self::_extension#1|genericMethod<core::int*>(c0, 42));
self::expect(47, self::_extension#1|genericMethod<core::num*>(c0, 43));
self::expect(92, self::_extension#1|genericMethod<core::int*>(c1, 87));
self::expect(93, self::_extension#1|genericMethod<core::num*>(c1, 88));
self::expect(5, self::_extension#1|get#property(c0));
- self::expect(5, let final self::Class2* #t28 = c0 in #t28.{self::Class2::==}(null) ?{core::int*} null : self::_extension#1|get#property(#t28));
+ self::expect(5, let final self::Class2* #t28 = c0 in #t28 == null ?{core::int*} null : self::_extension#1|get#property(#t28));
self::expect(42, let final core::int* #t29 = 42 in let final void #t30 = self::_extension#1|set#property(c0, #t29) in #t29);
self::expect(48, self::_extension#1|get#property(c0));
self::expect(6, self::_extension#1|get#property(c1));
@@ -141,7 +141,7 @@
self::expect(67, let final core::int* #t41 = let final core::int* #t42 = self::_extension#1|get#property(c0) in let final void #t43 = self::_extension#1|set#property(c1, #t42) in #t42 in let final void #t44 = self::_extension#1|set#property(c0, #t41) in #t41);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.transformed.expect
index bfc173d..f3b4c97 100644
--- a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
: self::Class1::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class1(${this.{self::Class1::field}})";
+ return "Class1(${this.{self::Class1::field}{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
@@ -25,7 +25,7 @@
: self::Class2::field = field, super core::Object::•()
;
method toString() → core::String*
- return "Class2(${this.{self::Class2::field}})";
+ return "Class2(${this.{self::Class2::field}{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
@@ -54,44 +54,44 @@
}
static method _extension#0|method(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.method on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method _extension#0|get#method(lowered final self::Class1* #this) → () →* core::int*
return () → core::int* => self::_extension#0|method(#this);
static method _extension#0|genericMethod<T extends core::num*>(lowered final self::Class1* #this, self::_extension#0|genericMethod::T* t) → core::int* {
core::print("Extension1.genericMethod<${self::_extension#0|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class1::field}.{core::num::+}(t) as{TypeError} core::int*;
+ return #this.{self::Class1::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method _extension#0|get#genericMethod(lowered final self::Class1* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::_extension#0|genericMethod<T*>(#this, t);
static method _extension#0|get#property(lowered final self::Class1* #this) → core::int* {
core::print("Extension1.property get on ${#this}");
- return #this.{self::Class1::field};
+ return #this.{self::Class1::field}{core::int*};
}
static method _extension#0|set#property(lowered final self::Class1* #this, core::int* value) → void {
#this.{self::Class1::field} = value;
core::print("Extension1.property set(${value}) on ${#this}");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
}
static method _extension#1|method(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.method on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(3);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*};
}
static method _extension#1|get#method(lowered final self::Class2* #this) → () →* core::int*
return () → core::int* => self::_extension#1|method(#this);
static method _extension#1|genericMethod<T extends core::num*>(lowered final self::Class2* #this, self::_extension#1|genericMethod::T* t) → core::int* {
core::print("Extension2.genericMethod<${self::_extension#1|genericMethod::T*}>(${t}) on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(t).{core::num::+}(4) as{TypeError} core::int*;
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(t){(core::num*) →* core::num*}.{core::num::+}(4){(core::num*) →* core::num*} as{TypeError} core::int*;
}
static method _extension#1|get#genericMethod(lowered final self::Class2* #this) → <T extends core::num*>(T*) →* core::int*
return <T extends core::num*>(T* t) → core::int* => self::_extension#1|genericMethod<T*>(#this, t);
static method _extension#1|get#property(lowered final self::Class2* #this) → core::int* {
core::print("Extension2.property get on ${#this}");
- return #this.{self::Class2::field}.{core::num::+}(5);
+ return #this.{self::Class2::field}{core::int*}.{core::num::+}(5){(core::num*) →* core::int*};
}
static method _extension#1|set#property(lowered final self::Class2* #this, core::int* value) → void {
core::print("Extension2.property set(${value}) on ${#this}");
- value = value.{core::num::+}(1);
+ value = value.{core::num::+}(1){(core::num*) →* core::int*};
#this.{self::Class2::field} = value;
}
static method main() → dynamic {
@@ -103,13 +103,13 @@
self::Class1* c1 = new self::Class1::•(1);
self::expect(0, self::_extension#0|method(c0));
self::expect(1, self::_extension#0|method(c1));
- self::expect(1, let final self::Class1* #t1 = c1 in #t1.{self::Class1::==}(null) ?{core::int*} null : self::_extension#0|method(#t1));
+ self::expect(1, let final self::Class1* #t1 = c1 in #t1 == null ?{core::int*} null : self::_extension#0|method(#t1));
self::expect(42, self::_extension#0|genericMethod<core::int*>(c0, 42));
self::expect(43, self::_extension#0|genericMethod<core::num*>(c0, 43));
self::expect(88, self::_extension#0|genericMethod<core::int*>(c1, 87));
self::expect(89, self::_extension#0|genericMethod<core::num*>(c1, 88));
self::expect(0, self::_extension#0|get#property(c0));
- self::expect(0, let final self::Class1* #t2 = c0 in #t2.{self::Class1::==}(null) ?{core::int*} null : self::_extension#0|get#property(#t2));
+ self::expect(0, let final self::Class1* #t2 = c0 in #t2 == null ?{core::int*} null : self::_extension#0|get#property(#t2));
self::expect(42, let final core::int* #t3 = 42 in let final void #t4 = self::_extension#0|set#property(c0, #t3) in #t3);
self::expect(1, self::_extension#0|get#property(c1));
self::expect(87, let final core::int* #t5 = 87 in let final void #t6 = self::_extension#0|set#property(c0, #t5) in #t5);
@@ -122,14 +122,14 @@
self::Class2* c0 = new self::Class2::•(0);
self::Class2* c1 = new self::Class2::•(1);
self::expect(3, self::_extension#1|method(c0));
- self::expect(3, let final self::Class2* #t27 = c0 in #t27.{self::Class2::==}(null) ?{core::int*} null : self::_extension#1|method(#t27));
+ self::expect(3, let final self::Class2* #t27 = c0 in #t27 == null ?{core::int*} null : self::_extension#1|method(#t27));
self::expect(4, self::_extension#1|method(c1));
self::expect(46, self::_extension#1|genericMethod<core::int*>(c0, 42));
self::expect(47, self::_extension#1|genericMethod<core::num*>(c0, 43));
self::expect(92, self::_extension#1|genericMethod<core::int*>(c1, 87));
self::expect(93, self::_extension#1|genericMethod<core::num*>(c1, 88));
self::expect(5, self::_extension#1|get#property(c0));
- self::expect(5, let final self::Class2* #t28 = c0 in #t28.{self::Class2::==}(null) ?{core::int*} null : self::_extension#1|get#property(#t28));
+ self::expect(5, let final self::Class2* #t28 = c0 in #t28 == null ?{core::int*} null : self::_extension#1|get#property(#t28));
self::expect(42, let final core::int* #t29 = 42 in let final void #t30 = self::_extension#1|set#property(c0, #t29) in #t29);
self::expect(48, self::_extension#1|get#property(c0));
self::expect(6, self::_extension#1|get#property(c1));
@@ -141,7 +141,7 @@
self::expect(67, let final core::int* #t41 = let final core::int* #t42 = self::_extension#1|get#property(c0) in let final void #t43 = self::_extension#1|set#property(c1, #t42) in #t42 in let final void #t44 = self::_extension#1|set#property(c0, #t41) in #t41);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart.weak.expect b/pkg/front_end/testcases/general/DeltaBlue.dart.weak.expect
index 9e26317..5754a1b 100644
--- a/pkg/front_end/testcases/general/DeltaBlue.dart.weak.expect
+++ b/pkg/front_end/testcases/general/DeltaBlue.dart.weak.expect
@@ -28,12 +28,12 @@
: self::Strength::value = value, self::Strength::name = name, super core::Object::•()
;
method nextWeaker() → self::Strength*
- return (#C19).{core::List::[]}(this.{self::Strength::value});
+ return (#C19).{core::List::[]}(this.{self::Strength::value}{core::int*}){(core::int*) →* self::Strength*};
static method stronger(self::Strength* s1, self::Strength* s2) → core::bool* {
- return s1.{self::Strength::value}.{core::num::<}(s2.{self::Strength::value});
+ return s1.{self::Strength::value}{core::int*}.{core::num::<}(s2.{self::Strength::value}{core::int*}){(core::num*) →* core::bool*};
}
static method weaker(self::Strength* s1, self::Strength* s2) → core::bool* {
- return s1.{self::Strength::value}.{core::num::>}(s2.{self::Strength::value});
+ return s1.{self::Strength::value}{core::int*}.{core::num::>}(s2.{self::Strength::value}{core::int*}){(core::num*) →* core::bool*};
}
static method weakest(self::Strength* s1, self::Strength* s2) → self::Strength* {
return self::Strength::weaker(s1, s2) ?{self::Strength*} s1 : s2;
@@ -68,32 +68,32 @@
abstract method execute() → void;
abstract method recalculate() → void;
method addConstraint() → void {
- this.{self::Constraint::addToGraph}();
- self::planner.{self::Planner::incrementalAdd}(this);
+ this.{self::Constraint::addToGraph}(){() →* void};
+ self::planner.{self::Planner::incrementalAdd}(this){(self::Constraint*) →* void};
}
method satisfy(dynamic mark) → self::Constraint* {
- this.{self::Constraint::chooseMethod}(mark as{TypeError,ForDynamic} core::int*);
- if(!this.{self::Constraint::isSatisfied}()) {
- if(this.{self::Constraint::strength}.{self::Strength::==}(#C22)) {
+ this.{self::Constraint::chooseMethod}(mark as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+ if(!this.{self::Constraint::isSatisfied}(){() →* core::bool*}) {
+ if(this.{self::Constraint::strength}{self::Strength*} =={self::Strength::==}{(dynamic) →* core::bool*} (#C22)) {
core::print("Could not satisfy a required constraint!");
}
return null;
}
- this.{self::Constraint::markInputs}(mark as{TypeError,ForDynamic} core::int*);
- self::Variable* out = this.{self::Constraint::output}();
- self::Constraint* overridden = out.{self::Variable::determinedBy};
- if(!overridden.{self::Constraint::==}(null))
- overridden.{self::Constraint::markUnsatisfied}();
+ this.{self::Constraint::markInputs}(mark as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+ self::Variable* out = this.{self::Constraint::output}(){() →* self::Variable*};
+ self::Constraint* overridden = out.{self::Variable::determinedBy}{self::Constraint*};
+ if(!(overridden == null))
+ overridden.{self::Constraint::markUnsatisfied}(){() →* void};
out.{self::Variable::determinedBy} = this;
- if(!self::planner.{self::Planner::addPropagate}(this, mark as{TypeError,ForDynamic} core::int*))
+ if(!self::planner.{self::Planner::addPropagate}(this, mark as{TypeError,ForDynamic} core::int*){(self::Constraint*, core::int*) →* core::bool*})
core::print("Cycle encountered");
out.{self::Variable::mark} = mark as{TypeError,ForDynamic} core::int*;
return overridden;
}
method destroyConstraint() → void {
- if(this.{self::Constraint::isSatisfied}())
- self::planner.{self::Planner::incrementalRemove}(this);
- this.{self::Constraint::removeFromGraph}();
+ if(this.{self::Constraint::isSatisfied}(){() →* core::bool*})
+ self::planner.{self::Planner::incrementalRemove}(this){(self::Constraint*) →* void};
+ this.{self::Constraint::removeFromGraph}(){() →* void};
}
method isInput() → core::bool*
return false;
@@ -113,25 +113,25 @@
field core::bool* satisfied = false;
constructor •(self::Variable* myOutput, self::Strength* strength) → self::UnaryConstraint*
: self::UnaryConstraint::myOutput = myOutput, super self::Constraint::•(strength) {
- this.{self::Constraint::addConstraint}();
+ this.{self::Constraint::addConstraint}(){() →* void};
}
method addToGraph() → void {
- this.{self::UnaryConstraint::myOutput}.{self::Variable::addConstraint}(this);
+ this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
this.{self::UnaryConstraint::satisfied} = false;
}
method chooseMethod(core::int* mark) → void {
- this.{self::UnaryConstraint::satisfied} = !this.{self::UnaryConstraint::myOutput}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::UnaryConstraint::myOutput}.{self::Variable::walkStrength});
+ this.{self::UnaryConstraint::satisfied} = !(this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) && self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*});
}
method isSatisfied() → core::bool*
- return this.{self::UnaryConstraint::satisfied};
+ return this.{self::UnaryConstraint::satisfied}{core::bool*};
method markInputs(core::int* mark) → void {}
method output() → self::Variable*
- return this.{self::UnaryConstraint::myOutput};
+ return this.{self::UnaryConstraint::myOutput}{self::Variable*};
method recalculate() → void {
- this.{self::UnaryConstraint::myOutput}.{self::Variable::walkStrength} = this.{self::Constraint::strength};
- this.{self::UnaryConstraint::myOutput}.{self::Variable::stay} = !this.{self::Constraint::isInput}();
- if(this.{self::UnaryConstraint::myOutput}.{self::Variable::stay})
- this.{self::Constraint::execute}();
+ this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::walkStrength} = this.{self::Constraint::strength}{self::Strength*};
+ this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::stay} = !this.{self::Constraint::isInput}(){() →* core::bool*};
+ if(this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::stay}{core::bool*})
+ this.{self::Constraint::execute}(){() →* void};
}
method markUnsatisfied() → void {
this.{self::UnaryConstraint::satisfied} = false;
@@ -139,8 +139,8 @@
method inputsKnown(core::int* mark) → core::bool*
return true;
method removeFromGraph() → void {
- if(!this.{self::UnaryConstraint::myOutput}.{self::Variable::==}(null))
- this.{self::UnaryConstraint::myOutput}.{self::Variable::removeConstraint}(this);
+ if(!(this.{self::UnaryConstraint::myOutput}{self::Variable*} == null))
+ this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
this.{self::UnaryConstraint::satisfied} = false;
}
}
@@ -164,56 +164,56 @@
field core::int* direction = #C1;
constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::BinaryConstraint*
: self::BinaryConstraint::v1 = v1, self::BinaryConstraint::v2 = v2, super self::Constraint::•(strength) {
- this.{self::Constraint::addConstraint}();
+ this.{self::Constraint::addConstraint}(){() →* void};
}
method chooseMethod(core::int* mark) → void {
- if(this.{self::BinaryConstraint::v1}.{self::Variable::mark}.{core::num::==}(mark)) {
- this.{self::BinaryConstraint::direction} = !this.{self::BinaryConstraint::v2}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength}) ?{core::int*} #C4 : #C1;
+ if(this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) {
+ this.{self::BinaryConstraint::direction} = !(this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) && self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}) ?{core::int*} #C4 : #C1;
}
- if(this.{self::BinaryConstraint::v2}.{self::Variable::mark}.{core::num::==}(mark)) {
- this.{self::BinaryConstraint::direction} = !this.{self::BinaryConstraint::v1}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}) ?{core::int*} #C20 : #C1;
+ if(this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) {
+ this.{self::BinaryConstraint::direction} = !(this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) && self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}) ?{core::int*} #C20 : #C1;
}
- if(self::Strength::weaker(this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength})) {
- this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}) ?{core::int*} #C20 : #C1;
+ if(self::Strength::weaker(this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}, this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*})) {
+ this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}) ?{core::int*} #C20 : #C1;
}
else {
- this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength}) ?{core::int*} #C4 : #C20;
+ this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}) ?{core::int*} #C4 : #C20;
}
}
method addToGraph() → void {
- this.{self::BinaryConstraint::v1}.{self::Variable::addConstraint}(this);
- this.{self::BinaryConstraint::v2}.{self::Variable::addConstraint}(this);
+ this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
+ this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
this.{self::BinaryConstraint::direction} = #C1;
}
method isSatisfied() → core::bool*
- return !this.{self::BinaryConstraint::direction}.{core::num::==}(#C1);
+ return !(this.{self::BinaryConstraint::direction}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} (#C1));
method markInputs(core::int* mark) → void {
- this.{self::BinaryConstraint::input}().{self::Variable::mark} = mark;
+ this.{self::BinaryConstraint::input}(){() →* self::Variable*}.{self::Variable::mark} = mark;
}
method input() → self::Variable*
- return this.{self::BinaryConstraint::direction}.{core::num::==}(#C4) ?{self::Variable*} this.{self::BinaryConstraint::v1} : this.{self::BinaryConstraint::v2};
+ return this.{self::BinaryConstraint::direction}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} (#C4) ?{self::Variable*} this.{self::BinaryConstraint::v1}{self::Variable*} : this.{self::BinaryConstraint::v2}{self::Variable*};
method output() → self::Variable*
- return this.{self::BinaryConstraint::direction}.{core::num::==}(#C4) ?{self::Variable*} this.{self::BinaryConstraint::v2} : this.{self::BinaryConstraint::v1};
+ return this.{self::BinaryConstraint::direction}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} (#C4) ?{self::Variable*} this.{self::BinaryConstraint::v2}{self::Variable*} : this.{self::BinaryConstraint::v1}{self::Variable*};
method recalculate() → void {
- self::Variable* ihn = this.{self::BinaryConstraint::input}();
- self::Variable* out = this.{self::BinaryConstraint::output}();
- out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}, ihn.{self::Variable::walkStrength});
- out.{self::Variable::stay} = ihn.{self::Variable::stay};
- if(out.{self::Variable::stay})
- this.{self::Constraint::execute}();
+ self::Variable* ihn = this.{self::BinaryConstraint::input}(){() →* self::Variable*};
+ self::Variable* out = this.{self::BinaryConstraint::output}(){() →* self::Variable*};
+ out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}{self::Strength*}, ihn.{self::Variable::walkStrength}{self::Strength*});
+ out.{self::Variable::stay} = ihn.{self::Variable::stay}{core::bool*};
+ if(out.{self::Variable::stay}{core::bool*})
+ this.{self::Constraint::execute}(){() →* void};
}
method markUnsatisfied() → void {
this.{self::BinaryConstraint::direction} = #C1;
}
method inputsKnown(core::int* mark) → core::bool* {
- self::Variable* i = this.{self::BinaryConstraint::input}();
- return i.{self::Variable::mark}.{core::num::==}(mark) || i.{self::Variable::stay} || i.{self::Variable::determinedBy}.{self::Constraint::==}(null);
+ self::Variable* i = this.{self::BinaryConstraint::input}(){() →* self::Variable*};
+ return i.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark || i.{self::Variable::stay}{core::bool*} || i.{self::Variable::determinedBy}{self::Constraint*} == null;
}
method removeFromGraph() → void {
- if(!this.{self::BinaryConstraint::v1}.{self::Variable::==}(null))
- this.{self::BinaryConstraint::v1}.{self::Variable::removeConstraint}(this);
- if(!this.{self::BinaryConstraint::v2}.{self::Variable::==}(null))
- this.{self::BinaryConstraint::v2}.{self::Variable::removeConstraint}(this);
+ if(!(this.{self::BinaryConstraint::v1}{self::Variable*} == null))
+ this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
+ if(!(this.{self::BinaryConstraint::v2}{self::Variable*} == null))
+ this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
this.{self::BinaryConstraint::direction} = #C1;
}
}
@@ -225,35 +225,35 @@
;
method addToGraph() → void {
super.{self::BinaryConstraint::addToGraph}();
- this.{self::ScaleConstraint::scale}.{self::Variable::addConstraint}(this);
- this.{self::ScaleConstraint::offset}.{self::Variable::addConstraint}(this);
+ this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
+ this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
}
method removeFromGraph() → void {
super.{self::BinaryConstraint::removeFromGraph}();
- if(!this.{self::ScaleConstraint::scale}.{self::Variable::==}(null))
- this.{self::ScaleConstraint::scale}.{self::Variable::removeConstraint}(this);
- if(!this.{self::ScaleConstraint::offset}.{self::Variable::==}(null))
- this.{self::ScaleConstraint::offset}.{self::Variable::removeConstraint}(this);
+ if(!(this.{self::ScaleConstraint::scale}{self::Variable*} == null))
+ this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
+ if(!(this.{self::ScaleConstraint::offset}{self::Variable*} == null))
+ this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
}
method markInputs(core::int* mark) → void {
super.{self::BinaryConstraint::markInputs}(mark);
- this.{self::ScaleConstraint::scale}.{self::Variable::mark} = this.{self::ScaleConstraint::offset}.{self::Variable::mark} = mark;
+ this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::mark} = this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::mark} = mark;
}
method execute() → void {
- if(this.{self::BinaryConstraint::direction}.{core::num::==}(#C4)) {
- this.{self::BinaryConstraint::v2}.{self::Variable::value} = this.{self::BinaryConstraint::v1}.{self::Variable::value}.{core::num::*}(this.{self::ScaleConstraint::scale}.{self::Variable::value}).{core::num::+}(this.{self::ScaleConstraint::offset}.{self::Variable::value});
+ if(this.{self::BinaryConstraint::direction}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} (#C4)) {
+ this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::value} = this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::value}{core::int*}.{core::num::*}(this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::value}{core::int*}){(core::num*) →* core::int*}.{core::num::+}(this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::value}{core::int*}){(core::num*) →* core::int*};
}
else {
- this.{self::BinaryConstraint::v1}.{self::Variable::value} = this.{self::BinaryConstraint::v2}.{self::Variable::value}.{core::num::-}(this.{self::ScaleConstraint::offset}.{self::Variable::value}).{core::num::~/}(this.{self::ScaleConstraint::scale}.{self::Variable::value});
+ this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::value} = this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::value}{core::int*}.{core::num::-}(this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::value}{core::int*}){(core::num*) →* core::int*}.{core::num::~/}(this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::value}{core::int*}){(core::num*) →* core::int*};
}
}
method recalculate() → void {
- self::Variable* ihn = this.{self::BinaryConstraint::input}();
- self::Variable* out = this.{self::BinaryConstraint::output}();
- out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}, ihn.{self::Variable::walkStrength});
- out.{self::Variable::stay} = ihn.{self::Variable::stay} && this.{self::ScaleConstraint::scale}.{self::Variable::stay} && this.{self::ScaleConstraint::offset}.{self::Variable::stay};
- if(out.{self::Variable::stay})
- this.{self::ScaleConstraint::execute}();
+ self::Variable* ihn = this.{self::BinaryConstraint::input}(){() →* self::Variable*};
+ self::Variable* out = this.{self::BinaryConstraint::output}(){() →* self::Variable*};
+ out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}{self::Strength*}, ihn.{self::Variable::walkStrength}{self::Strength*});
+ out.{self::Variable::stay} = ihn.{self::Variable::stay}{core::bool*} && this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::stay}{core::bool*} && this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::stay}{core::bool*};
+ if(out.{self::Variable::stay}{core::bool*})
+ this.{self::ScaleConstraint::execute}(){() →* void};
}
}
class EqualityConstraint extends self::BinaryConstraint {
@@ -261,7 +261,7 @@
: super self::BinaryConstraint::•(v1, v2, strength)
;
method execute() → void {
- this.{self::BinaryConstraint::output}().{self::Variable::value} = this.{self::BinaryConstraint::input}().{self::Variable::value};
+ this.{self::BinaryConstraint::output}(){() →* self::Variable*}.{self::Variable::value} = this.{self::BinaryConstraint::input}(){() →* self::Variable*}.{self::Variable::value}{core::int*};
}
}
class Variable extends core::Object {
@@ -276,11 +276,11 @@
: self::Variable::name = name, self::Variable::value = value, super core::Object::•()
;
method addConstraint(self::Constraint* c) → void {
- this.{self::Variable::constraints}.{core::List::add}(c);
+ this.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::add}(c){(self::Constraint*) →* void};
}
method removeConstraint(self::Constraint* c) → void {
- this.{self::Variable::constraints}.{core::List::remove}(c);
- if(this.{self::Variable::determinedBy}.{self::Constraint::==}(c))
+ this.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::remove}(c){(core::Object*) →* core::bool*};
+ if(this.{self::Variable::determinedBy}{self::Constraint*} =={self::Constraint::==}{(dynamic) →* core::bool*} c)
this.{self::Variable::determinedBy} = null;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -300,61 +300,61 @@
: super core::Object::•()
;
method incrementalAdd(self::Constraint* c) → void {
- core::int* mark = this.{self::Planner::newMark}();
- for (self::Constraint* overridden = c.{self::Constraint::satisfy}(mark); !overridden.{self::Constraint::==}(null); overridden = overridden.{self::Constraint::satisfy}(mark))
+ core::int* mark = this.{self::Planner::newMark}(){() →* core::int*};
+ for (self::Constraint* overridden = c.{self::Constraint::satisfy}(mark){(dynamic) →* self::Constraint*}; !(overridden == null); overridden = overridden.{self::Constraint::satisfy}(mark){(dynamic) →* self::Constraint*})
;
}
method incrementalRemove(self::Constraint* c) → void {
- self::Variable* out = c.{self::Constraint::output}();
- c.{self::Constraint::markUnsatisfied}();
- c.{self::Constraint::removeFromGraph}();
- core::List<self::Constraint*>* unsatisfied = this.{self::Planner::removePropagateFrom}(out);
+ self::Variable* out = c.{self::Constraint::output}(){() →* self::Variable*};
+ c.{self::Constraint::markUnsatisfied}(){() →* void};
+ c.{self::Constraint::removeFromGraph}(){() →* void};
+ core::List<self::Constraint*>* unsatisfied = this.{self::Planner::removePropagateFrom}(out){(self::Variable*) →* core::List<self::Constraint*>*};
self::Strength* strength = #C22;
do {
- for (core::int* i = 0; i.{core::num::<}(unsatisfied.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* u = unsatisfied.{core::List::[]}(i);
- if(u.{self::Constraint::strength}.{self::Strength::==}(strength))
- this.{self::Planner::incrementalAdd}(u);
+ for (core::int* i = 0; i.{core::num::<}(unsatisfied.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* u = unsatisfied.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(u.{self::Constraint::strength}{self::Strength*} =={self::Strength::==}{(dynamic) →* core::bool*} strength)
+ this.{self::Planner::incrementalAdd}(u){(self::Constraint*) →* void};
}
- strength = strength.{self::Strength::nextWeaker}();
+ strength = strength.{self::Strength::nextWeaker}(){() →* self::Strength*};
}
- while (!strength.{self::Strength::==}(#C18))
+ while (!(strength =={self::Strength::==}{(dynamic) →* core::bool*} (#C18)))
}
method newMark() → core::int*
- return this.{self::Planner::currentMark} = this.{self::Planner::currentMark}.{core::num::+}(1);
+ return this.{self::Planner::currentMark} = this.{self::Planner::currentMark}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
method makePlan(core::List<self::Constraint*>* sources) → self::Plan* {
- core::int* mark = this.{self::Planner::newMark}();
+ core::int* mark = this.{self::Planner::newMark}(){() →* core::int*};
self::Plan* plan = new self::Plan::•();
core::List<self::Constraint*>* todo = sources;
- while (todo.{core::List::length}.{core::num::>}(0)) {
- self::Constraint* c = todo.{core::List::removeLast}();
- if(!c.{self::Constraint::output}().{self::Variable::mark}.{core::num::==}(mark) && c.{self::Constraint::inputsKnown}(mark)) {
- plan.{self::Plan::addConstraint}(c);
- c.{self::Constraint::output}().{self::Variable::mark} = mark;
- this.{self::Planner::addConstraintsConsumingTo}(c.{self::Constraint::output}(), todo);
+ while (todo.{core::List::length}{core::int*}.{core::num::>}(0){(core::num*) →* core::bool*}) {
+ self::Constraint* c = todo.{core::List::removeLast}(){() →* self::Constraint*};
+ if(!(c.{self::Constraint::output}(){() →* self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) && c.{self::Constraint::inputsKnown}(mark){(core::int*) →* core::bool*}) {
+ plan.{self::Plan::addConstraint}(c){(self::Constraint*) →* void};
+ c.{self::Constraint::output}(){() →* self::Variable*}.{self::Variable::mark} = mark;
+ this.{self::Planner::addConstraintsConsumingTo}(c.{self::Constraint::output}(){() →* self::Variable*}, todo){(self::Variable*, core::List<self::Constraint*>*) →* void};
}
}
return plan;
}
method extractPlanFromConstraints(core::List<self::Constraint*>* constraints) → self::Plan* {
core::List<self::Constraint*>* sources = <self::Constraint*>[];
- for (core::int* i = 0; i.{core::num::<}(constraints.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* c = constraints.{core::List::[]}(i);
- if(c.{self::Constraint::isInput}() && c.{self::Constraint::isSatisfied}())
- sources.{core::List::add}(c);
+ for (core::int* i = 0; i.{core::num::<}(constraints.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* c = constraints.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(c.{self::Constraint::isInput}(){() →* core::bool*} && c.{self::Constraint::isSatisfied}(){() →* core::bool*})
+ sources.{core::List::add}(c){(self::Constraint*) →* void};
}
- return this.{self::Planner::makePlan}(sources);
+ return this.{self::Planner::makePlan}(sources){(core::List<self::Constraint*>*) →* self::Plan*};
}
method addPropagate(self::Constraint* c, core::int* mark) → core::bool* {
core::List<self::Constraint*>* todo = <self::Constraint*>[c];
- while (todo.{core::List::length}.{core::num::>}(0)) {
- self::Constraint* d = todo.{core::List::removeLast}();
- if(d.{self::Constraint::output}().{self::Variable::mark}.{core::num::==}(mark)) {
- this.{self::Planner::incrementalRemove}(c);
+ while (todo.{core::List::length}{core::int*}.{core::num::>}(0){(core::num*) →* core::bool*}) {
+ self::Constraint* d = todo.{core::List::removeLast}(){() →* self::Constraint*};
+ if(d.{self::Constraint::output}(){() →* self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) {
+ this.{self::Planner::incrementalRemove}(c){(self::Constraint*) →* void};
return false;
}
- d.{self::Constraint::recalculate}();
- this.{self::Planner::addConstraintsConsumingTo}(d.{self::Constraint::output}(), todo);
+ d.{self::Constraint::recalculate}(){() →* void};
+ this.{self::Planner::addConstraintsConsumingTo}(d.{self::Constraint::output}(){() →* self::Variable*}, todo){(self::Variable*, core::List<self::Constraint*>*) →* void};
}
return true;
}
@@ -364,30 +364,30 @@
out.{self::Variable::stay} = true;
core::List<self::Constraint*>* unsatisfied = <self::Constraint*>[];
core::List<self::Variable*>* todo = <self::Variable*>[out];
- while (todo.{core::List::length}.{core::num::>}(0)) {
- self::Variable* v = todo.{core::List::removeLast}();
- for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* c = v.{self::Variable::constraints}.{core::List::[]}(i);
- if(!c.{self::Constraint::isSatisfied}())
- unsatisfied.{core::List::add}(c);
+ while (todo.{core::List::length}{core::int*}.{core::num::>}(0){(core::num*) →* core::bool*}) {
+ self::Variable* v = todo.{core::List::removeLast}(){() →* self::Variable*};
+ for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* c = v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(!c.{self::Constraint::isSatisfied}(){() →* core::bool*})
+ unsatisfied.{core::List::add}(c){(self::Constraint*) →* void};
}
- self::Constraint* determining = v.{self::Variable::determinedBy};
- for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* next = v.{self::Variable::constraints}.{core::List::[]}(i);
- if(!next.{self::Constraint::==}(determining) && next.{self::Constraint::isSatisfied}()) {
- next.{self::Constraint::recalculate}();
- todo.{core::List::add}(next.{self::Constraint::output}());
+ self::Constraint* determining = v.{self::Variable::determinedBy}{self::Constraint*};
+ for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* next = v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(!(next =={self::Constraint::==}{(dynamic) →* core::bool*} determining) && next.{self::Constraint::isSatisfied}(){() →* core::bool*}) {
+ next.{self::Constraint::recalculate}(){() →* void};
+ todo.{core::List::add}(next.{self::Constraint::output}(){() →* self::Variable*}){(self::Variable*) →* void};
}
}
}
return unsatisfied;
}
method addConstraintsConsumingTo(self::Variable* v, core::List<self::Constraint*>* coll) → void {
- self::Constraint* determining = v.{self::Variable::determinedBy};
- for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* c = v.{self::Variable::constraints}.{core::List::[]}(i);
- if(!c.{self::Constraint::==}(determining) && c.{self::Constraint::isSatisfied}())
- coll.{core::List::add}(c);
+ self::Constraint* determining = v.{self::Variable::determinedBy}{self::Constraint*};
+ for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* c = v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(!(c =={self::Constraint::==}{(dynamic) →* core::bool*} determining) && c.{self::Constraint::isSatisfied}(){() →* core::bool*})
+ coll.{core::List::add}(c){(self::Constraint*) →* void};
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -407,13 +407,13 @@
: super core::Object::•()
;
method addConstraint(self::Constraint* c) → void {
- this.{self::Plan::list}.{core::List::add}(c);
+ this.{self::Plan::list}{core::List<self::Constraint*>*}.{core::List::add}(c){(self::Constraint*) →* void};
}
method size() → core::int*
- return this.{self::Plan::list}.{core::List::length};
+ return this.{self::Plan::list}{core::List<self::Constraint*>*}.{core::List::length}{core::int*};
method execute() → void {
- for (core::int* i = 0; i.{core::num::<}(this.{self::Plan::list}.{core::List::length}); i = i.{core::num::+}(1)) {
- this.{self::Plan::list}.{core::List::[]}(i).{self::Constraint::execute}();
+ for (core::int* i = 0; i.{core::num::<}(this.{self::Plan::list}{core::List<self::Constraint*>*}.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ this.{self::Plan::list}{core::List<self::Constraint*>*}.{core::List::[]}(i){(core::int*) →* self::Constraint*}.{self::Constraint::execute}(){() →* void};
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -439,32 +439,32 @@
static const field core::int* BACKWARD = #C20;
static field self::Planner* planner;
static method main() → dynamic {
- new self::DeltaBlue::•().{self::DeltaBlue::run}();
+ new self::DeltaBlue::•().{self::DeltaBlue::run}(){() →* void};
}
static method chainTest(core::int* n) → void {
self::planner = new self::Planner::•();
self::Variable* prev = null;
self::Variable* first = null;
self::Variable* last = null;
- for (core::int* i = 0; i.{core::num::<=}(n); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<=}(n){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
self::Variable* v = new self::Variable::•("v${i}", 0);
- if(!prev.{self::Variable::==}(null))
+ if(!(prev == null))
new self::EqualityConstraint::•(prev, v, #C22);
- if(i.{core::num::==}(0))
+ if(i =={core::num::==}{(core::Object*) →* core::bool*} 0)
first = v;
- if(i.{core::num::==}(n))
+ if(i =={core::num::==}{(core::Object*) →* core::bool*} n)
last = v;
prev = v;
}
new self::StayConstraint::•(last, #C9);
self::EditConstraint* edit = new self::EditConstraint::•(first, #C6);
- self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(<self::Constraint*>[edit]);
- for (core::int* i = 0; i.{core::num::<}(100); i = i.{core::num::+}(1)) {
+ self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(<self::Constraint*>[edit]){(core::List<self::Constraint*>*) →* self::Plan*};
+ for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
first.{self::Variable::value} = i;
- plan.{self::Plan::execute}();
- if(!last.{self::Variable::value}.{core::num::==}(i)) {
+ plan.{self::Plan::execute}(){() →* void};
+ if(!(last.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} i)) {
core::print("Chain test failed:");
- core::print("Expected last value to be ${i} but it was ${last.{self::Variable::value}}.");
+ core::print("Expected last value to be ${i} but it was ${last.{self::Variable::value}{core::int*}}.");
}
}
}
@@ -475,38 +475,38 @@
self::Variable* src = null;
self::Variable* dst = null;
core::List<self::Variable*>* dests = <self::Variable*>[];
- for (core::int* i = 0; i.{core::num::<}(n); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<}(n){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
src = new self::Variable::•("src", i);
dst = new self::Variable::•("dst", i);
- dests.{core::List::add}(dst);
+ dests.{core::List::add}(dst){(self::Variable*) →* void};
new self::StayConstraint::•(src, #C12);
new self::ScaleConstraint::•(src, scale, offset, dst, #C22);
}
self::change(src, 17);
- if(!dst.{self::Variable::value}.{core::num::==}(1170))
+ if(!(dst.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 1170))
core::print("Projection 1 failed");
self::change(dst, 1050);
- if(!src.{self::Variable::value}.{core::num::==}(5))
+ if(!(src.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 5))
core::print("Projection 2 failed");
self::change(scale, 5);
- for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1)); i = i.{core::num::+}(1)) {
- if(!dests.{core::List::[]}(i).{self::Variable::value}.{core::num::==}(i.{core::num::*}(5).{core::num::+}(1000)))
+ for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1){(core::num*) →* core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ if(!(dests.{core::List::[]}(i){(core::int*) →* self::Variable*}.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} i.{core::num::*}(5){(core::num*) →* core::int*}.{core::num::+}(1000){(core::num*) →* core::int*}))
core::print("Projection 3 failed");
}
self::change(offset, 2000);
- for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1)); i = i.{core::num::+}(1)) {
- if(!dests.{core::List::[]}(i).{self::Variable::value}.{core::num::==}(i.{core::num::*}(5).{core::num::+}(2000)))
+ for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1){(core::num*) →* core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ if(!(dests.{core::List::[]}(i){(core::int*) →* self::Variable*}.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} i.{core::num::*}(5){(core::num*) →* core::int*}.{core::num::+}(2000){(core::num*) →* core::int*}))
core::print("Projection 4 failed");
}
}
static method change(self::Variable* v, core::int* newValue) → void {
self::EditConstraint* edit = new self::EditConstraint::•(v, #C6);
- self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(<self::EditConstraint*>[edit]);
- for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(<self::EditConstraint*>[edit]){(core::List<self::Constraint*>*) →* self::Plan*};
+ for (core::int* i = 0; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
v.{self::Variable::value} = newValue;
- plan.{self::Plan::execute}();
+ plan.{self::Plan::execute}(){() →* void};
}
- edit.{self::Constraint::destroyConstraint}();
+ edit.{self::Constraint::destroyConstraint}(){() →* void};
}
constants {
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart.weak.transformed.expect b/pkg/front_end/testcases/general/DeltaBlue.dart.weak.transformed.expect
index a21d5791..8ce41ca 100644
--- a/pkg/front_end/testcases/general/DeltaBlue.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/DeltaBlue.dart.weak.transformed.expect
@@ -28,12 +28,12 @@
: self::Strength::value = value, self::Strength::name = name, super core::Object::•()
;
method nextWeaker() → self::Strength*
- return (#C19).{core::List::[]}(this.{self::Strength::value});
+ return (#C19).{core::List::[]}(this.{self::Strength::value}{core::int*}){(core::int*) →* self::Strength*};
static method stronger(self::Strength* s1, self::Strength* s2) → core::bool* {
- return s1.{self::Strength::value}.{core::num::<}(s2.{self::Strength::value});
+ return s1.{self::Strength::value}{core::int*}.{core::num::<}(s2.{self::Strength::value}{core::int*}){(core::num*) →* core::bool*};
}
static method weaker(self::Strength* s1, self::Strength* s2) → core::bool* {
- return s1.{self::Strength::value}.{core::num::>}(s2.{self::Strength::value});
+ return s1.{self::Strength::value}{core::int*}.{core::num::>}(s2.{self::Strength::value}{core::int*}){(core::num*) →* core::bool*};
}
static method weakest(self::Strength* s1, self::Strength* s2) → self::Strength* {
return self::Strength::weaker(s1, s2) ?{self::Strength*} s1 : s2;
@@ -68,32 +68,32 @@
abstract method execute() → void;
abstract method recalculate() → void;
method addConstraint() → void {
- this.{self::Constraint::addToGraph}();
- self::planner.{self::Planner::incrementalAdd}(this);
+ this.{self::Constraint::addToGraph}(){() →* void};
+ self::planner.{self::Planner::incrementalAdd}(this){(self::Constraint*) →* void};
}
method satisfy(dynamic mark) → self::Constraint* {
- this.{self::Constraint::chooseMethod}(mark as{TypeError,ForDynamic} core::int*);
- if(!this.{self::Constraint::isSatisfied}()) {
- if(this.{self::Constraint::strength}.{self::Strength::==}(#C22)) {
+ this.{self::Constraint::chooseMethod}(mark as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+ if(!this.{self::Constraint::isSatisfied}(){() →* core::bool*}) {
+ if(this.{self::Constraint::strength}{self::Strength*} =={self::Strength::==}{(dynamic) →* core::bool*} (#C22)) {
core::print("Could not satisfy a required constraint!");
}
return null;
}
- this.{self::Constraint::markInputs}(mark as{TypeError,ForDynamic} core::int*);
- self::Variable* out = this.{self::Constraint::output}();
- self::Constraint* overridden = out.{self::Variable::determinedBy};
- if(!overridden.{self::Constraint::==}(null))
- overridden.{self::Constraint::markUnsatisfied}();
+ this.{self::Constraint::markInputs}(mark as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+ self::Variable* out = this.{self::Constraint::output}(){() →* self::Variable*};
+ self::Constraint* overridden = out.{self::Variable::determinedBy}{self::Constraint*};
+ if(!(overridden == null))
+ overridden.{self::Constraint::markUnsatisfied}(){() →* void};
out.{self::Variable::determinedBy} = this;
- if(!self::planner.{self::Planner::addPropagate}(this, mark as{TypeError,ForDynamic} core::int*))
+ if(!self::planner.{self::Planner::addPropagate}(this, mark as{TypeError,ForDynamic} core::int*){(self::Constraint*, core::int*) →* core::bool*})
core::print("Cycle encountered");
out.{self::Variable::mark} = mark as{TypeError,ForDynamic} core::int*;
return overridden;
}
method destroyConstraint() → void {
- if(this.{self::Constraint::isSatisfied}())
- self::planner.{self::Planner::incrementalRemove}(this);
- this.{self::Constraint::removeFromGraph}();
+ if(this.{self::Constraint::isSatisfied}(){() →* core::bool*})
+ self::planner.{self::Planner::incrementalRemove}(this){(self::Constraint*) →* void};
+ this.{self::Constraint::removeFromGraph}(){() →* void};
}
method isInput() → core::bool*
return false;
@@ -113,25 +113,25 @@
field core::bool* satisfied = false;
constructor •(self::Variable* myOutput, self::Strength* strength) → self::UnaryConstraint*
: self::UnaryConstraint::myOutput = myOutput, super self::Constraint::•(strength) {
- this.{self::Constraint::addConstraint}();
+ this.{self::Constraint::addConstraint}(){() →* void};
}
method addToGraph() → void {
- this.{self::UnaryConstraint::myOutput}.{self::Variable::addConstraint}(this);
+ this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
this.{self::UnaryConstraint::satisfied} = false;
}
method chooseMethod(core::int* mark) → void {
- this.{self::UnaryConstraint::satisfied} = !this.{self::UnaryConstraint::myOutput}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::UnaryConstraint::myOutput}.{self::Variable::walkStrength});
+ this.{self::UnaryConstraint::satisfied} = !(this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) && self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*});
}
method isSatisfied() → core::bool*
- return this.{self::UnaryConstraint::satisfied};
+ return this.{self::UnaryConstraint::satisfied}{core::bool*};
method markInputs(core::int* mark) → void {}
method output() → self::Variable*
- return this.{self::UnaryConstraint::myOutput};
+ return this.{self::UnaryConstraint::myOutput}{self::Variable*};
method recalculate() → void {
- this.{self::UnaryConstraint::myOutput}.{self::Variable::walkStrength} = this.{self::Constraint::strength};
- this.{self::UnaryConstraint::myOutput}.{self::Variable::stay} = !this.{self::Constraint::isInput}();
- if(this.{self::UnaryConstraint::myOutput}.{self::Variable::stay})
- this.{self::Constraint::execute}();
+ this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::walkStrength} = this.{self::Constraint::strength}{self::Strength*};
+ this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::stay} = !this.{self::Constraint::isInput}(){() →* core::bool*};
+ if(this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::stay}{core::bool*})
+ this.{self::Constraint::execute}(){() →* void};
}
method markUnsatisfied() → void {
this.{self::UnaryConstraint::satisfied} = false;
@@ -139,8 +139,8 @@
method inputsKnown(core::int* mark) → core::bool*
return true;
method removeFromGraph() → void {
- if(!this.{self::UnaryConstraint::myOutput}.{self::Variable::==}(null))
- this.{self::UnaryConstraint::myOutput}.{self::Variable::removeConstraint}(this);
+ if(!(this.{self::UnaryConstraint::myOutput}{self::Variable*} == null))
+ this.{self::UnaryConstraint::myOutput}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
this.{self::UnaryConstraint::satisfied} = false;
}
}
@@ -164,56 +164,56 @@
field core::int* direction = #C1;
constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::BinaryConstraint*
: self::BinaryConstraint::v1 = v1, self::BinaryConstraint::v2 = v2, super self::Constraint::•(strength) {
- this.{self::Constraint::addConstraint}();
+ this.{self::Constraint::addConstraint}(){() →* void};
}
method chooseMethod(core::int* mark) → void {
- if(this.{self::BinaryConstraint::v1}.{self::Variable::mark}.{core::num::==}(mark)) {
- this.{self::BinaryConstraint::direction} = !this.{self::BinaryConstraint::v2}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength}) ?{core::int*} #C4 : #C1;
+ if(this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) {
+ this.{self::BinaryConstraint::direction} = !(this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) && self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}) ?{core::int*} #C4 : #C1;
}
- if(this.{self::BinaryConstraint::v2}.{self::Variable::mark}.{core::num::==}(mark)) {
- this.{self::BinaryConstraint::direction} = !this.{self::BinaryConstraint::v1}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}) ?{core::int*} #C20 : #C1;
+ if(this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) {
+ this.{self::BinaryConstraint::direction} = !(this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) && self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}) ?{core::int*} #C20 : #C1;
}
- if(self::Strength::weaker(this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength})) {
- this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}) ?{core::int*} #C20 : #C1;
+ if(self::Strength::weaker(this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}, this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*})) {
+ this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}) ?{core::int*} #C20 : #C1;
}
else {
- this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength}) ?{core::int*} #C4 : #C20;
+ this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}{self::Strength*}, this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::walkStrength}{self::Strength*}) ?{core::int*} #C4 : #C20;
}
}
method addToGraph() → void {
- this.{self::BinaryConstraint::v1}.{self::Variable::addConstraint}(this);
- this.{self::BinaryConstraint::v2}.{self::Variable::addConstraint}(this);
+ this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
+ this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
this.{self::BinaryConstraint::direction} = #C1;
}
method isSatisfied() → core::bool*
- return !this.{self::BinaryConstraint::direction}.{core::num::==}(#C1);
+ return !(this.{self::BinaryConstraint::direction}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} (#C1));
method markInputs(core::int* mark) → void {
- this.{self::BinaryConstraint::input}().{self::Variable::mark} = mark;
+ this.{self::BinaryConstraint::input}(){() →* self::Variable*}.{self::Variable::mark} = mark;
}
method input() → self::Variable*
- return this.{self::BinaryConstraint::direction}.{core::num::==}(#C4) ?{self::Variable*} this.{self::BinaryConstraint::v1} : this.{self::BinaryConstraint::v2};
+ return this.{self::BinaryConstraint::direction}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} (#C4) ?{self::Variable*} this.{self::BinaryConstraint::v1}{self::Variable*} : this.{self::BinaryConstraint::v2}{self::Variable*};
method output() → self::Variable*
- return this.{self::BinaryConstraint::direction}.{core::num::==}(#C4) ?{self::Variable*} this.{self::BinaryConstraint::v2} : this.{self::BinaryConstraint::v1};
+ return this.{self::BinaryConstraint::direction}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} (#C4) ?{self::Variable*} this.{self::BinaryConstraint::v2}{self::Variable*} : this.{self::BinaryConstraint::v1}{self::Variable*};
method recalculate() → void {
- self::Variable* ihn = this.{self::BinaryConstraint::input}();
- self::Variable* out = this.{self::BinaryConstraint::output}();
- out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}, ihn.{self::Variable::walkStrength});
- out.{self::Variable::stay} = ihn.{self::Variable::stay};
- if(out.{self::Variable::stay})
- this.{self::Constraint::execute}();
+ self::Variable* ihn = this.{self::BinaryConstraint::input}(){() →* self::Variable*};
+ self::Variable* out = this.{self::BinaryConstraint::output}(){() →* self::Variable*};
+ out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}{self::Strength*}, ihn.{self::Variable::walkStrength}{self::Strength*});
+ out.{self::Variable::stay} = ihn.{self::Variable::stay}{core::bool*};
+ if(out.{self::Variable::stay}{core::bool*})
+ this.{self::Constraint::execute}(){() →* void};
}
method markUnsatisfied() → void {
this.{self::BinaryConstraint::direction} = #C1;
}
method inputsKnown(core::int* mark) → core::bool* {
- self::Variable* i = this.{self::BinaryConstraint::input}();
- return i.{self::Variable::mark}.{core::num::==}(mark) || i.{self::Variable::stay} || i.{self::Variable::determinedBy}.{self::Constraint::==}(null);
+ self::Variable* i = this.{self::BinaryConstraint::input}(){() →* self::Variable*};
+ return i.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark || i.{self::Variable::stay}{core::bool*} || i.{self::Variable::determinedBy}{self::Constraint*} == null;
}
method removeFromGraph() → void {
- if(!this.{self::BinaryConstraint::v1}.{self::Variable::==}(null))
- this.{self::BinaryConstraint::v1}.{self::Variable::removeConstraint}(this);
- if(!this.{self::BinaryConstraint::v2}.{self::Variable::==}(null))
- this.{self::BinaryConstraint::v2}.{self::Variable::removeConstraint}(this);
+ if(!(this.{self::BinaryConstraint::v1}{self::Variable*} == null))
+ this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
+ if(!(this.{self::BinaryConstraint::v2}{self::Variable*} == null))
+ this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
this.{self::BinaryConstraint::direction} = #C1;
}
}
@@ -225,35 +225,35 @@
;
method addToGraph() → void {
super.{self::BinaryConstraint::addToGraph}();
- this.{self::ScaleConstraint::scale}.{self::Variable::addConstraint}(this);
- this.{self::ScaleConstraint::offset}.{self::Variable::addConstraint}(this);
+ this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
+ this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::addConstraint}(this){(self::Constraint*) →* void};
}
method removeFromGraph() → void {
super.{self::BinaryConstraint::removeFromGraph}();
- if(!this.{self::ScaleConstraint::scale}.{self::Variable::==}(null))
- this.{self::ScaleConstraint::scale}.{self::Variable::removeConstraint}(this);
- if(!this.{self::ScaleConstraint::offset}.{self::Variable::==}(null))
- this.{self::ScaleConstraint::offset}.{self::Variable::removeConstraint}(this);
+ if(!(this.{self::ScaleConstraint::scale}{self::Variable*} == null))
+ this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
+ if(!(this.{self::ScaleConstraint::offset}{self::Variable*} == null))
+ this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::removeConstraint}(this){(self::Constraint*) →* void};
}
method markInputs(core::int* mark) → void {
super.{self::BinaryConstraint::markInputs}(mark);
- this.{self::ScaleConstraint::scale}.{self::Variable::mark} = this.{self::ScaleConstraint::offset}.{self::Variable::mark} = mark;
+ this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::mark} = this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::mark} = mark;
}
method execute() → void {
- if(this.{self::BinaryConstraint::direction}.{core::num::==}(#C4)) {
- this.{self::BinaryConstraint::v2}.{self::Variable::value} = this.{self::BinaryConstraint::v1}.{self::Variable::value}.{core::num::*}(this.{self::ScaleConstraint::scale}.{self::Variable::value}).{core::num::+}(this.{self::ScaleConstraint::offset}.{self::Variable::value});
+ if(this.{self::BinaryConstraint::direction}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} (#C4)) {
+ this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::value} = this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::value}{core::int*}.{core::num::*}(this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::value}{core::int*}){(core::num*) →* core::int*}.{core::num::+}(this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::value}{core::int*}){(core::num*) →* core::int*};
}
else {
- this.{self::BinaryConstraint::v1}.{self::Variable::value} = this.{self::BinaryConstraint::v2}.{self::Variable::value}.{core::num::-}(this.{self::ScaleConstraint::offset}.{self::Variable::value}).{core::num::~/}(this.{self::ScaleConstraint::scale}.{self::Variable::value});
+ this.{self::BinaryConstraint::v1}{self::Variable*}.{self::Variable::value} = this.{self::BinaryConstraint::v2}{self::Variable*}.{self::Variable::value}{core::int*}.{core::num::-}(this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::value}{core::int*}){(core::num*) →* core::int*}.{core::num::~/}(this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::value}{core::int*}){(core::num*) →* core::int*};
}
}
method recalculate() → void {
- self::Variable* ihn = this.{self::BinaryConstraint::input}();
- self::Variable* out = this.{self::BinaryConstraint::output}();
- out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}, ihn.{self::Variable::walkStrength});
- out.{self::Variable::stay} = ihn.{self::Variable::stay} && this.{self::ScaleConstraint::scale}.{self::Variable::stay} && this.{self::ScaleConstraint::offset}.{self::Variable::stay};
- if(out.{self::Variable::stay})
- this.{self::ScaleConstraint::execute}();
+ self::Variable* ihn = this.{self::BinaryConstraint::input}(){() →* self::Variable*};
+ self::Variable* out = this.{self::BinaryConstraint::output}(){() →* self::Variable*};
+ out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}{self::Strength*}, ihn.{self::Variable::walkStrength}{self::Strength*});
+ out.{self::Variable::stay} = ihn.{self::Variable::stay}{core::bool*} && this.{self::ScaleConstraint::scale}{self::Variable*}.{self::Variable::stay}{core::bool*} && this.{self::ScaleConstraint::offset}{self::Variable*}.{self::Variable::stay}{core::bool*};
+ if(out.{self::Variable::stay}{core::bool*})
+ this.{self::ScaleConstraint::execute}(){() →* void};
}
}
class EqualityConstraint extends self::BinaryConstraint {
@@ -261,7 +261,7 @@
: super self::BinaryConstraint::•(v1, v2, strength)
;
method execute() → void {
- this.{self::BinaryConstraint::output}().{self::Variable::value} = this.{self::BinaryConstraint::input}().{self::Variable::value};
+ this.{self::BinaryConstraint::output}(){() →* self::Variable*}.{self::Variable::value} = this.{self::BinaryConstraint::input}(){() →* self::Variable*}.{self::Variable::value}{core::int*};
}
}
class Variable extends core::Object {
@@ -276,11 +276,11 @@
: self::Variable::name = name, self::Variable::value = value, super core::Object::•()
;
method addConstraint(self::Constraint* c) → void {
- this.{self::Variable::constraints}.{core::List::add}(c);
+ this.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::add}(c){(self::Constraint*) →* void};
}
method removeConstraint(self::Constraint* c) → void {
- this.{self::Variable::constraints}.{core::List::remove}(c);
- if(this.{self::Variable::determinedBy}.{self::Constraint::==}(c))
+ this.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::remove}(c){(core::Object*) →* core::bool*};
+ if(this.{self::Variable::determinedBy}{self::Constraint*} =={self::Constraint::==}{(dynamic) →* core::bool*} c)
this.{self::Variable::determinedBy} = null;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -300,61 +300,61 @@
: super core::Object::•()
;
method incrementalAdd(self::Constraint* c) → void {
- core::int* mark = this.{self::Planner::newMark}();
- for (self::Constraint* overridden = c.{self::Constraint::satisfy}(mark); !overridden.{self::Constraint::==}(null); overridden = overridden.{self::Constraint::satisfy}(mark))
+ core::int* mark = this.{self::Planner::newMark}(){() →* core::int*};
+ for (self::Constraint* overridden = c.{self::Constraint::satisfy}(mark){(dynamic) →* self::Constraint*}; !(overridden == null); overridden = overridden.{self::Constraint::satisfy}(mark){(dynamic) →* self::Constraint*})
;
}
method incrementalRemove(self::Constraint* c) → void {
- self::Variable* out = c.{self::Constraint::output}();
- c.{self::Constraint::markUnsatisfied}();
- c.{self::Constraint::removeFromGraph}();
- core::List<self::Constraint*>* unsatisfied = this.{self::Planner::removePropagateFrom}(out);
+ self::Variable* out = c.{self::Constraint::output}(){() →* self::Variable*};
+ c.{self::Constraint::markUnsatisfied}(){() →* void};
+ c.{self::Constraint::removeFromGraph}(){() →* void};
+ core::List<self::Constraint*>* unsatisfied = this.{self::Planner::removePropagateFrom}(out){(self::Variable*) →* core::List<self::Constraint*>*};
self::Strength* strength = #C22;
do {
- for (core::int* i = 0; i.{core::num::<}(unsatisfied.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* u = unsatisfied.{core::List::[]}(i);
- if(u.{self::Constraint::strength}.{self::Strength::==}(strength))
- this.{self::Planner::incrementalAdd}(u);
+ for (core::int* i = 0; i.{core::num::<}(unsatisfied.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* u = unsatisfied.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(u.{self::Constraint::strength}{self::Strength*} =={self::Strength::==}{(dynamic) →* core::bool*} strength)
+ this.{self::Planner::incrementalAdd}(u){(self::Constraint*) →* void};
}
- strength = strength.{self::Strength::nextWeaker}();
+ strength = strength.{self::Strength::nextWeaker}(){() →* self::Strength*};
}
- while (!strength.{self::Strength::==}(#C18))
+ while (!(strength =={self::Strength::==}{(dynamic) →* core::bool*} (#C18)))
}
method newMark() → core::int*
- return this.{self::Planner::currentMark} = this.{self::Planner::currentMark}.{core::num::+}(1);
+ return this.{self::Planner::currentMark} = this.{self::Planner::currentMark}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
method makePlan(core::List<self::Constraint*>* sources) → self::Plan* {
- core::int* mark = this.{self::Planner::newMark}();
+ core::int* mark = this.{self::Planner::newMark}(){() →* core::int*};
self::Plan* plan = new self::Plan::•();
core::List<self::Constraint*>* todo = sources;
- while (todo.{core::List::length}.{core::num::>}(0)) {
- self::Constraint* c = todo.{core::List::removeLast}();
- if(!c.{self::Constraint::output}().{self::Variable::mark}.{core::num::==}(mark) && c.{self::Constraint::inputsKnown}(mark)) {
- plan.{self::Plan::addConstraint}(c);
- c.{self::Constraint::output}().{self::Variable::mark} = mark;
- this.{self::Planner::addConstraintsConsumingTo}(c.{self::Constraint::output}(), todo);
+ while (todo.{core::List::length}{core::int*}.{core::num::>}(0){(core::num*) →* core::bool*}) {
+ self::Constraint* c = todo.{core::List::removeLast}(){() →* self::Constraint*};
+ if(!(c.{self::Constraint::output}(){() →* self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) && c.{self::Constraint::inputsKnown}(mark){(core::int*) →* core::bool*}) {
+ plan.{self::Plan::addConstraint}(c){(self::Constraint*) →* void};
+ c.{self::Constraint::output}(){() →* self::Variable*}.{self::Variable::mark} = mark;
+ this.{self::Planner::addConstraintsConsumingTo}(c.{self::Constraint::output}(){() →* self::Variable*}, todo){(self::Variable*, core::List<self::Constraint*>*) →* void};
}
}
return plan;
}
method extractPlanFromConstraints(core::List<self::Constraint*>* constraints) → self::Plan* {
core::List<self::Constraint*>* sources = core::_GrowableList::•<self::Constraint*>(0);
- for (core::int* i = 0; i.{core::num::<}(constraints.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* c = constraints.{core::List::[]}(i);
- if(c.{self::Constraint::isInput}() && c.{self::Constraint::isSatisfied}())
- sources.{core::List::add}(c);
+ for (core::int* i = 0; i.{core::num::<}(constraints.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* c = constraints.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(c.{self::Constraint::isInput}(){() →* core::bool*} && c.{self::Constraint::isSatisfied}(){() →* core::bool*})
+ sources.{core::List::add}(c){(self::Constraint*) →* void};
}
- return this.{self::Planner::makePlan}(sources);
+ return this.{self::Planner::makePlan}(sources){(core::List<self::Constraint*>*) →* self::Plan*};
}
method addPropagate(self::Constraint* c, core::int* mark) → core::bool* {
core::List<self::Constraint*>* todo = core::_GrowableList::_literal1<self::Constraint*>(c);
- while (todo.{core::List::length}.{core::num::>}(0)) {
- self::Constraint* d = todo.{core::List::removeLast}();
- if(d.{self::Constraint::output}().{self::Variable::mark}.{core::num::==}(mark)) {
- this.{self::Planner::incrementalRemove}(c);
+ while (todo.{core::List::length}{core::int*}.{core::num::>}(0){(core::num*) →* core::bool*}) {
+ self::Constraint* d = todo.{core::List::removeLast}(){() →* self::Constraint*};
+ if(d.{self::Constraint::output}(){() →* self::Variable*}.{self::Variable::mark}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} mark) {
+ this.{self::Planner::incrementalRemove}(c){(self::Constraint*) →* void};
return false;
}
- d.{self::Constraint::recalculate}();
- this.{self::Planner::addConstraintsConsumingTo}(d.{self::Constraint::output}(), todo);
+ d.{self::Constraint::recalculate}(){() →* void};
+ this.{self::Planner::addConstraintsConsumingTo}(d.{self::Constraint::output}(){() →* self::Variable*}, todo){(self::Variable*, core::List<self::Constraint*>*) →* void};
}
return true;
}
@@ -364,30 +364,30 @@
out.{self::Variable::stay} = true;
core::List<self::Constraint*>* unsatisfied = core::_GrowableList::•<self::Constraint*>(0);
core::List<self::Variable*>* todo = core::_GrowableList::_literal1<self::Variable*>(out);
- while (todo.{core::List::length}.{core::num::>}(0)) {
- self::Variable* v = todo.{core::List::removeLast}();
- for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* c = v.{self::Variable::constraints}.{core::List::[]}(i);
- if(!c.{self::Constraint::isSatisfied}())
- unsatisfied.{core::List::add}(c);
+ while (todo.{core::List::length}{core::int*}.{core::num::>}(0){(core::num*) →* core::bool*}) {
+ self::Variable* v = todo.{core::List::removeLast}(){() →* self::Variable*};
+ for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* c = v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(!c.{self::Constraint::isSatisfied}(){() →* core::bool*})
+ unsatisfied.{core::List::add}(c){(self::Constraint*) →* void};
}
- self::Constraint* determining = v.{self::Variable::determinedBy};
- for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* next = v.{self::Variable::constraints}.{core::List::[]}(i);
- if(!next.{self::Constraint::==}(determining) && next.{self::Constraint::isSatisfied}()) {
- next.{self::Constraint::recalculate}();
- todo.{core::List::add}(next.{self::Constraint::output}());
+ self::Constraint* determining = v.{self::Variable::determinedBy}{self::Constraint*};
+ for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* next = v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(!(next =={self::Constraint::==}{(dynamic) →* core::bool*} determining) && next.{self::Constraint::isSatisfied}(){() →* core::bool*}) {
+ next.{self::Constraint::recalculate}(){() →* void};
+ todo.{core::List::add}(next.{self::Constraint::output}(){() →* self::Variable*}){(self::Variable*) →* void};
}
}
}
return unsatisfied;
}
method addConstraintsConsumingTo(self::Variable* v, core::List<self::Constraint*>* coll) → void {
- self::Constraint* determining = v.{self::Variable::determinedBy};
- for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
- self::Constraint* c = v.{self::Variable::constraints}.{core::List::[]}(i);
- if(!c.{self::Constraint::==}(determining) && c.{self::Constraint::isSatisfied}())
- coll.{core::List::add}(c);
+ self::Constraint* determining = v.{self::Variable::determinedBy}{self::Constraint*};
+ for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::Constraint* c = v.{self::Variable::constraints}{core::List<self::Constraint*>*}.{core::List::[]}(i){(core::int*) →* self::Constraint*};
+ if(!(c =={self::Constraint::==}{(dynamic) →* core::bool*} determining) && c.{self::Constraint::isSatisfied}(){() →* core::bool*})
+ coll.{core::List::add}(c){(self::Constraint*) →* void};
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -407,13 +407,13 @@
: super core::Object::•()
;
method addConstraint(self::Constraint* c) → void {
- this.{self::Plan::list}.{core::List::add}(c);
+ this.{self::Plan::list}{core::List<self::Constraint*>*}.{core::List::add}(c){(self::Constraint*) →* void};
}
method size() → core::int*
- return this.{self::Plan::list}.{core::List::length};
+ return this.{self::Plan::list}{core::List<self::Constraint*>*}.{core::List::length}{core::int*};
method execute() → void {
- for (core::int* i = 0; i.{core::num::<}(this.{self::Plan::list}.{core::List::length}); i = i.{core::num::+}(1)) {
- this.{self::Plan::list}.{core::List::[]}(i).{self::Constraint::execute}();
+ for (core::int* i = 0; i.{core::num::<}(this.{self::Plan::list}{core::List<self::Constraint*>*}.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ this.{self::Plan::list}{core::List<self::Constraint*>*}.{core::List::[]}(i){(core::int*) →* self::Constraint*}.{self::Constraint::execute}(){() →* void};
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -439,32 +439,32 @@
static const field core::int* BACKWARD = #C20;
static field self::Planner* planner;
static method main() → dynamic {
- new self::DeltaBlue::•().{self::DeltaBlue::run}();
+ new self::DeltaBlue::•().{self::DeltaBlue::run}(){() →* void};
}
static method chainTest(core::int* n) → void {
self::planner = new self::Planner::•();
self::Variable* prev = null;
self::Variable* first = null;
self::Variable* last = null;
- for (core::int* i = 0; i.{core::num::<=}(n); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<=}(n){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
self::Variable* v = new self::Variable::•("v${i}", 0);
- if(!prev.{self::Variable::==}(null))
+ if(!(prev == null))
new self::EqualityConstraint::•(prev, v, #C22);
- if(i.{core::num::==}(0))
+ if(i =={core::num::==}{(core::Object*) →* core::bool*} 0)
first = v;
- if(i.{core::num::==}(n))
+ if(i =={core::num::==}{(core::Object*) →* core::bool*} n)
last = v;
prev = v;
}
new self::StayConstraint::•(last, #C9);
self::EditConstraint* edit = new self::EditConstraint::•(first, #C6);
- self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(core::_GrowableList::_literal1<self::Constraint*>(edit));
- for (core::int* i = 0; i.{core::num::<}(100); i = i.{core::num::+}(1)) {
+ self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(core::_GrowableList::_literal1<self::Constraint*>(edit)){(core::List<self::Constraint*>*) →* self::Plan*};
+ for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
first.{self::Variable::value} = i;
- plan.{self::Plan::execute}();
- if(!last.{self::Variable::value}.{core::num::==}(i)) {
+ plan.{self::Plan::execute}(){() →* void};
+ if(!(last.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} i)) {
core::print("Chain test failed:");
- core::print("Expected last value to be ${i} but it was ${last.{self::Variable::value}}.");
+ core::print("Expected last value to be ${i} but it was ${last.{self::Variable::value}{core::int*}}.");
}
}
}
@@ -475,38 +475,38 @@
self::Variable* src = null;
self::Variable* dst = null;
core::List<self::Variable*>* dests = core::_GrowableList::•<self::Variable*>(0);
- for (core::int* i = 0; i.{core::num::<}(n); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<}(n){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
src = new self::Variable::•("src", i);
dst = new self::Variable::•("dst", i);
- dests.{core::List::add}(dst);
+ dests.{core::List::add}(dst){(self::Variable*) →* void};
new self::StayConstraint::•(src, #C12);
new self::ScaleConstraint::•(src, scale, offset, dst, #C22);
}
self::change(src, 17);
- if(!dst.{self::Variable::value}.{core::num::==}(1170))
+ if(!(dst.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 1170))
core::print("Projection 1 failed");
self::change(dst, 1050);
- if(!src.{self::Variable::value}.{core::num::==}(5))
+ if(!(src.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 5))
core::print("Projection 2 failed");
self::change(scale, 5);
- for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1)); i = i.{core::num::+}(1)) {
- if(!dests.{core::List::[]}(i).{self::Variable::value}.{core::num::==}(i.{core::num::*}(5).{core::num::+}(1000)))
+ for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1){(core::num*) →* core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ if(!(dests.{core::List::[]}(i){(core::int*) →* self::Variable*}.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} i.{core::num::*}(5){(core::num*) →* core::int*}.{core::num::+}(1000){(core::num*) →* core::int*}))
core::print("Projection 3 failed");
}
self::change(offset, 2000);
- for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1)); i = i.{core::num::+}(1)) {
- if(!dests.{core::List::[]}(i).{self::Variable::value}.{core::num::==}(i.{core::num::*}(5).{core::num::+}(2000)))
+ for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1){(core::num*) →* core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ if(!(dests.{core::List::[]}(i){(core::int*) →* self::Variable*}.{self::Variable::value}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} i.{core::num::*}(5){(core::num*) →* core::int*}.{core::num::+}(2000){(core::num*) →* core::int*}))
core::print("Projection 4 failed");
}
}
static method change(self::Variable* v, core::int* newValue) → void {
self::EditConstraint* edit = new self::EditConstraint::•(v, #C6);
- self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(core::_GrowableList::_literal1<self::EditConstraint*>(edit));
- for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(core::_GrowableList::_literal1<self::EditConstraint*>(edit)){(core::List<self::Constraint*>*) →* self::Plan*};
+ for (core::int* i = 0; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
v.{self::Variable::value} = newValue;
- plan.{self::Plan::execute}();
+ plan.{self::Plan::execute}(){() →* void};
}
- edit.{self::Constraint::destroyConstraint}();
+ edit.{self::Constraint::destroyConstraint}(){() →* void};
}
constants {
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.weak.expect b/pkg/front_end/testcases/general/abstract_members.dart.weak.expect
index a798711..b4b8531 100644
--- a/pkg/front_end/testcases/general/abstract_members.dart.weak.expect
+++ b/pkg/front_end/testcases/general/abstract_members.dart.weak.expect
@@ -279,21 +279,21 @@
method noSuchMethod(core::Invocation* _) → dynamic
return null;
no-such-method-forwarder method interfaceMethod2() → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method abstractMethod() → dynamic
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dynamic;
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dynamic;
no-such-method-forwarder method interfaceMethod1() → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method interfaceMethod3() → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set property3(dynamic _) → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set interfaceMethod1(dynamic value) → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set property1(dynamic _) → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set property2(dynamic _) → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
class MyMock2 extends self::MyMock1 {
synthetic constructor •() → self::MyMock2*
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect b/pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect
index d4b2ca4..e5153b7 100644
--- a/pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect
@@ -282,21 +282,21 @@
method noSuchMethod(core::Invocation* _) → dynamic
;
no-such-method-forwarder method interfaceMethod2() → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method abstractMethod() → dynamic
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#abstractMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} dynamic;
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#abstractMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dynamic;
no-such-method-forwarder method interfaceMethod1() → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method interfaceMethod3() → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod3, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod3, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set property3(dynamic _) → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set interfaceMethod1(dynamic value) → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set property1(dynamic _) → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set property2(dynamic _) → void
- return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property2=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property2=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
class MyMock2 extends self::MyMock1 {
synthetic constructor •() → self::MyMock2*
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.expect
index c52e1a4..da16394 100644
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.expect
+++ b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.expect
@@ -46,7 +46,7 @@
: super self::C::•()
;
no-such-method-forwarder method foo() → self::B*
- return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} self::B*;
+ 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} self::B*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.outline.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.outline.expect
index c9348b9..db26f68 100644
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.outline.expect
@@ -42,7 +42,7 @@
synthetic constructor •() → self::D*
;
no-such-method-forwarder method foo() → self::B*
- return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} self::B*;
+ return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} self::B*;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.transformed.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.transformed.expect
index c52e1a4..da16394 100644
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.transformed.expect
@@ -46,7 +46,7 @@
: super self::C::•()
;
no-such-method-forwarder method foo() → self::B*
- return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} self::B*;
+ 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} self::B*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/accessors.dart.weak.expect b/pkg/front_end/testcases/general/accessors.dart.weak.expect
index cd1b3ea..b57abd58 100644
--- a/pkg/front_end/testcases/general/accessors.dart.weak.expect
+++ b/pkg/front_end/testcases/general/accessors.dart.weak.expect
@@ -85,6 +85,6 @@
core::print("Expected error: ${e}");
}
self::onlySetter = "fisk";
- new self::C::•().{self::C::testC}();
- new self::D::•().{self::C::testD}();
+ new self::C::•().{self::C::testC}(){() →* dynamic};
+ new self::D::•().{self::C::testD}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect b/pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect
index cd1b3ea..b57abd58 100644
--- a/pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect
@@ -85,6 +85,6 @@
core::print("Expected error: ${e}");
}
self::onlySetter = "fisk";
- new self::C::•().{self::C::testC}();
- new self::D::•().{self::C::testD}();
+ new self::C::•().{self::C::testC}(){() →* dynamic};
+ new self::D::•().{self::C::testD}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/argument.dart.weak.expect b/pkg/front_end/testcases/general/argument.dart.weak.expect
index 4afa1a6..90b185e 100644
--- a/pkg/front_end/testcases/general/argument.dart.weak.expect
+++ b/pkg/front_end/testcases/general/argument.dart.weak.expect
@@ -37,7 +37,7 @@
static method foo_escaped(dynamic x) → void {}
static method bar_escaped(dynamic x) → void {}
static method escape(dynamic fn) → void {
- fn.call(new self::Baz::•());
+ fn{dynamic}.call(new self::Baz::•());
}
static method main() → dynamic {
self::foo(new self::Foo::•());
diff --git a/pkg/front_end/testcases/general/argument.dart.weak.transformed.expect b/pkg/front_end/testcases/general/argument.dart.weak.transformed.expect
index 4afa1a6..90b185e 100644
--- a/pkg/front_end/testcases/general/argument.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/argument.dart.weak.transformed.expect
@@ -37,7 +37,7 @@
static method foo_escaped(dynamic x) → void {}
static method bar_escaped(dynamic x) → void {}
static method escape(dynamic fn) → void {
- fn.call(new self::Baz::•());
+ fn{dynamic}.call(new self::Baz::•());
}
static method main() → dynamic {
self::foo(new self::Foo::•());
diff --git a/pkg/front_end/testcases/general/arithmetic.dart.weak.expect b/pkg/front_end/testcases/general/arithmetic.dart.weak.expect
index ed95ed2..0e703fd 100644
--- a/pkg/front_end/testcases/general/arithmetic.dart.weak.expect
+++ b/pkg/front_end/testcases/general/arithmetic.dart.weak.expect
@@ -3,12 +3,12 @@
import "dart:core" as core;
static method foo(core::int* x, core::int* y) → core::int* {
- core::int* z = x.{core::num::+}(y);
- return z.{core::int::<<}(4);
+ core::int* z = x.{core::num::+}(y){(core::num*) →* core::int*};
+ return z.{core::int::<<}(4){(core::int*) →* core::int*};
}
static method loop(core::List<dynamic>* xs) → void {
- core::int* _ = xs.{core::List::length};
- for (core::int* i = 0; i.{core::num::<}(xs.{core::List::length}); i = i.{core::num::+}(1)) {
+ core::int* _ = xs.{core::List::length}{core::int*};
+ for (core::int* i = 0; i.{core::num::<}(xs.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/arithmetic.dart.weak.transformed.expect b/pkg/front_end/testcases/general/arithmetic.dart.weak.transformed.expect
index 0f2a3e1..595172d 100644
--- a/pkg/front_end/testcases/general/arithmetic.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/arithmetic.dart.weak.transformed.expect
@@ -3,12 +3,12 @@
import "dart:core" as core;
static method foo(core::int* x, core::int* y) → core::int* {
- core::int* z = x.{core::num::+}(y);
- return z.{core::int::<<}(4);
+ core::int* z = x.{core::num::+}(y){(core::num*) →* core::int*};
+ return z.{core::int::<<}(4){(core::int*) →* core::int*};
}
static method loop(core::List<dynamic>* xs) → void {
- core::int* _ = xs.{core::List::length};
- for (core::int* i = 0; i.{core::num::<}(xs.{core::List::length}); i = i.{core::num::+}(1)) {
+ core::int* _ = xs.{core::List::length}{core::int*};
+ for (core::int* i = 0; i.{core::num::<}(xs.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.expect b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.expect
index 92b2ed2..5472a32 100644
--- a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.expect
+++ b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.expect
@@ -10,7 +10,7 @@
static method foo() → dynamic async {
invalid-type x;
- for (dynamic y in x.z) {
+ for (dynamic y in x{<invalid>}.z) {
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.transformed.expect b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.transformed.expect
index c6b4aa6..fc34d1a 100644
--- a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.transformed.expect
@@ -23,13 +23,6 @@
#L1:
{
invalid-type x;
- {
- core::Iterator<invalid-type>* :sync-for-iterator = x.z.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic y = :sync-for-iterator.{core::Iterator::current};
- {}
- }
- }
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
diff --git a/pkg/front_end/testcases/general/async_nested.dart.weak.expect b/pkg/front_end/testcases/general/async_nested.dart.weak.expect
index 25bc8dc..48269f1 100644
--- a/pkg/front_end/testcases/general/async_nested.dart.weak.expect
+++ b/pkg/front_end/testcases/general/async_nested.dart.weak.expect
@@ -11,10 +11,10 @@
constructor •(core::String* name, [core::List<self::Node*>* nested = #C1]) → self::Node*
: self::Node::name = name, self::Node::nested = nested, super core::Object::•() {}
method toString() → core::String*
- return "<${this.{self::Node::name}}:[${let final core::List<self::Node*>* #t1 = this.{self::Node::nested} in #t1.{core::List::==}(null) ?{core::String*} null : #t1.{core::Iterable::join}(", ")}]>";
+ return "<${this.{self::Node::name}{core::String*}}:[${let final core::List<self::Node*>* #t1 = this.{self::Node::nested}{core::List<self::Node*>*} in #t1 == null ?{core::String*} null : #t1.{core::Iterable::join}(", "){([core::String*]) →* core::String*}}]>";
method toSimpleString() → dynamic {
- core::Iterable<dynamic>* tmp = let final core::List<self::Node*>* #t2 = this.{self::Node::nested} in #t2.{core::List::==}(null) ?{core::Iterable<dynamic>*} null : #t2.{core::Iterable::map}<dynamic>((self::Node* child) → dynamic => child.{self::Node::toSimpleString}());
- return "${this.{self::Node::name}} ${let final core::Iterable<dynamic>* #t3 = tmp in #t3.{core::Object::==}(null) ?{core::String*} null : #t3.{core::Iterable::join}(" ")}".{core::String::trim}();
+ core::Iterable<dynamic>* tmp = let final core::List<self::Node*>* #t2 = this.{self::Node::nested}{core::List<self::Node*>*} in #t2 == null ?{core::Iterable<dynamic>*} null : #t2.{core::Iterable::map}<dynamic>((self::Node* child) → dynamic => child.{self::Node::toSimpleString}(){() →* dynamic}){((self::Node*) →* dynamic) →* core::Iterable<dynamic>*};
+ return "${this.{self::Node::name}{core::String*}} ${let final core::Iterable<dynamic>* #t3 = tmp in #t3 == null ?{core::String*} null : #t3.{core::Iterable::join}(" "){([core::String*]) →* core::String*}}".{core::String::trim}(){() →* core::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
@@ -29,9 +29,9 @@
static method main() → void async {
core::String* expected = "1 2 3 4 5 6 7 8 9 10";
self::Node* node = new self::Node::•("1", <self::Node*>[new self::Node::•("2", <self::Node*>[]), await asy::Future::value<self::Node*>(new self::Node::•("3", <self::Node*>[await asy::Future::value<self::Node*>(new self::Node::•("4", <self::Node*>[new self::Node::•("5", <self::Node*>[await asy::Future::value<self::Node*>(new self::Node::•("6", <self::Node*>[await asy::Future::value<self::Node*>(new self::Node::•("7", <self::Node*>[]))])), await asy::Future::value<self::Node*>(new self::Node::•("8", <self::Node*>[])), await asy::Future::value<self::Node*>(new self::Node::•("9", <self::Node*>[]))])]))])), await asy::Future::value<self::Node*>(new self::Node::•("10", <self::Node*>[]))]);
- core::String* actual = node.{self::Node::toSimpleString}() as{TypeError,ForDynamic} core::String*;
+ core::String* actual = node.{self::Node::toSimpleString}(){() →* dynamic} as{TypeError,ForDynamic} core::String*;
core::print(actual);
- if(!actual.{core::String::==}(expected)) {
+ if(!(actual =={core::String::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected '${expected}' but got '${actual}'";
}
}
diff --git a/pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect b/pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect
index 760f00e..8b7a059 100644
--- a/pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect
@@ -12,10 +12,10 @@
constructor •(core::String* name, [core::List<self::Node*>* nested = #C1]) → self::Node*
: self::Node::name = name, self::Node::nested = nested, super core::Object::•() {}
method toString() → core::String*
- return "<${this.{self::Node::name}}:[${let final core::List<self::Node*>* #t1 = this.{self::Node::nested} in #t1.{core::List::==}(null) ?{core::String*} null : #t1.{core::Iterable::join}(", ")}]>";
+ return "<${this.{self::Node::name}{core::String*}}:[${let final core::List<self::Node*>* #t1 = this.{self::Node::nested}{core::List<self::Node*>*} in #t1 == null ?{core::String*} null : #t1.{core::Iterable::join}(", "){([core::String*]) →* core::String*}}]>";
method toSimpleString() → dynamic {
- core::Iterable<dynamic>* tmp = let final core::List<self::Node*>* #t2 = this.{self::Node::nested} in #t2.{core::List::==}(null) ?{core::Iterable<dynamic>*} null : #t2.{core::Iterable::map}<dynamic>((self::Node* child) → dynamic => child.{self::Node::toSimpleString}());
- return "${this.{self::Node::name}} ${let final core::Iterable<dynamic>* #t3 = tmp in #t3.{core::Object::==}(null) ?{core::String*} null : #t3.{core::Iterable::join}(" ")}".{core::String::trim}();
+ core::Iterable<dynamic>* tmp = let final core::List<self::Node*>* #t2 = this.{self::Node::nested}{core::List<self::Node*>*} in #t2 == null ?{core::Iterable<dynamic>*} null : #t2.{core::Iterable::map}<dynamic>((self::Node* child) → dynamic => child.{self::Node::toSimpleString}(){() →* dynamic}){((self::Node*) →* dynamic) →* core::Iterable<dynamic>*};
+ return "${this.{self::Node::name}{core::String*}} ${let final core::Iterable<dynamic>* #t3 = tmp in #t3 == null ?{core::String*} null : #t3.{core::Iterable::join}(" "){([core::String*]) →* core::String*}}".{core::String::trim}(){() →* core::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
@@ -56,9 +56,9 @@
:async_temporary_0 = _in::unsafeCast<self::Node*>(:result);
[yield] let dynamic #t10 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("10", core::_GrowableList::•<self::Node*>(0))), :async_op_then, :async_op_error, :async_op) in null;
self::Node* node = new self::Node::•("1", core::_GrowableList::_literal3<self::Node*>(_in::unsafeCast<self::Node*>(:async_temporary_2), _in::unsafeCast<self::Node*>(:async_temporary_0), _in::unsafeCast<self::Node*>(:result)));
- core::String* actual = node.{self::Node::toSimpleString}() as{TypeError,ForDynamic} core::String*;
+ core::String* actual = node.{self::Node::toSimpleString}(){() →* dynamic} as{TypeError,ForDynamic} core::String*;
core::print(actual);
- if(!actual.{core::String::==}(expected)) {
+ if(!(actual =={core::String::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected '${expected}' but got '${actual}'";
}
}
diff --git a/pkg/front_end/testcases/general/await_complex.dart.weak.expect b/pkg/front_end/testcases/general/await_complex.dart.weak.expect
index efab03a..df8fc27 100644
--- a/pkg/front_end/testcases/general/await_complex.dart.weak.expect
+++ b/pkg/front_end/testcases/general/await_complex.dart.weak.expect
@@ -19,7 +19,7 @@
static method staticFoo(core::int* param) → core::int*
return param;
get getter() → core::int*
- return this.{self::C::field};
+ return this.{self::C::field}{core::int*};
set setter(dynamic val) → void {
this.{self::C::field} = val as{TypeError,ForDynamic} core::int*;
}
@@ -45,7 +45,7 @@
on dynamic catch(final dynamic _) {
return true;
}
-}).call();
+})(){() →* core::bool*};
static method topLevelFoo(core::int* param) → core::int*
return 1;
static get topLevelGetter() → core::int*
@@ -56,54 +56,54 @@
static method dummy() → dynamic
return 1;
static method staticMembers() → dynamic async {
- core::num* a = self::C::staticField.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* a = self::C::staticField.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, a);
- core::num* f = (self::C::staticField = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* f = (self::C::staticField = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, f);
- core::num* b = self::C::staticGetter.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* b = self::C::staticGetter.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, b);
- core::num* c = (self::C::staticSetter = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* c = (self::C::staticSetter = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, c);
- core::num* d = self::C::staticFoo(2).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* d = self::C::staticFoo(2).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(3, d);
- core::num* e = self::C::staticField.{core::num::+}(self::C::staticGetter).{core::num::+}(self::C::staticSetter = 1).{core::num::+}(self::C::staticFoo(1)).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* e = self::C::staticField.{core::num::+}(self::C::staticGetter){(core::num*) →* core::int*}.{core::num::+}(self::C::staticSetter = 1){(core::num*) →* core::int*}.{core::num::+}(self::C::staticFoo(1)){(core::num*) →* core::int*}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(5, e);
}
static method topLevelMembers() → dynamic async {
- core::num* a = self::globalVariable.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* a = self::globalVariable.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, a);
- core::num* b = self::topLevelGetter.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* b = self::topLevelGetter.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, b);
- core::num* c = (self::topLevelSetter = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* c = (self::topLevelSetter = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, c);
- core::num* d = self::topLevelFoo(1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* d = self::topLevelFoo(1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, d);
- core::num* e = self::globalVariable.{core::num::+}(self::topLevelGetter).{core::num::+}(self::topLevelSetter = 1).{core::num::+}(self::topLevelFoo(1)).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* e = self::globalVariable.{core::num::+}(self::topLevelGetter){(core::num*) →* core::int*}.{core::num::+}(self::topLevelSetter = 1){(core::num*) →* core::int*}.{core::num::+}(self::topLevelFoo(1)){(core::num*) →* core::int*}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(5, e);
}
static method instanceMembers() → dynamic async {
self::C* inst = new self::C::•();
- core::num* a = inst.{self::C::field}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* a = inst.{self::C::field}{core::int*}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, a);
- core::num* b = inst.{self::C::getter}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* b = inst.{self::C::getter}{core::int*}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, b);
- core::num* c = (inst.{self::C::setter} = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* c = (inst.{self::C::setter} = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, c);
- core::num* d = inst.{self::C::foo}(1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* d = inst.{self::C::foo}(1){(core::int*) →* core::int*}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, d);
- core::num* e = inst.{self::C::field}.{core::num::+}(inst.{self::C::getter}).{core::num::+}(inst.{self::C::setter} = 1).{core::num::+}(inst.{self::C::foo}(1)).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* e = inst.{self::C::field}{core::int*}.{core::num::+}(inst.{self::C::getter}{core::int*}){(core::num*) →* core::int*}.{core::num::+}(inst.{self::C::setter} = 1){(core::num*) →* core::int*}.{core::num::+}(inst.{self::C::foo}(1){(core::int*) →* core::int*}){(core::num*) →* core::int*}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(5, e);
}
static method others() → dynamic async {
- core::String* a = "${self::globalVariable} ${await self::dummy()} ".{core::String::+}(await "someString");
+ core::String* a = "${self::globalVariable} ${await self::dummy()} ".{core::String::+}(await "someString"){(core::String*) →* core::String*};
self::expect("1 1 someString", a);
self::C* c = new self::C::•();
- core::num* d = c.{self::C::field}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ core::num* d = c.{self::C::field}{core::int*}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
core::int* cnt = 2;
core::List<core::int*>* b = <core::int*>[1, 2, 3];
- b.{core::List::[]=}(cnt, await self::dummy() as{TypeError,ForDynamic} core::int*);
- self::expect(1, b.{core::List::[]}(cnt));
- core::num* e = b.{core::List::[]}(0).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*);
+ b.{core::List::[]=}(cnt, await self::dummy() as{TypeError,ForDynamic} core::int*){(core::int*, core::int*) →* void};
+ self::expect(1, b.{core::List::[]}(cnt){(core::int*) →* core::int*});
+ core::num* e = b.{core::List::[]}(0){(core::int*) →* core::int*}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, e);
}
static method conditionals() → dynamic async {
@@ -124,16 +124,16 @@
static method asserts() → dynamic async {
for (final core::Function* #t1 in <core::Function*>[#C1, #C2]) {
final <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>* func = #t1 as{TypeError} <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>*;
- assert(await func.call<core::bool*>(true));
- assert(self::id<core::bool*>(true) as{TypeError} core::bool*, await func.call<core::String*>("message"));
- assert(await func.call<core::bool*>(true), await func.call<core::String*>("message"));
+ assert(await func<core::bool*>(true){(core::bool*) →* FutureOr<core::bool*>*});
+ assert(self::id<core::bool*>(true) as{TypeError} core::bool*, await func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*});
+ assert(await func<core::bool*>(true){(core::bool*) →* FutureOr<core::bool*>*}, await func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*});
try {
- assert(await func.call<core::bool*>(false), await func.call<core::String*>("message"));
+ assert(await func<core::bool*>(false){(core::bool*) →* FutureOr<core::bool*>*}, await func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*});
if(self::assertStatementsEnabled)
throw "Didn't throw";
}
on core::AssertionError* catch(final core::AssertionError* e) {
- self::expect("message", e.{core::AssertionError::message});
+ self::expect("message", e.{core::AssertionError::message}{core::Object*});
}
}
}
@@ -141,28 +141,28 @@
for (final core::Function* #t2 in <core::Function*>[#C1, #C2]) {
final <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>* func = #t2 as{TypeError} <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>*;
core::int* c = 0;
- for (core::int* i = await func.call<core::int*>(0); await func.call<core::bool*>(i.{core::num::<}(5)); await func.call<core::int*>(let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1) in #t3)) {
- c = c.{core::num::+}(1);
+ for (core::int* i = await func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}; await func<core::bool*>(i.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}; await func<core::int*>(let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3){(core::int*) →* FutureOr<core::int*>*}) {
+ c = c.{core::num::+}(1){(core::num*) →* core::int*};
}
self::expect(5, c);
c = 0;
- while (await func.call<core::bool*>(c.{core::num::<}(5)))
- c = c.{core::num::+}(1);
+ while (await func<core::bool*>(c.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*})
+ c = c.{core::num::+}(1){(core::num*) →* core::int*};
self::expect(5, c);
c = 0;
do {
- c = c.{core::num::+}(1);
+ c = c.{core::num::+}(1){(core::num*) →* core::int*};
}
- while (await func.call<core::bool*>(c.{core::num::<}(5)))
+ while (await func<core::bool*>(c.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*})
self::expect(5, c);
- if(await func.call<core::bool*>(c.{core::num::==}(5))) {
+ if(await func<core::bool*>(c =={core::num::==}{(core::Object*) →* core::bool*} 5){(core::bool*) →* FutureOr<core::bool*>*}) {
self::expect(5, c);
}
else {
throw "unreachable";
}
try {
- throw await func.call<core::String*>("string");
+ throw await func<core::String*>("string"){(core::String*) →* FutureOr<core::String*>*};
}
on core::String* catch(no-exception-var) {
}
@@ -179,22 +179,22 @@
}
on dynamic catch(final dynamic e) {
self::expect("string", e);
- self::expect(0, await func.call<core::int*>(0));
+ self::expect(0, await func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*});
rethrow;
}
finally {
- self::expect(0, await func.call<core::int*>(0));
+ self::expect(0, await func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*});
}
}
on dynamic catch(final dynamic e) {
- self::expect(0, await func.call<core::int*>(0));
+ self::expect(0, await func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*});
self::expect("string", e);
}
finally {
- self::expect(0, await func.call<core::int*>(0));
+ self::expect(0, await func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*});
}
#L1:
- switch(await func.call<core::int*>(2)) {
+ switch(await func<core::int*>(2){(core::int*) →* FutureOr<core::int*>*}) {
#L2:
case #C3:
{
@@ -207,19 +207,19 @@
}
}
self::expect(42, await(() → asy::Future<dynamic>* async {
- return await func.call<dynamic>(42);
- }).call());
+ return await func<dynamic>(42){(dynamic) →* FutureOr<dynamic>*};
+ })(){() →* asy::Future<dynamic>*});
self::expect(42, await(() → asy::Future<dynamic>* async {
- return func.call<dynamic>(42);
- }).call());
+ return func<dynamic>(42){(dynamic) →* FutureOr<dynamic>*};
+ })(){() →* asy::Future<dynamic>*});
function testStream1() → asy::Stream<core::int*>* async* {
- yield await func.call<core::int*>(42);
+ yield await func<core::int*>(42){(core::int*) →* FutureOr<core::int*>*};
}
- self::expectList(<dynamic>[42], await testStream1.call().{asy::Stream::toList}());
+ self::expectList(<dynamic>[42], await testStream1(){() →* asy::Stream<core::int*>*}.{asy::Stream::toList}(){() →* asy::Future<core::List<core::int*>*>*});
function testStream2() → asy::Stream<core::int*>* async* {
- yield* await func.call<asy::Stream<core::int*>*>(self::intStream());
+ yield* await func<asy::Stream<core::int*>*>(self::intStream()){(asy::Stream<core::int*>*) →* FutureOr<asy::Stream<core::int*>*>*};
}
- self::expectList(<dynamic>[42], await testStream2.call().{asy::Stream::toList}());
+ self::expectList(<dynamic>[42], await testStream2(){() →* asy::Stream<core::int*>*}.{asy::Stream::toList}(){() →* asy::Future<core::List<core::int*>*>*});
}
}
static method future<T extends core::Object* = dynamic>(self::future::T* value) → FutureOr<self::future::T*>* async
@@ -230,7 +230,7 @@
yield 42;
}
static method main() → dynamic async {
- for (core::int* i = 0; i.{core::num::<}(11); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<}(11){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
await self::staticMembers();
await self::topLevelMembers();
await self::instanceMembers();
@@ -241,15 +241,15 @@
}
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method expectList(core::List<dynamic>* expected, core::List<dynamic>* actual) → dynamic {
- if(!expected.{core::List::length}.{core::num::==}(actual.{core::List::length})) {
+ if(!(expected.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} actual.{core::List::length}{core::int*})) {
throw "Expected ${expected}, actual ${actual}";
}
- for (core::int* i = 0; i.{core::num::<}(expected.{core::List::length}); i = i.{core::num::+}(1)) {
- self::expect(expected.{core::List::[]}(i), actual.{core::List::[]}(i));
+ for (core::int* i = 0; i.{core::num::<}(expected.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::expect(expected.{core::List::[]}(i){(core::int*) →* dynamic}, actual.{core::List::[]}(i){(core::int*) →* dynamic});
}
}
diff --git a/pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect b/pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect
index 48306e5..42aed06 100644
--- a/pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
static method staticFoo(core::int* param) → core::int*
return param;
get getter() → core::int*
- return this.{self::C::field};
+ return this.{self::C::field}{core::int*};
set setter(dynamic val) → void {
this.{self::C::field} = val as{TypeError,ForDynamic} core::int*;
}
@@ -46,7 +46,7 @@
on dynamic catch(final dynamic _) {
return true;
}
-}).call();
+})(){() →* core::bool*};
static method topLevelFoo(core::int* param) → core::int*
return 1;
static get topLevelGetter() → core::int*
@@ -77,27 +77,27 @@
{
:async_temporary_0 = self::C::staticField;
[yield] let dynamic #t1 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, a);
:async_temporary_1 = self::C::staticField = 1;
[yield] let dynamic #t2 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* f = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* f = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, f);
:async_temporary_2 = self::C::staticGetter;
[yield] let dynamic #t3 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* b = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* b = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, b);
:async_temporary_3 = self::C::staticSetter = 1;
[yield] let dynamic #t4 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* c = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* c = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, c);
:async_temporary_4 = self::C::staticFoo(2);
[yield] let dynamic #t5 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* d = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* d = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(3, d);
- :async_temporary_5 = self::C::staticField.{core::num::+}(self::C::staticGetter).{core::num::+}(self::C::staticSetter = 1).{core::num::+}(self::C::staticFoo(1));
+ :async_temporary_5 = self::C::staticField.{core::num::+}(self::C::staticGetter){(core::num*) →* core::int*}.{core::num::+}(self::C::staticSetter = 1){(core::num*) →* core::int*}.{core::num::+}(self::C::staticFoo(1)){(core::num*) →* core::int*};
[yield] let dynamic #t6 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* e = _in::unsafeCast<core::int*>(:async_temporary_5).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* e = _in::unsafeCast<core::int*>(:async_temporary_5).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(5, e);
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -132,23 +132,23 @@
{
:async_temporary_0 = self::globalVariable;
[yield] let dynamic #t7 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, a);
:async_temporary_1 = self::topLevelGetter;
[yield] let dynamic #t8 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, b);
:async_temporary_2 = self::topLevelSetter = 1;
[yield] let dynamic #t9 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, c);
:async_temporary_3 = self::topLevelFoo(1);
[yield] let dynamic #t10 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, d);
- :async_temporary_4 = self::globalVariable.{core::num::+}(self::topLevelGetter).{core::num::+}(self::topLevelSetter = 1).{core::num::+}(self::topLevelFoo(1));
+ :async_temporary_4 = self::globalVariable.{core::num::+}(self::topLevelGetter){(core::num*) →* core::int*}.{core::num::+}(self::topLevelSetter = 1){(core::num*) →* core::int*}.{core::num::+}(self::topLevelFoo(1)){(core::num*) →* core::int*};
[yield] let dynamic #t11 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(5, e);
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -182,25 +182,25 @@
#L3:
{
self::C* inst = new self::C::•();
- :async_temporary_0 = inst.{self::C::field};
+ :async_temporary_0 = inst.{self::C::field}{core::int*};
[yield] let dynamic #t12 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, a);
- :async_temporary_1 = inst.{self::C::getter};
+ :async_temporary_1 = inst.{self::C::getter}{core::int*};
[yield] let dynamic #t13 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, b);
:async_temporary_2 = inst.{self::C::setter} = 1;
[yield] let dynamic #t14 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, c);
- :async_temporary_3 = inst.{self::C::foo}(1);
+ :async_temporary_3 = inst.{self::C::foo}(1){(core::int*) →* core::int*};
[yield] let dynamic #t15 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, d);
- :async_temporary_4 = inst.{self::C::field}.{core::num::+}(inst.{self::C::getter}).{core::num::+}(inst.{self::C::setter} = 1).{core::num::+}(inst.{self::C::foo}(1));
+ :async_temporary_4 = inst.{self::C::field}{core::int*}.{core::num::+}(inst.{self::C::getter}{core::int*}){(core::num*) →* core::int*}.{core::num::+}(inst.{self::C::setter} = 1){(core::num*) →* core::int*}.{core::num::+}(inst.{self::C::foo}(1){(core::int*) →* core::int*}){(core::num*) →* core::int*};
[yield] let dynamic #t16 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(5, e);
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -237,22 +237,22 @@
[yield] let dynamic #t17 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
:async_temporary_0 = "${_in::unsafeCast<core::int*>(:async_temporary_0)} ${:result} ";
[yield] let dynamic #t18 = asy::_awaitHelper("someString", :async_op_then, :async_op_error, :async_op) in null;
- core::String* a = _in::unsafeCast<core::String*>(:async_temporary_0).{core::String::+}(_in::unsafeCast<core::String*>(:result));
+ core::String* a = _in::unsafeCast<core::String*>(:async_temporary_0).{core::String::+}(_in::unsafeCast<core::String*>(:result)){(core::String*) →* core::String*};
self::expect("1 1 someString", a);
self::C* c = new self::C::•();
- :async_temporary_1 = c.{self::C::field};
+ :async_temporary_1 = c.{self::C::field}{core::int*};
[yield] let dynamic #t19 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* d = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* d = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
core::int* cnt = 2;
core::List<core::int*>* b = core::_GrowableList::_literal3<core::int*>(1, 2, 3);
:async_temporary_3 = b;
:async_temporary_2 = cnt;
[yield] let dynamic #t20 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- _in::unsafeCast<core::List<core::int*>*>(:async_temporary_3).{core::List::[]=}(_in::unsafeCast<core::int*>(:async_temporary_2), :result as{TypeError,ForDynamic} core::int*);
- self::expect(1, b.{core::List::[]}(cnt));
- :async_temporary_4 = b.{core::List::[]}(0);
+ _in::unsafeCast<core::List<core::int*>*>(:async_temporary_3).{core::List::[]=}(_in::unsafeCast<core::int*>(:async_temporary_2), :result as{TypeError,ForDynamic} core::int*){(core::int*, core::int*) →* void};
+ self::expect(1, b.{core::List::[]}(cnt){(core::int*) →* core::int*});
+ :async_temporary_4 = b.{core::List::[]}(0){(core::int*) →* core::int*};
[yield] let dynamic #t21 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*);
+ core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
self::expect(2, e);
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -360,33 +360,33 @@
{
final <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>* func = #t26 as{TypeError} <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>*;
assert {
- [yield] let dynamic #t27 = asy::_awaitHelper(func.call<core::bool*>(true), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t27 = asy::_awaitHelper(func<core::bool*>(true){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
assert(_in::unsafeCast<core::bool*>(:result));
}
assert {
if(self::id<core::bool*>(true) as{TypeError} core::bool*)
;
else {
- [yield] let dynamic #t28 = asy::_awaitHelper(func.call<core::String*>("message"), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t28 = asy::_awaitHelper(func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error, :async_op) in null;
assert(false, _in::unsafeCast<core::String*>(:result));
}
}
assert {
- [yield] let dynamic #t29 = asy::_awaitHelper(func.call<core::bool*>(true), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t29 = asy::_awaitHelper(func<core::bool*>(true){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool*>(:result))
;
else {
- [yield] let dynamic #t30 = asy::_awaitHelper(func.call<core::String*>("message"), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t30 = asy::_awaitHelper(func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error, :async_op) in null;
assert(false, _in::unsafeCast<core::String*>(:result));
}
}
try {
assert {
- [yield] let dynamic #t31 = asy::_awaitHelper(func.call<core::bool*>(false), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t31 = asy::_awaitHelper(func<core::bool*>(false){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool*>(:result))
;
else {
- [yield] let dynamic #t32 = asy::_awaitHelper(func.call<core::String*>("message"), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t32 = asy::_awaitHelper(func<core::String*>("message"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error, :async_op) in null;
assert(false, _in::unsafeCast<core::String*>(:result));
}
}
@@ -394,7 +394,7 @@
throw "Didn't throw";
}
on core::AssertionError* catch(final core::AssertionError* e) {
- self::expect("message", e.{core::AssertionError::message});
+ self::expect("message", e.{core::AssertionError::message}{core::Object*});
}
}
}
@@ -447,18 +447,18 @@
core::int* i;
if(#t34) {
#t34 = false;
- [yield] let dynamic #t36 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t36 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
i = _in::unsafeCast<core::int*>(:result);
}
else {
i = #t35;
- [yield] let dynamic #t37 = asy::_awaitHelper(func.call<core::int*>(let final core::int* #t38 = i in let final core::int* #t39 = i = #t38.{core::num::+}(1) in #t38), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t37 = asy::_awaitHelper(func<core::int*>(let final core::int* #t38 = i in let final core::int* #t39 = i = #t38.{core::num::+}(1){(core::num*) →* core::int*} in #t38){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
_in::unsafeCast<core::int*>(:result);
}
- [yield] let dynamic #t40 = asy::_awaitHelper(func.call<core::bool*>(i.{core::num::<}(5)), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t40 = asy::_awaitHelper(func<core::bool*>(i.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool*>(:result)) {
{
- c = c.{core::num::+}(1);
+ c = c.{core::num::+}(1){(core::num*) →* core::int*};
}
#t35 = i;
}
@@ -470,21 +470,21 @@
c = 0;
#L9:
while (true) {
- [yield] let dynamic #t41 = asy::_awaitHelper(func.call<core::bool*>(c.{core::num::<}(5)), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t41 = asy::_awaitHelper(func<core::bool*>(c.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool*>(:result))
- c = c.{core::num::+}(1);
+ c = c.{core::num::+}(1){(core::num*) →* core::int*};
else
break #L9;
}
self::expect(5, c);
c = 0;
do {
- c = c.{core::num::+}(1);
- [yield] let dynamic #t42 = asy::_awaitHelper(func.call<core::bool*>(c.{core::num::<}(5)), :async_op_then, :async_op_error, :async_op) in null;
+ c = c.{core::num::+}(1){(core::num*) →* core::int*};
+ [yield] let dynamic #t42 = asy::_awaitHelper(func<core::bool*>(c.{core::num::<}(5){(core::num*) →* core::bool*}){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
}
while (_in::unsafeCast<core::bool*>(:result))
self::expect(5, c);
- [yield] let dynamic #t43 = asy::_awaitHelper(func.call<core::bool*>(c.{core::num::==}(5)), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t43 = asy::_awaitHelper(func<core::bool*>(c =={core::num::==}{(core::Object*) →* core::bool*} 5){(core::bool*) →* FutureOr<core::bool*>*}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool*>(:result)) {
self::expect(5, c);
}
@@ -492,7 +492,7 @@
throw "unreachable";
}
try {
- [yield] let dynamic #t44 = asy::_awaitHelper(func.call<core::String*>("string"), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t44 = asy::_awaitHelper(func<core::String*>("string"){(core::String*) →* FutureOr<core::String*>*}, :async_op_then, :async_op_error, :async_op) in null;
throw _in::unsafeCast<core::String*>(:result);
}
on core::String* catch(no-exception-var) {
@@ -511,27 +511,27 @@
}
on dynamic catch(final dynamic e) {
self::expect("string", e);
- [yield] let dynamic #t46 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t46 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
self::expect(0, _in::unsafeCast<core::int*>(:result));
rethrow;
}
finally {
- [yield] let dynamic #t47 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t47 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
self::expect(0, _in::unsafeCast<core::int*>(:result));
}
}
on dynamic catch(final dynamic e) {
- [yield] let dynamic #t48 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t48 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
self::expect(0, _in::unsafeCast<core::int*>(:result));
self::expect("string", e);
}
finally {
- [yield] let dynamic #t49 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t49 = asy::_awaitHelper(func<core::int*>(0){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
self::expect(0, _in::unsafeCast<core::int*>(:result));
}
#L10:
{
- [yield] let dynamic #t50 = asy::_awaitHelper(func.call<core::int*>(2), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t50 = asy::_awaitHelper(func<core::int*>(2){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
switch(_in::unsafeCast<core::int*>(:result)) {
#L11:
case #C3:
@@ -558,7 +558,7 @@
try {
#L13:
{
- [yield] let dynamic #t52 = asy::_awaitHelper(func.call<dynamic>(42), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t52 = asy::_awaitHelper(func<dynamic>(42){(dynamic) →* FutureOr<dynamic>*}, :async_op_then, :async_op_error, :async_op) in null;
:return_value = :result;
break #L13;
}
@@ -573,7 +573,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- }).call(), :async_op_then, :async_op_error, :async_op) in null;
+ })(){() →* asy::Future<dynamic>*}, :async_op_then, :async_op_error, :async_op) in null;
self::expect(42, :result);
[yield] let dynamic #t53 = asy::_awaitHelper((() → asy::Future<dynamic>* /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
@@ -587,7 +587,7 @@
try {
#L14:
{
- :return_value = func.call<dynamic>(42);
+ :return_value = func<dynamic>(42){(dynamic) →* FutureOr<dynamic>*};
break #L14;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -601,7 +601,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- }).call(), :async_op_then, :async_op_error, :async_op) in null;
+ })(){() →* asy::Future<dynamic>*}, :async_op_then, :async_op_error, :async_op) in null;
self::expect(42, :result);
function testStream1() → asy::Stream<core::int*>* /* originally async* */ {
asy::_AsyncStarStreamController<core::int*>* :controller;
@@ -617,7 +617,7 @@
try {
#L15:
{
- [yield] let dynamic #t54 = asy::_awaitHelper(func.call<core::int*>(42), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t54 = asy::_awaitHelper(func<core::int*>(42){(core::int*) →* FutureOr<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
if(:controller.{asy::_AsyncStarStreamController::add}(_in::unsafeCast<core::int*>(:result)))
return null;
else
@@ -638,8 +638,8 @@
return :controller_stream;
}
:async_temporary_0 = core::_GrowableList::_literal1<dynamic>(42);
- [yield] let dynamic #t55 = asy::_awaitHelper(testStream1.call().{asy::Stream::toList}(), :async_op_then, :async_op_error, :async_op) in null;
- self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_0), _in::unsafeCast<core::List<core::int*>>(:result));
+ [yield] let dynamic #t55 = asy::_awaitHelper(testStream1(){() →* asy::Stream<core::int*>*}.{asy::Stream::toList}(){() →* asy::Future<core::List<core::int*>*>*}, :async_op_then, :async_op_error, :async_op) in null;
+ self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_0), _in::unsafeCast<core::List<core::int*>*>(:result));
function testStream2() → asy::Stream<core::int*>* /* originally async* */ {
asy::_AsyncStarStreamController<core::int*>* :controller;
dynamic :controller_stream;
@@ -654,7 +654,7 @@
try {
#L16:
{
- [yield] let dynamic #t56 = asy::_awaitHelper(func.call<asy::Stream<core::int*>*>(self::intStream()), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t56 = asy::_awaitHelper(func<asy::Stream<core::int*>*>(self::intStream()){(asy::Stream<core::int*>*) →* FutureOr<asy::Stream<core::int*>*>*}, :async_op_then, :async_op_error, :async_op) in null;
if(:controller.{asy::_AsyncStarStreamController::addStream}(_in::unsafeCast<asy::Stream<core::int*>*>(:result)))
return null;
else
@@ -675,8 +675,8 @@
return :controller_stream;
}
:async_temporary_1 = core::_GrowableList::_literal1<dynamic>(42);
- [yield] let dynamic #t57 = asy::_awaitHelper(testStream2.call().{asy::Stream::toList}(), :async_op_then, :async_op_error, :async_op) in null;
- self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_1), _in::unsafeCast<core::List<core::int*>>(:result));
+ [yield] let dynamic #t57 = asy::_awaitHelper(testStream2(){() →* asy::Stream<core::int*>*}.{asy::Stream::toList}(){() →* asy::Future<core::List<core::int*>*>*}, :async_op_then, :async_op_error, :async_op) in null;
+ self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_1), _in::unsafeCast<core::List<core::int*>*>(:result));
}
}
}
@@ -768,7 +768,7 @@
try {
#L19:
{
- for (core::int* i = 0; i.{core::num::<}(11); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<}(11){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
[yield] let dynamic #t58 = asy::_awaitHelper(self::staticMembers(), :async_op_then, :async_op_error, :async_op) in null;
:result;
[yield] let dynamic #t59 = asy::_awaitHelper(self::topLevelMembers(), :async_op_then, :async_op_error, :async_op) in null;
@@ -798,15 +798,15 @@
return :async_future;
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method expectList(core::List<dynamic>* expected, core::List<dynamic>* actual) → dynamic {
- if(!expected.{core::List::length}.{core::num::==}(actual.{core::List::length})) {
+ if(!(expected.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} actual.{core::List::length}{core::int*})) {
throw "Expected ${expected}, actual ${actual}";
}
- for (core::int* i = 0; i.{core::num::<}(expected.{core::List::length}); i = i.{core::num::+}(1)) {
- self::expect(expected.{core::List::[]}(i), actual.{core::List::[]}(i));
+ for (core::int* i = 0; i.{core::num::<}(expected.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::expect(expected.{core::List::[]}(i){(core::int*) →* dynamic}, actual.{core::List::[]}(i){(core::int*) →* dynamic});
}
}
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart.weak.expect b/pkg/front_end/testcases/general/await_in_cascade.dart.weak.expect
index 6042b1f..8a57698 100644
--- a/pkg/front_end/testcases/general/await_in_cascade.dart.weak.expect
+++ b/pkg/front_end/testcases/general/await_in_cascade.dart.weak.expect
@@ -11,7 +11,7 @@
;
method m() → asy::Future<core::List<core::int*>*>* async
return let final core::List<core::int*>* #t1 = <core::int*>[] in block {
- #t1.{core::List::add}(await this.{self::C::_m}());
+ #t1.{core::List::add}(await this.{self::C::_m}(){() →* asy::Future<core::int*>*}){(core::int*) →* void};
} =>#t1;
method _m() → asy::Future<core::int*>* async
return 42;
@@ -27,9 +27,9 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic async {
- self::expect(42, (await new self::C::•().{self::C::m}()).{core::Iterable::first});
+ self::expect(42, (await new self::C::•().{self::C::m}(){() →* asy::Future<core::List<core::int*>*>*}).{core::Iterable::first}{core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect b/pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect
index c96fec3e..744e8a3 100644
--- a/pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect
@@ -24,8 +24,8 @@
#L1:
{
final core::List<core::int*>* #t1 = core::_GrowableList::•<core::int*>(0);
- [yield] let dynamic #t2 = asy::_awaitHelper(this.{self::C::_m}(), :async_op_then, :async_op_error, :async_op) in null;
- #t1.{core::List::add}(_in::unsafeCast<core::int*>(:result));
+ [yield] let dynamic #t2 = asy::_awaitHelper(this.{self::C::_m}(){() →* asy::Future<core::int*>*}, :async_op_then, :async_op_error, :async_op) in null;
+ #t1.{core::List::add}(_in::unsafeCast<core::int*>(:result)){(core::int*) →* void};
:return_value = block {} =>#t1;
break #L1;
}
@@ -92,8 +92,8 @@
try {
#L3:
{
- [yield] let dynamic #t3 = asy::_awaitHelper(new self::C::•().{self::C::m}(), :async_op_then, :async_op_error, :async_op) in null;
- self::expect(42, _in::unsafeCast<core::List<core::int*>*>(:result).{core::Iterable::first});
+ [yield] let dynamic #t3 = asy::_awaitHelper(new self::C::•().{self::C::m}(){() →* asy::Future<core::List<core::int*>*>*}, :async_op_then, :async_op_error, :async_op) in null;
+ self::expect(42, _in::unsafeCast<core::List<core::int*>*>(:result).{core::Iterable::first}{core::int*});
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -108,6 +108,6 @@
return :async_future;
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/bad_store.dart.weak.expect b/pkg/front_end/testcases/general/bad_store.dart.weak.expect
index 0567f70..f25c04b 100644
--- a/pkg/front_end/testcases/general/bad_store.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bad_store.dart.weak.expect
@@ -23,12 +23,12 @@
static method use(dynamic x) → void {}
static method main(core::List<core::String*>* args) → dynamic {
dynamic foo = self::identity(new self::Foo::•());
- if(args.{core::List::length}.{core::num::>}(1)) {
- foo.field = "string";
- dynamic first = foo.field;
+ if(args.{core::List::length}{core::int*}.{core::num::>}(1){(core::num*) →* core::bool*}) {
+ foo{dynamic}.field = "string";
+ dynamic first = foo{dynamic}.field;
self::use(first);
- foo.noField = "string";
- dynamic second = foo.noField;
+ foo{dynamic}.noField = "string";
+ dynamic second = foo{dynamic}.noField;
self::use(second);
}
}
diff --git a/pkg/front_end/testcases/general/bad_store.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bad_store.dart.weak.transformed.expect
index 0567f70..f25c04b 100644
--- a/pkg/front_end/testcases/general/bad_store.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bad_store.dart.weak.transformed.expect
@@ -23,12 +23,12 @@
static method use(dynamic x) → void {}
static method main(core::List<core::String*>* args) → dynamic {
dynamic foo = self::identity(new self::Foo::•());
- if(args.{core::List::length}.{core::num::>}(1)) {
- foo.field = "string";
- dynamic first = foo.field;
+ if(args.{core::List::length}{core::int*}.{core::num::>}(1){(core::num*) →* core::bool*}) {
+ foo{dynamic}.field = "string";
+ dynamic first = foo{dynamic}.field;
self::use(first);
- foo.noField = "string";
- dynamic second = foo.noField;
+ foo{dynamic}.noField = "string";
+ dynamic second = foo{dynamic}.noField;
self::use(second);
}
}
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.expect
index cd1a183..8ca1bc7 100644
--- a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.expect
@@ -37,6 +37,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method baz() → dynamic {
- self::B::foo<core::Object*>().{self::A::bar}<core::String*>();
+ self::B::foo<core::Object*>().{self::A::bar}<core::String*>(){() →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.transformed.expect
index cd1a183..8ca1bc7 100644
--- a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.transformed.expect
@@ -37,6 +37,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method baz() → dynamic {
- self::B::foo<core::Object*>().{self::A::bar}<core::String*>();
+ self::B::foo<core::Object*>().{self::A::bar}<core::String*>(){() →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug21938.dart.weak.expect b/pkg/front_end/testcases/general/bug21938.dart.weak.expect
index 5a51904..0fce68f 100644
--- a/pkg/front_end/testcases/general/bug21938.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug21938.dart.weak.expect
@@ -36,13 +36,13 @@
Try correcting the name to the name of an existing method, or defining a method named 'call'.
x(3);
^";
- f.call(5, 2);
+ f(5, 2);
invalid-expression "pkg/front_end/testcases/general/bug21938.dart:11:5: Error: The method 'call' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'call'.
x.call();
^^^^";
f.call;
- f.call(5, 2);
+ f(5, 2);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug21938.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug21938.dart.weak.transformed.expect
index 5a51904..0fce68f 100644
--- a/pkg/front_end/testcases/general/bug21938.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug21938.dart.weak.transformed.expect
@@ -36,13 +36,13 @@
Try correcting the name to the name of an existing method, or defining a method named 'call'.
x(3);
^";
- f.call(5, 2);
+ f(5, 2);
invalid-expression "pkg/front_end/testcases/general/bug21938.dart:11:5: Error: The method 'call' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'call'.
x.call();
^^^^";
f.call;
- f.call(5, 2);
+ f(5, 2);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.weak.expect b/pkg/front_end/testcases/general/bug32414a.dart.weak.expect
index 4176ad4..a688e6b 100644
--- a/pkg/front_end/testcases/general/bug32414a.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug32414a.dart.weak.expect
@@ -11,7 +11,7 @@
static method test() → void {
dynamic a = 5;
- core::String* b = a.{core::Object::toString}();
+ core::String* b = a.{core::Object::toString}(){() →* core::String*};
b = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/bug32414a.dart:10:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
b = 42;
^" in 42 as{TypeError} core::String*;
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect
index 4176ad4..a688e6b 100644
--- a/pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect
@@ -11,7 +11,7 @@
static method test() → void {
dynamic a = 5;
- core::String* b = a.{core::Object::toString}();
+ core::String* b = a.{core::Object::toString}(){() →* core::String*};
b = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/bug32414a.dart:10:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
b = 42;
^" in 42 as{TypeError} core::String*;
diff --git a/pkg/front_end/testcases/general/bug32414b.dart.weak.expect b/pkg/front_end/testcases/general/bug32414b.dart.weak.expect
index 1422239..f09b3fe 100644
--- a/pkg/front_end/testcases/general/bug32414b.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug32414b.dart.weak.expect
@@ -4,6 +4,6 @@
static method test() → void {
core::List<dynamic>* l = <dynamic>[1, "hello"];
- core::List<core::String*>* l2 = l.{core::Iterable::map}<core::String*>((dynamic element) → core::String* => element.{core::Object::toString}()).{core::Iterable::toList}();
+ core::List<core::String*>* l2 = l.{core::Iterable::map}<core::String*>((dynamic element) → core::String* => element.{core::Object::toString}(){() →* core::String*}){((dynamic) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/general/bug32414b.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug32414b.dart.weak.transformed.expect
index 6378088..474232b 100644
--- a/pkg/front_end/testcases/general/bug32414b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug32414b.dart.weak.transformed.expect
@@ -4,6 +4,6 @@
static method test() → void {
core::List<dynamic>* l = core::_GrowableList::_literal2<dynamic>(1, "hello");
- core::List<core::String*>* l2 = l.{core::Iterable::map}<core::String*>((dynamic element) → core::String* => element.{core::Object::toString}()).{core::Iterable::toList}();
+ core::List<core::String*>* l2 = l.{core::Iterable::map}<core::String*>((dynamic element) → core::String* => element.{core::Object::toString}(){() →* core::String*}){((dynamic) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/general/bug32426.dart.weak.expect b/pkg/front_end/testcases/general/bug32426.dart.weak.expect
index cb6d7d6..5a79b65 100644
--- a/pkg/front_end/testcases/general/bug32426.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug32426.dart.weak.expect
@@ -36,7 +36,7 @@
}
static method main() → dynamic {
self::I* i = new self::C::•();
- ([core::int*]) →* void f = (let final self::I* #t1 = i in #t1.==(null) ?{() →* void} null : #t1.{self::I::call}) as{TypeError} ([core::int*]) →* void;
+ ([core::int*]) →* void f = (let final self::I* #t1 = i in #t1 == null ?{() →* void} null : #t1.{self::I::call}) as{TypeError} ([core::int*]) →* void;
}
constants {
diff --git a/pkg/front_end/testcases/general/bug32426.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug32426.dart.weak.transformed.expect
index cb6d7d6..5a79b65 100644
--- a/pkg/front_end/testcases/general/bug32426.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug32426.dart.weak.transformed.expect
@@ -36,7 +36,7 @@
}
static method main() → dynamic {
self::I* i = new self::C::•();
- ([core::int*]) →* void f = (let final self::I* #t1 = i in #t1.==(null) ?{() →* void} null : #t1.{self::I::call}) as{TypeError} ([core::int*]) →* void;
+ ([core::int*]) →* void f = (let final self::I* #t1 = i in #t1 == null ?{() →* void} null : #t1.{self::I::call}) as{TypeError} ([core::int*]) →* void;
}
constants {
diff --git a/pkg/front_end/testcases/general/bug32629.dart.weak.expect b/pkg/front_end/testcases/general/bug32629.dart.weak.expect
index 15d74a5..4965806 100644
--- a/pkg/front_end/testcases/general/bug32629.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug32629.dart.weak.expect
@@ -32,6 +32,6 @@
static method test() → void {
self::foo<core::String*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/bug32629.dart:16:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
foo<String>(new A());
- ^" in (let final self::A* #t2 = new self::A::•() in #t2.==(null) ?{(dynamic, dynamic) →* dynamic} null : #t2.{self::A::call}) as{TypeError} (core::String*, dynamic) →* core::String*);
+ ^" in (let final self::A* #t2 = new self::A::•() in #t2 == null ?{(dynamic, dynamic) →* dynamic} null : #t2.{self::A::call}) as{TypeError} (core::String*, dynamic) →* core::String*);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect
index 15d74a5..4965806 100644
--- a/pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect
@@ -32,6 +32,6 @@
static method test() → void {
self::foo<core::String*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/bug32629.dart:16:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
foo<String>(new A());
- ^" in (let final self::A* #t2 = new self::A::•() in #t2.==(null) ?{(dynamic, dynamic) →* dynamic} null : #t2.{self::A::call}) as{TypeError} (core::String*, dynamic) →* core::String*);
+ ^" in (let final self::A* #t2 = new self::A::•() in #t2 == null ?{(dynamic, dynamic) →* dynamic} null : #t2.{self::A::call}) as{TypeError} (core::String*, dynamic) →* core::String*);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug33099.dart.weak.expect b/pkg/front_end/testcases/general/bug33099.dart.weak.expect
index 7fb694a..5df3838 100644
--- a/pkg/front_end/testcases/general/bug33099.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug33099.dart.weak.expect
@@ -62,12 +62,12 @@
static const field self::_FailingTest* failingTest = #C1;
static method main() → dynamic {
mir::ClassMirror* classMirror = mir::reflectClass(#C2);
- classMirror.{mir::ClassMirror::instanceMembers}.{core::Map::forEach}((core::Symbol* symbol, mir::MethodMirror* memberMirror) → Null {
- if(memberMirror.{mir::DeclarationMirror::simpleName}.{core::Symbol::==}(#C3)) {
+ classMirror.{mir::ClassMirror::instanceMembers}{core::Map<core::Symbol*, mir::MethodMirror*>*}.{core::Map::forEach}((core::Symbol* symbol, mir::MethodMirror* memberMirror) → Null {
+ if(memberMirror.{mir::DeclarationMirror::simpleName}{core::Symbol*} =={core::Symbol::==}{(core::Object*) →* core::bool*} (#C3)) {
core::print(memberMirror);
core::print(self::_hasFailingTestAnnotation(memberMirror));
}
- });
+ }){((core::Symbol*, mir::MethodMirror*) →* void) →* void};
}
static method _hasFailingTestAnnotation(mir::MethodMirror* method) → core::bool* {
core::bool* r = self::_hasAnnotationInstance(method, #C1);
@@ -75,10 +75,10 @@
return r;
}
static method _hasAnnotationInstance(mir::DeclarationMirror* declaration, dynamic instance) → core::bool*
- return declaration.{mir::DeclarationMirror::metadata}.{core::Iterable::any}((mir::InstanceMirror* annotation) → core::bool* {
- core::print("annotation: ${annotation.{mir::InstanceMirror::reflectee}}");
- return core::identical(annotation.{mir::InstanceMirror::reflectee}, instance);
- });
+ return declaration.{mir::DeclarationMirror::metadata}{core::List<mir::InstanceMirror*>*}.{core::Iterable::any}((mir::InstanceMirror* annotation) → core::bool* {
+ core::print("annotation: ${annotation.{mir::InstanceMirror::reflectee}{dynamic}}");
+ return core::identical(annotation.{mir::InstanceMirror::reflectee}{dynamic}, instance);
+ }){((mir::InstanceMirror*) →* core::bool*) →* core::bool*};
constants {
#C1 = self::_FailingTest {}
diff --git a/pkg/front_end/testcases/general/bug33099.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug33099.dart.weak.transformed.expect
index 188bd50..79f0586 100644
--- a/pkg/front_end/testcases/general/bug33099.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug33099.dart.weak.transformed.expect
@@ -62,12 +62,12 @@
static const field self::_FailingTest* failingTest = #C1;
static method main() → dynamic {
mir::ClassMirror* classMirror = mir::reflectClass(#C2);
- classMirror.{mir::ClassMirror::instanceMembers}.{core::Map::forEach}((core::Symbol* symbol, mir::MethodMirror* memberMirror) → Null {
- if(memberMirror.{mir::DeclarationMirror::simpleName}.{core::Symbol::==}(#C3)) {
+ classMirror.{mir::ClassMirror::instanceMembers}{core::Map<core::Symbol*, mir::MethodMirror*>*}.{core::Map::forEach}((core::Symbol* symbol, mir::MethodMirror* memberMirror) → Null {
+ if(memberMirror.{mir::DeclarationMirror::simpleName}{core::Symbol*} =={core::Symbol::==}{(core::Object*) →* core::bool*} (#C3)) {
core::print(memberMirror);
core::print(self::_hasFailingTestAnnotation(memberMirror));
}
- });
+ }){((core::Symbol*, mir::MethodMirror*) →* void) →* void};
}
static method _hasFailingTestAnnotation(mir::MethodMirror* method) → core::bool* {
core::bool* r = self::_hasAnnotationInstance(method, #C1);
@@ -75,10 +75,10 @@
return r;
}
static method _hasAnnotationInstance(mir::DeclarationMirror* declaration, dynamic instance) → core::bool*
- return declaration.{mir::DeclarationMirror::metadata}.{core::Iterable::any}((mir::InstanceMirror* annotation) → core::bool* {
- core::print("annotation: ${annotation.{mir::InstanceMirror::reflectee}}");
- return core::identical(annotation.{mir::InstanceMirror::reflectee}, instance);
- });
+ return declaration.{mir::DeclarationMirror::metadata}{core::List<mir::InstanceMirror*>*}.{core::Iterable::any}((mir::InstanceMirror* annotation) → core::bool* {
+ core::print("annotation: ${annotation.{mir::InstanceMirror::reflectee}{dynamic}}");
+ return core::identical(annotation.{mir::InstanceMirror::reflectee}{dynamic}, instance);
+ }){((mir::InstanceMirror*) →* core::bool*) →* core::bool*};
constants {
#C1 = self::_FailingTest {}
diff --git a/pkg/front_end/testcases/general/bug33196.dart.weak.expect b/pkg/front_end/testcases/general/bug33196.dart.weak.expect
index f76933a..306df2a 100644
--- a/pkg/front_end/testcases/general/bug33196.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug33196.dart.weak.expect
@@ -6,7 +6,7 @@
static method main() → dynamic {
FutureOr<core::String*>* result = self::returnsString();
- core::print(result.{core::Object::runtimeType});
+ core::print(result.{core::Object::runtimeType}{core::Type*});
}
static method returnsString() → FutureOr<core::String*>* async {
return "oh no";
diff --git a/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
index ea1347a..1121533 100644
--- a/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
static method main() → dynamic {
FutureOr<core::String*>* result = self::returnsString();
- core::print(result.{core::Object::runtimeType});
+ core::print(result.{core::Object::runtimeType}{core::Type*});
}
static method returnsString() → FutureOr<core::String*>* /* originally async */ {
final asy::_Future<core::String*>* :async_future = new asy::_Future::•<core::String*>();
diff --git a/pkg/front_end/testcases/general/bug33206.dart.weak.expect b/pkg/front_end/testcases/general/bug33206.dart.weak.expect
index f4075a0..b73a7ce 100644
--- a/pkg/front_end/testcases/general/bug33206.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug33206.dart.weak.expect
@@ -12,7 +12,7 @@
: self::X::x = x, self::X::y = y, super core::Object::•()
;
method toString() → core::String*
- return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
+ return "X(${this.{self::X::x}{dynamic}}, ${this.{self::X::y}{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
@@ -49,8 +49,8 @@
}
static method foo() → asy::Future<self::X*>* async {
return new self::X::•(let final self::Y* #t1 = new self::Y::•() in block {
- #t1.{self::Y::f}(await self::f1());
- #t1.{self::Y::f}(self::f2());
+ #t1.{self::Y::f}(await self::f1()){(dynamic) →* dynamic};
+ #t1.{self::Y::f}(self::f2()){(dynamic) →* dynamic};
} =>#t1, await self::f3());
}
static method main() → asy::Future<void>* async {
diff --git a/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
index 2ca85ca..36aee3f 100644
--- a/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
: self::X::x = x, self::X::y = y, super core::Object::•()
;
method toString() → core::String*
- return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
+ return "X(${this.{self::X::x}{dynamic}}, ${this.{self::X::y}{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
@@ -112,9 +112,9 @@
{
final self::Y* #t1 = new self::Y::•();
[yield] let dynamic #t2 = asy::_awaitHelper(self::f1(), :async_op_then, :async_op_error, :async_op) in null;
- #t1.{self::Y::f}(_in::unsafeCast<core::List<core::Object*>*>(:result));
+ #t1.{self::Y::f}(_in::unsafeCast<core::List<core::Object*>*>(:result)){(dynamic) →* dynamic};
:async_temporary_0 = block {
- #t1.{self::Y::f}(self::f2());
+ #t1.{self::Y::f}(self::f2()){(dynamic) →* dynamic};
} =>#t1;
[yield] let dynamic #t3 = asy::_awaitHelper(self::f3(), :async_op_then, :async_op_error, :async_op) in null;
:return_value = new self::X::•(_in::unsafeCast<self::Y*>(:async_temporary_0), _in::unsafeCast<core::Object*>(:result));
diff --git a/pkg/front_end/testcases/general/bug33298.dart.weak.expect b/pkg/front_end/testcases/general/bug33298.dart.weak.expect
index dc41d48..aec468a 100644
--- a/pkg/front_end/testcases/general/bug33298.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug33298.dart.weak.expect
@@ -62,15 +62,15 @@
}
static method test() → dynamic {
self::A* a = new self::A::•();
- core::List<core::String*>* list1 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(a.{self::A::call}).{core::Iterable::toList}();
- core::List<core::String*>* list2 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(let final self::A* #t1 = a in #t1.==(null) ?{(core::String*) →* core::String*} null : #t1.{self::A::call}).{core::Iterable::toList}();
+ core::List<core::String*>* list1 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(a.{self::A::call}{(core::String*) →* core::String*}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
+ core::List<core::String*>* list2 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(let final self::A* #t1 = a in #t1 == null ?{(core::String*) →* core::String*} null : #t1.{self::A::call}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
self::B<core::String*>* b = new self::B::•<core::String*>();
- core::List<core::String*>* list3 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(b.{self::B::call}).{core::Iterable::toList}();
- core::List<core::String*>* list4 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(let final self::B<core::String*>* #t2 = b in #t2.==(null) ?{(core::String*) →* core::String*} null : #t2.{self::B::call}).{core::Iterable::toList}();
+ core::List<core::String*>* list3 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(b.{self::B::call}{(core::String*) →* core::String*}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
+ core::List<core::String*>* list4 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(let final self::B<core::String*>* #t2 = b in #t2 == null ?{(core::String*) →* core::String*} null : #t2.{self::B::call}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
self::C* c = new self::C::•();
- core::List<core::String*>* list5 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(c.{self::C::call}<core::String*>).{core::Iterable::toList}();
+ core::List<core::String*>* list5 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(c.{self::C::call}{<T extends core::Object* = dynamic>(T*) →* T*}<core::String*>){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
core::List<core::String*>* list6 = <core::String*>["a", "b", "c"].{core::Iterable::map}<dynamic>(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/bug33298.dart:28:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
List<String> list6 = ['a', 'b', 'c'].map(c).toList();
- ^" in (let final self::C* #t4 = c in #t4.==(null) ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t4.{self::C::call}) as{TypeError} (core::String*) →* dynamic).{core::Iterable::toList}() as{TypeError} core::List<core::String*>*;
+ ^" in (let final self::C* #t4 = c in #t4 == null ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t4.{self::C::call}) as{TypeError} (core::String*) →* dynamic){((core::String*) →* dynamic) →* core::Iterable<dynamic>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<dynamic>*} as{TypeError} core::List<core::String*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect
index 733a698..842cb5d 100644
--- a/pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect
@@ -62,15 +62,15 @@
}
static method test() → dynamic {
self::A* a = new self::A::•();
- core::List<core::String*>* list1 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(a.{self::A::call}).{core::Iterable::toList}();
- core::List<core::String*>* list2 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(let final self::A* #t1 = a in #t1.==(null) ?{(core::String*) →* core::String*} null : #t1.{self::A::call}).{core::Iterable::toList}();
+ core::List<core::String*>* list1 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(a.{self::A::call}{(core::String*) →* core::String*}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
+ core::List<core::String*>* list2 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(let final self::A* #t1 = a in #t1 == null ?{(core::String*) →* core::String*} null : #t1.{self::A::call}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
self::B<core::String*>* b = new self::B::•<core::String*>();
- core::List<core::String*>* list3 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(b.{self::B::call}).{core::Iterable::toList}();
- core::List<core::String*>* list4 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(let final self::B<core::String*>* #t2 = b in #t2.==(null) ?{(core::String*) →* core::String*} null : #t2.{self::B::call}).{core::Iterable::toList}();
+ core::List<core::String*>* list3 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(b.{self::B::call}{(core::String*) →* core::String*}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
+ core::List<core::String*>* list4 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(let final self::B<core::String*>* #t2 = b in #t2 == null ?{(core::String*) →* core::String*} null : #t2.{self::B::call}){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
self::C* c = new self::C::•();
- core::List<core::String*>* list5 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(c.{self::C::call}<core::String*>).{core::Iterable::toList}();
+ core::List<core::String*>* list5 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<core::String*>(c.{self::C::call}{<T extends core::Object* = dynamic>(T*) →* T*}<core::String*>){((core::String*) →* core::String*) →* core::Iterable<core::String*>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
core::List<core::String*>* list6 = core::_GrowableList::_literal3<core::String*>("a", "b", "c").{core::Iterable::map}<dynamic>(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/bug33298.dart:28:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
List<String> list6 = ['a', 'b', 'c'].map(c).toList();
- ^" in (let final self::C* #t4 = c in #t4.==(null) ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t4.{self::C::call}) as{TypeError} (core::String*) →* dynamic).{core::Iterable::toList}() as{TypeError} core::List<core::String*>*;
+ ^" in (let final self::C* #t4 = c in #t4 == null ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t4.{self::C::call}) as{TypeError} (core::String*) →* dynamic){((core::String*) →* dynamic) →* core::Iterable<dynamic>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<dynamic>*} as{TypeError} core::List<core::String*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug35470.dart.weak.expect b/pkg/front_end/testcases/general/bug35470.dart.weak.expect
index 42009f8..d840067 100644
--- a/pkg/front_end/testcases/general/bug35470.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug35470.dart.weak.expect
@@ -24,6 +24,6 @@
;
}
static method bar(self::B* b) → dynamic {
- b.{self::A::foo}<dynamic>();
+ b.{self::A::foo}<dynamic>(){() →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug35470.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug35470.dart.weak.transformed.expect
index 42009f8..d840067 100644
--- a/pkg/front_end/testcases/general/bug35470.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug35470.dart.weak.transformed.expect
@@ -24,6 +24,6 @@
;
}
static method bar(self::B* b) → dynamic {
- b.{self::A::foo}<dynamic>();
+ b.{self::A::foo}<dynamic>(){() →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug37476.dart.weak.expect b/pkg/front_end/testcases/general/bug37476.dart.weak.expect
index bd16297..6cc98ca 100644
--- a/pkg/front_end/testcases/general/bug37476.dart.weak.expect
+++ b/pkg/front_end/testcases/general/bug37476.dart.weak.expect
@@ -44,14 +44,14 @@
static field self::B<core::num*>* b = new self::B::•<core::int*>();
static method main() → dynamic {
try {
- self::a.{self::A::foo}() as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ self::a.{self::A::foo}(){() →* <S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
throw "Expected TypeError";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- self::b.{self::B::foo}() as{TypeError,CovarianceCheck} (core::num*) →* void;
+ self::b.{self::B::foo}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
throw "Expected TypeError";
}
on core::TypeError* catch(final core::TypeError* e) {
diff --git a/pkg/front_end/testcases/general/bug37476.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug37476.dart.weak.transformed.expect
index bd16297..6cc98ca 100644
--- a/pkg/front_end/testcases/general/bug37476.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug37476.dart.weak.transformed.expect
@@ -44,14 +44,14 @@
static field self::B<core::num*>* b = new self::B::•<core::int*>();
static method main() → dynamic {
try {
- self::a.{self::A::foo}() as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ self::a.{self::A::foo}(){() →* <S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
throw "Expected TypeError";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- self::b.{self::B::foo}() as{TypeError,CovarianceCheck} (core::num*) →* void;
+ self::b.{self::B::foo}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
throw "Expected TypeError";
}
on core::TypeError* catch(final core::TypeError* e) {
diff --git a/pkg/front_end/testcases/general/call.dart.weak.expect b/pkg/front_end/testcases/general/call.dart.weak.expect
index 64836fb..bb3fe1b 100644
--- a/pkg/front_end/testcases/general/call.dart.weak.expect
+++ b/pkg/front_end/testcases/general/call.dart.weak.expect
@@ -129,106 +129,106 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field (dynamic) →* dynamic closure = (dynamic x) → dynamic => x;
-static field dynamic int1 = self::closure.call(1);
-static field dynamic int2 = self::closure.call(1);
-static field dynamic int3 = self::closure.call.call(1);
-static field dynamic int4 = self::closure.call.call.call(1);
+static field dynamic int1 = self::closure(1){(dynamic) →* dynamic};
+static field dynamic int2 = self::closure(1){(dynamic) →* dynamic};
+static field dynamic int3 = self::closure.call(1){(dynamic) →* dynamic};
+static field dynamic int4 = self::closure.call.call(1){(dynamic) →* dynamic};
static field self::Callable* callable = new self::Callable::•();
-static field dynamic string1 = self::callable.{self::Callable::call}(1);
-static field dynamic string2 = self::callable.{self::Callable::call}(1);
-static field dynamic string3 = self::callable.{self::Callable::call}.call(1);
-static field dynamic string4 = self::callable.{self::Callable::call}.call.call(1);
+static field dynamic string1 = self::callable.{self::Callable::call}(1){(dynamic) →* dynamic};
+static field dynamic string2 = self::callable.{self::Callable::call}(1){(dynamic) →* dynamic};
+static field dynamic string3 = self::callable.{self::Callable::call}{(dynamic) →* dynamic}(1){(dynamic) →* dynamic};
+static field dynamic string4 = self::callable.{self::Callable::call}{(dynamic) →* dynamic}.call(1){(dynamic) →* dynamic};
static field self::CallableGetter* callableGetter = new self::CallableGetter::•();
static field dynamic string5 = invalid-expression "pkg/front_end/testcases/general/call.dart:63:29: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Try changing 'call' to a method or explicitly invoke 'call'.
var string5 = callableGetter(1);
^";
-static field dynamic string6 = let final self::CallableGetter* #t1 = self::callableGetter in let final core::int* #t2 = 1 in #t1.{self::CallableGetter::call}.call(#t2);
-static field dynamic string7 = self::callableGetter.{self::CallableGetter::call}.call(1);
-static field dynamic string8 = self::callableGetter.{self::CallableGetter::call}.call.call(1);
+static field dynamic string6 = let final self::CallableGetter* #t1 = self::callableGetter in let final core::int* #t2 = 1 in #t1.{self::CallableGetter::call}{dynamic}{dynamic}.call(#t2);
+static field dynamic string7 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call(1);
+static field dynamic string8 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call(1);
static field dynamic nothing1 = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/call.dart:68:23: Error: Too few positional arguments: 1 required, 0 given.
var nothing1 = closure();
- ^" in self::closure.call();
+ ^" in self::closure{<inapplicable>}.();
static field dynamic nothing2 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/call.dart:69:28: Error: Too few positional arguments: 1 required, 0 given.
var nothing2 = closure.call();
- ^" in self::closure.call();
+ ^" in self::closure{<inapplicable>}.();
static field dynamic nothing3 = let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/call.dart:70:33: Error: Too few positional arguments: 1 required, 0 given.
var nothing3 = closure.call.call();
- ^" in self::closure.call.call();
+ ^" in self::closure.call{<inapplicable>}.();
static field dynamic nothing4 = let final Never* #t6 = invalid-expression "pkg/front_end/testcases/general/call.dart:71:38: Error: Too few positional arguments: 1 required, 0 given.
var nothing4 = closure.call.call.call();
- ^" in self::closure.call.call.call();
+ ^" in self::closure.call.call{<inapplicable>}.();
static field dynamic nothing5 = let final Never* #t7 = invalid-expression "pkg/front_end/testcases/general/call.dart:73:24: Error: Too few positional arguments: 1 required, 0 given.
var nothing5 = callable();
- ^" in self::callable.{self::Callable::call}();
+ ^" in self::callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
static field dynamic nothing6 = let final Never* #t8 = invalid-expression "pkg/front_end/testcases/general/call.dart:74:29: Error: Too few positional arguments: 1 required, 0 given.
var nothing6 = callable.call();
- ^" in self::callable.{self::Callable::call}();
+ ^" in self::callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
static field dynamic nothing7 = let final Never* #t9 = invalid-expression "pkg/front_end/testcases/general/call.dart:75:34: Error: Too few positional arguments: 1 required, 0 given.
var nothing7 = callable.call.call();
- ^" in self::callable.{self::Callable::call}.call();
+ ^" in self::callable.{self::Callable::call}{(dynamic) →* dynamic}{<inapplicable>}.();
static field dynamic nothing8 = let final Never* #t10 = invalid-expression "pkg/front_end/testcases/general/call.dart:76:39: Error: Too few positional arguments: 1 required, 0 given.
var nothing8 = callable.call.call.call();
- ^" in self::callable.{self::Callable::call}.call.call();
+ ^" in self::callable.{self::Callable::call}{(dynamic) →* dynamic}.call{<inapplicable>}.();
static field dynamic nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:78:30: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Try changing 'call' to a method or explicitly invoke 'call'.
var nothing9 = callableGetter();
^";
-static field dynamic nothing10 = self::callableGetter.{self::CallableGetter::call}.call();
-static field dynamic nothing11 = self::callableGetter.{self::CallableGetter::call}.call();
-static field dynamic nothing12 = self::callableGetter.{self::CallableGetter::call}.call.call();
+static field dynamic nothing10 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call();
+static field dynamic nothing11 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call();
+static field dynamic nothing12 = self::callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call();
static method main() → dynamic {
(dynamic) →* dynamic closure = (dynamic x) → dynamic => x;
- dynamic int1 = closure.call(1);
- dynamic int2 = closure.call(1);
- dynamic int3 = closure.call.call(1);
- dynamic int4 = closure.call.call.call(1);
+ dynamic int1 = closure(1){(dynamic) →* dynamic};
+ dynamic int2 = closure(1){(dynamic) →* dynamic};
+ dynamic int3 = closure.call(1){(dynamic) →* dynamic};
+ dynamic int4 = closure.call.call(1){(dynamic) →* dynamic};
self::Callable* callable = new self::Callable::•();
- dynamic string1 = callable.{self::Callable::call}(1);
- dynamic string2 = callable.{self::Callable::call}(1);
- dynamic string3 = callable.{self::Callable::call}.call(1);
- dynamic string4 = callable.{self::Callable::call}.call.call(1);
+ dynamic string1 = callable.{self::Callable::call}(1){(dynamic) →* dynamic};
+ dynamic string2 = callable.{self::Callable::call}(1){(dynamic) →* dynamic};
+ dynamic string3 = callable.{self::Callable::call}{(dynamic) →* dynamic}(1){(dynamic) →* dynamic};
+ dynamic string4 = callable.{self::Callable::call}{(dynamic) →* dynamic}.call(1){(dynamic) →* dynamic};
self::CallableGetter* callableGetter = new self::CallableGetter::•();
dynamic string5 = invalid-expression "pkg/front_end/testcases/general/call.dart:29:31: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Try changing 'call' to a method or explicitly invoke 'call'.
var string5 = callableGetter(1);
^";
- dynamic string6 = let final self::CallableGetter* #t11 = callableGetter in let final core::int* #t12 = 1 in #t11.{self::CallableGetter::call}.call(#t12);
- dynamic string7 = callableGetter.{self::CallableGetter::call}.call(1);
- dynamic string8 = callableGetter.{self::CallableGetter::call}.call.call(1);
+ dynamic string6 = let final self::CallableGetter* #t11 = callableGetter in let final core::int* #t12 = 1 in #t11.{self::CallableGetter::call}{dynamic}{dynamic}.call(#t12);
+ dynamic string7 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call(1);
+ dynamic string8 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call(1);
invalid-type nothing1 = let final Never* #t13 = invalid-expression "pkg/front_end/testcases/general/call.dart:34:25: Error: Too few positional arguments: 1 required, 0 given.
var nothing1 = closure();
- ^" in closure.call();
+ ^" in closure{<inapplicable>}.();
invalid-type nothing2 = let final Never* #t14 = invalid-expression "pkg/front_end/testcases/general/call.dart:35:30: Error: Too few positional arguments: 1 required, 0 given.
var nothing2 = closure.call();
- ^" in closure.call();
+ ^" in closure{<inapplicable>}.();
invalid-type nothing3 = let final Never* #t15 = invalid-expression "pkg/front_end/testcases/general/call.dart:36:35: Error: Too few positional arguments: 1 required, 0 given.
var nothing3 = closure.call.call();
- ^" in closure.call.call();
+ ^" in closure.call{<inapplicable>}.();
invalid-type nothing4 = let final Never* #t16 = invalid-expression "pkg/front_end/testcases/general/call.dart:37:40: Error: Too few positional arguments: 1 required, 0 given.
var nothing4 = closure.call.call.call();
- ^" in closure.call.call.call();
+ ^" in closure.call.call{<inapplicable>}.();
invalid-type nothing5 = let final Never* #t17 = invalid-expression "pkg/front_end/testcases/general/call.dart:39:26: Error: Too few positional arguments: 1 required, 0 given.
var nothing5 = callable();
- ^" in callable.{self::Callable::call}();
+ ^" in callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
invalid-type nothing6 = let final Never* #t18 = invalid-expression "pkg/front_end/testcases/general/call.dart:40:31: Error: Too few positional arguments: 1 required, 0 given.
var nothing6 = callable.call();
- ^" in callable.{self::Callable::call}();
+ ^" in callable.{self::Callable::call}{<inapplicable>}.(){() →* invalid-type};
invalid-type nothing7 = let final Never* #t19 = invalid-expression "pkg/front_end/testcases/general/call.dart:41:36: Error: Too few positional arguments: 1 required, 0 given.
var nothing7 = callable.call.call();
- ^" in callable.{self::Callable::call}.call();
+ ^" in callable.{self::Callable::call}{(dynamic) →* dynamic}{<inapplicable>}.();
invalid-type nothing8 = let final Never* #t20 = invalid-expression "pkg/front_end/testcases/general/call.dart:42:41: Error: Too few positional arguments: 1 required, 0 given.
var nothing8 = callable.call.call.call();
- ^" in callable.{self::Callable::call}.call.call();
+ ^" in callable.{self::Callable::call}{(dynamic) →* dynamic}.call{<inapplicable>}.();
dynamic nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:44:32: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Try changing 'call' to a method or explicitly invoke 'call'.
var nothing9 = callableGetter();
^";
- dynamic nothing10 = callableGetter.{self::CallableGetter::call}.call();
- dynamic nothing11 = callableGetter.{self::CallableGetter::call}.call();
- dynamic nothing12 = callableGetter.{self::CallableGetter::call}.call.call();
+ dynamic nothing10 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call();
+ dynamic nothing11 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call();
+ dynamic nothing12 = callableGetter.{self::CallableGetter::call}{dynamic}{dynamic}.call{dynamic}.call();
}
diff --git a/pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect
index c56828e..f7d01d7 100644
--- a/pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect
+++ b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect
@@ -19,11 +19,11 @@
: self::Class1::field = field, super core::Object::•()
;
method method() → dynamic {
- dynamic v1 = this.{self::Class1::field}.call();
- dynamic v2 = let final core::int* #t1 = 0 in this.{self::Class1::field}.call(#t1);
- self::Class1::T* v3 = this.{self::Class1::field}.call;
- dynamic v4 = this.{self::Class1::field}.call();
- dynamic v5 = this.{self::Class1::field}.call(0);
+ dynamic v1 = this.{self::Class1::field}{self::Class1::T*}();
+ dynamic v2 = let final core::int* #t1 = 0 in this.{self::Class1::field}{self::Class1::T*}(#t1);
+ self::Class1::T* v3 = this.{self::Class1::field}{self::Class1::T*}.call;
+ dynamic v4 = this.{self::Class1::field}{self::Class1::T*}();
+ dynamic v5 = this.{self::Class1::field}{self::Class1::T*}(0);
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -44,13 +44,13 @@
method method() → dynamic {
invalid-type v1 = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:25:19: Error: Too few positional arguments: 1 required, 0 given.
var v1 = field(); // error
- ^" in this.{self::Class2::field}.call();
- core::String* v2 = let final core::int* #t3 = 0 in this.{self::Class2::field}.call(#t3);
- self::Class2::T* v3 = this.{self::Class2::field}.call;
+ ^" in this.{self::Class2::field}{self::Class2::T*}{<inapplicable>}.();
+ core::String* v2 = let final core::int* #t3 = 0 in this.{self::Class2::field}{self::Class2::T*}(#t3){(core::int*) →* core::String*};
+ self::Class2::T* v3 = this.{self::Class2::field}{self::Class2::T*}.call;
invalid-type v4 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:28:24: Error: Too few positional arguments: 1 required, 0 given.
var v4 = field.call(); // error
- ^" in this.{self::Class2::field}.call();
- core::String* v5 = this.{self::Class2::field}.call(0);
+ ^" in this.{self::Class2::field}{self::Class2::T*}{<inapplicable>}.();
+ core::String* v5 = this.{self::Class2::field}{self::Class2::T*}(0){(core::int*) →* core::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
diff --git a/pkg/front_end/testcases/general/callable_type_variable.dart.weak.transformed.expect b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.transformed.expect
index f7b5cfc..cd3a7b7 100644
--- a/pkg/front_end/testcases/general/callable_type_variable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.transformed.expect
@@ -19,11 +19,11 @@
: self::Class1::field = field, super core::Object::•()
;
method method() → dynamic {
- dynamic v1 = this.{self::Class1::field}.call();
- dynamic v2 = let final core::int* #t1 = 0 in this.{self::Class1::field}.call(#t1);
- self::Class1::T* v3 = this.{self::Class1::field}.call;
- dynamic v4 = this.{self::Class1::field}.call();
- dynamic v5 = this.{self::Class1::field}.call(0);
+ dynamic v1 = this.{self::Class1::field}{self::Class1::T*}();
+ dynamic v2 = let final core::int* #t1 = 0 in this.{self::Class1::field}{self::Class1::T*}(#t1);
+ self::Class1::T* v3 = this.{self::Class1::field}{self::Class1::T*}.call;
+ dynamic v4 = this.{self::Class1::field}{self::Class1::T*}();
+ dynamic v5 = this.{self::Class1::field}{self::Class1::T*}(0);
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -44,13 +44,13 @@
method method() → dynamic {
invalid-type v1 = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:25:19: Error: Too few positional arguments: 1 required, 0 given.
var v1 = field(); // error
- ^" in this.{self::Class2::field}.call();
- core::String* v2 = let final core::int* #t3 = 0 in this.{self::Class2::field}.call(#t3);
- self::Class2::T* v3 = this.{self::Class2::field}.call;
+ ^" in this.{self::Class2::field}{self::Class2::T*}{<inapplicable>}.();
+ core::String* v2 = let final core::int* #t3 = 0 in this.{self::Class2::field}{self::Class2::T*}(#t3){(core::int*) →* core::String*};
+ self::Class2::T* v3 = this.{self::Class2::field}{self::Class2::T*}.call;
invalid-type v4 = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:28:24: Error: Too few positional arguments: 1 required, 0 given.
var v4 = field.call(); // error
- ^" in this.{self::Class2::field}.call();
- core::String* v5 = this.{self::Class2::field}.call(0);
+ ^" in this.{self::Class2::field}{self::Class2::T*}{<inapplicable>}.();
+ core::String* v5 = this.{self::Class2::field}{self::Class2::T*}(0){(core::int*) →* core::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
diff --git a/pkg/front_end/testcases/general/candidate_found.dart.weak.expect b/pkg/front_end/testcases/general/candidate_found.dart.weak.expect
index 1d6442b..b1e197c 100644
--- a/pkg/front_end/testcases/general/candidate_found.dart.weak.expect
+++ b/pkg/front_end/testcases/general/candidate_found.dart.weak.expect
@@ -80,6 +80,6 @@
^";
let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/candidate_found.dart:21:24: Error: Too few positional arguments: 1 required, 0 given.
(null as Fisk).method();
- ^" in (null as self::Fisk*).{self::Fisk::method}();
+ ^" in (null as self::Fisk*).{self::Fisk::method}{<inapplicable>}.(){() →* invalid-type};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/cascade.dart.weak.expect b/pkg/front_end/testcases/general/cascade.dart.weak.expect
index 11c0d89..bfd70cc 100644
--- a/pkg/front_end/testcases/general/cascade.dart.weak.expect
+++ b/pkg/front_end/testcases/general/cascade.dart.weak.expect
@@ -27,21 +27,21 @@
static method main() → dynamic {
core::List<core::int*>* list = let final core::List<core::int*>* #t1 = <core::int*>[1] in block {
- #t1.{core::List::add}(2);
- #t1.{core::List::add}(3);
- #t1.{core::List::addAll}(<core::int*>[4, 5]);
+ #t1.{core::List::add}(2){(core::int*) →* void};
+ #t1.{core::List::add}(3){(core::int*) →* void};
+ #t1.{core::List::addAll}(<core::int*>[4, 5]){(core::Iterable<core::int*>*) →* void};
} =>#t1;
core::print(list);
let final core::List<core::int*>* #t2 = list in block {
- #t2.{core::List::add}(2);
- #t2.{core::List::length};
+ #t2.{core::List::add}(2){(core::int*) →* void};
+ #t2.{core::List::length}{core::int*};
#t2.{core::List::length} = 0;
} =>#t2;
core::print(list);
let final core::List<core::int*>* #t3 = list in block {
- #t3.{core::List::add}(2);
- #t3.{core::List::[]}(0);
- #t3.{core::List::[]=}(0, 87);
+ #t3.{core::List::add}(2){(core::int*) →* void};
+ #t3.{core::List::[]}(0){(core::int*) →* core::int*};
+ #t3.{core::List::[]=}(0, 87){(core::int*, core::int*) →* void};
} =>#t3;
core::print(list);
list = let final core::List<core::int*>* #t4 = <core::int*>[let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/cascade.dart:26:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
@@ -51,15 +51,15 @@
invalid-expression "pkg/front_end/testcases/general/cascade.dart:28:13: Error: The getter 'last' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
..first.last.toString()
- ^^^^".{core::Object::toString}();
+ ^^^^".{core::Object::toString}(){() →* core::String*};
invalid-expression "pkg/front_end/testcases/general/cascade.dart:29:12: Error: The operator '[]' isn't defined for the class 'int'.
Try correcting the operator to an existing operator, or defining a '[]' operator.
..first[0].toString()
- ^".{core::Object::toString}();
+ ^".{core::Object::toString}(){() →* core::String*};
invalid-expression "pkg/front_end/testcases/general/cascade.dart:30:11: Error: The getter 'last' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
..[0].last.toString();
- ^^^^".{core::Object::toString}();
+ ^^^^".{core::Object::toString}(){() →* core::String*};
} =>#t4;
core::print(list);
}
diff --git a/pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect b/pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect
index 92c7e4c..5ae4b4c 100644
--- a/pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect
@@ -27,21 +27,21 @@
static method main() → dynamic {
core::List<core::int*>* list = let final core::List<core::int*>* #t1 = core::_GrowableList::_literal1<core::int*>(1) in block {
- #t1.{core::List::add}(2);
- #t1.{core::List::add}(3);
- #t1.{core::List::addAll}(core::_GrowableList::_literal2<core::int*>(4, 5));
+ #t1.{core::List::add}(2){(core::int*) →* void};
+ #t1.{core::List::add}(3){(core::int*) →* void};
+ #t1.{core::List::addAll}(core::_GrowableList::_literal2<core::int*>(4, 5)){(core::Iterable<core::int*>*) →* void};
} =>#t1;
core::print(list);
let final core::List<core::int*>* #t2 = list in block {
- #t2.{core::List::add}(2);
- #t2.{core::List::length};
+ #t2.{core::List::add}(2){(core::int*) →* void};
+ #t2.{core::List::length}{core::int*};
#t2.{core::List::length} = 0;
} =>#t2;
core::print(list);
let final core::List<core::int*>* #t3 = list in block {
- #t3.{core::List::add}(2);
- #t3.{core::List::[]}(0);
- #t3.{core::List::[]=}(0, 87);
+ #t3.{core::List::add}(2){(core::int*) →* void};
+ #t3.{core::List::[]}(0){(core::int*) →* core::int*};
+ #t3.{core::List::[]=}(0, 87){(core::int*, core::int*) →* void};
} =>#t3;
core::print(list);
list = let final core::List<core::int*>* #t4 = core::_GrowableList::_literal1<core::int*>(let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/cascade.dart:26:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
@@ -51,15 +51,15 @@
invalid-expression "pkg/front_end/testcases/general/cascade.dart:28:13: Error: The getter 'last' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
..first.last.toString()
- ^^^^".{core::Object::toString}();
+ ^^^^".{core::Object::toString}(){() →* core::String*};
invalid-expression "pkg/front_end/testcases/general/cascade.dart:29:12: Error: The operator '[]' isn't defined for the class 'int'.
Try correcting the operator to an existing operator, or defining a '[]' operator.
..first[0].toString()
- ^".{core::Object::toString}();
+ ^".{core::Object::toString}(){() →* core::String*};
invalid-expression "pkg/front_end/testcases/general/cascade.dart:30:11: Error: The getter 'last' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
..[0].last.toString();
- ^^^^".{core::Object::toString}();
+ ^^^^".{core::Object::toString}(){() →* core::String*};
} =>#t4;
core::print(list);
}
diff --git a/pkg/front_end/testcases/general/cascade_context.dart.weak.expect b/pkg/front_end/testcases/general/cascade_context.dart.weak.expect
index 309a682..11f2c0b 100644
--- a/pkg/front_end/testcases/general/cascade_context.dart.weak.expect
+++ b/pkg/front_end/testcases/general/cascade_context.dart.weak.expect
@@ -7,11 +7,11 @@
static method test() → dynamic {
core::int* v1 = self::f<core::int*>();
core::int* v2 = let final core::int* #t1 = self::f<core::int*>() in block {
- #t1.{core::int::isEven};
+ #t1.{core::int::isEven}{core::bool*};
} =>#t1;
core::int* v3 = let final core::int* #t2 = self::f<core::int*>() in block {
- #t2.{core::int::isEven};
- #t2.{core::int::isEven};
+ #t2.{core::int::isEven}{core::bool*};
+ #t2.{core::int::isEven}{core::bool*};
} =>#t2;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/cascade_context.dart.weak.transformed.expect b/pkg/front_end/testcases/general/cascade_context.dart.weak.transformed.expect
index 309a682..11f2c0b 100644
--- a/pkg/front_end/testcases/general/cascade_context.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/cascade_context.dart.weak.transformed.expect
@@ -7,11 +7,11 @@
static method test() → dynamic {
core::int* v1 = self::f<core::int*>();
core::int* v2 = let final core::int* #t1 = self::f<core::int*>() in block {
- #t1.{core::int::isEven};
+ #t1.{core::int::isEven}{core::bool*};
} =>#t1;
core::int* v3 = let final core::int* #t2 = self::f<core::int*>() in block {
- #t2.{core::int::isEven};
- #t2.{core::int::isEven};
+ #t2.{core::int::isEven}{core::bool*};
+ #t2.{core::int::isEven}{core::bool*};
} =>#t2;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.weak.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.weak.expect
index e27d859b..d298cb9 100644
--- a/pkg/front_end/testcases/general/check_deferred_read.dart.weak.expect
+++ b/pkg/front_end/testcases/general/check_deferred_read.dart.weak.expect
@@ -7,7 +7,7 @@
static method main() → dynamic {}
static method test() → dynamic {
- core::print((let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x).{core::num::+}(1));
+ core::print((let final dynamic #t1 = CheckLibraryIsLoaded(lib) in def::x).{core::num::+}(1){(core::num*) →* core::int*});
}
library;
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.weak.transformed.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.weak.transformed.expect
index bb01419..6962eb7 100644
--- a/pkg/front_end/testcases/general/check_deferred_read.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/check_deferred_read.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
static method main() → dynamic {}
static method test() → dynamic {
- core::print((let final core::Object* #t1 = CheckLibraryIsLoaded(lib) in def::x).{core::num::+}(1));
+ core::print((let final core::Object* #t1 = CheckLibraryIsLoaded(lib) in def::x).{core::num::+}(1){(core::num*) →* core::int*});
}
library;
diff --git a/pkg/front_end/testcases/general/classes.dart.weak.expect b/pkg/front_end/testcases/general/classes.dart.weak.expect
index fd0d329..288e237 100644
--- a/pkg/front_end/testcases/general/classes.dart.weak.expect
+++ b/pkg/front_end/testcases/general/classes.dart.weak.expect
@@ -9,9 +9,9 @@
: self::A::y = y, self::A::x = 42, super core::Object::•()
;
method method() → dynamic {
- core::print("A.method x: ${this.{self::A::x}} y: ${this.{self::A::y}}");
+ core::print("A.method x: ${this.{self::A::x}{core::int*}} y: ${this.{self::A::y}{core::int*}}");
core::print(this);
- core::print(this.{self::A::runtimeType});
+ core::print(this.{self::A::runtimeType}{core::Type*});
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -29,13 +29,13 @@
: super self::A::•(x as{TypeError,ForDynamic} core::int*)
;
method method() → dynamic {
- core::print("B.method x: ${this.{self::A::x}} y: ${this.{self::A::y}}");
+ core::print("B.method x: ${this.{self::A::x}{core::int*}} y: ${this.{self::A::y}{core::int*}}");
super.{self::A::method}();
}
}
static method main() → dynamic {
self::A* a = new self::A::•(87);
self::B* b = new self::B::•(117);
- a.{self::A::method}();
- b.{self::B::method}();
+ a.{self::A::method}(){() →* dynamic};
+ b.{self::B::method}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/classes.dart.weak.transformed.expect b/pkg/front_end/testcases/general/classes.dart.weak.transformed.expect
index fd0d329..288e237 100644
--- a/pkg/front_end/testcases/general/classes.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/classes.dart.weak.transformed.expect
@@ -9,9 +9,9 @@
: self::A::y = y, self::A::x = 42, super core::Object::•()
;
method method() → dynamic {
- core::print("A.method x: ${this.{self::A::x}} y: ${this.{self::A::y}}");
+ core::print("A.method x: ${this.{self::A::x}{core::int*}} y: ${this.{self::A::y}{core::int*}}");
core::print(this);
- core::print(this.{self::A::runtimeType});
+ core::print(this.{self::A::runtimeType}{core::Type*});
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -29,13 +29,13 @@
: super self::A::•(x as{TypeError,ForDynamic} core::int*)
;
method method() → dynamic {
- core::print("B.method x: ${this.{self::A::x}} y: ${this.{self::A::y}}");
+ core::print("B.method x: ${this.{self::A::x}{core::int*}} y: ${this.{self::A::y}{core::int*}}");
super.{self::A::method}();
}
}
static method main() → dynamic {
self::A* a = new self::A::•(87);
self::B* b = new self::B::•(117);
- a.{self::A::method}();
- b.{self::B::method}();
+ a.{self::A::method}(){() →* dynamic};
+ b.{self::B::method}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/closure.dart.weak.expect b/pkg/front_end/testcases/general/closure.dart.weak.expect
index a4c2d9f..2d530e8 100644
--- a/pkg/front_end/testcases/general/closure.dart.weak.expect
+++ b/pkg/front_end/testcases/general/closure.dart.weak.expect
@@ -34,7 +34,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method useCallback(dynamic callback) → dynamic {
- dynamic _ = callback.call();
+ dynamic _ = callback{dynamic}.call();
}
static method main() → dynamic {
dynamic x;
@@ -43,5 +43,5 @@
return new self::Foo::•();
}
self::useCallback(inner);
- self::Bar* _ = inner.call().{self::Foo::_field};
+ self::Bar* _ = inner(){() →* self::Foo*}.{self::Foo::_field}{self::Bar*};
}
diff --git a/pkg/front_end/testcases/general/closure.dart.weak.transformed.expect b/pkg/front_end/testcases/general/closure.dart.weak.transformed.expect
index a4c2d9f..2d530e8 100644
--- a/pkg/front_end/testcases/general/closure.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/closure.dart.weak.transformed.expect
@@ -34,7 +34,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method useCallback(dynamic callback) → dynamic {
- dynamic _ = callback.call();
+ dynamic _ = callback{dynamic}.call();
}
static method main() → dynamic {
dynamic x;
@@ -43,5 +43,5 @@
return new self::Foo::•();
}
self::useCallback(inner);
- self::Bar* _ = inner.call().{self::Foo::_field};
+ self::Bar* _ = inner(){() →* self::Foo*}.{self::Foo::_field}{self::Bar*};
}
diff --git a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.expect b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.expect
index c425212..19b1b00 100644
--- a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.expect
+++ b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.expect
@@ -32,7 +32,7 @@
static method main() → dynamic {
core::Map<core::int*, self::B*>* map = <core::int*, self::B*>{0: new self::B::•()};
try {
- let final core::Map<core::int*, self::B*>* #t1 = map in let final core::int* #t2 = 0 in #t1.{core::Map::[]=}(#t2, #t1.{core::Map::[]}(#t2).{self::B::+}(new self::B::•()) as{TypeError} self::B*);
+ let final core::Map<core::int*, self::B*>* #t1 = map in let final core::int* #t2 = 0 in #t1.{core::Map::[]=}(#t2, #t1.{core::Map::[]}(#t2){(core::Object*) →* self::B*}.{self::B::+}(new self::B::•()){(self::B*) →* self::A*} as{TypeError} self::B*){(core::int*, self::B*) →* void};
throw "Expected type error";
}
on dynamic catch(final dynamic _) {
diff --git a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.transformed.expect b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.transformed.expect
index 2c3a4c0..f8d6d80 100644
--- a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.transformed.expect
@@ -32,7 +32,7 @@
static method main() → dynamic {
core::Map<core::int*, self::B*>* map = <core::int*, self::B*>{0: new self::B::•()};
try {
- let final core::Map<core::int*, self::B*>* #t1 = map in let final core::int* #t2 = 0 in #t1.{core::Map::[]=}(#t2, #t1.{core::Map::[]}(#t2).{self::B::+}(new self::B::•()) as{TypeError} self::B*);
+ let final core::Map<core::int*, self::B*>* #t1 = map in let final core::int* #t2 = 0 in #t1.{core::Map::[]=}(#t2, #t1.{core::Map::[]}(#t2){(core::Object*) →* self::B*}.{self::B::+}(new self::B::•()){(self::B*) →* self::A*} as{TypeError} self::B*){(core::int*, self::B*) →* void};
throw "Expected type error";
}
on dynamic catch(final dynamic _) {
diff --git a/pkg/front_end/testcases/general/constant_truncate.dart.weak.expect b/pkg/front_end/testcases/general/constant_truncate.dart.weak.expect
index c07b061..f87f7ba 100644
--- a/pkg/front_end/testcases/general/constant_truncate.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constant_truncate.dart.weak.expect
@@ -344,37 +344,37 @@
static method main() → dynamic {
self::test(0, 0, () → core::int* => invalid-expression "Binary operator '~/' on '0' requires non-zero divisor, but divisor was '0'.");
self::test(0.0, 0, () → core::int* => invalid-expression "Binary operator '~/' on '0.0' requires non-zero divisor, but divisor was '0'.");
- self::test(0.0.{core::double::unary-}(), 0, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, 0, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
self::test(#C2, 0, () → core::int* => invalid-expression "Binary operator '~/' on 'NaN' requires non-zero divisor, but divisor was '0'.");
self::test(#C3, 0, () → core::int* => invalid-expression "Binary operator '~/' on 'Infinity' requires non-zero divisor, but divisor was '0'.");
self::test(#C4, 0, () → core::int* => invalid-expression "Binary operator '~/' on '-Infinity' requires non-zero divisor, but divisor was '0'.");
self::test(0, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '0' requires non-zero divisor, but divisor was '0'.");
self::test(0.0, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '0.0' requires non-zero divisor, but divisor was '0'.");
- self::test(0.0.{core::double::unary-}(), 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
self::test(#C2, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on 'NaN' requires non-zero divisor, but divisor was '0'.");
self::test(#C3, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on 'Infinity' requires non-zero divisor, but divisor was '0'.");
self::test(#C4, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '-Infinity' requires non-zero divisor, but divisor was '0'.");
- self::test(0, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on '0' requires non-zero divisor, but divisor was '0'.");
- self::test(0.0, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on '0.0' requires non-zero divisor, but divisor was '0'.");
- self::test(0.0.{core::double::unary-}(), 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
- self::test(#C2, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on 'NaN' requires non-zero divisor, but divisor was '0'.");
- self::test(#C3, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on 'Infinity' requires non-zero divisor, but divisor was '0'.");
- self::test(#C4, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on '-Infinity' requires non-zero divisor, but divisor was '0'.");
+ self::test(0, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on '0' requires non-zero divisor, but divisor was '0'.");
+ self::test(0.0, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on '0.0' requires non-zero divisor, but divisor was '0'.");
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
+ self::test(#C2, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on 'NaN' requires non-zero divisor, but divisor was '0'.");
+ self::test(#C3, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on 'Infinity' requires non-zero divisor, but divisor was '0'.");
+ self::test(#C4, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on '-Infinity' requires non-zero divisor, but divisor was '0'.");
self::test(0, #C2, () → core::int* => invalid-expression "Binary operator '0 ~/ NaN' results is Infinity or NaN.");
self::test(0.0, #C2, () → core::int* => invalid-expression "Binary operator '0.0 ~/ NaN' results is Infinity or NaN.");
- self::test(0.0.{core::double::unary-}(), #C2, () → core::int* => invalid-expression "Binary operator '-0.0 ~/ NaN' results is Infinity or NaN.");
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, #C2, () → core::int* => invalid-expression "Binary operator '-0.0 ~/ NaN' results is Infinity or NaN.");
self::test(#C2, #C2, () → core::int* => invalid-expression "Binary operator 'NaN ~/ NaN' results is Infinity or NaN.");
self::test(#C3, #C2, () → core::int* => invalid-expression "Binary operator 'Infinity ~/ NaN' results is Infinity or NaN.");
self::test(#C4, #C2, () → core::int* => invalid-expression "Binary operator '-Infinity ~/ NaN' results is Infinity or NaN.");
self::test(0, #C3, () → core::int* => #C1);
self::test(0.0, #C3, () → core::int* => #C1);
- self::test(0.0.{core::double::unary-}(), #C3, () → core::int* => #C1);
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, #C3, () → core::int* => #C1);
self::test(#C2, #C3, () → core::int* => invalid-expression "Binary operator 'NaN ~/ Infinity' results is Infinity or NaN.");
self::test(#C3, #C3, () → core::int* => invalid-expression "Binary operator 'Infinity ~/ Infinity' results is Infinity or NaN.");
self::test(#C4, #C3, () → core::int* => invalid-expression "Binary operator '-Infinity ~/ Infinity' results is Infinity or NaN.");
self::test(0, #C4, () → core::int* => #C1);
self::test(0.0, #C4, () → core::int* => #C1);
- self::test(0.0.{core::double::unary-}(), #C4, () → core::int* => #C1);
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, #C4, () → core::int* => #C1);
self::test(#C2, #C4, () → core::int* => invalid-expression "Binary operator 'NaN ~/ -Infinity' results is Infinity or NaN.");
self::test(#C3, #C4, () → core::int* => invalid-expression "Binary operator 'Infinity ~/ -Infinity' results is Infinity or NaN.");
self::test(#C4, #C4, () → core::int* => invalid-expression "Binary operator '-Infinity ~/ -Infinity' results is Infinity or NaN.");
@@ -382,7 +382,7 @@
static method test(core::num* a, core::num* b, () →* core::num* f) → void {
core::num* result;
try {
- result = a.{core::num::~/}(b);
+ result = a.{core::num::~/}(b){(core::num*) →* core::int*};
core::print("${a} ~/ ${b} = ${result}");
}
on dynamic catch(final dynamic e) {
@@ -390,16 +390,16 @@
self::throws(f);
return;
}
- self::expect(f.call(), result);
+ self::expect(f(){() →* core::num*}, result);
}
static method expect(dynamic expected, dynamic actual) → void {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Expected ${expected}, actual ${actual}";
}
}
static method throws(() →* core::num* f) → void {
try {
- f.call();
+ f(){() →* core::num*};
}
on dynamic catch(final dynamic e) {
return;
diff --git a/pkg/front_end/testcases/general/constant_truncate.dart.weak.outline.expect b/pkg/front_end/testcases/general/constant_truncate.dart.weak.outline.expect
index 0dde286..ddc3a1d 100644
--- a/pkg/front_end/testcases/general/constant_truncate.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constant_truncate.dart.weak.outline.expect
@@ -2,42 +2,42 @@
import self as self;
import "dart:core" as core;
-static const field core::int* a0 = 0.{core::num::~/}(0);
-static const field core::int* a1 = 0.0.{core::double::~/}(0);
-static const field core::int* a2 = 0.0.{core::double::unary-}().{core::double::~/}(0);
-static const field core::int* a3 = core::double::nan.{core::double::~/}(0);
-static const field core::int* a4 = core::double::infinity.{core::double::~/}(0);
-static const field core::int* a5 = core::double::negativeInfinity.{core::double::~/}(0);
-static const field core::int* b0 = 0.{core::num::~/}(0.0);
-static const field core::int* b1 = 0.0.{core::double::~/}(0.0);
-static const field core::int* b2 = 0.0.{core::double::unary-}().{core::double::~/}(0.0);
-static const field core::int* b3 = core::double::nan.{core::double::~/}(0.0);
-static const field core::int* b4 = core::double::infinity.{core::double::~/}(0.0);
-static const field core::int* b5 = core::double::negativeInfinity.{core::double::~/}(0.0);
-static const field core::int* c0 = 0.{core::num::~/}(0.0.{core::double::unary-}());
-static const field core::int* c1 = 0.0.{core::double::~/}(0.0.{core::double::unary-}());
-static const field core::int* c2 = 0.0.{core::double::unary-}().{core::double::~/}(0.0.{core::double::unary-}());
-static const field core::int* c3 = core::double::nan.{core::double::~/}(0.0.{core::double::unary-}());
-static const field core::int* c4 = core::double::infinity.{core::double::~/}(0.0.{core::double::unary-}());
-static const field core::int* c5 = core::double::negativeInfinity.{core::double::~/}(0.0.{core::double::unary-}());
-static const field core::int* d0 = 0.{core::num::~/}(core::double::nan);
-static const field core::int* d1 = 0.0.{core::double::~/}(core::double::nan);
-static const field core::int* d2 = 0.0.{core::double::unary-}().{core::double::~/}(core::double::nan);
-static const field core::int* d3 = core::double::nan.{core::double::~/}(core::double::nan);
-static const field core::int* d4 = core::double::infinity.{core::double::~/}(core::double::nan);
-static const field core::int* d5 = core::double::negativeInfinity.{core::double::~/}(core::double::nan);
-static const field core::int* e0 = 0.{core::num::~/}(core::double::infinity);
-static const field core::int* e1 = 0.0.{core::double::~/}(core::double::infinity);
-static const field core::int* e2 = 0.0.{core::double::unary-}().{core::double::~/}(core::double::infinity);
-static const field core::int* e3 = core::double::nan.{core::double::~/}(core::double::infinity);
-static const field core::int* e4 = core::double::infinity.{core::double::~/}(core::double::infinity);
-static const field core::int* e5 = core::double::negativeInfinity.{core::double::~/}(core::double::infinity);
-static const field core::int* f0 = 0.{core::num::~/}(core::double::negativeInfinity);
-static const field core::int* f1 = 0.0.{core::double::~/}(core::double::negativeInfinity);
-static const field core::int* f2 = 0.0.{core::double::unary-}().{core::double::~/}(core::double::negativeInfinity);
-static const field core::int* f3 = core::double::nan.{core::double::~/}(core::double::negativeInfinity);
-static const field core::int* f4 = core::double::infinity.{core::double::~/}(core::double::negativeInfinity);
-static const field core::int* f5 = core::double::negativeInfinity.{core::double::~/}(core::double::negativeInfinity);
+static const field core::int* a0 = 0.{core::num::~/}(0){(core::num*) →* core::int*};
+static const field core::int* a1 = 0.0.{core::double::~/}(0){(core::num*) →* core::int*};
+static const field core::int* a2 = 0.0.{core::double::unary-}(){() →* core::double*}.{core::double::~/}(0){(core::num*) →* core::int*};
+static const field core::int* a3 = core::double::nan.{core::double::~/}(0){(core::num*) →* core::int*};
+static const field core::int* a4 = core::double::infinity.{core::double::~/}(0){(core::num*) →* core::int*};
+static const field core::int* a5 = core::double::negativeInfinity.{core::double::~/}(0){(core::num*) →* core::int*};
+static const field core::int* b0 = 0.{core::num::~/}(0.0){(core::num*) →* core::int*};
+static const field core::int* b1 = 0.0.{core::double::~/}(0.0){(core::num*) →* core::int*};
+static const field core::int* b2 = 0.0.{core::double::unary-}(){() →* core::double*}.{core::double::~/}(0.0){(core::num*) →* core::int*};
+static const field core::int* b3 = core::double::nan.{core::double::~/}(0.0){(core::num*) →* core::int*};
+static const field core::int* b4 = core::double::infinity.{core::double::~/}(0.0){(core::num*) →* core::int*};
+static const field core::int* b5 = core::double::negativeInfinity.{core::double::~/}(0.0){(core::num*) →* core::int*};
+static const field core::int* c0 = 0.{core::num::~/}(0.0.{core::double::unary-}(){() →* core::double*}){(core::num*) →* core::int*};
+static const field core::int* c1 = 0.0.{core::double::~/}(0.0.{core::double::unary-}(){() →* core::double*}){(core::num*) →* core::int*};
+static const field core::int* c2 = 0.0.{core::double::unary-}(){() →* core::double*}.{core::double::~/}(0.0.{core::double::unary-}(){() →* core::double*}){(core::num*) →* core::int*};
+static const field core::int* c3 = core::double::nan.{core::double::~/}(0.0.{core::double::unary-}(){() →* core::double*}){(core::num*) →* core::int*};
+static const field core::int* c4 = core::double::infinity.{core::double::~/}(0.0.{core::double::unary-}(){() →* core::double*}){(core::num*) →* core::int*};
+static const field core::int* c5 = core::double::negativeInfinity.{core::double::~/}(0.0.{core::double::unary-}(){() →* core::double*}){(core::num*) →* core::int*};
+static const field core::int* d0 = 0.{core::num::~/}(core::double::nan){(core::num*) →* core::int*};
+static const field core::int* d1 = 0.0.{core::double::~/}(core::double::nan){(core::num*) →* core::int*};
+static const field core::int* d2 = 0.0.{core::double::unary-}(){() →* core::double*}.{core::double::~/}(core::double::nan){(core::num*) →* core::int*};
+static const field core::int* d3 = core::double::nan.{core::double::~/}(core::double::nan){(core::num*) →* core::int*};
+static const field core::int* d4 = core::double::infinity.{core::double::~/}(core::double::nan){(core::num*) →* core::int*};
+static const field core::int* d5 = core::double::negativeInfinity.{core::double::~/}(core::double::nan){(core::num*) →* core::int*};
+static const field core::int* e0 = 0.{core::num::~/}(core::double::infinity){(core::num*) →* core::int*};
+static const field core::int* e1 = 0.0.{core::double::~/}(core::double::infinity){(core::num*) →* core::int*};
+static const field core::int* e2 = 0.0.{core::double::unary-}(){() →* core::double*}.{core::double::~/}(core::double::infinity){(core::num*) →* core::int*};
+static const field core::int* e3 = core::double::nan.{core::double::~/}(core::double::infinity){(core::num*) →* core::int*};
+static const field core::int* e4 = core::double::infinity.{core::double::~/}(core::double::infinity){(core::num*) →* core::int*};
+static const field core::int* e5 = core::double::negativeInfinity.{core::double::~/}(core::double::infinity){(core::num*) →* core::int*};
+static const field core::int* f0 = 0.{core::num::~/}(core::double::negativeInfinity){(core::num*) →* core::int*};
+static const field core::int* f1 = 0.0.{core::double::~/}(core::double::negativeInfinity){(core::num*) →* core::int*};
+static const field core::int* f2 = 0.0.{core::double::unary-}(){() →* core::double*}.{core::double::~/}(core::double::negativeInfinity){(core::num*) →* core::int*};
+static const field core::int* f3 = core::double::nan.{core::double::~/}(core::double::negativeInfinity){(core::num*) →* core::int*};
+static const field core::int* f4 = core::double::infinity.{core::double::~/}(core::double::negativeInfinity){(core::num*) →* core::int*};
+static const field core::int* f5 = core::double::negativeInfinity.{core::double::~/}(core::double::negativeInfinity){(core::num*) →* core::int*};
static method main() → dynamic
;
static method test(core::num* a, core::num* b, () →* core::num* f) → void
@@ -49,27 +49,27 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:7:12 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:7:12 -> DoubleConstant(-0.0)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:8:19 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:9:19 -> DoubleConstant(Infinity)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:10:19 -> DoubleConstant(-Infinity)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:14:12 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:14:12 -> DoubleConstant(-0.0)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:15:19 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:16:19 -> DoubleConstant(Infinity)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:17:19 -> DoubleConstant(-Infinity)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:19:17 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:20:19 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:21:12 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:21:20 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:19:17 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:20:19 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:21:12 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:21:20 -> DoubleConstant(-0.0)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:22:19 -> DoubleConstant(NaN)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:22:26 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:22:26 -> DoubleConstant(-0.0)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:23:19 -> DoubleConstant(Infinity)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:23:31 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:23:31 -> DoubleConstant(-0.0)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:24:19 -> DoubleConstant(-Infinity)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:24:39 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:24:39 -> DoubleConstant(-0.0)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:26:24 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:27:26 -> DoubleConstant(NaN)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:28:12 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:28:12 -> DoubleConstant(-0.0)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:28:27 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:29:19 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:29:33 -> DoubleConstant(NaN)
@@ -77,18 +77,18 @@
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:30:38 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:31:19 -> DoubleConstant(-Infinity)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:31:46 -> DoubleConstant(NaN)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:33:14 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:34:16 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:35:17 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:33:14 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:34:16 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:35:17 -> IntConstant(0)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:36:19 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:36:33 -> DoubleConstant(Infinity)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:37:19 -> DoubleConstant(Infinity)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:37:38 -> DoubleConstant(Infinity)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:38:19 -> DoubleConstant(-Infinity)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:38:46 -> DoubleConstant(Infinity)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:40:14 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:41:16 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:42:17 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:40:14 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:41:16 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:42:17 -> IntConstant(0)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:43:19 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:43:33 -> DoubleConstant(-Infinity)
Evaluated: StaticGet @ org-dartlang-testcase:///constant_truncate.dart:44:19 -> DoubleConstant(Infinity)
diff --git a/pkg/front_end/testcases/general/constant_truncate.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constant_truncate.dart.weak.transformed.expect
index dc0d52e..5bb1e01 100644
--- a/pkg/front_end/testcases/general/constant_truncate.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constant_truncate.dart.weak.transformed.expect
@@ -344,37 +344,37 @@
static method main() → dynamic {
self::test(0, 0, () → core::int* => invalid-expression "Binary operator '~/' on '0' requires non-zero divisor, but divisor was '0'.");
self::test(0.0, 0, () → core::int* => invalid-expression "Binary operator '~/' on '0.0' requires non-zero divisor, but divisor was '0'.");
- self::test(0.0.{core::double::unary-}(), 0, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, 0, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
self::test(#C2, 0, () → core::int* => invalid-expression "Binary operator '~/' on 'NaN' requires non-zero divisor, but divisor was '0'.");
self::test(#C3, 0, () → core::int* => invalid-expression "Binary operator '~/' on 'Infinity' requires non-zero divisor, but divisor was '0'.");
self::test(#C4, 0, () → core::int* => invalid-expression "Binary operator '~/' on '-Infinity' requires non-zero divisor, but divisor was '0'.");
self::test(0, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '0' requires non-zero divisor, but divisor was '0'.");
self::test(0.0, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '0.0' requires non-zero divisor, but divisor was '0'.");
- self::test(0.0.{core::double::unary-}(), 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
self::test(#C2, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on 'NaN' requires non-zero divisor, but divisor was '0'.");
self::test(#C3, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on 'Infinity' requires non-zero divisor, but divisor was '0'.");
self::test(#C4, 0.0, () → core::int* => invalid-expression "Binary operator '~/' on '-Infinity' requires non-zero divisor, but divisor was '0'.");
- self::test(0, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on '0' requires non-zero divisor, but divisor was '0'.");
- self::test(0.0, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on '0.0' requires non-zero divisor, but divisor was '0'.");
- self::test(0.0.{core::double::unary-}(), 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
- self::test(#C2, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on 'NaN' requires non-zero divisor, but divisor was '0'.");
- self::test(#C3, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on 'Infinity' requires non-zero divisor, but divisor was '0'.");
- self::test(#C4, 0.0.{core::double::unary-}(), () → core::int* => invalid-expression "Binary operator '~/' on '-Infinity' requires non-zero divisor, but divisor was '0'.");
+ self::test(0, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on '0' requires non-zero divisor, but divisor was '0'.");
+ self::test(0.0, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on '0.0' requires non-zero divisor, but divisor was '0'.");
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on '-0.0' requires non-zero divisor, but divisor was '0'.");
+ self::test(#C2, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on 'NaN' requires non-zero divisor, but divisor was '0'.");
+ self::test(#C3, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on 'Infinity' requires non-zero divisor, but divisor was '0'.");
+ self::test(#C4, 0.0.{core::double::unary-}(){() →* core::double*}, () → core::int* => invalid-expression "Binary operator '~/' on '-Infinity' requires non-zero divisor, but divisor was '0'.");
self::test(0, #C2, () → core::int* => invalid-expression "Binary operator '0 ~/ NaN' results is Infinity or NaN.");
self::test(0.0, #C2, () → core::int* => invalid-expression "Binary operator '0.0 ~/ NaN' results is Infinity or NaN.");
- self::test(0.0.{core::double::unary-}(), #C2, () → core::int* => invalid-expression "Binary operator '-0.0 ~/ NaN' results is Infinity or NaN.");
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, #C2, () → core::int* => invalid-expression "Binary operator '-0.0 ~/ NaN' results is Infinity or NaN.");
self::test(#C2, #C2, () → core::int* => invalid-expression "Binary operator 'NaN ~/ NaN' results is Infinity or NaN.");
self::test(#C3, #C2, () → core::int* => invalid-expression "Binary operator 'Infinity ~/ NaN' results is Infinity or NaN.");
self::test(#C4, #C2, () → core::int* => invalid-expression "Binary operator '-Infinity ~/ NaN' results is Infinity or NaN.");
self::test(0, #C3, () → core::int* => #C1);
self::test(0.0, #C3, () → core::int* => #C1);
- self::test(0.0.{core::double::unary-}(), #C3, () → core::int* => #C1);
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, #C3, () → core::int* => #C1);
self::test(#C2, #C3, () → core::int* => invalid-expression "Binary operator 'NaN ~/ Infinity' results is Infinity or NaN.");
self::test(#C3, #C3, () → core::int* => invalid-expression "Binary operator 'Infinity ~/ Infinity' results is Infinity or NaN.");
self::test(#C4, #C3, () → core::int* => invalid-expression "Binary operator '-Infinity ~/ Infinity' results is Infinity or NaN.");
self::test(0, #C4, () → core::int* => #C1);
self::test(0.0, #C4, () → core::int* => #C1);
- self::test(0.0.{core::double::unary-}(), #C4, () → core::int* => #C1);
+ self::test(0.0.{core::double::unary-}(){() →* core::double*}, #C4, () → core::int* => #C1);
self::test(#C2, #C4, () → core::int* => invalid-expression "Binary operator 'NaN ~/ -Infinity' results is Infinity or NaN.");
self::test(#C3, #C4, () → core::int* => invalid-expression "Binary operator 'Infinity ~/ -Infinity' results is Infinity or NaN.");
self::test(#C4, #C4, () → core::int* => invalid-expression "Binary operator '-Infinity ~/ -Infinity' results is Infinity or NaN.");
@@ -382,7 +382,7 @@
static method test(core::num* a, core::num* b, () →* core::num* f) → void {
core::num* result;
try {
- result = a.{core::num::~/}(b);
+ result = a.{core::num::~/}(b){(core::num*) →* core::int*};
core::print("${a} ~/ ${b} = ${result}");
}
on dynamic catch(final dynamic e) {
@@ -390,16 +390,16 @@
self::throws(f);
return;
}
- self::expect(f.call(), result);
+ self::expect(f(){() →* core::num*}, result);
}
static method expect(dynamic expected, dynamic actual) → void {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual)) {
throw "Expected ${expected}, actual ${actual}";
}
}
static method throws(() →* core::num* f) → void {
try {
- f.call();
+ f(){() →* core::num*};
}
on dynamic catch(final dynamic e) {
return;
@@ -415,16 +415,16 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:50:8 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:57:8 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:62:11 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:63:13 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:64:8 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:64:14 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:65:20 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:66:25 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:67:33 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:71:8 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:78:8 -> DoubleConstant(-0.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///constant_truncate.dart:85:8 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:50:8 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:57:8 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:62:11 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:63:13 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:64:8 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:64:14 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:65:20 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:66:25 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:67:33 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:71:8 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:78:8 -> DoubleConstant(-0.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///constant_truncate.dart:85:8 -> DoubleConstant(-0.0)
Extra constant evaluation: evaluated: 115, effectively constant: 12
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.weak.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.expect
index adecbb6..d9ec24f 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.weak.expect
@@ -63,7 +63,7 @@
class Class2 extends core::Object /*hasConstConstructor*/ {
final field self::Class2* field;
const constructor •(core::int* value) → self::Class2*
- : self::Class2::field = value.{core::num::==}(0) ?{self::Class2*} null : #C3, super core::Object::•()
+ : self::Class2::field = value =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Class2*} null : #C3, 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
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect
index d30b1c7..9c83c85 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect
@@ -20,7 +20,7 @@
class Class2 extends core::Object /*hasConstConstructor*/ {
final field self::Class2* field;
const constructor •(core::int* value) → self::Class2*
- : self::Class2::field = value.{core::num::==}(0) ?{self::Class2*} null : const self::Class2::•(0), super core::Object::•()
+ : self::Class2::field = value =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Class2*} null : const self::Class2::•(0), 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
@@ -66,8 +66,8 @@
static const field core::int* a = self::b;
static const field core::int* b = self::a;
static const field core::int* c = self::d;
-static const field core::int* d = self::e.{core::num::+}(1);
-static const field core::int* e = self::d.{core::num::-}(1);
+static const field core::int* d = self::e.{core::num::+}(1){(core::num*) →* core::int*};
+static const field core::int* e = self::d.{core::num::-}(1){(core::num*) →* core::int*};
static const field self::Class1* c1_0 = const self::Class1::•();
static const field self::Class1* c1_1 = const self::Class1::•(c: null);
static const field self::Class1* c1_2 = const self::Class1::•();
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect
index adecbb6..d9ec24f 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect
@@ -63,7 +63,7 @@
class Class2 extends core::Object /*hasConstConstructor*/ {
final field self::Class2* field;
const constructor •(core::int* value) → self::Class2*
- : self::Class2::field = value.{core::num::==}(0) ?{self::Class2*} null : #C3, super core::Object::•()
+ : self::Class2::field = value =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{self::Class2*} null : #C3, 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
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect
index a438075..606314d 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect
@@ -127,13 +127,13 @@
class Foo extends core::Object /*hasConstConstructor*/ {
final field core::int* x;
const constructor •(core::int* x) → self::Foo*
- : self::Foo::x = x, assert(x.{core::num::>}(0), "x is not positive"), assert(x.{core::num::>}(0)), assert(x.{core::num::>}(0), ""), assert((#C1).{core::Object::==}(false), "foo was ${#C1}"), assert((#C1).{core::Object::==}(false)), super core::Object::•()
+ : self::Foo::x = x, assert(x.{core::num::>}(0){(core::num*) →* core::bool*}, "x is not positive"), assert(x.{core::num::>}(0){(core::num*) →* core::bool*}), assert(x.{core::num::>}(0){(core::num*) →* core::bool*}, ""), assert((#C1) =={core::Object::==}{(core::Object*) →* core::bool*} false, "foo was ${#C1}"), assert((#C1) =={core::Object::==}{(core::Object*) →* core::bool*} false), super core::Object::•()
;
const constructor withMessage(core::int* x) → self::Foo*
- : self::Foo::x = x, assert(x.{core::num::<}(0), "btw foo was ${#C1}"), super core::Object::•()
+ : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, "btw foo was ${#C1}"), super core::Object::•()
;
const constructor withInvalidMessage(core::int* x) → self::Foo*
- : self::Foo::x = x, assert(x.{core::num::<}(0), x), super core::Object::•()
+ : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, x), super core::Object::•()
;
const constructor withInvalidCondition(core::int* x) → self::Foo*
: self::Foo::x = x, assert(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
@@ -160,13 +160,13 @@
class Bar extends core::Object /*hasConstConstructor*/ {
final field core::int* x;
const constructor withMessage(core::int* x) → self::Bar*
- : self::Bar::x = x, assert(x.{core::num::<}(0), "x is not negative"), super core::Object::•()
+ : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, "x is not negative"), super core::Object::•()
;
const constructor withoutMessage(core::int* x) → self::Bar*
- : self::Bar::x = x, assert(x.{core::num::<}(0)), super core::Object::•()
+ : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}), super core::Object::•()
;
const constructor withEmptyMessage(core::int* x) → self::Bar*
- : self::Bar::x = x, assert(x.{core::num::<}(0)), super core::Object::•()
+ : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect
index 229b2bb..001ad6a 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect
@@ -17,13 +17,13 @@
class Foo extends core::Object /*hasConstConstructor*/ {
final field core::int* x;
const constructor •(core::int* x) → self::Foo*
- : self::Foo::x = x, assert(x.{core::num::>}(0), "x is not positive"), assert(x.{core::num::>}(0)), assert(x.{core::num::>}(0), ""), assert(const core::bool::fromEnvironment("foo").{core::Object::==}(false), "foo was ${const core::bool::fromEnvironment("foo")}"), assert(const core::bool::fromEnvironment("foo").{core::Object::==}(false)), super core::Object::•()
+ : self::Foo::x = x, assert(x.{core::num::>}(0){(core::num*) →* core::bool*}, "x is not positive"), assert(x.{core::num::>}(0){(core::num*) →* core::bool*}), assert(x.{core::num::>}(0){(core::num*) →* core::bool*}, ""), assert(const core::bool::fromEnvironment("foo") =={core::Object::==}{(core::Object*) →* core::bool*} false, "foo was ${const core::bool::fromEnvironment("foo")}"), assert(const core::bool::fromEnvironment("foo") =={core::Object::==}{(core::Object*) →* core::bool*} false), super core::Object::•()
;
const constructor withMessage(core::int* x) → self::Foo*
- : self::Foo::x = x, assert(x.{core::num::<}(0), "btw foo was ${const core::bool::fromEnvironment("foo")}"), super core::Object::•()
+ : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, "btw foo was ${const core::bool::fromEnvironment("foo")}"), super core::Object::•()
;
const constructor withInvalidMessage(core::int* x) → self::Foo*
- : self::Foo::x = x, assert(x.{core::num::<}(0), x), super core::Object::•()
+ : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, x), super core::Object::•()
;
const constructor withInvalidCondition(core::int* x) → self::Foo*
: self::Foo::x = x, assert(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
@@ -50,13 +50,13 @@
class Bar extends core::Object /*hasConstConstructor*/ {
final field core::int* x;
const constructor withMessage(core::int* x) → self::Bar*
- : self::Bar::x = x, assert(x.{core::num::<}(0), "x is not negative"), super core::Object::•()
+ : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, "x is not negative"), super core::Object::•()
;
const constructor withoutMessage(core::int* x) → self::Bar*
- : self::Bar::x = x, assert(x.{core::num::<}(0)), super core::Object::•()
+ : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}), super core::Object::•()
;
const constructor withEmptyMessage(core::int* x) → self::Bar*
- : self::Bar::x = x, assert(x.{core::num::<}(0)), super core::Object::•()
+ : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}), 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
@@ -87,9 +87,9 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_asserts.dart:11:50 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts.dart:11:50 -> BoolConstant(true)
Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:12:59 -> StringConstant("foo was false")
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_asserts.dart:13:50 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts.dart:13:50 -> BoolConstant(true)
Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:15:73 -> StringConstant("btw foo was false")
Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_asserts.dart:19:21 -> NullConstant(null)
Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_asserts.dart:21:22 -> NullConstant(null)
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect
index 286f81d..4dd3ed9 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect
@@ -127,13 +127,13 @@
class Foo extends core::Object /*hasConstConstructor*/ {
final field core::int* x;
const constructor •(core::int* x) → self::Foo*
- : self::Foo::x = x, assert(x.{core::num::>}(0), "x is not positive"), assert(x.{core::num::>}(0)), assert(x.{core::num::>}(0), ""), assert((#C1).{core::Object::==}(false), "foo was ${#C1}"), assert((#C1).{core::Object::==}(false)), super core::Object::•()
+ : self::Foo::x = x, assert(x.{core::num::>}(0){(core::num*) →* core::bool*}, "x is not positive"), assert(x.{core::num::>}(0){(core::num*) →* core::bool*}), assert(x.{core::num::>}(0){(core::num*) →* core::bool*}, ""), assert((#C1) =={core::Object::==}{(core::Object*) →* core::bool*} false, "foo was ${#C1}"), assert((#C1) =={core::Object::==}{(core::Object*) →* core::bool*} false), super core::Object::•()
;
const constructor withMessage(core::int* x) → self::Foo*
- : self::Foo::x = x, assert(x.{core::num::<}(0), "btw foo was ${#C1}"), super core::Object::•()
+ : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, "btw foo was ${#C1}"), super core::Object::•()
;
const constructor withInvalidMessage(core::int* x) → self::Foo*
- : self::Foo::x = x, assert(x.{core::num::<}(0), x), super core::Object::•()
+ : self::Foo::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, x), super core::Object::•()
;
const constructor withInvalidCondition(core::int* x) → self::Foo*
: self::Foo::x = x, assert(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/const_asserts.dart:17:51: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
@@ -160,13 +160,13 @@
class Bar extends core::Object /*hasConstConstructor*/ {
final field core::int* x;
const constructor withMessage(core::int* x) → self::Bar*
- : self::Bar::x = x, assert(x.{core::num::<}(0), "x is not negative"), super core::Object::•()
+ : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}, "x is not negative"), super core::Object::•()
;
const constructor withoutMessage(core::int* x) → self::Bar*
- : self::Bar::x = x, assert(x.{core::num::<}(0)), super core::Object::•()
+ : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}), super core::Object::•()
;
const constructor withEmptyMessage(core::int* x) → self::Bar*
- : self::Bar::x = x, assert(x.{core::num::<}(0)), super core::Object::•()
+ : self::Bar::x = x, assert(x.{core::num::<}(0){(core::num*) →* core::bool*}), 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
@@ -206,9 +206,9 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_asserts.dart:11:50 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts.dart:11:50 -> BoolConstant(true)
Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:12:59 -> StringConstant("foo was false")
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_asserts.dart:13:50 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///const_asserts.dart:13:50 -> BoolConstant(true)
Evaluated: StringConcatenation @ org-dartlang-testcase:///const_asserts.dart:15:73 -> StringConstant("btw foo was false")
Extra constant evaluation: evaluated: 34, effectively constant: 4
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect
index 8f4d7e0..b2ca3be 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect
@@ -220,7 +220,7 @@
: super col::IterableBase::•()
;
get iterator() → core::Iterator<core::int*>*
- return <core::int*>[].{core::Iterable::iterator};
+ return <core::int*>[].{core::Iterable::iterator}{core::Iterator<core::int*>*};
abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::cast::R*>*; -> core::Iterable::cast
abstract member-signature method followedBy(generic-covariant-impl core::Iterable<core::int*>* other) → core::Iterable<core::int*>*; -> core::Iterable::followedBy
abstract member-signature method map<T extends core::Object* = dynamic>((core::int*) →* self::ConstIterable::map::T* f) → core::Iterable<self::ConstIterable::map::T*>*; -> core::Iterable::map
@@ -264,7 +264,7 @@
: self::WithEquals::i = i, super core::Object::•()
;
operator ==(core::Object* o) → core::bool* {
- return o is self::WithEquals* && (o{self::WithEquals*} as self::WithEquals*).{self::WithEquals::i}.{core::num::==}(this.{self::WithEquals::i});
+ return o is self::WithEquals* && (o{self::WithEquals*} as self::WithEquals*).{self::WithEquals::i}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} this.{self::WithEquals::i}{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
@@ -281,7 +281,7 @@
: super col::IterableBase::•()
;
get iterator() → core::Iterator<core::String*>*
- return <core::String*>[].{core::Iterable::iterator};
+ return <core::String*>[].{core::Iterable::iterator}{core::Iterator<core::String*>*};
abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::cast::R*>*; -> core::Iterable::cast
abstract member-signature method followedBy(generic-covariant-impl core::Iterable<core::String*>* other) → core::Iterable<core::String*>*; -> core::Iterable::followedBy
abstract member-signature method map<T extends core::Object* = dynamic>((core::String*) →* self::CustomIterable::map::T* f) → core::Iterable<self::CustomIterable::map::T*>*; -> core::Iterable::map
@@ -402,7 +402,7 @@
static const field core::List<core::String*>* bar = #C10;
static field core::List<core::String*>* barAsVar = block {
final core::List<core::String*>* #t1 = core::List::of<core::String*>(#C8);
- #t1.{core::List::add}{Invariant}("!");
+ #t1.{core::List::add}("!"){(core::String*) →* void};
} =>#t1;
static const field core::List<core::String*>* barWithNullSpread = invalid-expression "Null value during constant evaluation.";
static const field core::List<core::String*>* barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
@@ -476,7 +476,7 @@
core::print(#C22);
core::print( block {
final core::Set<core::String*>* #t2 = col::LinkedHashSet::•<core::String*>();
- #t2.{core::Set::add}{Invariant}("hello");
+ #t2.{core::Set::add}("hello"){(core::String*) →* core::bool*};
} =>#t2);
core::print(#C26);
}
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect
index 8ae1da7..d20e229 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect
@@ -222,7 +222,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static const field core::int* fortyTwo = 42;
-static const field dynamic fortyTwoAsDynamic = (self::fortyTwo as dynamic).*(2).~/(2);
+static const field dynamic fortyTwoAsDynamic = (self::fortyTwo as dynamic){dynamic}.*(2){dynamic}.~/(2);
static const field core::List<core::String*>* nullList = null;
static const field core::List<core::String*>* foo = const <core::String*>["hello", "world"];
static const field core::List<core::String*>* bar = self::foo + const <core::String*>["!"];
@@ -240,7 +240,7 @@
static const field core::List<core::String*>* barWithCustomIterableSpread2 = self::bar + const self::CustomIterable::•();
static const field self::CustomIterable* customIterable = const self::CustomIterable::•();
static const field core::List<core::String*>* barWithCustomIterableSpread3 = self::bar + self::customIterable;
-static const field core::List<core::String*>* listConcat = const <core::String*>["Hello"].{core::List::+}(const <core::String*>["World"]);
+static const field core::List<core::String*>* listConcat = const <core::String*>["Hello"].{core::List::+}(const <core::String*>["World"]){(core::List<core::String*>*) →* core::List<core::String*>*};
static const field core::Set<core::String*>* nullSet = null;
static const field core::Set<core::String*>* baz = const <core::String*>{"hello", "world"};
static const field core::Set<core::String*>* qux = self::baz + const <core::String*>{"!"};
@@ -314,7 +314,7 @@
Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:136:4 -> InstanceConstant(const _Override{})
Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:140:4 -> InstanceConstant(const _Override{})
Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:144:4 -> InstanceConstant(const _Override{})
-Evaluated: MethodInvocation @ org-dartlang-testcase:///const_collections.dart:14:63 -> IntConstant(42)
+Evaluated: DynamicInvocation @ org-dartlang-testcase:///const_collections.dart:14:63 -> IntConstant(42)
Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:17:26 -> ListConstant(const <String*>["hello", "world"])
Evaluated: ListConcatenation @ org-dartlang-testcase:///const_collections.dart:19:26 -> ListConstant(const <String*>["hello", "world", "!"])
Evaluated: StaticGet @ org-dartlang-testcase:///const_collections.dart:22:44 -> ListConstant(const <String*>["hello", "world"])
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect
index 4f6649c..c154e68 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect
@@ -220,7 +220,7 @@
: super col::IterableBase::•()
;
get iterator() → core::Iterator<core::int*>*
- return core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator};
+ return core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator}{core::Iterator<core::int*>*};
abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::ConstIterable::cast::R*>*; -> core::Iterable::cast
abstract member-signature method followedBy(generic-covariant-impl core::Iterable<core::int*>* other) → core::Iterable<core::int*>*; -> core::Iterable::followedBy
abstract member-signature method map<T extends core::Object* = dynamic>((core::int*) →* self::ConstIterable::map::T* f) → core::Iterable<self::ConstIterable::map::T*>*; -> core::Iterable::map
@@ -264,7 +264,7 @@
: self::WithEquals::i = i, super core::Object::•()
;
operator ==(core::Object* o) → core::bool* {
- return o is self::WithEquals* && o{self::WithEquals*}.{self::WithEquals::i}.{core::num::==}(this.{self::WithEquals::i});
+ return o is self::WithEquals* && o{self::WithEquals*}.{self::WithEquals::i}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} this.{self::WithEquals::i}{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
@@ -281,7 +281,7 @@
: super col::IterableBase::•()
;
get iterator() → core::Iterator<core::String*>*
- return core::_GrowableList::•<core::String*>(0).{core::Iterable::iterator};
+ return core::_GrowableList::•<core::String*>(0).{core::Iterable::iterator}{core::Iterator<core::String*>*};
abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::CustomIterable::cast::R*>*; -> core::Iterable::cast
abstract member-signature method followedBy(generic-covariant-impl core::Iterable<core::String*>* other) → core::Iterable<core::String*>*; -> core::Iterable::followedBy
abstract member-signature method map<T extends core::Object* = dynamic>((core::String*) →* self::CustomIterable::map::T* f) → core::Iterable<self::CustomIterable::map::T*>*; -> core::Iterable::map
@@ -402,7 +402,7 @@
static const field core::List<core::String*>* bar = #C10;
static field core::List<core::String*>* barAsVar = block {
final core::List<core::String*>* #t1 = core::List::of<core::String*>(#C8);
- #t1.{core::List::add}{Invariant}("!");
+ #t1.{core::List::add}("!"){(core::String*) →* void};
} =>#t1;
static const field core::List<core::String*>* barWithNullSpread = invalid-expression "Null value during constant evaluation.";
static const field core::List<core::String*>* barWithIntSpread = invalid-expression "pkg/front_end/testcases/general/constants/const_collections.dart:23:51: Error: Unexpected type 'int' of a spread. Expected 'dynamic' or an Iterable.
@@ -476,7 +476,7 @@
core::print(#C22);
core::print( block {
final core::Set<core::String*>* #t2 = new col::_CompactLinkedHashSet::•<core::String*>();
- #t2.{core::Set::add}{Invariant}("hello");
+ #t2.{core::Set::add}("hello"){(core::String*) →* core::bool*};
} =>#t2);
core::print(#C26);
}
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect
index 6ea8c4e..be60587 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect
@@ -61,7 +61,7 @@
: con::Bar::baz = #C2, super core::Object::•()
;
const constructor named4(core::int* i) → con::Bar*
- : con::Bar::baz = i.{core::num::>}(0) ?{con2::Baz*} #C2 : #C2, super core::Object::•()
+ : con::Bar::baz = i.{core::num::>}(0){(core::num*) →* core::bool*} ?{con2::Baz*} #C2 : #C2, 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
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect
index ea2f79f..eabea4f 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect
@@ -59,7 +59,7 @@
: con::Bar::baz = const con2::Baz::named1(), super core::Object::•()
;
const constructor named4(core::int* i) → con::Bar*
- : con::Bar::baz = i.{core::num::>}(0) ?{con2::Baz*} const con2::Baz::named5() : const con2::Baz::named6(), super core::Object::•()
+ : con::Bar::baz = i.{core::num::>}(0){(core::num*) →* core::bool*} ?{con2::Baz*} const con2::Baz::named5() : const con2::Baz::named6(), 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
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect
index 6ea8c4e..be60587 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect
@@ -61,7 +61,7 @@
: con::Bar::baz = #C2, super core::Object::•()
;
const constructor named4(core::int* i) → con::Bar*
- : con::Bar::baz = i.{core::num::>}(0) ?{con2::Baz*} #C2 : #C2, super core::Object::•()
+ : con::Bar::baz = i.{core::num::>}(0){(core::num*) →* core::bool*} ?{con2::Baz*} #C2 : #C2, 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
diff --git a/pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect
index 83af03a..5840a2f 100644
--- a/pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect
@@ -14,72 +14,72 @@
import self as self;
import "dart:core" as core;
-static const field core::int shiftNegative1 = 2.{core::int::<<}(1.{core::int::unary-}());
-static const field core::int shiftNegative2 = 2.{core::int::>>>}(1.{core::int::unary-}());
-static const field core::int shiftNegative3 = 2.{core::int::>>}(1.{core::int::unary-}());
-static const field core::int modZero = 2.{core::num::%}(0);
+static const field core::int shiftNegative1 = 2.{core::int::<<}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
+static const field core::int shiftNegative2 = 2.{core::int::>>>}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
+static const field core::int shiftNegative3 = 2.{core::int::>>}(1.{core::int::unary-}(){() → core::int}){(core::int) → core::int};
+static const field core::int modZero = 2.{core::num::%}(0){(core::num) → core::int};
static const field core::int divZero = let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/constants/number_folds.dart:9:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
const int divZero = 2 / 0;
- ^" in 2.{core::num::/}(0) as{TypeError,ForNonNullableByDefault} core::int;
-static const field core::int intdivZero = 2.{core::num::~/}(0);
-static const field core::int unaryMinus = 2.{core::int::unary-}();
-static const field core::int unaryTilde = 2.{core::int::~}();
+ ^" in 2.{core::num::/}(0){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+static const field core::int intdivZero = 2.{core::num::~/}(0){(core::num) → core::int};
+static const field core::int unaryMinus = 2.{core::int::unary-}(){() → core::int};
+static const field core::int unaryTilde = 2.{core::int::~}(){() → core::int};
static const field core::int unaryPlus = invalid-expression "pkg/front_end/testcases/general/constants/number_folds.dart:13:23: Error: This couldn't be parsed.
const int unaryPlus = +2;
- ^".+(2) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
-static const field core::int binaryPlus = 40.{core::num::+}(2);
-static const field core::int binaryMinus = 44.{core::num::-}(2);
-static const field core::int binaryTimes = 21.{core::num::*}(2);
-static const field core::double binaryDiv = 84.{core::num::/}(2);
-static const field core::int binaryTildeDiv = 84.{core::num::~/}(2);
-static const field core::int binaryMod = 85.{core::num::%}(43);
-static const field core::int binaryOr = 32.{core::int::|}(10);
-static const field core::int binaryAnd = 63.{core::int::&}(106);
-static const field core::int binaryXor = 63.{core::int::^}(21);
-static const field core::int binaryShift1 = 21.{core::int::<<}(1);
-static const field core::int binaryShift2 = 84.{core::int::>>>}(1);
-static const field core::int binaryShift3 = 21.{core::int::>>>}(64);
-static const field core::int binaryShift4 = 84.{core::int::>>}(1);
-static const field core::bool binaryLess = 42.{core::num::<}(42);
-static const field core::bool binaryLessEqual = 42.{core::num::<=}(42);
-static const field core::bool binaryGreaterEqual = 42.{core::num::>=}(42);
-static const field core::bool binaryGreater = 42.{core::num::>}(42);
-static const field core::int doubleTruncateDiv = 84.2.{core::double::~/}(2);
-static const field core::int doubleTruncateDivZero = 84.2.{core::double::~/}(0);
+ ^"{dynamic}.+(2) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+static const field core::int binaryPlus = 40.{core::num::+}(2){(core::num) → core::int};
+static const field core::int binaryMinus = 44.{core::num::-}(2){(core::num) → core::int};
+static const field core::int binaryTimes = 21.{core::num::*}(2){(core::num) → core::int};
+static const field core::double binaryDiv = 84.{core::num::/}(2){(core::num) → core::double};
+static const field core::int binaryTildeDiv = 84.{core::num::~/}(2){(core::num) → core::int};
+static const field core::int binaryMod = 85.{core::num::%}(43){(core::num) → core::int};
+static const field core::int binaryOr = 32.{core::int::|}(10){(core::int) → core::int};
+static const field core::int binaryAnd = 63.{core::int::&}(106){(core::int) → core::int};
+static const field core::int binaryXor = 63.{core::int::^}(21){(core::int) → core::int};
+static const field core::int binaryShift1 = 21.{core::int::<<}(1){(core::int) → core::int};
+static const field core::int binaryShift2 = 84.{core::int::>>>}(1){(core::int) → core::int};
+static const field core::int binaryShift3 = 21.{core::int::>>>}(64){(core::int) → core::int};
+static const field core::int binaryShift4 = 84.{core::int::>>}(1){(core::int) → core::int};
+static const field core::bool binaryLess = 42.{core::num::<}(42){(core::num) → core::bool};
+static const field core::bool binaryLessEqual = 42.{core::num::<=}(42){(core::num) → core::bool};
+static const field core::bool binaryGreaterEqual = 42.{core::num::>=}(42){(core::num) → core::bool};
+static const field core::bool binaryGreater = 42.{core::num::>}(42){(core::num) → core::bool};
+static const field core::int doubleTruncateDiv = 84.2.{core::double::~/}(2){(core::num) → core::int};
+static const field core::int doubleTruncateDivZero = 84.2.{core::double::~/}(0){(core::num) → core::int};
static const field dynamic nil = null;
-static const field core::int doubleTruncateDivNull = 84.2.{core::double::~/}(self::nil as{TypeError,ForDynamic,ForNonNullableByDefault} core::num);
-static const field core::double doubleNan = 0.{core::num::/}(0);
-static const field core::int doubleTruncateDivNaN = 84.2.{core::double::~/}(self::doubleNan);
+static const field core::int doubleTruncateDivNull = 84.2.{core::double::~/}(self::nil as{TypeError,ForDynamic,ForNonNullableByDefault} core::num){(core::num) → core::int};
+static const field core::double doubleNan = 0.{core::num::/}(0){(core::num) → core::double};
+static const field core::int doubleTruncateDivNaN = 84.2.{core::double::~/}(self::doubleNan){(core::num) → core::int};
static method main() → dynamic
;
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:5:33 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:6:34 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:7:33 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:9:23 -> DoubleConstant(Infinity)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:11:24 -> IntConstant(-2)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:12:24 -> IntConstant(-3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:15:27 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:16:28 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:17:28 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:18:29 -> DoubleConstant(42.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:19:30 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:20:26 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:21:25 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:22:26 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:23:26 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:24:29 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:26:29 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:27:29 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:29:29 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:30:28 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:31:33 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:32:36 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:33:31 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:35:36 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:5:33 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:6:34 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:7:33 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:9:23 -> DoubleConstant(Infinity)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:11:24 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:12:24 -> IntConstant(-3)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:15:27 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:16:28 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:17:28 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:18:29 -> DoubleConstant(42.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:19:30 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:20:26 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:21:25 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:22:26 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:23:26 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:24:29 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:26:29 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:27:29 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:29:29 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:30:28 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:31:33 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:32:36 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:33:31 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:35:36 -> IntConstant(42)
Evaluated: AsExpression @ org-dartlang-testcase:///number_folds.dart:38:43 -> NullConstant(null)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds.dart:39:27 -> DoubleConstant(NaN)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds.dart:39:27 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///number_folds.dart:40:42 -> DoubleConstant(NaN)
Extra constant evaluation: evaluated: 39, effectively constant: 27
diff --git a/pkg/front_end/testcases/general/constants/number_folds_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/number_folds_opt_out.dart.weak.outline.expect
index df84569..d84f48c 100644
--- a/pkg/front_end/testcases/general/constants/number_folds_opt_out.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/number_folds_opt_out.dart.weak.outline.expect
@@ -14,64 +14,64 @@
import self as self;
import "dart:core" as core;
-static const field core::int* shiftNegative1 = 2.{core::int::<<}(1.{core::int::unary-}());
-static const field core::int* shiftNegative3 = 2.{core::int::>>}(1.{core::int::unary-}());
-static const field core::int* modZero = 2.{core::num::%}(0);
+static const field core::int* shiftNegative1 = 2.{core::int::<<}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* core::int*};
+static const field core::int* shiftNegative3 = 2.{core::int::>>}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* core::int*};
+static const field core::int* modZero = 2.{core::num::%}(0){(core::num*) →* core::int*};
static const field core::int* divZero = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/constants/number_folds_opt_out.dart:10:23: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
const int divZero = 2 / 0;
- ^" in 2.{core::num::/}(0) as{TypeError} core::int*;
-static const field core::int* intdivZero = 2.{core::num::~/}(0);
-static const field core::int* unaryMinus = 2.{core::int::unary-}();
-static const field core::int* unaryTilde = 2.{core::int::~}();
+ ^" in 2.{core::num::/}(0){(core::num*) →* core::double*} as{TypeError} core::int*;
+static const field core::int* intdivZero = 2.{core::num::~/}(0){(core::num*) →* core::int*};
+static const field core::int* unaryMinus = 2.{core::int::unary-}(){() →* core::int*};
+static const field core::int* unaryTilde = 2.{core::int::~}(){() →* core::int*};
static const field core::int* unaryPlus = invalid-expression "pkg/front_end/testcases/general/constants/number_folds_opt_out.dart:14:23: Error: This couldn't be parsed.
const int unaryPlus = +2;
- ^".+(2) as{TypeError,ForDynamic} core::int*;
-static const field core::int* binaryPlus = 40.{core::num::+}(2);
-static const field core::int* binaryMinus = 44.{core::num::-}(2);
-static const field core::int* binaryTimes = 21.{core::num::*}(2);
-static const field core::double* binaryDiv = 84.{core::num::/}(2);
-static const field core::int* binaryTildeDiv = 84.{core::num::~/}(2);
-static const field core::int* binaryMod = 85.{core::num::%}(43);
-static const field core::int* binaryOr = 32.{core::int::|}(10);
-static const field core::int* binaryAnd = 63.{core::int::&}(106);
-static const field core::int* binaryXor = 63.{core::int::^}(21);
-static const field core::int* binaryShift1 = 21.{core::int::<<}(1);
-static const field core::int* binaryShift4 = 84.{core::int::>>}(1);
-static const field core::bool* binaryLess = 42.{core::num::<}(42);
-static const field core::bool* binaryLessEqual = 42.{core::num::<=}(42);
-static const field core::bool* binaryGreaterEqual = 42.{core::num::>=}(42);
-static const field core::bool* binaryGreater = 42.{core::num::>}(42);
-static const field core::int* doubleTruncateDiv = 84.2.{core::double::~/}(2);
-static const field core::int* doubleTruncateDivZero = 84.2.{core::double::~/}(0);
-static const field core::int* doubleTruncateDivNull = 84.2.{core::double::~/}(null);
-static const field core::double* doubleNan = 0.{core::num::/}(0);
-static const field core::int* doubleTruncateDivNaN = 84.2.{core::double::~/}(self::doubleNan);
+ ^"{dynamic}.+(2) as{TypeError,ForDynamic} core::int*;
+static const field core::int* binaryPlus = 40.{core::num::+}(2){(core::num*) →* core::int*};
+static const field core::int* binaryMinus = 44.{core::num::-}(2){(core::num*) →* core::int*};
+static const field core::int* binaryTimes = 21.{core::num::*}(2){(core::num*) →* core::int*};
+static const field core::double* binaryDiv = 84.{core::num::/}(2){(core::num*) →* core::double*};
+static const field core::int* binaryTildeDiv = 84.{core::num::~/}(2){(core::num*) →* core::int*};
+static const field core::int* binaryMod = 85.{core::num::%}(43){(core::num*) →* core::int*};
+static const field core::int* binaryOr = 32.{core::int::|}(10){(core::int*) →* core::int*};
+static const field core::int* binaryAnd = 63.{core::int::&}(106){(core::int*) →* core::int*};
+static const field core::int* binaryXor = 63.{core::int::^}(21){(core::int*) →* core::int*};
+static const field core::int* binaryShift1 = 21.{core::int::<<}(1){(core::int*) →* core::int*};
+static const field core::int* binaryShift4 = 84.{core::int::>>}(1){(core::int*) →* core::int*};
+static const field core::bool* binaryLess = 42.{core::num::<}(42){(core::num*) →* core::bool*};
+static const field core::bool* binaryLessEqual = 42.{core::num::<=}(42){(core::num*) →* core::bool*};
+static const field core::bool* binaryGreaterEqual = 42.{core::num::>=}(42){(core::num*) →* core::bool*};
+static const field core::bool* binaryGreater = 42.{core::num::>}(42){(core::num*) →* core::bool*};
+static const field core::int* doubleTruncateDiv = 84.2.{core::double::~/}(2){(core::num*) →* core::int*};
+static const field core::int* doubleTruncateDivZero = 84.2.{core::double::~/}(0){(core::num*) →* core::int*};
+static const field core::int* doubleTruncateDivNull = 84.2.{core::double::~/}(null){(core::num*) →* core::int*};
+static const field core::double* doubleNan = 0.{core::num::/}(0){(core::num*) →* core::double*};
+static const field core::int* doubleTruncateDivNaN = 84.2.{core::double::~/}(self::doubleNan){(core::num*) →* core::int*};
static method main() → dynamic
;
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:7:33 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:8:33 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:10:23 -> DoubleConstant(Infinity)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:12:24 -> IntConstant(-2)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:13:24 -> IntConstant(-3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:16:27 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:17:28 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:18:28 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:19:29 -> DoubleConstant(42.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:20:30 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:21:26 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:22:25 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:23:26 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:24:26 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:25:29 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:27:29 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:28:28 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:29:33 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:30:36 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:31:31 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:33:36 -> IntConstant(42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:36:27 -> DoubleConstant(NaN)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:7:33 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:8:33 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:10:23 -> DoubleConstant(Infinity)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:12:24 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:13:24 -> IntConstant(-3)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:16:27 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:17:28 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:18:28 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:19:29 -> DoubleConstant(42.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:20:30 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:21:26 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:22:25 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:23:26 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:24:26 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:25:29 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:27:29 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:28:28 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:29:33 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:30:36 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:31:31 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:33:36 -> IntConstant(42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///number_folds_opt_out.dart:36:27 -> DoubleConstant(NaN)
Evaluated: StaticGet @ org-dartlang-testcase:///number_folds_opt_out.dart:37:42 -> DoubleConstant(NaN)
Extra constant evaluation: evaluated: 34, effectively constant: 23
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect
index f61a38d..10ad97d 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect
@@ -2,10 +2,10 @@
import self as self;
import "dart:core" as core;
-static const field core::int* foo = 42.{core::num::*}(42);
+static const field core::int* foo = 42.{core::num::*}(42){(core::num*) →* core::int*};
static const field core::String* bar = "hello ${const core::String::fromEnvironment("baz", defaultValue: "world")}!";
-static const field core::String* bar2 = "hello2 2".{core::String::+}(self::bar);
-static const field core::bool* baz = true && true && (false || true) && 42.{core::num::==}(21.{core::num::*}(4).{core::num::/}(2));
+static const field core::String* bar2 = "hello2 2".{core::String::+}(self::bar){(core::String*) →* core::String*};
+static const field core::bool* baz = true && true && (false || true) && 42 =={core::num::==}{(core::Object*) →* core::bool*} 21.{core::num::*}(4){(core::num*) →* core::int*}.{core::num::/}(2){(core::num*) →* core::double*};
static const field core::Symbol* blaSymbol = #_x;
static method main() → dynamic
;
@@ -14,9 +14,9 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///rudimentary_test_01.dart:5:20 -> IntConstant(1764)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///rudimentary_test_01.dart:5:20 -> IntConstant(1764)
Evaluated: StringConcatenation @ org-dartlang-testcase:///rudimentary_test_01.dart:6:18 -> StringConstant("hello 42!")
-Evaluated: MethodInvocation @ org-dartlang-testcase:///rudimentary_test_01.dart:8:35 -> StringConstant("hello2 2hello 42!")
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///rudimentary_test_01.dart:8:35 -> StringConstant("hello2 2hello 42!")
Evaluated: LogicalExpression @ org-dartlang-testcase:///rudimentary_test_01.dart:9:50 -> BoolConstant(true)
Evaluated: SymbolLiteral @ org-dartlang-testcase:///rudimentary_test_01.dart:10:19 -> SymbolConstant(#_x)
Extra constant evaluation: evaluated: 5, effectively constant: 5
diff --git a/pkg/front_end/testcases/general/constants/various.dart.weak.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.expect
index 6d3d9c5..8c8d29f 100644
--- a/pkg/front_end/testcases/general/constants/various.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constants/various.dart.weak.expect
@@ -363,7 +363,7 @@
final field core::int* x;
final field core::int* y;
const constructor •(core::int* x) → self::Foo*
- : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}, super core::Object::•()
+ : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}{core::int*}, 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
@@ -452,7 +452,7 @@
}
class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/ {
final field core::int* y = 1;
- final field dynamic z1 = this.{self::ConstClassWithFinalFields2::y};
+ final field dynamic z1 = this.{self::ConstClassWithFinalFields2::y}{core::int*};
final field core::int* z2 = self::x;
const constructor •() → self::ConstClassWithFinalFields2*
: super core::Object::•()
diff --git a/pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect
index 919d711..4722f57 100644
--- a/pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect
@@ -144,7 +144,7 @@
final field core::int* x;
final field core::int* y;
const constructor •(core::int* x) → self::Foo*
- : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}, super core::Object::•()
+ : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}{core::int*}, 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
@@ -230,7 +230,7 @@
}
class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/ {
final field core::int* y = 1;
- final field dynamic z1 = this.{self::ConstClassWithFinalFields2::y};
+ final field dynamic z1 = this.{self::ConstClassWithFinalFields2::y}{core::int*};
final field core::int* z2 = self::x;
const constructor •() → self::ConstClassWithFinalFields2*
: super core::Object::•()
@@ -251,8 +251,8 @@
static const field core::bool* barFromEnvOrNull = const core::bool::fromEnvironment("bar", defaultValue: null);
static const field core::bool* notBarFromEnvOrNull = !self::barFromEnvOrNull;
static const field core::bool* conditionalOnNull = self::barFromEnvOrNull ?{core::bool*} true : false;
-static const field core::bool* nullAwareOnNullTrue = let final core::bool* #t2 = self::barFromEnvOrNull in #t2.{core::Object::==}(null) ?{core::bool*} true : #t2;
-static const field core::bool* nullAwareOnNullFalse = let final core::bool* #t3 = self::barFromEnvOrNull in #t3.{core::Object::==}(null) ?{core::bool*} false : #t3;
+static const field core::bool* nullAwareOnNullTrue = let final core::bool* #t2 = self::barFromEnvOrNull in #t2 == null ?{core::bool*} true : #t2;
+static const field core::bool* nullAwareOnNullFalse = let final core::bool* #t3 = self::barFromEnvOrNull in #t3 == null ?{core::bool*} false : #t3;
static const field core::bool* andOnFalse = self::nullAwareOnNullFalse && self::nullAwareOnNullTrue;
static const field core::bool* andOnFalse2 = self::nullAwareOnNullTrue && self::nullAwareOnNullFalse;
static const field core::bool* andOnNull = self::barFromEnvOrNull && true;
@@ -281,25 +281,25 @@
static const field core::bool* bazFalseFromEnv = const core::bool::fromEnvironment("bazFalse");
static const field core::bool* trueBool = true;
static const field core::bool* falseBool = false;
-static const field core::bool* binaryOnBoolCaret = self::trueBool.{core::bool::^}(self::falseBool);
-static const field core::bool* binaryOnBoolAmpersand = self::trueBool.{core::bool::&}(self::falseBool);
-static const field core::bool* binaryOnBoolBar = self::trueBool.{core::bool::|}(self::falseBool);
-static const field core::bool* binaryOnBoolBar2 = self::falseBool.{core::bool::|}(self::trueBool);
+static const field core::bool* binaryOnBoolCaret = self::trueBool.{core::bool::^}(self::falseBool){(core::bool*) →* core::bool*};
+static const field core::bool* binaryOnBoolAmpersand = self::trueBool.{core::bool::&}(self::falseBool){(core::bool*) →* core::bool*};
+static const field core::bool* binaryOnBoolBar = self::trueBool.{core::bool::|}(self::falseBool){(core::bool*) →* core::bool*};
+static const field core::bool* binaryOnBoolBar2 = self::falseBool.{core::bool::|}(self::trueBool){(core::bool*) →* core::bool*};
static const field dynamic willBeDouble = const core::bool::fromEnvironment("foo") ?{core::num*} 42 : 42.42;
-static const field dynamic binaryOnDouble = self::willBeDouble.<<(2);
+static const field dynamic binaryOnDouble = self::willBeDouble{dynamic}.<<(2);
static const field dynamic willBeInt = const core::bool::fromEnvironment("foo") ?{core::num*} 42.42 : 42;
-static const field dynamic binaryOnIntWithDoubleBad = self::willBeInt.<<(self::willBeDouble);
-static const field dynamic binaryOnIntWithDoubleOK = self::willBeInt.+(self::willBeDouble);
-static const field dynamic binaryOnIntWithString = self::willBeInt.<<("hello");
+static const field dynamic binaryOnIntWithDoubleBad = self::willBeInt{dynamic}.<<(self::willBeDouble);
+static const field dynamic binaryOnIntWithDoubleOK = self::willBeInt{dynamic}.+(self::willBeDouble);
+static const field dynamic binaryOnIntWithString = self::willBeInt{dynamic}.<<("hello");
static const field dynamic willBeString = const core::bool::fromEnvironment("foo") ?{core::Object*} 42.42 : "hello";
-static const field dynamic binaryOnStringWithStringOK = self::willBeString.+(" world");
-static const field dynamic binaryOnStringWithInt = self::willBeString.+(self::willBeInt);
-static const field dynamic binaryOnStringWithStringBad = self::willBeString.-(" world");
+static const field dynamic binaryOnStringWithStringOK = self::willBeString{dynamic}.+(" world");
+static const field dynamic binaryOnStringWithInt = self::willBeString{dynamic}.+(self::willBeInt);
+static const field dynamic binaryOnStringWithStringBad = self::willBeString{dynamic}.-(" world");
static field core::int* x;
-static const field core::int* x1 = self::x = self::x.{core::num::-}(1);
-static const field core::int* x2 = self::x = self::x.{core::num::+}(1);
-static const field core::int* x3 = let final core::int* #t4 = self::x in let final core::int* #t5 = self::x = #t4.{core::num::-}(1) in #t4;
-static const field core::int* x4 = let final core::int* #t6 = self::x in let final core::int* #t7 = self::x = #t6.{core::num::+}(1) in #t6;
+static const field core::int* x1 = self::x = self::x.{core::num::-}(1){(core::num*) →* core::int*};
+static const field core::int* x2 = self::x = self::x.{core::num::+}(1){(core::num*) →* core::int*};
+static const field core::int* x3 = let final core::int* #t4 = self::x in let final core::int* #t5 = self::x = #t4.{core::num::-}(1){(core::num*) →* core::int*} in #t4;
+static const field core::int* x4 = let final core::int* #t6 = self::x in let final core::int* #t7 = self::x = #t6.{core::num::+}(1){(core::num*) →* core::int*} in #t6;
static const field core::int* y = 1;
static const field dynamic y1 = invalid-expression "pkg/front_end/testcases/general/constants/various.dart:82:14: Error: Setter not found: 'y'.
const y1 = --y;
@@ -322,7 +322,7 @@
static const field self::Foo* foo1 = const self::Foo::•(42);
static const field self::Foo* foo2 = const self::Foo::•(42);
static const field core::bool* foosIdentical = core::identical(self::foo1, self::foo2);
-static const field core::bool* foosEqual = self::foo1.{self::Foo::==}(self::foo2);
+static const field core::bool* foosEqual = self::foo1 =={self::Foo::==}{(dynamic) →* core::bool*} self::foo2;
static const field core::Symbol* barFoo = const _in::Symbol::•("Foo");
static const field core::Symbol* barFooEqual = const _in::Symbol::•("Foo=");
static const field core::Symbol* tripleShiftSymbol = const _in::Symbol::•(">>>");
@@ -344,11 +344,11 @@
static const field core::bool* zeroPointZeroIdentical = core::identical(0.0, 0.0);
static const field core::bool* zeroPointZeroIdenticalToZero = core::identical(0.0, 0);
static const field core::bool* zeroIdenticalToZeroPointZero = core::identical(0, 0.0);
-static const field core::bool* nanIdentical = core::identical(0.{core::num::/}(0), 0.{core::num::/}(0));
-static const field core::bool* zeroPointZeroEqual = 0.0.{core::num::==}(0.0);
-static const field core::bool* zeroPointZeroEqualToZero = 0.0.{core::num::==}(0);
-static const field core::bool* zeroEqualToZeroPointZero = 0.{core::num::==}(0.0);
-static const field core::bool* nanEqual = 0.{core::num::/}(0).{core::num::==}(0.{core::num::/}(0));
+static const field core::bool* nanIdentical = core::identical(0.{core::num::/}(0){(core::num*) →* core::double*}, 0.{core::num::/}(0){(core::num*) →* core::double*});
+static const field core::bool* zeroPointZeroEqual = 0.0 =={core::num::==}{(core::Object*) →* core::bool*} 0.0;
+static const field core::bool* zeroPointZeroEqualToZero = 0.0 =={core::num::==}{(core::Object*) →* core::bool*} 0;
+static const field core::bool* zeroEqualToZeroPointZero = 0 =={core::num::==}{(core::Object*) →* core::bool*} 0.0;
+static const field core::bool* nanEqual = 0.{core::num::/}(0){(core::num*) →* core::double*} =={core::num::==}{(core::Object*) →* core::bool*} 0.{core::num::/}(0){(core::num*) →* core::double*};
static const field dynamic willBecomeNull = const core::bool::fromEnvironment("foo") ?{<T extends core::Object* = dynamic>(T*) →* T*} self::id1 : null;
static const field (core::int*) →* core::int* willBecomeNullToo = (const core::bool::fromEnvironment("foo") ?{dynamic} self::id1<core::int*> : self::willBecomeNull) as{TypeError,ForDynamic} (core::int*) →* core::int*;
static const field (core::int*) →* core::int* partialInstantiation = (const core::bool::fromEnvironment("foo") ?{dynamic} self::willBecomeNull : self::id1<core::int*>) as{TypeError,ForDynamic} (core::int*) →* core::int*;
@@ -369,7 +369,7 @@
Extra constant evaluation status:
-Evaluated: PropertyGet @ org-dartlang-testcase:///various.dart:111:26 -> IntConstant(5)
+Evaluated: InstanceGet @ org-dartlang-testcase:///various.dart:111:26 -> IntConstant(5)
Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:6:31 -> BoolConstant(false)
Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:7:30 -> BoolConstant(false)
Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:9:11 -> NullConstant(null)
@@ -403,19 +403,19 @@
Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:49:41 -> StringConstant("42")
Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:53:35 -> BoolConstant(true)
Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:54:36 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:58:41 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:59:45 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:60:39 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:61:41 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:58:41 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:59:45 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:60:39 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///various.dart:61:41 -> BoolConstant(true)
Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:63:64 -> DoubleConstant(42.42)
Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:64:24 -> DoubleConstant(42.42)
Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:65:61 -> IntConstant(42)
Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:66:34 -> IntConstant(42)
Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:66:47 -> DoubleConstant(42.42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:67:43 -> DoubleConstant(84.42)
+Evaluated: DynamicInvocation @ org-dartlang-testcase:///various.dart:67:43 -> DoubleConstant(84.42)
Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:68:31 -> IntConstant(42)
Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:70:39 -> StringConstant("hello")
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:71:49 -> StringConstant("hello world")
+Evaluated: DynamicInvocation @ org-dartlang-testcase:///various.dart:71:49 -> StringConstant("hello world")
Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:72:31 -> StringConstant("hello")
Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:72:46 -> IntConstant(42)
Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:73:37 -> StringConstant("hello")
@@ -439,10 +439,10 @@
Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:188:38 -> BoolConstant(false)
Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:189:38 -> BoolConstant(false)
Evaluated: StaticInvocation @ org-dartlang-testcase:///various.dart:190:22 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:192:32 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:193:38 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:194:36 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///various.dart:195:24 -> BoolConstant(false)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:192:32 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:193:38 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:194:36 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///various.dart:195:24 -> BoolConstant(false)
Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:200:66 -> NullConstant(null)
Evaluated: AsExpression @ org-dartlang-testcase:///various.dart:203:39 -> NullConstant(null)
Evaluated: AsExpression @ org-dartlang-testcase:///various.dart:205:39 -> PartialInstantiationConstant(id1<int*>)
diff --git a/pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect
index 9b064ee..6998464 100644
--- a/pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect
@@ -363,7 +363,7 @@
final field core::int* x;
final field core::int* y;
const constructor •(core::int* x) → self::Foo*
- : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}, super core::Object::•()
+ : self::Foo::x = x, self::Foo::y = "hello".{core::String::length}{core::int*}, 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
@@ -452,7 +452,7 @@
}
class ConstClassWithFinalFields2 extends core::Object /*hasConstConstructor*/ {
final field core::int* y = 1;
- final field dynamic z1 = this.{self::ConstClassWithFinalFields2::y};
+ final field dynamic z1 = this.{self::ConstClassWithFinalFields2::y}{core::int*};
final field core::int* z2 = self::x;
const constructor •() → self::ConstClassWithFinalFields2*
: super core::Object::•()
@@ -626,7 +626,7 @@
}
Extra constant evaluation status:
-Evaluated: PropertyGet @ org-dartlang-testcase:///various.dart:111:26 -> IntConstant(5)
+Evaluated: InstanceGet @ org-dartlang-testcase:///various.dart:111:26 -> IntConstant(5)
Extra constant evaluation: evaluated: 12, effectively constant: 1
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.expect
index a95f0d2..8f994fa 100644
--- a/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.expect
@@ -39,9 +39,9 @@
;
}
static method main() → dynamic {
- dynamic x = new self::B::•<dynamic>().{self::A::x};
+ dynamic x = new self::B::•<dynamic>().{self::A::x}{self::_Y<dynamic>*};
if(!(x is self::_Y<Null>*)) {
- throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}}, but `_Y<Null>` expected";
+ throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type*}}, but `_Y<Null>` expected";
}
}
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.transformed.expect
index a95f0d2..8f994fa 100644
--- a/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.transformed.expect
@@ -39,9 +39,9 @@
;
}
static method main() → dynamic {
- dynamic x = new self::B::•<dynamic>().{self::A::x};
+ dynamic x = new self::B::•<dynamic>().{self::A::x}{self::_Y<dynamic>*};
if(!(x is self::_Y<Null>*)) {
- throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}}, but `_Y<Null>` expected";
+ throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type*}}, but `_Y<Null>` expected";
}
}
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect
index 5bac8eb..79f1595 100644
--- a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect
+++ b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect
@@ -79,9 +79,9 @@
}
static method main() → dynamic {
self::C1* c1 = new self::C1::•();
- c1.{self::C1::toString}();
+ c1.{self::C1::toString}(){() →* core::String*};
self::C2* c2 = new self::C2::•();
- c2.{self::C2::toString}();
+ c2.{self::C2::toString}(){() →* core::String*};
self::C3* c3 = new self::C3::•();
- c3.{self::C3::toString}();
+ c3.{self::C3::toString}(){() →* core::String*};
}
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.transformed.expect
index 3fbfe8f..69f8ec9 100644
--- a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.transformed.expect
@@ -79,9 +79,9 @@
}
static method main() → dynamic {
self::C1* c1 = new self::C1::•();
- c1.{self::C1::toString}();
+ c1.{self::C1::toString}(){() →* core::String*};
self::C2* c2 = new self::C2::•();
- c2.{self::C2::toString}();
+ c2.{self::C2::toString}(){() →* core::String*};
self::C3* c3 = new self::C3::•();
- c3.{self::C3::toString}();
+ c3.{self::C3::toString}(){() →* core::String*};
}
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.weak.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.weak.expect
index bc26325..4d5fd14 100644
--- a/pkg/front_end/testcases/general/control_flow_collection.dart.weak.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection.dart.weak.expect
@@ -7,61 +7,61 @@
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = <core::int*>[1];
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(2);
+ #t1.{core::List::add}(2){(core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(3);
+ #t1.{core::List::add}(3){(core::int*) →* void};
else
- #t1.{core::List::add}{Invariant}(1.{core::int::unary-}());
+ #t1.{core::List::add}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(4);
+ #t1.{core::List::add}(4){(core::int*) →* void};
for (core::int* i in <core::int*>[5, 6, 7])
- #t1.{core::List::add}{Invariant}(i);
+ #t1.{core::List::add}(i){(core::int*) →* void};
for (core::int* i in <core::int*>[8, 9, 10])
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(i);
- for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t1.{core::List::add}{Invariant}(i);
+ #t1.{core::List::add}(i){(core::int*) →* void};
+ for (core::int* i = 11; i.{core::num::<=}(14){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t1.{core::List::add}(i){(core::int*) →* void};
} =>#t1;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
- #t2.{core::Set::add}{Invariant}(1);
+ #t2.{core::Set::add}(1){(core::int*) →* core::bool*};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(2);
+ #t2.{core::Set::add}(2){(core::int*) →* core::bool*};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(3);
+ #t2.{core::Set::add}(3){(core::int*) →* core::bool*};
else
- #t2.{core::Set::add}{Invariant}(1.{core::int::unary-}());
+ #t2.{core::Set::add}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* core::bool*};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(4);
+ #t2.{core::Set::add}(4){(core::int*) →* core::bool*};
for (core::int* i in <core::int*>[5, 6, 7])
- #t2.{core::Set::add}{Invariant}(i);
+ #t2.{core::Set::add}(i){(core::int*) →* core::bool*};
for (core::int* i in <core::int*>[8, 9, 10])
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(i);
- for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t2.{core::Set::add}{Invariant}(i);
+ #t2.{core::Set::add}(i){(core::int*) →* core::bool*};
+ for (core::int* i = 11; i.{core::num::<=}(14){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t2.{core::Set::add}(i){(core::int*) →* core::bool*};
} =>#t2;
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);
+ #t3.{core::Map::[]=}(1, 1){(core::int*, core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}(2, 2);
+ #t3.{core::Map::[]=}(2, 2){(core::int*, core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}(3, 3);
+ #t3.{core::Map::[]=}(3, 3){(core::int*, core::int*) →* void};
else
- #t3.{core::Map::[]=}{Invariant}(1.{core::int::unary-}(), 1.{core::int::unary-}());
+ #t3.{core::Map::[]=}(1.{core::int::unary-}(){() →* core::int*}, 1.{core::int::unary-}(){() →* core::int*}){(core::int*, core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}(4, 4);
+ #t3.{core::Map::[]=}(4, 4){(core::int*, core::int*) →* void};
for (core::int* i in <core::int*>[5, 6, 7])
- #t3.{core::Map::[]=}{Invariant}(i, i);
+ #t3.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
for (core::int* i in <core::int*>[8, 9, 10])
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}(i, i);
- for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t3.{core::Map::[]=}{Invariant}(i, i);
+ #t3.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
+ for (core::int* i = 11; i.{core::num::<=}(14){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t3.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
} =>#t3;
core::print(aList);
core::print(aSet);
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.weak.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.weak.transformed.expect
index 2e4b07e..da68741 100644
--- a/pkg/front_end/testcases/general/control_flow_collection.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection.dart.weak.transformed.expect
@@ -7,19 +7,19 @@
final core::List<core::int*>* aList = block {
final core::List<core::int*>* #t1 = core::_GrowableList::_literal1<core::int*>(1);
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(2);
+ #t1.{core::List::add}(2){(core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(3);
+ #t1.{core::List::add}(3){(core::int*) →* void};
else
- #t1.{core::List::add}{Invariant}(1.{core::int::unary-}());
+ #t1.{core::List::add}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(4);
+ #t1.{core::List::add}(4){(core::int*) →* void};
{
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(5, 6, 7).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::List::add}{Invariant}(i);
+ #t1.{core::List::add}(i){(core::int*) →* void};
}
}
{
@@ -27,29 +27,29 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(i);
+ #t1.{core::List::add}(i){(core::int*) →* void};
}
}
- for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t1.{core::List::add}{Invariant}(i);
+ for (core::int* i = 11; i.{core::num::<=}(14){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t1.{core::List::add}(i){(core::int*) →* void};
} =>#t1;
final core::Set<core::int*>* aSet = block {
final core::Set<core::int*>* #t2 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t2.{core::Set::add}{Invariant}(1);
+ #t2.{core::Set::add}(1){(core::int*) →* core::bool*};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(2);
+ #t2.{core::Set::add}(2){(core::int*) →* core::bool*};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(3);
+ #t2.{core::Set::add}(3){(core::int*) →* core::bool*};
else
- #t2.{core::Set::add}{Invariant}(1.{core::int::unary-}());
+ #t2.{core::Set::add}(1.{core::int::unary-}(){() →* core::int*}){(core::int*) →* core::bool*};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(4);
+ #t2.{core::Set::add}(4){(core::int*) →* core::bool*};
{
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(5, 6, 7).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t2.{core::Set::add}{Invariant}(i);
+ #t2.{core::Set::add}(i){(core::int*) →* core::bool*};
}
}
{
@@ -57,29 +57,29 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(i);
+ #t2.{core::Set::add}(i){(core::int*) →* core::bool*};
}
}
- for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t2.{core::Set::add}{Invariant}(i);
+ for (core::int* i = 11; i.{core::num::<=}(14){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t2.{core::Set::add}(i){(core::int*) →* core::bool*};
} =>#t2;
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);
+ #t3.{core::Map::[]=}(1, 1){(core::int*, core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}(2, 2);
+ #t3.{core::Map::[]=}(2, 2){(core::int*, core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}(3, 3);
+ #t3.{core::Map::[]=}(3, 3){(core::int*, core::int*) →* void};
else
- #t3.{core::Map::[]=}{Invariant}(1.{core::int::unary-}(), 1.{core::int::unary-}());
+ #t3.{core::Map::[]=}(1.{core::int::unary-}(){() →* core::int*}, 1.{core::int::unary-}(){() →* core::int*}){(core::int*, core::int*) →* void};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}(4, 4);
+ #t3.{core::Map::[]=}(4, 4){(core::int*, core::int*) →* void};
{
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(5, 6, 7).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Map::[]=}{Invariant}(i, i);
+ #t3.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
}
}
{
@@ -87,11 +87,11 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}(i, i);
+ #t3.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
}
}
- for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
- #t3.{core::Map::[]=}{Invariant}(i, i);
+ for (core::int* i = 11; i.{core::num::<=}(14){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t3.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
} =>#t3;
core::print(aList);
core::print(aSet);
@@ -102,8 +102,8 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///control_flow_collection.dart:9:26 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///control_flow_collection.dart:18:26 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///control_flow_collection.dart:27:29 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///control_flow_collection.dart:27:33 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///control_flow_collection.dart:9:26 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///control_flow_collection.dart:18:26 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///control_flow_collection.dart:27:29 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///control_flow_collection.dart:27:33 -> IntConstant(-1)
Extra constant evaluation: evaluated: 158, effectively constant: 4
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
index 589ee22..10cef52 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
@@ -454,181 +454,181 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t1 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(42);
+ #t1.{core::List::add}(42){(core::int*) →* void};
} =>#t1;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(42);
- #t2.{core::Set::add}{Invariant}(null);
+ #t2.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t2;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t3 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}("bar", 42);
- #t3.{core::Map::[]=}{Invariant}("baz", null);
+ #t3.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
+ #t3.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t3;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t4 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t4.{core::List::add}{Invariant}(dynVar);
+ #t4.{core::List::add}(dynVar){(dynamic) →* void};
} =>#t4;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t5 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t5.{core::Set::add}{Invariant}(dynVar);
- #t5.{core::Set::add}{Invariant}(null);
+ #t5.{core::Set::add}(dynVar){(dynamic) →* core::bool*};
+ #t5.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t5;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t6 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t6.{core::Map::[]=}{Invariant}("bar", dynVar);
- #t6.{core::Map::[]=}{Invariant}("baz", null);
+ #t6.{core::Map::[]=}("bar", dynVar){(core::String*, dynamic) →* void};
+ #t6.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t6;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t7 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t7.{core::List::add}{Invariant}(<core::int*>[42]);
+ #t7.{core::List::add}(<core::int*>[42]){(core::List<core::int*>*) →* void};
} =>#t7;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t8 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t8.{core::Set::add}{Invariant}(<core::int*>[42]);
- #t8.{core::Set::add}{Invariant}(null);
+ #t8.{core::Set::add}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
+ #t8.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t8;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t9 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t9.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
- #t9.{core::Map::[]=}{Invariant}("baz", null);
+ #t9.{core::Map::[]=}("bar", <core::int*>[42]){(core::String*, core::List<core::int*>*) →* void};
+ #t9.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t9;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t10 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t10.{core::List::addAll}{Invariant}(<core::int*>[42]);
+ #t10.{core::List::addAll}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
} =>#t10;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t11 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t11.{core::Set::addAll}{Invariant}(<core::int*>[42]);
- #t11.{core::Set::add}{Invariant}(null);
+ #t11.{core::Set::addAll}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+ #t11.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t11;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t12 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t13 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
- #t12.{core::Map::[]=}{Invariant}("baz", null);
+ #t12.{core::Map::[]=}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t12.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t12;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t14 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t14.{core::List::addAll}{Invariant}(<dynamic>[dynVar]);
+ #t14.{core::List::addAll}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
} =>#t14;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t15 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t15.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]);
- #t15.{core::Set::add}{Invariant}(null);
+ #t15.{core::Set::addAll}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+ #t15.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t15;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t16 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, dynamic>* #t17 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
- #t16.{core::Map::[]=}{Invariant}("baz", null);
+ #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value}){(core::String*, dynamic) →* void};
+ #t16.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t16;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t18 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t18.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]);
+ #t18.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t18;
core::Set<core::List<core::int*>*>* set22 = block {
final core::Set<core::List<core::int*>*>* #t19 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t19.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]);
- #t19.{core::Set::add}{Invariant}(null);
+ #t19.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t19.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t19;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t20 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t21 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
- #t20.{core::Map::[]=}{Invariant}("baz", null);
+ #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t20.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t20;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t22 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t22.{core::List::addAll}{Invariant}(<core::int*>[42]);
+ #t22.{core::List::addAll}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
} =>#t22;
core::Set<core::int*>* set30 = block {
final core::Set<core::int*>* #t23 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t23.{core::Set::addAll}{Invariant}(<core::int*>[42]);
- #t23.{core::Set::add}{Invariant}(null);
+ #t23.{core::Set::addAll}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+ #t23.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t23;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t24 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t25 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
- #t24.{core::Map::[]=}{Invariant}("baz", null);
+ #t24.{core::Map::[]=}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t24.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t24;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t26 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t26.{core::List::addAll}{Invariant}(<dynamic>[dynVar]);
+ #t26.{core::List::addAll}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
} =>#t26;
core::Set<dynamic>* set31 = block {
final core::Set<dynamic>* #t27 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t27.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]);
- #t27.{core::Set::add}{Invariant}(null);
+ #t27.{core::Set::addAll}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+ #t27.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t27;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t28 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, dynamic>* #t29 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t28.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value});
- #t28.{core::Map::[]=}{Invariant}("baz", null);
+ #t28.{core::Map::[]=}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value}){(core::String*, dynamic) →* void};
+ #t28.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t28;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t30 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t30.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]);
+ #t30.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t30;
core::Set<core::List<core::int*>*>* set33 = block {
final core::Set<core::List<core::int*>*>* #t31 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t31.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]);
- #t31.{core::Set::add}{Invariant}(null);
+ #t31.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t31.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t31;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t32 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
- #t32.{core::Map::[]=}{Invariant}("baz", null);
+ #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t32.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t32;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t34 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t34.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
+ #t34.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t34;
core::Set<core::List<core::int*>*>* set40 = block {
final core::Set<core::List<core::int*>*>* #t35 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t35.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
- #t35.{core::Set::add}{Invariant}(null);
+ #t35.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t35.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t35;
core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:39:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
@@ -636,279 +636,279 @@
core::List<core::List<core::int*>*>* list41 = block {
final core::List<core::List<core::int*>*>* #t36 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t36.{core::List::addAll}{Invariant}( block {
+ #t36.{core::List::addAll}( block {
final core::Set<core::List<core::int*>*>* #t37 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t37.{core::Set::add}{Invariant}(<core::int*>[]);
- } =>#t37);
+ #t37.{core::Set::add}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+ } =>#t37){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t36;
core::Set<core::List<core::int*>*>* set41 = block {
final core::Set<core::List<core::int*>*>* #t38 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t38.{core::Set::addAll}{Invariant}( block {
+ #t38.{core::Set::addAll}( block {
final core::Set<core::List<core::int*>*>* #t39 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t39.{core::Set::add}{Invariant}(<core::int*>[]);
- } =>#t39);
- #t38.{core::Set::add}{Invariant}(null);
+ #t39.{core::Set::add}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+ } =>#t39){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t38.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t38;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t40 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t40.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
+ #t40.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t40;
core::Set<core::List<core::int*>*>* set42 = block {
final core::Set<core::List<core::int*>*>* #t41 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t41.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
- #t41.{core::Set::add}{Invariant}(null);
+ #t41.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t41.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t41;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t42 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
- #t42.{core::Map::[]=}{Invariant}("baz", null);
+ #t42.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t42.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t42;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t44 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t44.{core::List::addAll}{Invariant}(<core::int*>[]);
+ #t44.{core::List::addAll}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
} =>#t44;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t45 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t45.{core::Set::addAll}{Invariant}(<core::int*>[]);
- #t45.{core::Set::add}{Invariant}(null);
+ #t45.{core::Set::addAll}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+ #t45.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t45;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t46 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t47 in <core::String*, core::int*>{}.{core::Map::entries})
- #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}, #t47.{core::MapEntry::value});
- #t46.{core::Map::[]=}{Invariant}("baz", null);
+ #t46.{core::Map::[]=}(#t47.{core::MapEntry::key}, #t47.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t46.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t46;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t48 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t48.{core::List::addAll}{Invariant}( block {
+ #t48.{core::List::addAll}( block {
final core::Set<core::int*>* #t49 = col::LinkedHashSet::•<core::int*>();
- } =>#t49);
+ } =>#t49){(core::Iterable<core::int*>*) →* void};
} =>#t48;
core::Set<core::int*>* set51 = block {
final core::Set<core::int*>* #t50 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t50.{core::Set::addAll}{Invariant}( block {
+ #t50.{core::Set::addAll}( block {
final core::Set<core::int*>* #t51 = col::LinkedHashSet::•<core::int*>();
- } =>#t51);
- #t50.{core::Set::add}{Invariant}(null);
+ } =>#t51){(core::Iterable<core::int*>*) →* void};
+ #t50.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t50;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t52 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t52.{core::List::addAll}{Invariant}(<core::int*>[]);
+ #t52.{core::List::addAll}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
} =>#t52;
core::Set<core::int*>* set52 = block {
final core::Set<core::int*>* #t53 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t53.{core::Set::addAll}{Invariant}(<core::int*>[]);
- #t53.{core::Set::add}{Invariant}(null);
+ #t53.{core::Set::addAll}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+ #t53.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t53;
core::Map<core::String*, core::int*>* map52 = block {
final core::Map<core::String*, core::int*>* #t54 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t55 in <core::String*, core::int*>{}.{core::Map::entries})
- #t54.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
- #t54.{core::Map::[]=}{Invariant}("baz", null);
+ #t54.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t54.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t54;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t56 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t56.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
+ #t56.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t56;
core::Set<core::List<core::int*>*>* set60 = block {
final core::Set<core::List<core::int*>*>* #t57 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t57.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
- #t57.{core::Set::add}{Invariant}(null);
+ #t57.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t57.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t57;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t58 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t59 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
- #t58.{core::Map::[]=}{Invariant}("baz", null);
+ #t58.{core::Map::[]=}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t58.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t58;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t60 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t60.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
+ #t60.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t60;
core::Set<core::List<core::int*>*>* set61 = block {
final core::Set<core::List<core::int*>*>* #t61 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t61.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
- #t61.{core::Set::add}{Invariant}(null);
+ #t61.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t61.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t61;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t62 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t63 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t62.{core::Map::[]=}{Invariant}(#t63.{core::MapEntry::key}, #t63.{core::MapEntry::value});
- #t62.{core::Map::[]=}{Invariant}("baz", null);
+ #t62.{core::Map::[]=}(#t63.{core::MapEntry::key}, #t63.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t62.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t62;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t64 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t64.{core::List::add}{Invariant}(<core::int*>[]);
+ #t64.{core::List::add}(<core::int*>[]){(core::List<core::int*>*) →* void};
} =>#t64;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t65 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t65.{core::Set::add}{Invariant}(<core::int*>[]);
- #t65.{core::Set::add}{Invariant}(null);
+ #t65.{core::Set::add}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+ #t65.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t65;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t66 = <core::List<core::int*>*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t66.{core::List::add}{Invariant}(<core::int*>[]);
+ #t66.{core::List::add}(<core::int*>[]){(core::List<core::int*>*) →* void};
} =>#t66;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t67 = col::LinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t67.{core::Set::add}{Invariant}(<core::int*>[]);
- #t67.{core::Set::add}{Invariant}(null);
+ #t67.{core::Set::add}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+ #t67.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t67;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t68 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t68.{core::List::add}{Invariant}(42);
+ #t68.{core::List::add}(42){(core::num*) →* void};
else
- #t68.{core::List::add}{Invariant}(3.14);
+ #t68.{core::List::add}(3.14){(core::num*) →* void};
} =>#t68;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t69 = col::LinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t69.{core::Set::add}{Invariant}(42);
+ #t69.{core::Set::add}(42){(core::num*) →* core::bool*};
else
- #t69.{core::Set::add}{Invariant}(3.14);
- #t69.{core::Set::add}{Invariant}(null);
+ #t69.{core::Set::add}(3.14){(core::num*) →* core::bool*};
+ #t69.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t69;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t70 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t70.{core::Map::[]=}{Invariant}("bar", 42);
+ #t70.{core::Map::[]=}("bar", 42){(core::String*, core::num*) →* void};
else
- #t70.{core::Map::[]=}{Invariant}("bar", 3.14);
- #t70.{core::Map::[]=}{Invariant}("baz", null);
+ #t70.{core::Map::[]=}("bar", 3.14){(core::String*, core::num*) →* void};
+ #t70.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t70;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t71 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t71.{core::List::addAll}{Invariant}(listInt);
+ #t71.{core::List::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t71.{core::List::addAll}{Invariant}(listDouble);
+ #t71.{core::List::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
} =>#t71;
core::Set<core::num*>* set81 = block {
final core::Set<core::num*>* #t72 = col::LinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t72.{core::Set::addAll}{Invariant}(listInt);
+ #t72.{core::Set::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t72.{core::Set::addAll}{Invariant}(listDouble);
- #t72.{core::Set::add}{Invariant}(null);
+ #t72.{core::Set::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
+ #t72.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t72;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t73 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t74 in mapToInt.{core::Map::entries})
- #t73.{core::Map::[]=}{Invariant}(#t74.{core::MapEntry::key}, #t74.{core::MapEntry::value});
+ #t73.{core::Map::[]=}(#t74.{core::MapEntry::key}, #t74.{core::MapEntry::value}){(core::String*, core::num*) →* void};
else
for (final core::MapEntry<core::String*, core::num*>* #t75 in mapToDouble.{core::Map::entries})
- #t73.{core::Map::[]=}{Invariant}(#t75.{core::MapEntry::key}, #t75.{core::MapEntry::value});
- #t73.{core::Map::[]=}{Invariant}("baz", null);
+ #t73.{core::Map::[]=}(#t75.{core::MapEntry::key}, #t75.{core::MapEntry::value}){(core::String*, core::num*) →* void};
+ #t73.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t73;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t76 = <dynamic>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t76.{core::List::addAll}{Invariant}(listInt);
+ #t76.{core::List::addAll}(listInt){(core::Iterable<dynamic>*) →* void};
else
- #t76.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+ #t76.{core::List::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
} =>#t76;
core::Set<dynamic>* set82 = block {
final core::Set<dynamic>* #t77 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t77.{core::Set::addAll}{Invariant}(listInt);
+ #t77.{core::Set::addAll}(listInt){(core::Iterable<dynamic>*) →* void};
else
- #t77.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
- #t77.{core::Set::add}{Invariant}(null);
+ #t77.{core::Set::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+ #t77.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t77;
core::Set<dynamic>* map82 = block {
final core::Set<dynamic>* #t78 = col::LinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t78.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t78.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
- ^");
+ ^"){(dynamic) →* core::bool*};
else
- #t78.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
- #t78.{core::Set::add}{Invariant}(null);
+ #t78.{core::Set::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+ #t78.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t78;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t79 = <core::num*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t79.{core::List::add}{Invariant}(42);
+ #t79.{core::List::add}(42){(core::num*) →* void};
else
- #t79.{core::List::addAll}{Invariant}(listDouble);
+ #t79.{core::List::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
} =>#t79;
core::Set<core::num*>* set83 = block {
final core::Set<core::num*>* #t80 = col::LinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t80.{core::Set::addAll}{Invariant}(listInt);
+ #t80.{core::Set::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t80.{core::Set::add}{Invariant}(3.14);
- #t80.{core::Set::add}{Invariant}(null);
+ #t80.{core::Set::add}(3.14){(core::num*) →* core::bool*};
+ #t80.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t80;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t81 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t82 in mapToInt.{core::Map::entries})
- #t81.{core::Map::[]=}{Invariant}(#t82.{core::MapEntry::key}, #t82.{core::MapEntry::value});
+ #t81.{core::Map::[]=}(#t82.{core::MapEntry::key}, #t82.{core::MapEntry::value}){(core::String*, core::num*) →* void};
else
- #t81.{core::Map::[]=}{Invariant}("bar", 3.14);
- #t81.{core::Map::[]=}{Invariant}("baz", null);
+ #t81.{core::Map::[]=}("bar", 3.14){(core::String*, core::num*) →* void};
+ #t81.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t81;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t83 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t83.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t83.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
} =>#t83;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t84 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t84.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
- #t84.{core::Set::add}{Invariant}(null);
+ #t84.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+ #t84.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t84;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t85 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t85.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t85.{core::Map::[]=}{Invariant}("baz", null);
+ #t85.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+ #t85.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t85;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t86 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t87 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t88 = #t87 as{TypeError} core::int*;
- #t86.{core::List::add}{Invariant}(#t88);
+ #t86.{core::List::add}(#t88){(core::int*) →* void};
}
} =>#t86;
core::Set<core::int*>* set91 = block {
@@ -916,9 +916,9 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
for (final dynamic #t90 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t91 = #t90 as{TypeError} core::int*;
- #t89.{core::Set::add}{Invariant}(#t91);
+ #t89.{core::Set::add}(#t91){(core::int*) →* core::bool*};
}
- #t89.{core::Set::add}{Invariant}(null);
+ #t89.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t89;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t92 = <core::String*, core::int*>{};
@@ -926,64 +926,64 @@
for (final core::MapEntry<dynamic, dynamic>* #t93 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::String* #t94 = #t93.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t95 = #t93.{core::MapEntry::value} as{TypeError} core::int*;
- #t92.{core::Map::[]=}{Invariant}(#t94, #t95);
+ #t92.{core::Map::[]=}(#t94, #t95){(core::String*, core::int*) →* void};
}
- #t92.{core::Map::[]=}{Invariant}("baz", null);
+ #t92.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t92;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t96 = <core::int*>[];
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t96.{core::List::add}{Invariant}(42);
+ #t96.{core::List::add}(42){(core::int*) →* void};
} =>#t96;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t97 = col::LinkedHashSet::•<core::int*>();
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t97.{core::Set::add}{Invariant}(42);
+ #t97.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t97;
core::Map<core::int*, core::int*>* map100 = block {
final core::Map<core::int*, core::int*>* #t98 = <core::int*, core::int*>{};
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t98.{core::Map::[]=}{Invariant}(42, 42);
+ #t98.{core::Map::[]=}(42, 42){(core::int*, core::int*) →* void};
} =>#t98;
}
static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
block {
final core::List<core::int*>* #t99 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t99.{core::List::add}{Invariant}(let final Never* #t100 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t99.{core::List::add}(let final Never* #t100 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) \"bar\"];
- ^" in "bar" as{TypeError} core::int*);
+ ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
} =>#t99;
block {
final core::Set<core::int*>* #t101 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t101.{core::Set::add}{Invariant}(let final Never* #t102 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t101.{core::Set::add}(let final Never* #t102 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{if (oracle(\"foo\")) \"bar\", null};
- ^" in "bar" as{TypeError} core::int*);
- #t101.{core::Set::add}{Invariant}(null);
+ ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
+ #t101.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t101;
block {
final core::Map<core::String*, core::int*>* #t103 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t103.{core::Map::[]=}{Invariant}("bar", let final Never* #t104 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t103.{core::Map::[]=}("bar", let final Never* #t104 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
- ^" in "bar" as{TypeError} core::int*);
- #t103.{core::Map::[]=}{Invariant}("baz", null);
+ ^" in "bar" as{TypeError} core::int*){(core::String*, core::int*) →* void};
+ #t103.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t103;
block {
final core::List<core::int*>* #t105 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t105.{core::List::addAll}{Invariant}(<core::int*>[let final Never* #t106 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t105.{core::List::addAll}(<core::int*>[let final Never* #t106 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) ...[\"bar\"]];
- ^" in "bar" as{TypeError} core::int*]);
+ ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
} =>#t105;
block {
final core::Set<core::int*>* #t107 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t107.{core::Set::addAll}{Invariant}(<core::int*>[let final Never* #t108 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t107.{core::Set::addAll}(<core::int*>[let final Never* #t108 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{if (oracle(\"foo\")) ...[\"bar\"], null};
- ^" in "bar" as{TypeError} core::int*]);
- #t107.{core::Set::add}{Invariant}(null);
+ ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
+ #t107.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t107;
block {
final core::Map<core::String*, core::int*>* #t109 = <core::String*, core::int*>{};
@@ -991,25 +991,25 @@
for (final core::MapEntry<core::String*, core::int*>* #t110 in <core::String*, core::int*>{"bar": let final Never* #t111 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "bar" as{TypeError} core::int*}.{core::Map::entries})
- #t109.{core::Map::[]=}{Invariant}(#t110.{core::MapEntry::key}, #t110.{core::MapEntry::value});
- #t109.{core::Map::[]=}{Invariant}("baz", null);
+ #t109.{core::Map::[]=}(#t110.{core::MapEntry::key}, #t110.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t109.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t109;
block {
final core::List<core::int*>* #t112 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t112.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t112.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map];
- ^");
+ ^"){(core::int*) →* void};
} =>#t112;
block {
final core::Set<core::int*>* #t113 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t113.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t113.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map, null};
- ^");
- #t113.{core::Set::add}{Invariant}(null);
+ ^"){(core::int*) →* core::bool*};
+ #t113.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t113;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:39: Error: Unexpected type 'List<String>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1021,58 +1021,58 @@
block {
final core::List<core::String*>* #t114 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t114.{core::List::add}{Invariant}(let final Never* #t115 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t114.{core::List::add}(let final Never* #t115 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>[if (oracle(\"foo\")) 42 else 3.14];
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
else
- #t114.{core::List::add}{Invariant}(let final Never* #t116 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t114.{core::List::add}(let final Never* #t116 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[if (oracle(\"foo\")) 42 else 3.14];
- ^" in 3.14 as{TypeError} core::String*);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
} =>#t114;
block {
final core::Set<core::String*>* #t117 = col::LinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t117.{core::Set::add}{Invariant}(let final Never* #t118 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t117.{core::Set::add}(let final Never* #t118 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>{if (oracle(\"foo\")) 42 else 3.14, null};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
else
- #t117.{core::Set::add}{Invariant}(let final Never* #t119 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t117.{core::Set::add}(let final Never* #t119 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{if (oracle(\"foo\")) 42 else 3.14, null};
- ^" in 3.14 as{TypeError} core::String*);
- #t117.{core::Set::add}{Invariant}(null);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
+ #t117.{core::Set::add}(null){(core::String*) →* core::bool*};
} =>#t117;
block {
final core::Map<core::String*, core::String*>* #t120 = <core::String*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t120.{core::Map::[]=}{Invariant}("bar", let final Never* #t121 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t120.{core::Map::[]=}("bar", let final Never* #t121 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
else
- #t120.{core::Map::[]=}{Invariant}("baz", let final Never* #t122 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t120.{core::Map::[]=}("baz", let final Never* #t122 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
- ^" in 3.14 as{TypeError} core::String*);
- #t120.{core::Map::[]=}{Invariant}("baz", null);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
+ #t120.{core::Map::[]=}("baz", null){(core::String*, core::String*) →* void};
} =>#t120;
block {
final core::List<core::int*>* #t123 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t123.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t123.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map else 42];
- ^");
+ ^"){(core::int*) →* void};
else
- #t123.{core::List::add}{Invariant}(42);
+ #t123.{core::List::add}(42){(core::int*) →* void};
} =>#t123;
block {
final core::Set<core::int*>* #t124 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t124.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t124.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
- ^");
+ ^"){(core::int*) →* core::bool*};
else
- #t124.{core::Set::add}{Invariant}(42);
- #t124.{core::Set::add}{Invariant}(null);
+ #t124.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t124.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t124;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:39: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1084,23 +1084,23 @@
block {
final core::List<core::int*>* #t125 = <core::int*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t125.{core::List::add}{Invariant}(42);
+ #t125.{core::List::add}(42){(core::int*) →* void};
else
- #t125.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t125.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) 42 else ...map];
- ^");
+ ^"){(core::int*) →* void};
} =>#t125;
block {
final core::Set<core::int*>* #t126 = col::LinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t126.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t126.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
- ^");
+ ^"){(core::int*) →* core::bool*};
else
- #t126.{core::Set::add}{Invariant}(42);
- #t126.{core::Set::add}{Invariant}(null);
+ #t126.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t126.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t126;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:54: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1132,704 +1132,704 @@
if(let final Never* #t128 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:112:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
List<int> list20 = [if (42) 42];
^" in 42 as{TypeError} core::bool*)
- #t127.{core::List::add}{Invariant}(42);
+ #t127.{core::List::add}(42){(core::int*) →* void};
} =>#t127;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t129 = col::LinkedHashSet::•<core::int*>();
if(let final Never* #t130 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:113:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
Set<int> set20 = {if (42) 42};
^" in 42 as{TypeError} core::bool*)
- #t129.{core::Set::add}{Invariant}(42);
+ #t129.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t129;
core::Map<core::int*, core::int*>* map30 = block {
final core::Map<core::int*, core::int*>* #t131 = <core::int*, core::int*>{};
if(let final Never* #t132 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
Map<int, int> map30 = {if (42) 42: 42};
^" in 42 as{TypeError} core::bool*)
- #t131.{core::Map::[]=}{Invariant}(42, 42);
+ #t131.{core::Map::[]=}(42, 42){(core::int*, core::int*) →* void};
} =>#t131;
core::List<core::String*>* list40 = block {
final core::List<core::String*>* #t133 = <core::String*>[];
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t133.{core::List::add}{Invariant}(let final Never* #t134 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t133.{core::List::add}(let final Never* #t134 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
- ^" in true as{TypeError} core::String*);
+ ^" in true as{TypeError} core::String*){(core::String*) →* void};
else
- #t133.{core::List::add}{Invariant}(let final Never* #t135 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t133.{core::List::add}(let final Never* #t135 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
} =>#t133;
core::Set<core::String*>* set40 = block {
final core::Set<core::String*>* #t136 = col::LinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t136.{core::Set::add}{Invariant}(let final Never* #t137 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t136.{core::Set::add}(let final Never* #t137 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
- ^" in true as{TypeError} core::String*);
+ ^" in true as{TypeError} core::String*){(core::String*) →* core::bool*};
else
- #t136.{core::Set::add}{Invariant}(let final Never* #t138 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t136.{core::Set::add}(let final Never* #t138 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
} =>#t136;
core::Map<core::String*, core::int*>* map40 = block {
final core::Map<core::String*, core::int*>* #t139 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t139.{core::Map::[]=}{Invariant}(let final Never* #t140 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t139.{core::Map::[]=}(let final Never* #t140 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
- ^" in true as{TypeError} core::String*, 42);
+ ^" in true as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
else
- #t139.{core::Map::[]=}{Invariant}(let final Never* #t141 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t139.{core::Map::[]=}(let final Never* #t141 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
- ^" in 42 as{TypeError} core::String*, 42);
+ ^" in 42 as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
} =>#t139;
core::Map<core::int*, core::String*>* map41 = block {
final core::Map<core::int*, core::String*>* #t142 = <core::int*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t142.{core::Map::[]=}{Invariant}(42, let final Never* #t143 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t142.{core::Map::[]=}(42, let final Never* #t143 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
- ^" in true as{TypeError} core::String*);
+ ^" in true as{TypeError} core::String*){(core::int*, core::String*) →* void};
else
- #t142.{core::Map::[]=}{Invariant}(42, let final Never* #t144 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t142.{core::Map::[]=}(42, let final Never* #t144 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
} =>#t142;
}
static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::int* index, core::Map<core::String*, core::int*>* mapStringInt, core::Map<core::String*, core::double*>* mapStringDouble) → dynamic {
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t145 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t145.{core::List::add}{Invariant}(42);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t145.{core::List::add}(42){(core::int*) →* void};
} =>#t145;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t146 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t146.{core::Set::add}{Invariant}(42);
- #t146.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t146.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t146.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t146;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t147 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t147.{core::Map::[]=}{Invariant}("bar", 42);
- #t147.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t147.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
+ #t147.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t147;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t148 = <dynamic>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t148.{core::List::add}{Invariant}(dynVar);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t148.{core::List::add}(dynVar){(dynamic) →* void};
} =>#t148;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t149 = col::LinkedHashSet::•<dynamic>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t149.{core::Set::add}{Invariant}(dynVar);
- #t149.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t149.{core::Set::add}(dynVar){(dynamic) →* core::bool*};
+ #t149.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t149;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t150 = <core::String*, dynamic>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t150.{core::Map::[]=}{Invariant}("bar", dynVar);
- #t150.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t150.{core::Map::[]=}("bar", dynVar){(core::String*, dynamic) →* void};
+ #t150.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t150;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t151 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t151.{core::List::add}{Invariant}(<core::int*>[42]);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t151.{core::List::add}(<core::int*>[42]){(core::List<core::int*>*) →* void};
} =>#t151;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t152 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t152.{core::Set::add}{Invariant}(<core::int*>[42]);
- #t152.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t152.{core::Set::add}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
+ #t152.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t152;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t153 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t153.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]);
- #t153.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t153.{core::Map::[]=}("bar", <core::int*>[42]){(core::String*, core::List<core::int*>*) →* void};
+ #t153.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t153;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t154 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t154.{core::List::addAll}{Invariant}(<core::int*>[42]);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t154.{core::List::addAll}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
} =>#t154;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t155 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t155.{core::Set::addAll}{Invariant}(<core::int*>[42]);
- #t155.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t155.{core::Set::addAll}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+ #t155.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t155;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t156 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final core::MapEntry<core::String*, core::int*>* #t157 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t156.{core::Map::[]=}{Invariant}(#t157.{core::MapEntry::key}, #t157.{core::MapEntry::value});
- #t156.{core::Map::[]=}{Invariant}("baz", null);
+ #t156.{core::Map::[]=}(#t157.{core::MapEntry::key}, #t157.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t156.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t156;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t158 = <dynamic>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t158.{core::List::addAll}{Invariant}(<dynamic>[dynVar]);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t158.{core::List::addAll}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
} =>#t158;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t159 = col::LinkedHashSet::•<dynamic>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t159.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]);
- #t159.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t159.{core::Set::addAll}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+ #t159.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t159;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t160 = <core::String*, dynamic>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final core::MapEntry<core::String*, dynamic>* #t161 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t160.{core::Map::[]=}{Invariant}(#t161.{core::MapEntry::key}, #t161.{core::MapEntry::value});
- #t160.{core::Map::[]=}{Invariant}("baz", null);
+ #t160.{core::Map::[]=}(#t161.{core::MapEntry::key}, #t161.{core::MapEntry::value}){(core::String*, dynamic) →* void};
+ #t160.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t160;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t162 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t162.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t162.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t162;
core::Set<core::List<core::int*>*>* set22 = block {
final core::Set<core::List<core::int*>*>* #t163 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t163.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]);
- #t163.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t163.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t163.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t163;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t164 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t165 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t164.{core::Map::[]=}{Invariant}(#t165.{core::MapEntry::key}, #t165.{core::MapEntry::value});
- #t164.{core::Map::[]=}{Invariant}("baz", null);
+ #t164.{core::Map::[]=}(#t165.{core::MapEntry::key}, #t165.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t164.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t164;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t166 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t166.{core::List::addAll}{Invariant}(<core::int*>[42]);
+ #t166.{core::List::addAll}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
} =>#t166;
core::Set<core::int*>* set30 = block {
final core::Set<core::int*>* #t167 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t167.{core::Set::addAll}{Invariant}(<core::int*>[42]);
- #t167.{core::Set::add}{Invariant}(null);
+ #t167.{core::Set::addAll}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+ #t167.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t167;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t168 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::int*>* #t169 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
- #t168.{core::Map::[]=}{Invariant}(#t169.{core::MapEntry::key}, #t169.{core::MapEntry::value});
- #t168.{core::Map::[]=}{Invariant}("baz", null);
+ #t168.{core::Map::[]=}(#t169.{core::MapEntry::key}, #t169.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t168.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t168;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t170 = <dynamic>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t170.{core::List::addAll}{Invariant}(<dynamic>[dynVar]);
+ #t170.{core::List::addAll}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
} =>#t170;
core::Set<dynamic>* set31 = block {
final core::Set<dynamic>* #t171 = col::LinkedHashSet::•<dynamic>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t171.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]);
- #t171.{core::Set::add}{Invariant}(null);
+ #t171.{core::Set::addAll}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+ #t171.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t171;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t172 = <core::String*, dynamic>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, dynamic>* #t173 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
- #t172.{core::Map::[]=}{Invariant}(#t173.{core::MapEntry::key}, #t173.{core::MapEntry::value});
- #t172.{core::Map::[]=}{Invariant}("baz", null);
+ #t172.{core::Map::[]=}(#t173.{core::MapEntry::key}, #t173.{core::MapEntry::value}){(core::String*, dynamic) →* void};
+ #t172.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t172;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t174 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t174.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]);
+ #t174.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t174;
core::Set<core::List<core::int*>*>* set33 = block {
final core::Set<core::List<core::int*>*>* #t175 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t175.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]);
- #t175.{core::Set::add}{Invariant}(null);
+ #t175.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t175.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t175;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t176 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t177 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
- #t176.{core::Map::[]=}{Invariant}(#t177.{core::MapEntry::key}, #t177.{core::MapEntry::value});
- #t176.{core::Map::[]=}{Invariant}("baz", null);
+ #t176.{core::Map::[]=}(#t177.{core::MapEntry::key}, #t177.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t176.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t176;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t178 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t178.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t178.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t178;
core::Set<core::List<core::int*>*>* set40 = block {
final core::Set<core::List<core::int*>*>* #t179 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t179.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
- #t179.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t179.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t179.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t179;
core::Map<core::String*, core::List<core::int*>*>* map40 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t180 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t181 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t180.{core::Map::[]=}{Invariant}(#t181.{core::MapEntry::key}, #t181.{core::MapEntry::value});
- #t180.{core::Map::[]=}{Invariant}("baz", null);
+ #t180.{core::Map::[]=}(#t181.{core::MapEntry::key}, #t181.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t180.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t180;
core::List<core::List<core::int*>*>* list41 = block {
final core::List<core::List<core::int*>*>* #t182 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t182.{core::List::addAll}{Invariant}( block {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t182.{core::List::addAll}( block {
final core::Set<core::List<core::int*>*>* #t183 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t183.{core::Set::add}{Invariant}(<core::int*>[]);
- } =>#t183);
+ #t183.{core::Set::add}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+ } =>#t183){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t182;
core::Set<core::List<core::int*>*>* set41 = block {
final core::Set<core::List<core::int*>*>* #t184 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t184.{core::Set::addAll}{Invariant}( block {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t184.{core::Set::addAll}( block {
final core::Set<core::List<core::int*>*>* #t185 = col::LinkedHashSet::•<core::List<core::int*>*>();
- #t185.{core::Set::add}{Invariant}(<core::int*>[]);
- } =>#t185);
- #t184.{core::Set::add}{Invariant}(null);
+ #t185.{core::Set::add}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+ } =>#t185){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t184.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t184;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t186 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t186.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
+ #t186.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t186;
core::Set<core::List<core::int*>*>* set42 = block {
final core::Set<core::List<core::int*>*>* #t187 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t187.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
- #t187.{core::Set::add}{Invariant}(null);
+ #t187.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t187.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t187;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t188 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t189 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t188.{core::Map::[]=}{Invariant}(#t189.{core::MapEntry::key}, #t189.{core::MapEntry::value});
- #t188.{core::Map::[]=}{Invariant}("baz", null);
+ #t188.{core::Map::[]=}(#t189.{core::MapEntry::key}, #t189.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t188.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t188;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t190 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t190.{core::List::addAll}{Invariant}(<core::int*>[]);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t190.{core::List::addAll}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
} =>#t190;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t191 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t191.{core::Set::addAll}{Invariant}(<core::int*>[]);
- #t191.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t191.{core::Set::addAll}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+ #t191.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t191;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t192 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final core::MapEntry<core::String*, core::int*>* #t193 in <core::String*, core::int*>{}.{core::Map::entries})
- #t192.{core::Map::[]=}{Invariant}(#t193.{core::MapEntry::key}, #t193.{core::MapEntry::value});
- #t192.{core::Map::[]=}{Invariant}("baz", null);
+ #t192.{core::Map::[]=}(#t193.{core::MapEntry::key}, #t193.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t192.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t192;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t194 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t194.{core::List::addAll}{Invariant}( block {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t194.{core::List::addAll}( block {
final core::Set<core::int*>* #t195 = col::LinkedHashSet::•<core::int*>();
- } =>#t195);
+ } =>#t195){(core::Iterable<core::int*>*) →* void};
} =>#t194;
core::Set<core::int*>* set51 = block {
final core::Set<core::int*>* #t196 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t196.{core::Set::addAll}{Invariant}( block {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t196.{core::Set::addAll}( block {
final core::Set<core::int*>* #t197 = col::LinkedHashSet::•<core::int*>();
- } =>#t197);
- #t196.{core::Set::add}{Invariant}(null);
+ } =>#t197){(core::Iterable<core::int*>*) →* void};
+ #t196.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t196;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t198 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t198.{core::List::addAll}{Invariant}(<core::int*>[]);
+ #t198.{core::List::addAll}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
} =>#t198;
core::Set<core::int*>* set52 = block {
final core::Set<core::int*>* #t199 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t199.{core::Set::addAll}{Invariant}(<core::int*>[]);
- #t199.{core::Set::add}{Invariant}(null);
+ #t199.{core::Set::addAll}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+ #t199.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t199;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t200 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t200.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t200.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t200;
core::Set<core::List<core::int*>*>* set60 = block {
final core::Set<core::List<core::int*>*>* #t201 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t201.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
- #t201.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t201.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t201.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t201;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t202 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t203 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t202.{core::Map::[]=}{Invariant}(#t203.{core::MapEntry::key}, #t203.{core::MapEntry::value});
- #t202.{core::Map::[]=}{Invariant}("baz", null);
+ #t202.{core::Map::[]=}(#t203.{core::MapEntry::key}, #t203.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t202.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t202;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t204 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t204.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
+ #t204.{core::List::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t204;
core::Set<core::List<core::int*>*>* set61 = block {
final core::Set<core::List<core::int*>*>* #t205 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t205.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]);
- #t205.{core::Set::add}{Invariant}(null);
+ #t205.{core::Set::addAll}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t205.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t205;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t206 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t207 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
- #t206.{core::Map::[]=}{Invariant}(#t207.{core::MapEntry::key}, #t207.{core::MapEntry::value});
- #t206.{core::Map::[]=}{Invariant}("baz", null);
+ #t206.{core::Map::[]=}(#t207.{core::MapEntry::key}, #t207.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
+ #t206.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t206;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t208 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t208.{core::List::add}{Invariant}(<core::int*>[]);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t208.{core::List::add}(<core::int*>[]){(core::List<core::int*>*) →* void};
} =>#t208;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t209 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t209.{core::Set::add}{Invariant}(<core::int*>[]);
- #t209.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t209.{core::Set::add}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+ #t209.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t209;
core::Map<core::String*, core::List<core::int*>*>* map70 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t210 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t210.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
- #t210.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t210.{core::Map::[]=}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
+ #t210.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t210;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t211 = <core::List<core::int*>*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t211.{core::List::add}{Invariant}(<core::int*>[]);
+ #t211.{core::List::add}(<core::int*>[]){(core::List<core::int*>*) →* void};
} =>#t211;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t212 = col::LinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t212.{core::Set::add}{Invariant}(<core::int*>[]);
- #t212.{core::Set::add}{Invariant}(null);
+ #t212.{core::Set::add}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+ #t212.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t212;
core::Map<core::String*, core::List<core::int*>*>* map71 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t213 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t213.{core::Map::[]=}{Invariant}("bar", <core::int*>[]);
- #t213.{core::Map::[]=}{Invariant}("baz", null);
+ #t213.{core::Map::[]=}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
+ #t213.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t213;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t214 = <core::num*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t214.{core::List::add}{Invariant}(42);
+ #t214.{core::List::add}(42){(core::num*) →* void};
else
- #t214.{core::List::add}{Invariant}(3.14);
+ #t214.{core::List::add}(3.14){(core::num*) →* void};
} =>#t214;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t215 = col::LinkedHashSet::•<core::num*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t215.{core::Set::add}{Invariant}(42);
+ #t215.{core::Set::add}(42){(core::num*) →* core::bool*};
else
- #t215.{core::Set::add}{Invariant}(3.14);
- #t215.{core::Set::add}{Invariant}(null);
+ #t215.{core::Set::add}(3.14){(core::num*) →* core::bool*};
+ #t215.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t215;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t216 = <core::String*, core::num*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t216.{core::Map::[]=}{Invariant}("bar", 42);
+ #t216.{core::Map::[]=}("bar", 42){(core::String*, core::num*) →* void};
else
- #t216.{core::Map::[]=}{Invariant}("bar", 3.14);
- #t216.{core::Map::[]=}{Invariant}("baz", null);
+ #t216.{core::Map::[]=}("bar", 3.14){(core::String*, core::num*) →* void};
+ #t216.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t216;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t217 = <core::num*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t217.{core::List::addAll}{Invariant}(listInt);
+ #t217.{core::List::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t217.{core::List::addAll}{Invariant}(listDouble);
+ #t217.{core::List::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
} =>#t217;
core::Set<core::num*>* set81 = block {
final core::Set<core::num*>* #t218 = col::LinkedHashSet::•<core::num*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t218.{core::Set::addAll}{Invariant}(listInt);
+ #t218.{core::Set::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t218.{core::Set::addAll}{Invariant}(listDouble);
- #t218.{core::Set::add}{Invariant}(null);
+ #t218.{core::Set::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
+ #t218.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t218;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t219 = <core::String*, core::num*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t220 in mapStringInt.{core::Map::entries})
- #t219.{core::Map::[]=}{Invariant}(#t220.{core::MapEntry::key}, #t220.{core::MapEntry::value});
+ #t219.{core::Map::[]=}(#t220.{core::MapEntry::key}, #t220.{core::MapEntry::value}){(core::String*, core::num*) →* void};
else
for (final core::MapEntry<core::String*, core::num*>* #t221 in mapStringDouble.{core::Map::entries})
- #t219.{core::Map::[]=}{Invariant}(#t221.{core::MapEntry::key}, #t221.{core::MapEntry::value});
- #t219.{core::Map::[]=}{Invariant}("baz", null);
+ #t219.{core::Map::[]=}(#t221.{core::MapEntry::key}, #t221.{core::MapEntry::value}){(core::String*, core::num*) →* void};
+ #t219.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t219;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t222 = <dynamic>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t222.{core::List::addAll}{Invariant}(listInt);
+ #t222.{core::List::addAll}(listInt){(core::Iterable<dynamic>*) →* void};
else
- #t222.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+ #t222.{core::List::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
} =>#t222;
core::Set<dynamic>* set82 = block {
final core::Set<dynamic>* #t223 = col::LinkedHashSet::•<dynamic>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t223.{core::Set::addAll}{Invariant}(listInt);
+ #t223.{core::Set::addAll}(listInt){(core::Iterable<dynamic>*) →* void};
else
- #t223.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
- #t223.{core::Set::add}{Invariant}(null);
+ #t223.{core::Set::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+ #t223.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t223;
core::Map<dynamic, dynamic>* map82 = block {
final core::Map<dynamic, dynamic>* #t224 = <dynamic, dynamic>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<dynamic, dynamic>* #t225 in mapStringInt.{core::Map::entries})
- #t224.{core::Map::[]=}{Invariant}(#t225.{core::MapEntry::key}, #t225.{core::MapEntry::value});
+ #t224.{core::Map::[]=}(#t225.{core::MapEntry::key}, #t225.{core::MapEntry::value}){(dynamic, dynamic) →* void};
else
for (final core::MapEntry<dynamic, dynamic>* #t226 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries})
- #t224.{core::Map::[]=}{Invariant}(#t226.{core::MapEntry::key}, #t226.{core::MapEntry::value});
- #t224.{core::Map::[]=}{Invariant}("baz", null);
+ #t224.{core::Map::[]=}(#t226.{core::MapEntry::key}, #t226.{core::MapEntry::value}){(dynamic, dynamic) →* void};
+ #t224.{core::Map::[]=}("baz", null){(dynamic, dynamic) →* void};
} =>#t224;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t227 = <core::num*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t227.{core::List::add}{Invariant}(42);
+ #t227.{core::List::add}(42){(core::num*) →* void};
else
- #t227.{core::List::addAll}{Invariant}(listDouble);
+ #t227.{core::List::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
} =>#t227;
core::Set<core::num*>* set83 = block {
final core::Set<core::num*>* #t228 = col::LinkedHashSet::•<core::num*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t228.{core::Set::addAll}{Invariant}(listInt);
+ #t228.{core::Set::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t228.{core::Set::add}{Invariant}(3.14);
- #t228.{core::Set::add}{Invariant}(null);
+ #t228.{core::Set::add}(3.14){(core::num*) →* core::bool*};
+ #t228.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t228;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t229 = <core::String*, core::num*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
for (final core::MapEntry<core::String*, core::num*>* #t230 in mapStringInt.{core::Map::entries})
- #t229.{core::Map::[]=}{Invariant}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
+ #t229.{core::Map::[]=}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value}){(core::String*, core::num*) →* void};
else
- #t229.{core::Map::[]=}{Invariant}("bar", 3.14);
- #t229.{core::Map::[]=}{Invariant}("baz", null);
+ #t229.{core::Map::[]=}("bar", 3.14){(core::String*, core::num*) →* void};
+ #t229.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t229;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t231 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t231.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t231.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
} =>#t231;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t232 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t232.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
- #t232.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t232.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+ #t232.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t232;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t233 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t233.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t233.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t233.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+ #t233.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t233;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t234 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final dynamic #t235 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t236 = #t235 as{TypeError} core::int*;
- #t234.{core::List::add}{Invariant}(#t236);
+ #t234.{core::List::add}(#t236){(core::int*) →* void};
}
} =>#t234;
core::Set<core::int*>* set91 = block {
final core::Set<core::int*>* #t237 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final dynamic #t238 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t239 = #t238 as{TypeError} core::int*;
- #t237.{core::Set::add}{Invariant}(#t239);
+ #t237.{core::Set::add}(#t239){(core::int*) →* core::bool*};
}
- #t237.{core::Set::add}{Invariant}(null);
+ #t237.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t237;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t240 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final core::MapEntry<dynamic, dynamic>* #t241 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::String* #t242 = #t241.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t243 = #t241.{core::MapEntry::value} as{TypeError} core::int*;
- #t240.{core::Map::[]=}{Invariant}(#t242, #t243);
+ #t240.{core::Map::[]=}(#t242, #t243){(core::String*, core::int*) →* void};
}
- #t240.{core::Map::[]=}{Invariant}("baz", null);
+ #t240.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t240;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t244 = <core::int*>[];
- for (final core::int* #t245 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t244.{core::List::add}{Invariant}(42);
+ for (final core::int* #t245 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+ #t244.{core::List::add}(42){(core::int*) →* void};
} =>#t244;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t246 = col::LinkedHashSet::•<core::int*>();
- for (final core::int* #t247 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t246.{core::Set::add}{Invariant}(42);
+ for (final core::int* #t247 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+ #t246.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t246;
core::Map<core::String*, core::int*>* map100 = block {
final core::Map<core::String*, core::int*>* #t248 = <core::String*, core::int*>{};
- for (final core::int* #t249 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t248.{core::Map::[]=}{Invariant}("bar", 42);
+ for (final core::int* #t249 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+ #t248.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
} =>#t248;
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t250 = <core::int*>[];
for (core::int* i in <core::int*>[1, 2, 3])
- #t250.{core::List::add}{Invariant}(i);
+ #t250.{core::List::add}(i){(core::int*) →* void};
} =>#t250;
core::Set<core::int*>* set110 = block {
final core::Set<core::int*>* #t251 = col::LinkedHashSet::•<core::int*>();
for (core::int* i in <core::int*>[1, 2, 3])
- #t251.{core::Set::add}{Invariant}(i);
- #t251.{core::Set::add}{Invariant}(null);
+ #t251.{core::Set::add}(i){(core::int*) →* core::bool*};
+ #t251.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t251;
core::Map<core::String*, core::int*>* map110 = block {
final core::Map<core::String*, core::int*>* #t252 = <core::String*, core::int*>{};
for (core::int* i in <core::int*>[1, 2, 3])
- #t252.{core::Map::[]=}{Invariant}("bar", i);
- #t252.{core::Map::[]=}{Invariant}("baz", null);
+ #t252.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
+ #t252.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t252;
core::List<core::int*>* list120 = block {
final core::List<core::int*>* #t253 = <core::int*>[];
for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t253.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
+ #t253.{core::List::add}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
} =>#t253;
core::Set<core::int*>* set120 = block {
final core::Set<core::int*>* #t254 = col::LinkedHashSet::•<core::int*>();
for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t254.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
- #t254.{core::Set::add}{Invariant}(null);
+ #t254.{core::Set::add}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+ #t254.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t254;
core::Map<core::String*, core::int*>* map120 = block {
final core::Map<core::String*, core::int*>* #t255 = <core::String*, core::int*>{};
for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
- #t255.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*);
- #t255.{core::Map::[]=}{Invariant}("baz", null);
+ #t255.{core::Map::[]=}("bar", i as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+ #t255.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t255;
core::List<core::int*>* list130 = block {
final core::List<core::int*>* #t256 = <core::int*>[];
- for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t256.{core::List::add}{Invariant}(i);
+ for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t256.{core::List::add}(i){(core::int*) →* void};
} =>#t256;
core::Set<core::int*>* set130 = block {
final core::Set<core::int*>* #t257 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t257.{core::Set::add}{Invariant}(i);
+ for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t257.{core::Set::add}(i){(core::int*) →* core::bool*};
} =>#t257;
core::Map<core::int*, core::int*>* map130 = block {
final core::Map<core::int*, core::int*>* #t258 = <core::int*, core::int*>{};
- for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t258.{core::Map::[]=}{Invariant}(i, i);
+ for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t258.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
} =>#t258;
}
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async {
block {
final core::List<core::int*>* #t259 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t259.{core::List::add}{Invariant}(let final Never* #t260 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t259.{core::List::add}(let final Never* #t260 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
- ^" in "bar" as{TypeError} core::int*);
+ ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
} =>#t259;
block {
final core::Set<core::int*>* #t261 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t261.{core::Set::add}{Invariant}(let final Never* #t262 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:211:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t261.{core::Set::add}(let final Never* #t262 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:211:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
- ^" in "bar" as{TypeError} core::int*);
- #t261.{core::Set::add}{Invariant}(null);
+ ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
+ #t261.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t261;
block {
final core::Map<core::int*, core::int*>* #t263 = <core::int*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t263.{core::Map::[]=}{Invariant}(let final Never* #t264 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t263.{core::Map::[]=}(let final Never* #t264 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*, let final Never* #t265 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
- ^" in "bar" as{TypeError} core::int*);
- #t263.{core::Map::[]=}{Invariant}(let final Never* #t266 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ ^" in "bar" as{TypeError} core::int*){(core::int*, core::int*) →* void};
+ #t263.{core::Map::[]=}(let final Never* #t266 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
- ^" in "baz" as{TypeError} core::int*, null);
+ ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
} =>#t263;
block {
final core::List<core::int*>* #t267 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t267.{core::List::addAll}{Invariant}(<core::int*>[let final Never* #t268 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t267.{core::List::addAll}(<core::int*>[let final Never* #t268 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
- ^" in "bar" as{TypeError} core::int*]);
+ ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
} =>#t267;
block {
final core::Set<core::int*>* #t269 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t269.{core::Set::addAll}{Invariant}(<core::int*>[let final Never* #t270 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t269.{core::Set::addAll}(<core::int*>[let final Never* #t270 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
- ^" in "bar" as{TypeError} core::int*]);
- #t269.{core::Set::add}{Invariant}(null);
+ ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
+ #t269.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t269;
block {
final core::Map<core::int*, core::int*>* #t271 = <core::int*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
for (final core::MapEntry<core::int*, core::int*>* #t272 in <core::int*, core::int*>{let final Never* #t273 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "bar" as{TypeError} core::int*: let final Never* #t274 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "bar" as{TypeError} core::int*}.{core::Map::entries})
- #t271.{core::Map::[]=}{Invariant}(#t272.{core::MapEntry::key}, #t272.{core::MapEntry::value});
- #t271.{core::Map::[]=}{Invariant}(let final Never* #t275 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t271.{core::Map::[]=}(#t272.{core::MapEntry::key}, #t272.{core::MapEntry::value}){(core::int*, core::int*) →* void};
+ #t271.{core::Map::[]=}(let final Never* #t275 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
- ^" in "baz" as{TypeError} core::int*, null);
+ ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
} =>#t271;
block {
final core::List<core::int*>* #t276 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t276.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t276.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
- ^");
+ ^"){(core::int*) →* void};
} =>#t276;
block {
final core::Set<core::int*>* #t277 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t277.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t277.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
- ^");
- #t277.{core::Set::add}{Invariant}(null);
+ ^"){(core::int*) →* core::bool*};
+ #t277.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t277;
<core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:53: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1840,64 +1840,64 @@
^": null};
block {
final core::List<core::String*>* #t278 = <core::String*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t278.{core::List::add}{Invariant}(let final Never* #t279 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t278.{core::List::add}(let final Never* #t279 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
else
- #t278.{core::List::add}{Invariant}(let final Never* #t280 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t278.{core::List::add}(let final Never* #t280 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
- ^" in 3.14 as{TypeError} core::String*);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
} =>#t278;
block {
final core::Set<core::String*>* #t281 = col::LinkedHashSet::•<core::String*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t281.{core::Set::add}{Invariant}(let final Never* #t282 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t281.{core::Set::add}(let final Never* #t282 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
else
- #t281.{core::Set::add}{Invariant}(let final Never* #t283 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t281.{core::Set::add}(let final Never* #t283 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
- ^" in 3.14 as{TypeError} core::String*);
- #t281.{core::Set::add}{Invariant}(null);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
+ #t281.{core::Set::add}(null){(core::String*) →* core::bool*};
} =>#t281;
block {
final core::Map<core::String*, core::String*>* #t284 = <core::String*, core::String*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t284.{core::Map::[]=}{Invariant}("bar", let final Never* #t285 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t284.{core::Map::[]=}("bar", let final Never* #t285 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
else
- #t284.{core::Map::[]=}{Invariant}("bar", let final Never* #t286 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t284.{core::Map::[]=}("bar", let final Never* #t286 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
- ^" in 3.14 as{TypeError} core::String*);
- #t284.{core::Map::[]=}{Invariant}("baz", null);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
+ #t284.{core::Map::[]=}("baz", null){(core::String*, core::String*) →* void};
} =>#t284;
block {
final core::List<core::int*>* #t287 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t287.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t287.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
- ^");
+ ^"){(core::int*) →* void};
else
- #t287.{core::List::add}{Invariant}(42);
+ #t287.{core::List::add}(42){(core::int*) →* void};
} =>#t287;
block {
final core::Set<core::int*>* #t288 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t288.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t288.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
- ^");
+ ^"){(core::int*) →* core::bool*};
else
- #t288.{core::Set::add}{Invariant}(42);
- #t288.{core::Set::add}{Invariant}(null);
+ #t288.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t288.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t288;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:70: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1908,26 +1908,26 @@
^": null};
block {
final core::List<core::int*>* #t289 = <core::int*>[];
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t289.{core::List::add}{Invariant}(42);
+ #t289.{core::List::add}(42){(core::int*) →* void};
else
- #t289.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t289.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
- ^");
+ ^"){(core::int*) →* void};
} =>#t289;
block {
final core::Set<core::int*>* #t290 = col::LinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t290.{core::Set::add}{Invariant}(42);
+ #t290.{core::Set::add}(42){(core::int*) →* core::bool*};
else
- #t290.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t290.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
- ^");
- #t290.{core::Set::add}{Invariant}(null);
+ ^"){(core::int*) →* core::bool*};
+ #t290.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t290;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:85: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1943,7 +1943,7 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:230:14: Error: Can't assign to the final variable 'i'.
<int>[for (i in <int>[1]) i];
^";
- #t291.{core::List::add}{Invariant}(i);
+ #t291.{core::List::add}(i){(core::int*) →* void};
}
} =>#t291;
block {
@@ -1952,9 +1952,9 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:231:14: Error: Can't assign to the final variable 'i'.
<int>{for (i in <int>[1]) i, null};
^";
- #t293.{core::Set::add}{Invariant}(i);
+ #t293.{core::Set::add}(i){(core::int*) →* core::bool*};
}
- #t293.{core::Set::add}{Invariant}(null);
+ #t293.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t293;
block {
final core::Map<core::String*, core::int*>* #t295 = <core::String*, core::int*>{};
@@ -1962,9 +1962,9 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:232:21: Error: Can't assign to the final variable 'i'.
\t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
\t ^";
- #t295.{core::Map::[]=}{Invariant}("bar", i);
+ #t295.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
}
- #t295.{core::Map::[]=}{Invariant}("baz", null);
+ #t295.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t295;
core::List<dynamic>* list10 = block {
final core::List<dynamic>* #t297 = <dynamic>[];
@@ -1972,7 +1972,7 @@
- 'Iterable' is from 'dart:core'.
var list10 = [for (var i in \"not iterable\") i];
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
- #t297.{core::List::add}{Invariant}(i);
+ #t297.{core::List::add}(i){(dynamic) →* void};
} =>#t297;
core::Set<dynamic>* set10 = block {
final core::Set<dynamic>* #t299 = col::LinkedHashSet::•<dynamic>();
@@ -1980,8 +1980,8 @@
- 'Iterable' is from 'dart:core'.
var set10 = {for (var i in \"not iterable\") i, null};
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
- #t299.{core::Set::add}{Invariant}(i);
- #t299.{core::Set::add}{Invariant}(null);
+ #t299.{core::Set::add}(i){(dynamic) →* core::bool*};
+ #t299.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t299;
core::Map<core::String*, dynamic>* map10 = block {
final core::Map<core::String*, dynamic>* #t301 = <core::String*, dynamic>{};
@@ -1989,8 +1989,8 @@
- 'Iterable' is from 'dart:core'.
var map10 = {for (var i in \"not iterable\") \"bar\": i, \"baz\": null};
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
- #t301.{core::Map::[]=}{Invariant}("bar", i);
- #t301.{core::Map::[]=}{Invariant}("baz", null);
+ #t301.{core::Map::[]=}("bar", i){(core::String*, dynamic) →* void};
+ #t301.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t301;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t303 = <core::int*>[];
@@ -1999,7 +1999,7 @@
^" in "not" as{TypeError} core::int*, let final Never* #t305 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:237:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var list20 = [for (int i in [\"not\", \"int\"]) i];
^" in "int" as{TypeError} core::int*])
- #t303.{core::List::add}{Invariant}(i);
+ #t303.{core::List::add}(i){(core::int*) →* void};
} =>#t303;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t306 = col::LinkedHashSet::•<core::int*>();
@@ -2008,8 +2008,8 @@
^" in "not" as{TypeError} core::int*, let final Never* #t308 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:238:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var set20 = {for (int i in [\"not\", \"int\"]) i, null};
^" in "int" as{TypeError} core::int*])
- #t306.{core::Set::add}{Invariant}(i);
- #t306.{core::Set::add}{Invariant}(null);
+ #t306.{core::Set::add}(i){(core::int*) →* core::bool*};
+ #t306.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t306;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t309 = <core::String*, core::int*>{};
@@ -2018,8 +2018,8 @@
^" in "not" as{TypeError} core::int*, let final Never* #t311 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:239:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
^" in "int" as{TypeError} core::int*])
- #t309.{core::Map::[]=}{Invariant}("bar", i);
- #t309.{core::Map::[]=}{Invariant}("baz", null);
+ #t309.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
+ #t309.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t309;
core::List<dynamic>* list30 = block {
final core::List<dynamic>* #t312 = <dynamic>[];
@@ -2027,7 +2027,7 @@
- 'Stream' is from 'dart:async'.
var list30 = [await for (var i in \"not stream\") i];
^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
- #t312.{core::List::add}{Invariant}(i);
+ #t312.{core::List::add}(i){(dynamic) →* void};
} =>#t312;
core::Set<dynamic>* set30 = block {
final core::Set<dynamic>* #t314 = col::LinkedHashSet::•<dynamic>();
@@ -2035,8 +2035,8 @@
- 'Stream' is from 'dart:async'.
var set30 = {await for (var i in \"not stream\") i, null};
^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
- #t314.{core::Set::add}{Invariant}(i);
- #t314.{core::Set::add}{Invariant}(null);
+ #t314.{core::Set::add}(i){(dynamic) →* core::bool*};
+ #t314.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t314;
core::Map<core::String*, dynamic>* map30 = block {
final core::Map<core::String*, dynamic>* #t316 = <core::String*, dynamic>{};
@@ -2044,8 +2044,8 @@
- 'Stream' is from 'dart:async'.
var map30 = {await for (var i in \"not stream\") \"bar\": i, \"baz\": null};
^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
- #t316.{core::Map::[]=}{Invariant}("bar", i);
- #t316.{core::Map::[]=}{Invariant}("baz", null);
+ #t316.{core::Map::[]=}("bar", i){(core::String*, dynamic) →* void};
+ #t316.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t316;
core::List<core::int*>* list40 = block {
final core::List<core::int*>* #t318 = <core::int*>[];
@@ -2054,7 +2054,7 @@
^" in "not" as{TypeError} core::int*, let final Never* #t320 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:243:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
^" in "int" as{TypeError} core::int*]))
- #t318.{core::List::add}{Invariant}(i);
+ #t318.{core::List::add}(i){(core::int*) →* void};
} =>#t318;
core::Set<core::int*>* set40 = block {
final core::Set<core::int*>* #t321 = col::LinkedHashSet::•<core::int*>();
@@ -2063,8 +2063,8 @@
^" in "not" as{TypeError} core::int*, let final Never* #t323 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:244:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
^" in "int" as{TypeError} core::int*]))
- #t321.{core::Set::add}{Invariant}(i);
- #t321.{core::Set::add}{Invariant}(null);
+ #t321.{core::Set::add}(i){(core::int*) →* core::bool*};
+ #t321.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t321;
core::Map<core::String*, core::int*>* map40 = block {
final core::Map<core::String*, core::int*>* #t324 = <core::String*, core::int*>{};
@@ -2073,82 +2073,82 @@
^" in "not" as{TypeError} core::int*, let final Never* #t326 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:245:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
^" in "int" as{TypeError} core::int*]))
- #t324.{core::Map::[]=}{Invariant}("bar", i);
- #t324.{core::Map::[]=}{Invariant}("baz", null);
+ #t324.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
+ #t324.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t324;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t327 = <core::int*>[];
for (; ; )
- #t327.{core::List::add}{Invariant}(42);
+ #t327.{core::List::add}(42){(core::int*) →* void};
} =>#t327;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t328 = col::LinkedHashSet::•<core::int*>();
for (; ; )
- #t328.{core::Set::add}{Invariant}(42);
- #t328.{core::Set::add}{Invariant}(null);
+ #t328.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t328.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t328;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t329 = <core::String*, core::int*>{};
for (; ; )
- #t329.{core::Map::[]=}{Invariant}("bar", 42);
- #t329.{core::Map::[]=}{Invariant}("baz", null);
+ #t329.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
+ #t329.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t329;
core::List<core::int*>* list60 = block {
final core::List<core::int*>* #t330 = <core::int*>[];
for (; let final Never* #t331 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:249:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var list60 = [for (; \"not bool\";) 42];
^" in "not bool" as{TypeError} core::bool*; )
- #t330.{core::List::add}{Invariant}(42);
+ #t330.{core::List::add}(42){(core::int*) →* void};
} =>#t330;
core::Set<core::int*>* set60 = block {
final core::Set<core::int*>* #t332 = col::LinkedHashSet::•<core::int*>();
for (; let final Never* #t333 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:250:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var set60 = {for (; \"not bool\";) 42, null};
^" in "not bool" as{TypeError} core::bool*; )
- #t332.{core::Set::add}{Invariant}(42);
- #t332.{core::Set::add}{Invariant}(null);
+ #t332.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t332.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t332;
core::Map<core::String*, core::int*>* map60 = block {
final core::Map<core::String*, core::int*>* #t334 = <core::String*, core::int*>{};
for (; let final Never* #t335 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:251:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
^" in "not bool" as{TypeError} core::bool*; )
- #t334.{core::Map::[]=}{Invariant}("bar", 42);
- #t334.{core::Map::[]=}{Invariant}("baz", null);
+ #t334.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
+ #t334.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t334;
}
static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
block {
final core::List<core::int*>* #t336 = <core::int*>[];
await for (core::int* i in stream)
- #t336.{core::List::add}{Invariant}(i);
+ #t336.{core::List::add}(i){(core::int*) →* void};
} =>#t336;
block {
final core::Set<core::int*>* #t337 = col::LinkedHashSet::•<core::int*>();
await for (core::int* i in stream)
- #t337.{core::Set::add}{Invariant}(i);
+ #t337.{core::Set::add}(i){(core::int*) →* core::bool*};
} =>#t337;
block {
final core::Map<core::String*, core::int*>* #t338 = <core::String*, core::int*>{};
await for (core::int* i in stream)
- #t338.{core::Map::[]=}{Invariant}("bar", i);
+ #t338.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
} =>#t338;
}
static method testPromotion(self::A* a) → dynamic {
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t339 = <core::int*>[];
if(a is self::B*)
- #t339.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo});
+ #t339.{core::List::add}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* void};
} =>#t339;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t340 = col::LinkedHashSet::•<core::int*>();
if(a is self::B*)
- #t340.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo});
+ #t340.{core::Set::add}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* core::bool*};
} =>#t340;
core::Map<core::int*, core::int*>* map10 = block {
final core::Map<core::int*, core::int*>* #t341 = <core::int*, core::int*>{};
if(a is self::B*)
- #t341.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
+ #t341.{core::Map::[]=}(a{self::B*}.{self::B::foo}{core::int*}, a{self::B*}.{self::B::foo}{core::int*}){(core::int*, core::int*) →* void};
} =>#t341;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
index ce26d83..94721e8 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
@@ -455,64 +455,64 @@
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t1 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t1.{core::List::add}{Invariant}(42);
+ #t1.{core::List::add}(42){(core::int*) →* void};
} =>#t1;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t2 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t2.{core::Set::add}{Invariant}(42);
- #t2.{core::Set::add}{Invariant}(null);
+ #t2.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t2;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t3 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t3.{core::Map::[]=}{Invariant}("bar", 42);
- #t3.{core::Map::[]=}{Invariant}("baz", null);
+ #t3.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
+ #t3.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t3;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t4 = core::_GrowableList::•<dynamic>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t4.{core::List::add}{Invariant}(dynVar);
+ #t4.{core::List::add}(dynVar){(dynamic) →* void};
} =>#t4;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t5 = new col::_CompactLinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t5.{core::Set::add}{Invariant}(dynVar);
- #t5.{core::Set::add}{Invariant}(null);
+ #t5.{core::Set::add}(dynVar){(dynamic) →* core::bool*};
+ #t5.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t5;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t6 = <core::String*, dynamic>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t6.{core::Map::[]=}{Invariant}("bar", dynVar);
- #t6.{core::Map::[]=}{Invariant}("baz", null);
+ #t6.{core::Map::[]=}("bar", dynVar){(core::String*, dynamic) →* void};
+ #t6.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t6;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t7 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t7.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
+ #t7.{core::List::add}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* void};
} =>#t7;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t8 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t8.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
- #t8.{core::Set::add}{Invariant}(null);
+ #t8.{core::Set::add}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* core::bool*};
+ #t8.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t8;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t9 = <core::String*, core::List<core::int*>*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t9.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::_literal1<core::int*>(42));
- #t9.{core::Map::[]=}{Invariant}("baz", null);
+ #t9.{core::Map::[]=}("bar", core::_GrowableList::_literal1<core::int*>(42)){(core::String*, core::List<core::int*>*) →* void};
+ #t9.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t9;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t10 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t10.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
+ #t10.{core::List::addAll}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
} =>#t10;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t11 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t11.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
- #t11.{core::Set::add}{Invariant}(null);
+ #t11.{core::Set::addAll}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+ #t11.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t11;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t12 = <core::String*, core::int*>{};
@@ -520,21 +520,21 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current};
- #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
+ #t12.{core::Map::[]=}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t12.{core::Map::[]=}{Invariant}("baz", null);
+ #t12.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t12;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t14 = core::_GrowableList::•<dynamic>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t14.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar));
+ #t14.{core::List::addAll}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
} =>#t14;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t15 = new col::_CompactLinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t15.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar));
- #t15.{core::Set::add}{Invariant}(null);
+ #t15.{core::Set::addAll}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+ #t15.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t15;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t16 = <core::String*, dynamic>{};
@@ -542,21 +542,21 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t17 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value}){(core::String*, dynamic) →* void};
}
}
- #t16.{core::Map::[]=}{Invariant}("baz", null);
+ #t16.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t16;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t18 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t18.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42)));
+ #t18.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t18;
core::Set<core::List<core::int*>*>* set22 = block {
final core::Set<core::List<core::int*>*>* #t19 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t19.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42)));
- #t19.{core::Set::add}{Invariant}(null);
+ #t19.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t19.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t19;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t20 = <core::String*, core::List<core::int*>*>{};
@@ -564,23 +564,23 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t21 = :sync-for-iterator.{core::Iterator::current};
- #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t20.{core::Map::[]=}{Invariant}("baz", null);
+ #t20.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t20;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t22 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t22.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
+ #t22.{core::List::addAll}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
} =>#t22;
core::Set<core::int*>* set30 = block {
final core::Set<core::int*>* #t23 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t23.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
- #t23.{core::Set::add}{Invariant}(null);
+ #t23.{core::Set::addAll}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+ #t23.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t23;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t24 = <core::String*, core::int*>{};
@@ -589,23 +589,23 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t25 = :sync-for-iterator.{core::Iterator::current};
- #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
+ #t24.{core::Map::[]=}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t24.{core::Map::[]=}{Invariant}("baz", null);
+ #t24.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t24;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t26 = core::_GrowableList::•<dynamic>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t26.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar));
+ #t26.{core::List::addAll}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
} =>#t26;
core::Set<dynamic>* set31 = block {
final core::Set<dynamic>* #t27 = new col::_CompactLinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t27.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar));
- #t27.{core::Set::add}{Invariant}(null);
+ #t27.{core::Set::addAll}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+ #t27.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t27;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t28 = <core::String*, dynamic>{};
@@ -614,23 +614,23 @@
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t29 = :sync-for-iterator.{core::Iterator::current};
- #t28.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value});
+ #t28.{core::Map::[]=}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value}){(core::String*, dynamic) →* void};
}
}
- #t28.{core::Map::[]=}{Invariant}("baz", null);
+ #t28.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t28;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t30 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t30.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42)));
+ #t30.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t30;
core::Set<core::List<core::int*>*>* set33 = block {
final core::Set<core::List<core::int*>*>* #t31 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t31.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42)));
- #t31.{core::Set::add}{Invariant}(null);
+ #t31.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t31.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t31;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t32 = <core::String*, core::List<core::int*>*>{};
@@ -639,21 +639,21 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 = :sync-for-iterator.{core::Iterator::current};
- #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t32.{core::Map::[]=}{Invariant}("baz", null);
+ #t32.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t32;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t34 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t34.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+ #t34.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t34;
core::Set<core::List<core::int*>*>* set40 = block {
final core::Set<core::List<core::int*>*>* #t35 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t35.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
- #t35.{core::Set::add}{Invariant}(null);
+ #t35.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t35.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t35;
core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:39:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
@@ -661,32 +661,32 @@
core::List<core::List<core::int*>*>* list41 = block {
final core::List<core::List<core::int*>*>* #t36 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t36.{core::List::addAll}{Invariant}( block {
+ #t36.{core::List::addAll}( block {
final core::Set<core::List<core::int*>*>* #t37 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t37.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
- } =>#t37);
+ #t37.{core::Set::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+ } =>#t37){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t36;
core::Set<core::List<core::int*>*>* set41 = block {
final core::Set<core::List<core::int*>*>* #t38 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t38.{core::Set::addAll}{Invariant}( block {
+ #t38.{core::Set::addAll}( block {
final core::Set<core::List<core::int*>*>* #t39 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t39.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
- } =>#t39);
- #t38.{core::Set::add}{Invariant}(null);
+ #t39.{core::Set::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+ } =>#t39){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t38.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t38;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t40 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t40.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+ #t40.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t40;
core::Set<core::List<core::int*>*>* set42 = block {
final core::Set<core::List<core::int*>*>* #t41 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t41.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
- #t41.{core::Set::add}{Invariant}(null);
+ #t41.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t41.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t41;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t42 = <core::String*, core::List<core::int*>*>{};
@@ -695,21 +695,21 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 = :sync-for-iterator.{core::Iterator::current};
- #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
+ #t42.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t42.{core::Map::[]=}{Invariant}("baz", null);
+ #t42.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t42;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t44 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t44.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0));
+ #t44.{core::List::addAll}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
} =>#t44;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t45 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t45.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0));
- #t45.{core::Set::add}{Invariant}(null);
+ #t45.{core::Set::addAll}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+ #t45.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t45;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t46 = <core::String*, core::int*>{};
@@ -717,38 +717,38 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current};
- #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}, #t47.{core::MapEntry::value});
+ #t46.{core::Map::[]=}(#t47.{core::MapEntry::key}, #t47.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t46.{core::Map::[]=}{Invariant}("baz", null);
+ #t46.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t46;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t48 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t48.{core::List::addAll}{Invariant}( block {
+ #t48.{core::List::addAll}( block {
final core::Set<core::int*>* #t49 = new col::_CompactLinkedHashSet::•<core::int*>();
- } =>#t49);
+ } =>#t49){(core::Iterable<core::int*>*) →* void};
} =>#t48;
core::Set<core::int*>* set51 = block {
final core::Set<core::int*>* #t50 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t50.{core::Set::addAll}{Invariant}( block {
+ #t50.{core::Set::addAll}( block {
final core::Set<core::int*>* #t51 = new col::_CompactLinkedHashSet::•<core::int*>();
- } =>#t51);
- #t50.{core::Set::add}{Invariant}(null);
+ } =>#t51){(core::Iterable<core::int*>*) →* void};
+ #t50.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t50;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t52 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t52.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0));
+ #t52.{core::List::addAll}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
} =>#t52;
core::Set<core::int*>* set52 = block {
final core::Set<core::int*>* #t53 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t53.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0));
- #t53.{core::Set::add}{Invariant}(null);
+ #t53.{core::Set::addAll}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+ #t53.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t53;
core::Map<core::String*, core::int*>* map52 = block {
final core::Map<core::String*, core::int*>* #t54 = <core::String*, core::int*>{};
@@ -757,21 +757,21 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t55 = :sync-for-iterator.{core::Iterator::current};
- #t54.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
+ #t54.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t54.{core::Map::[]=}{Invariant}("baz", null);
+ #t54.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t54;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t56 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t56.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+ #t56.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t56;
core::Set<core::List<core::int*>*>* set60 = block {
final core::Set<core::List<core::int*>*>* #t57 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t57.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
- #t57.{core::Set::add}{Invariant}(null);
+ #t57.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t57.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t57;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t58 = <core::String*, core::List<core::int*>*>{};
@@ -779,23 +779,23 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t59 = :sync-for-iterator.{core::Iterator::current};
- #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
+ #t58.{core::Map::[]=}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t58.{core::Map::[]=}{Invariant}("baz", null);
+ #t58.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t58;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t60 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t60.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+ #t60.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t60;
core::Set<core::List<core::int*>*>* set61 = block {
final core::Set<core::List<core::int*>*>* #t61 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t61.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
- #t61.{core::Set::add}{Invariant}(null);
+ #t61.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t61.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t61;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t62 = <core::String*, core::List<core::int*>*>{};
@@ -804,72 +804,72 @@
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t63 = :sync-for-iterator.{core::Iterator::current};
- #t62.{core::Map::[]=}{Invariant}(#t63.{core::MapEntry::key}, #t63.{core::MapEntry::value});
+ #t62.{core::Map::[]=}(#t63.{core::MapEntry::key}, #t63.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t62.{core::Map::[]=}{Invariant}("baz", null);
+ #t62.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t62;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t64 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t64.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
+ #t64.{core::List::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
} =>#t64;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t65 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t65.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
- #t65.{core::Set::add}{Invariant}(null);
+ #t65.{core::Set::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+ #t65.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t65;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t66 = core::_GrowableList::•<core::List<core::int*>*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t66.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
+ #t66.{core::List::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
} =>#t66;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t67 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t67.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
- #t67.{core::Set::add}{Invariant}(null);
+ #t67.{core::Set::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+ #t67.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t67;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t68 = core::_GrowableList::•<core::num*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t68.{core::List::add}{Invariant}(42);
+ #t68.{core::List::add}(42){(core::num*) →* void};
else
- #t68.{core::List::add}{Invariant}(3.14);
+ #t68.{core::List::add}(3.14){(core::num*) →* void};
} =>#t68;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t69 = new col::_CompactLinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t69.{core::Set::add}{Invariant}(42);
+ #t69.{core::Set::add}(42){(core::num*) →* core::bool*};
else
- #t69.{core::Set::add}{Invariant}(3.14);
- #t69.{core::Set::add}{Invariant}(null);
+ #t69.{core::Set::add}(3.14){(core::num*) →* core::bool*};
+ #t69.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t69;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t70 = <core::String*, core::num*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t70.{core::Map::[]=}{Invariant}("bar", 42);
+ #t70.{core::Map::[]=}("bar", 42){(core::String*, core::num*) →* void};
else
- #t70.{core::Map::[]=}{Invariant}("bar", 3.14);
- #t70.{core::Map::[]=}{Invariant}("baz", null);
+ #t70.{core::Map::[]=}("bar", 3.14){(core::String*, core::num*) →* void};
+ #t70.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t70;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t71 = core::_GrowableList::•<core::num*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t71.{core::List::addAll}{Invariant}(listInt);
+ #t71.{core::List::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t71.{core::List::addAll}{Invariant}(listDouble);
+ #t71.{core::List::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
} =>#t71;
core::Set<core::num*>* set81 = block {
final core::Set<core::num*>* #t72 = new col::_CompactLinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t72.{core::Set::addAll}{Invariant}(listInt);
+ #t72.{core::Set::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t72.{core::Set::addAll}{Invariant}(listDouble);
- #t72.{core::Set::add}{Invariant}(null);
+ #t72.{core::Set::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
+ #t72.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t72;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t73 = <core::String*, core::num*>{};
@@ -877,58 +877,58 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapToInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t74 = :sync-for-iterator.{core::Iterator::current};
- #t73.{core::Map::[]=}{Invariant}(#t74.{core::MapEntry::key}, #t74.{core::MapEntry::value});
+ #t73.{core::Map::[]=}(#t74.{core::MapEntry::key}, #t74.{core::MapEntry::value}){(core::String*, core::num*) →* void};
}
}
else {
core::Iterator<core::MapEntry<core::String*, core::double*>>* :sync-for-iterator = mapToDouble.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t75 = :sync-for-iterator.{core::Iterator::current};
- #t73.{core::Map::[]=}{Invariant}(#t75.{core::MapEntry::key}, #t75.{core::MapEntry::value});
+ #t73.{core::Map::[]=}(#t75.{core::MapEntry::key}, #t75.{core::MapEntry::value}){(core::String*, core::num*) →* void};
}
}
- #t73.{core::Map::[]=}{Invariant}("baz", null);
+ #t73.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t73;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t76 = core::_GrowableList::•<dynamic>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t76.{core::List::addAll}{Invariant}(listInt);
+ #t76.{core::List::addAll}(listInt){(core::Iterable<dynamic>*) →* void};
else
- #t76.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+ #t76.{core::List::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
} =>#t76;
core::Set<dynamic>* set82 = block {
final core::Set<dynamic>* #t77 = new col::_CompactLinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t77.{core::Set::addAll}{Invariant}(listInt);
+ #t77.{core::Set::addAll}(listInt){(core::Iterable<dynamic>*) →* void};
else
- #t77.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
- #t77.{core::Set::add}{Invariant}(null);
+ #t77.{core::Set::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+ #t77.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t77;
core::Set<dynamic>* map82 = block {
final core::Set<dynamic>* #t78 = new col::_CompactLinkedHashSet::•<dynamic>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t78.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t78.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
- ^");
+ ^"){(dynamic) →* core::bool*};
else
- #t78.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
- #t78.{core::Set::add}{Invariant}(null);
+ #t78.{core::Set::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+ #t78.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t78;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t79 = core::_GrowableList::•<core::num*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t79.{core::List::add}{Invariant}(42);
+ #t79.{core::List::add}(42){(core::num*) →* void};
else
- #t79.{core::List::addAll}{Invariant}(listDouble);
+ #t79.{core::List::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
} =>#t79;
core::Set<core::num*>* set83 = block {
final core::Set<core::num*>* #t80 = new col::_CompactLinkedHashSet::•<core::num*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t80.{core::Set::addAll}{Invariant}(listInt);
+ #t80.{core::Set::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t80.{core::Set::add}{Invariant}(3.14);
- #t80.{core::Set::add}{Invariant}(null);
+ #t80.{core::Set::add}(3.14){(core::num*) →* core::bool*};
+ #t80.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t80;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t81 = <core::String*, core::num*>{};
@@ -936,29 +936,29 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapToInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t82 = :sync-for-iterator.{core::Iterator::current};
- #t81.{core::Map::[]=}{Invariant}(#t82.{core::MapEntry::key}, #t82.{core::MapEntry::value});
+ #t81.{core::Map::[]=}(#t82.{core::MapEntry::key}, #t82.{core::MapEntry::value}){(core::String*, core::num*) →* void};
}
}
else
- #t81.{core::Map::[]=}{Invariant}("bar", 3.14);
- #t81.{core::Map::[]=}{Invariant}("baz", null);
+ #t81.{core::Map::[]=}("bar", 3.14){(core::String*, core::num*) →* void};
+ #t81.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t81;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t83 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t83.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ #t83.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
} =>#t83;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t84 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t84.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
- #t84.{core::Set::add}{Invariant}(null);
+ #t84.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+ #t84.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t84;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t85 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t85.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t85.{core::Map::[]=}{Invariant}("baz", null);
+ #t85.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+ #t85.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t85;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t86 = core::_GrowableList::•<core::int*>(0);
@@ -968,7 +968,7 @@
final dynamic #t87 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t88 = #t87 as{TypeError} core::int*;
- #t86.{core::List::add}{Invariant}(#t88);
+ #t86.{core::List::add}(#t88){(core::int*) →* void};
}
}
}
@@ -981,11 +981,11 @@
final dynamic #t90 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t91 = #t90 as{TypeError} core::int*;
- #t89.{core::Set::add}{Invariant}(#t91);
+ #t89.{core::Set::add}(#t91){(core::int*) →* core::bool*};
}
}
}
- #t89.{core::Set::add}{Invariant}(null);
+ #t89.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t89;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t92 = <core::String*, core::int*>{};
@@ -996,66 +996,66 @@
{
final core::String* #t94 = #t93.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t95 = #t93.{core::MapEntry::value} as{TypeError} core::int*;
- #t92.{core::Map::[]=}{Invariant}(#t94, #t95);
+ #t92.{core::Map::[]=}(#t94, #t95){(core::String*, core::int*) →* void};
}
}
}
- #t92.{core::Map::[]=}{Invariant}("baz", null);
+ #t92.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t92;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t96 = core::_GrowableList::•<core::int*>(0);
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t96.{core::List::add}{Invariant}(42);
+ #t96.{core::List::add}(42){(core::int*) →* void};
} =>#t96;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t97 = new col::_CompactLinkedHashSet::•<core::int*>();
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t97.{core::Set::add}{Invariant}(42);
+ #t97.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t97;
core::Map<core::int*, core::int*>* map100 = block {
final core::Map<core::int*, core::int*>* #t98 = <core::int*, core::int*>{};
if(dynVar as{TypeError,ForDynamic} core::bool*)
- #t98.{core::Map::[]=}{Invariant}(42, 42);
+ #t98.{core::Map::[]=}(42, 42){(core::int*, core::int*) →* void};
} =>#t98;
}
static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
block {
final core::List<core::int*>* #t99 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t99.{core::List::add}{Invariant}(let final Never* #t100 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t99.{core::List::add}(let final Never* #t100 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) \"bar\"];
- ^" in "bar" as{TypeError} core::int*);
+ ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
} =>#t99;
block {
final core::Set<core::int*>* #t101 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t101.{core::Set::add}{Invariant}(let final Never* #t102 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t101.{core::Set::add}(let final Never* #t102 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:88:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{if (oracle(\"foo\")) \"bar\", null};
- ^" in "bar" as{TypeError} core::int*);
- #t101.{core::Set::add}{Invariant}(null);
+ ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
+ #t101.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t101;
block {
final core::Map<core::String*, core::int*>* #t103 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t103.{core::Map::[]=}{Invariant}("bar", let final Never* #t104 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t103.{core::Map::[]=}("bar", let final Never* #t104 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
- ^" in "bar" as{TypeError} core::int*);
- #t103.{core::Map::[]=}{Invariant}("baz", null);
+ ^" in "bar" as{TypeError} core::int*){(core::String*, core::int*) →* void};
+ #t103.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t103;
block {
final core::List<core::int*>* #t105 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t105.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(let final Never* #t106 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t105.{core::List::addAll}(core::_GrowableList::_literal1<core::int*>(let final Never* #t106 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[if (oracle(\"foo\")) ...[\"bar\"]];
- ^" in "bar" as{TypeError} core::int*));
+ ^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
} =>#t105;
block {
final core::Set<core::int*>* #t107 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t107.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(let final Never* #t108 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t107.{core::Set::addAll}(core::_GrowableList::_literal1<core::int*>(let final Never* #t108 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{if (oracle(\"foo\")) ...[\"bar\"], null};
- ^" in "bar" as{TypeError} core::int*));
- #t107.{core::Set::add}{Invariant}(null);
+ ^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
+ #t107.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t107;
block {
final core::Map<core::String*, core::int*>* #t109 = <core::String*, core::int*>{};
@@ -1065,27 +1065,27 @@
^" in "bar" as{TypeError} core::int*}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t111 = :sync-for-iterator.{core::Iterator::current};
- #t109.{core::Map::[]=}{Invariant}(#t111.{core::MapEntry::key}, #t111.{core::MapEntry::value});
+ #t109.{core::Map::[]=}(#t111.{core::MapEntry::key}, #t111.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t109.{core::Map::[]=}{Invariant}("baz", null);
+ #t109.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t109;
block {
final core::List<core::int*>* #t112 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t112.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t112.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map];
- ^");
+ ^"){(core::int*) →* void};
} =>#t112;
block {
final core::Set<core::int*>* #t113 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t113.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t113.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map, null};
- ^");
- #t113.{core::Set::add}{Invariant}(null);
+ ^"){(core::int*) →* core::bool*};
+ #t113.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t113;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:39: Error: Unexpected type 'List<String>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1097,58 +1097,58 @@
block {
final core::List<core::String*>* #t114 = core::_GrowableList::•<core::String*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t114.{core::List::add}{Invariant}(let final Never* #t115 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t114.{core::List::add}(let final Never* #t115 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>[if (oracle(\"foo\")) 42 else 3.14];
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
else
- #t114.{core::List::add}{Invariant}(let final Never* #t116 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t114.{core::List::add}(let final Never* #t116 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[if (oracle(\"foo\")) 42 else 3.14];
- ^" in 3.14 as{TypeError} core::String*);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
} =>#t114;
block {
final core::Set<core::String*>* #t117 = new col::_CompactLinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t117.{core::Set::add}{Invariant}(let final Never* #t118 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t117.{core::Set::add}(let final Never* #t118 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>{if (oracle(\"foo\")) 42 else 3.14, null};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
else
- #t117.{core::Set::add}{Invariant}(let final Never* #t119 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t117.{core::Set::add}(let final Never* #t119 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{if (oracle(\"foo\")) 42 else 3.14, null};
- ^" in 3.14 as{TypeError} core::String*);
- #t117.{core::Set::add}{Invariant}(null);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
+ #t117.{core::Set::add}(null){(core::String*) →* core::bool*};
} =>#t117;
block {
final core::Map<core::String*, core::String*>* #t120 = <core::String*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t120.{core::Map::[]=}{Invariant}("bar", let final Never* #t121 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t120.{core::Map::[]=}("bar", let final Never* #t121 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
else
- #t120.{core::Map::[]=}{Invariant}("baz", let final Never* #t122 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t120.{core::Map::[]=}("baz", let final Never* #t122 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
- ^" in 3.14 as{TypeError} core::String*);
- #t120.{core::Map::[]=}{Invariant}("baz", null);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
+ #t120.{core::Map::[]=}("baz", null){(core::String*, core::String*) →* void};
} =>#t120;
block {
final core::List<core::int*>* #t123 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t123.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t123.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) ...map else 42];
- ^");
+ ^"){(core::int*) →* void};
else
- #t123.{core::List::add}{Invariant}(42);
+ #t123.{core::List::add}(42){(core::int*) →* void};
} =>#t123;
block {
final core::Set<core::int*>* #t124 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t124.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t124.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
- ^");
+ ^"){(core::int*) →* core::bool*};
else
- #t124.{core::Set::add}{Invariant}(42);
- #t124.{core::Set::add}{Invariant}(null);
+ #t124.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t124.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t124;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:39: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1160,23 +1160,23 @@
block {
final core::List<core::int*>* #t125 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t125.{core::List::add}{Invariant}(42);
+ #t125.{core::List::add}(42){(core::int*) →* void};
else
- #t125.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t125.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[if (oracle(\"foo\")) 42 else ...map];
- ^");
+ ^"){(core::int*) →* void};
} =>#t125;
block {
final core::Set<core::int*>* #t126 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t126.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t126.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:31: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{if (oracle(\"foo\")) ...map else 42, null};
- ^");
+ ^"){(core::int*) →* core::bool*};
else
- #t126.{core::Set::add}{Invariant}(42);
- #t126.{core::Set::add}{Invariant}(null);
+ #t126.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t126.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t126;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:54: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -1208,660 +1208,660 @@
if(let final Never* #t128 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:112:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
List<int> list20 = [if (42) 42];
^" in 42 as{TypeError} core::bool*)
- #t127.{core::List::add}{Invariant}(42);
+ #t127.{core::List::add}(42){(core::int*) →* void};
} =>#t127;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t129 = new col::_CompactLinkedHashSet::•<core::int*>();
if(let final Never* #t130 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:113:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
Set<int> set20 = {if (42) 42};
^" in 42 as{TypeError} core::bool*)
- #t129.{core::Set::add}{Invariant}(42);
+ #t129.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t129;
core::Map<core::int*, core::int*>* map30 = block {
final core::Map<core::int*, core::int*>* #t131 = <core::int*, core::int*>{};
if(let final Never* #t132 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
Map<int, int> map30 = {if (42) 42: 42};
^" in 42 as{TypeError} core::bool*)
- #t131.{core::Map::[]=}{Invariant}(42, 42);
+ #t131.{core::Map::[]=}(42, 42){(core::int*, core::int*) →* void};
} =>#t131;
core::List<core::String*>* list40 = block {
final core::List<core::String*>* #t133 = core::_GrowableList::•<core::String*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t133.{core::List::add}{Invariant}(let final Never* #t134 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t133.{core::List::add}(let final Never* #t134 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
- ^" in true as{TypeError} core::String*);
+ ^" in true as{TypeError} core::String*){(core::String*) →* void};
else
- #t133.{core::List::add}{Invariant}(let final Never* #t135 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t133.{core::List::add}(let final Never* #t135 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
} =>#t133;
core::Set<core::String*>* set40 = block {
final core::Set<core::String*>* #t136 = new col::_CompactLinkedHashSet::•<core::String*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t136.{core::Set::add}{Invariant}(let final Never* #t137 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t136.{core::Set::add}(let final Never* #t137 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
- ^" in true as{TypeError} core::String*);
+ ^" in true as{TypeError} core::String*){(core::String*) →* core::bool*};
else
- #t136.{core::Set::add}{Invariant}(let final Never* #t138 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t136.{core::Set::add}(let final Never* #t138 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
} =>#t136;
core::Map<core::String*, core::int*>* map40 = block {
final core::Map<core::String*, core::int*>* #t139 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t139.{core::Map::[]=}{Invariant}(let final Never* #t140 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t139.{core::Map::[]=}(let final Never* #t140 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
- ^" in true as{TypeError} core::String*, 42);
+ ^" in true as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
else
- #t139.{core::Map::[]=}{Invariant}(let final Never* #t141 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t139.{core::Map::[]=}(let final Never* #t141 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
- ^" in 42 as{TypeError} core::String*, 42);
+ ^" in 42 as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
} =>#t139;
core::Map<core::int*, core::String*>* map41 = block {
final core::Map<core::int*, core::String*>* #t142 = <core::int*, core::String*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
- #t142.{core::Map::[]=}{Invariant}(42, let final Never* #t143 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+ #t142.{core::Map::[]=}(42, let final Never* #t143 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
- ^" in true as{TypeError} core::String*);
+ ^" in true as{TypeError} core::String*){(core::int*, core::String*) →* void};
else
- #t142.{core::Map::[]=}{Invariant}(42, let final Never* #t144 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t142.{core::Map::[]=}(42, let final Never* #t144 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
} =>#t142;
}
static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::int* index, core::Map<core::String*, core::int*>* mapStringInt, core::Map<core::String*, core::double*>* mapStringDouble) → dynamic {
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t145 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t145.{core::List::add}{Invariant}(42);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t145.{core::List::add}(42){(core::int*) →* void};
} =>#t145;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t146 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t146.{core::Set::add}{Invariant}(42);
- #t146.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t146.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t146.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t146;
core::Map<core::String*, core::int*>* map10 = block {
final core::Map<core::String*, core::int*>* #t147 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t147.{core::Map::[]=}{Invariant}("bar", 42);
- #t147.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t147.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
+ #t147.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t147;
core::List<dynamic>* list11 = block {
final core::List<dynamic>* #t148 = core::_GrowableList::•<dynamic>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t148.{core::List::add}{Invariant}(dynVar);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t148.{core::List::add}(dynVar){(dynamic) →* void};
} =>#t148;
core::Set<dynamic>* set11 = block {
final core::Set<dynamic>* #t149 = new col::_CompactLinkedHashSet::•<dynamic>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t149.{core::Set::add}{Invariant}(dynVar);
- #t149.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t149.{core::Set::add}(dynVar){(dynamic) →* core::bool*};
+ #t149.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t149;
core::Map<core::String*, dynamic>* map11 = block {
final core::Map<core::String*, dynamic>* #t150 = <core::String*, dynamic>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t150.{core::Map::[]=}{Invariant}("bar", dynVar);
- #t150.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t150.{core::Map::[]=}("bar", dynVar){(core::String*, dynamic) →* void};
+ #t150.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t150;
core::List<core::List<core::int*>*>* list12 = block {
final core::List<core::List<core::int*>*>* #t151 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t151.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t151.{core::List::add}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* void};
} =>#t151;
core::Set<core::List<core::int*>*>* set12 = block {
final core::Set<core::List<core::int*>*>* #t152 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t152.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
- #t152.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t152.{core::Set::add}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* core::bool*};
+ #t152.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t152;
core::Map<core::String*, core::List<core::int*>*>* map12 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t153 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t153.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::_literal1<core::int*>(42));
- #t153.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t153.{core::Map::[]=}("bar", core::_GrowableList::_literal1<core::int*>(42)){(core::String*, core::List<core::int*>*) →* void};
+ #t153.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t153;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t154 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t154.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t154.{core::List::addAll}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
} =>#t154;
core::Set<core::int*>* set20 = block {
final core::Set<core::int*>* #t155 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t155.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
- #t155.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t155.{core::Set::addAll}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+ #t155.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t155;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t156 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t157 = :sync-for-iterator.{core::Iterator::current};
- #t156.{core::Map::[]=}{Invariant}(#t157.{core::MapEntry::key}, #t157.{core::MapEntry::value});
+ #t156.{core::Map::[]=}(#t157.{core::MapEntry::key}, #t157.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t156.{core::Map::[]=}{Invariant}("baz", null);
+ #t156.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t156;
core::List<dynamic>* list21 = block {
final core::List<dynamic>* #t158 = core::_GrowableList::•<dynamic>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t158.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar));
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t158.{core::List::addAll}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
} =>#t158;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t159 = new col::_CompactLinkedHashSet::•<dynamic>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t159.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar));
- #t159.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t159.{core::Set::addAll}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+ #t159.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t159;
core::Map<core::String*, dynamic>* map21 = block {
final core::Map<core::String*, dynamic>* #t160 = <core::String*, dynamic>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t161 = :sync-for-iterator.{core::Iterator::current};
- #t160.{core::Map::[]=}{Invariant}(#t161.{core::MapEntry::key}, #t161.{core::MapEntry::value});
+ #t160.{core::Map::[]=}(#t161.{core::MapEntry::key}, #t161.{core::MapEntry::value}){(core::String*, dynamic) →* void};
}
}
- #t160.{core::Map::[]=}{Invariant}("baz", null);
+ #t160.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t160;
core::List<core::List<core::int*>*>* list22 = block {
final core::List<core::List<core::int*>*>* #t162 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t162.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42)));
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t162.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t162;
core::Set<core::List<core::int*>*>* set22 = block {
final core::Set<core::List<core::int*>*>* #t163 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t163.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42)));
- #t163.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t163.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t163.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t163;
core::Map<core::String*, core::List<core::int*>*>* map22 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t164 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t165 = :sync-for-iterator.{core::Iterator::current};
- #t164.{core::Map::[]=}{Invariant}(#t165.{core::MapEntry::key}, #t165.{core::MapEntry::value});
+ #t164.{core::Map::[]=}(#t165.{core::MapEntry::key}, #t165.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t164.{core::Map::[]=}{Invariant}("baz", null);
+ #t164.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t164;
core::List<core::int*>* list30 = block {
final core::List<core::int*>* #t166 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t166.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
+ #t166.{core::List::addAll}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
} =>#t166;
core::Set<core::int*>* set30 = block {
final core::Set<core::int*>* #t167 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t167.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42));
- #t167.{core::Set::add}{Invariant}(null);
+ #t167.{core::Set::addAll}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+ #t167.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t167;
core::Map<core::String*, core::int*>* map30 = block {
final core::Map<core::String*, core::int*>* #t168 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t169 = :sync-for-iterator.{core::Iterator::current};
- #t168.{core::Map::[]=}{Invariant}(#t169.{core::MapEntry::key}, #t169.{core::MapEntry::value});
+ #t168.{core::Map::[]=}(#t169.{core::MapEntry::key}, #t169.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t168.{core::Map::[]=}{Invariant}("baz", null);
+ #t168.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t168;
core::List<dynamic>* list31 = block {
final core::List<dynamic>* #t170 = core::_GrowableList::•<dynamic>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t170.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar));
+ #t170.{core::List::addAll}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
} =>#t170;
core::Set<dynamic>* set31 = block {
final core::Set<dynamic>* #t171 = new col::_CompactLinkedHashSet::•<dynamic>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t171.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar));
- #t171.{core::Set::add}{Invariant}(null);
+ #t171.{core::Set::addAll}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+ #t171.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t171;
core::Map<core::String*, dynamic>* map31 = block {
final core::Map<core::String*, dynamic>* #t172 = <core::String*, dynamic>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, dynamic>* #t173 = :sync-for-iterator.{core::Iterator::current};
- #t172.{core::Map::[]=}{Invariant}(#t173.{core::MapEntry::key}, #t173.{core::MapEntry::value});
+ #t172.{core::Map::[]=}(#t173.{core::MapEntry::key}, #t173.{core::MapEntry::value}){(core::String*, dynamic) →* void};
}
}
- #t172.{core::Map::[]=}{Invariant}("baz", null);
+ #t172.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t172;
core::List<core::List<core::int*>*>* list33 = block {
final core::List<core::List<core::int*>*>* #t174 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t174.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42)));
+ #t174.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t174;
core::Set<core::List<core::int*>*>* set33 = block {
final core::Set<core::List<core::int*>*>* #t175 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t175.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42)));
- #t175.{core::Set::add}{Invariant}(null);
+ #t175.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t175.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t175;
core::Map<core::String*, core::List<core::int*>*>* map33 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t176 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t177 = :sync-for-iterator.{core::Iterator::current};
- #t176.{core::Map::[]=}{Invariant}(#t177.{core::MapEntry::key}, #t177.{core::MapEntry::value});
+ #t176.{core::Map::[]=}(#t177.{core::MapEntry::key}, #t177.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t176.{core::Map::[]=}{Invariant}("baz", null);
+ #t176.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t176;
core::List<core::List<core::int*>*>* list40 = block {
final core::List<core::List<core::int*>*>* #t178 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t178.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t178.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t178;
core::Set<core::List<core::int*>*>* set40 = block {
final core::Set<core::List<core::int*>*>* #t179 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t179.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
- #t179.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t179.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t179.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t179;
core::Map<core::String*, core::List<core::int*>*>* map40 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t180 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t181 = :sync-for-iterator.{core::Iterator::current};
- #t180.{core::Map::[]=}{Invariant}(#t181.{core::MapEntry::key}, #t181.{core::MapEntry::value});
+ #t180.{core::Map::[]=}(#t181.{core::MapEntry::key}, #t181.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t180.{core::Map::[]=}{Invariant}("baz", null);
+ #t180.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t180;
core::List<core::List<core::int*>*>* list41 = block {
final core::List<core::List<core::int*>*>* #t182 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t182.{core::List::addAll}{Invariant}( block {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t182.{core::List::addAll}( block {
final core::Set<core::List<core::int*>*>* #t183 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t183.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
- } =>#t183);
+ #t183.{core::Set::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+ } =>#t183){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t182;
core::Set<core::List<core::int*>*>* set41 = block {
final core::Set<core::List<core::int*>*>* #t184 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t184.{core::Set::addAll}{Invariant}( block {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t184.{core::Set::addAll}( block {
final core::Set<core::List<core::int*>*>* #t185 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- #t185.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
- } =>#t185);
- #t184.{core::Set::add}{Invariant}(null);
+ #t185.{core::Set::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+ } =>#t185){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t184.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t184;
core::List<core::List<core::int*>*>* list42 = block {
final core::List<core::List<core::int*>*>* #t186 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t186.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+ #t186.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t186;
core::Set<core::List<core::int*>*>* set42 = block {
final core::Set<core::List<core::int*>*>* #t187 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t187.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
- #t187.{core::Set::add}{Invariant}(null);
+ #t187.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t187.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t187;
core::Map<core::String*, core::List<core::int*>*>* map42 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t188 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t189 = :sync-for-iterator.{core::Iterator::current};
- #t188.{core::Map::[]=}{Invariant}(#t189.{core::MapEntry::key}, #t189.{core::MapEntry::value});
+ #t188.{core::Map::[]=}(#t189.{core::MapEntry::key}, #t189.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t188.{core::Map::[]=}{Invariant}("baz", null);
+ #t188.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t188;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t190 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t190.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0));
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t190.{core::List::addAll}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
} =>#t190;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t191 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t191.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0));
- #t191.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t191.{core::Set::addAll}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+ #t191.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t191;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t192 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t193 = :sync-for-iterator.{core::Iterator::current};
- #t192.{core::Map::[]=}{Invariant}(#t193.{core::MapEntry::key}, #t193.{core::MapEntry::value});
+ #t192.{core::Map::[]=}(#t193.{core::MapEntry::key}, #t193.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t192.{core::Map::[]=}{Invariant}("baz", null);
+ #t192.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t192;
core::List<core::int*>* list51 = block {
final core::List<core::int*>* #t194 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t194.{core::List::addAll}{Invariant}( block {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t194.{core::List::addAll}( block {
final core::Set<core::int*>* #t195 = new col::_CompactLinkedHashSet::•<core::int*>();
- } =>#t195);
+ } =>#t195){(core::Iterable<core::int*>*) →* void};
} =>#t194;
core::Set<core::int*>* set51 = block {
final core::Set<core::int*>* #t196 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t196.{core::Set::addAll}{Invariant}( block {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t196.{core::Set::addAll}( block {
final core::Set<core::int*>* #t197 = new col::_CompactLinkedHashSet::•<core::int*>();
- } =>#t197);
- #t196.{core::Set::add}{Invariant}(null);
+ } =>#t197){(core::Iterable<core::int*>*) →* void};
+ #t196.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t196;
core::List<core::int*>* list52 = block {
final core::List<core::int*>* #t198 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t198.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0));
+ #t198.{core::List::addAll}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
} =>#t198;
core::Set<core::int*>* set52 = block {
final core::Set<core::int*>* #t199 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t199.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0));
- #t199.{core::Set::add}{Invariant}(null);
+ #t199.{core::Set::addAll}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+ #t199.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t199;
core::List<core::List<core::int*>*>* list60 = block {
final core::List<core::List<core::int*>*>* #t200 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t200.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t200.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t200;
core::Set<core::List<core::int*>*>* set60 = block {
final core::Set<core::List<core::int*>*>* #t201 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t201.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
- #t201.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t201.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t201.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t201;
core::Map<core::String*, core::List<core::int*>*>* map60 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t202 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t203 = :sync-for-iterator.{core::Iterator::current};
- #t202.{core::Map::[]=}{Invariant}(#t203.{core::MapEntry::key}, #t203.{core::MapEntry::value});
+ #t202.{core::Map::[]=}(#t203.{core::MapEntry::key}, #t203.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t202.{core::Map::[]=}{Invariant}("baz", null);
+ #t202.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t202;
core::List<core::List<core::int*>*>* list61 = block {
final core::List<core::List<core::int*>*>* #t204 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t204.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+ #t204.{core::List::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
} =>#t204;
core::Set<core::List<core::int*>*>* set61 = block {
final core::Set<core::List<core::int*>*>* #t205 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t205.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
- #t205.{core::Set::add}{Invariant}(null);
+ #t205.{core::Set::addAll}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+ #t205.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t205;
core::Map<core::String*, core::List<core::int*>*>* map61 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t206 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t207 = :sync-for-iterator.{core::Iterator::current};
- #t206.{core::Map::[]=}{Invariant}(#t207.{core::MapEntry::key}, #t207.{core::MapEntry::value});
+ #t206.{core::Map::[]=}(#t207.{core::MapEntry::key}, #t207.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
- #t206.{core::Map::[]=}{Invariant}("baz", null);
+ #t206.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t206;
core::List<core::List<core::int*>*>* list70 = block {
final core::List<core::List<core::int*>*>* #t208 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t208.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t208.{core::List::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
} =>#t208;
core::Set<core::List<core::int*>*>* set70 = block {
final core::Set<core::List<core::int*>*>* #t209 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t209.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
- #t209.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t209.{core::Set::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+ #t209.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t209;
core::Map<core::String*, core::List<core::int*>*>* map70 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t210 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t210.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int*>(0));
- #t210.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t210.{core::Map::[]=}("bar", core::_GrowableList::•<core::int*>(0)){(core::String*, core::List<core::int*>*) →* void};
+ #t210.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t210;
core::List<core::List<core::int*>*>* list71 = block {
final core::List<core::List<core::int*>*>* #t211 = core::_GrowableList::•<core::List<core::int*>*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t211.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
+ #t211.{core::List::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
} =>#t211;
core::Set<core::List<core::int*>*>* set71 = block {
final core::Set<core::List<core::int*>*>* #t212 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t212.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0));
- #t212.{core::Set::add}{Invariant}(null);
+ #t212.{core::Set::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+ #t212.{core::Set::add}(null){(core::List<core::int*>*) →* core::bool*};
} =>#t212;
core::Map<core::String*, core::List<core::int*>*>* map71 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t213 = <core::String*, core::List<core::int*>*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t213.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int*>(0));
- #t213.{core::Map::[]=}{Invariant}("baz", null);
+ #t213.{core::Map::[]=}("bar", core::_GrowableList::•<core::int*>(0)){(core::String*, core::List<core::int*>*) →* void};
+ #t213.{core::Map::[]=}("baz", null){(core::String*, core::List<core::int*>*) →* void};
} =>#t213;
core::List<core::num*>* list80 = block {
final core::List<core::num*>* #t214 = core::_GrowableList::•<core::num*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t214.{core::List::add}{Invariant}(42);
+ #t214.{core::List::add}(42){(core::num*) →* void};
else
- #t214.{core::List::add}{Invariant}(3.14);
+ #t214.{core::List::add}(3.14){(core::num*) →* void};
} =>#t214;
core::Set<core::num*>* set80 = block {
final core::Set<core::num*>* #t215 = new col::_CompactLinkedHashSet::•<core::num*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t215.{core::Set::add}{Invariant}(42);
+ #t215.{core::Set::add}(42){(core::num*) →* core::bool*};
else
- #t215.{core::Set::add}{Invariant}(3.14);
- #t215.{core::Set::add}{Invariant}(null);
+ #t215.{core::Set::add}(3.14){(core::num*) →* core::bool*};
+ #t215.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t215;
core::Map<core::String*, core::num*>* map80 = block {
final core::Map<core::String*, core::num*>* #t216 = <core::String*, core::num*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t216.{core::Map::[]=}{Invariant}("bar", 42);
+ #t216.{core::Map::[]=}("bar", 42){(core::String*, core::num*) →* void};
else
- #t216.{core::Map::[]=}{Invariant}("bar", 3.14);
- #t216.{core::Map::[]=}{Invariant}("baz", null);
+ #t216.{core::Map::[]=}("bar", 3.14){(core::String*, core::num*) →* void};
+ #t216.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t216;
core::List<core::num*>* list81 = block {
final core::List<core::num*>* #t217 = core::_GrowableList::•<core::num*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t217.{core::List::addAll}{Invariant}(listInt);
+ #t217.{core::List::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t217.{core::List::addAll}{Invariant}(listDouble);
+ #t217.{core::List::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
} =>#t217;
core::Set<core::num*>* set81 = block {
final core::Set<core::num*>* #t218 = new col::_CompactLinkedHashSet::•<core::num*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t218.{core::Set::addAll}{Invariant}(listInt);
+ #t218.{core::Set::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t218.{core::Set::addAll}{Invariant}(listDouble);
- #t218.{core::Set::add}{Invariant}(null);
+ #t218.{core::Set::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
+ #t218.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t218;
core::Map<core::String*, core::num*>* map81 = block {
final core::Map<core::String*, core::num*>* #t219 = <core::String*, core::num*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t220 = :sync-for-iterator.{core::Iterator::current};
- #t219.{core::Map::[]=}{Invariant}(#t220.{core::MapEntry::key}, #t220.{core::MapEntry::value});
+ #t219.{core::Map::[]=}(#t220.{core::MapEntry::key}, #t220.{core::MapEntry::value}){(core::String*, core::num*) →* void};
}
}
else {
core::Iterator<core::MapEntry<core::String*, core::double*>>* :sync-for-iterator = mapStringDouble.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t221 = :sync-for-iterator.{core::Iterator::current};
- #t219.{core::Map::[]=}{Invariant}(#t221.{core::MapEntry::key}, #t221.{core::MapEntry::value});
+ #t219.{core::Map::[]=}(#t221.{core::MapEntry::key}, #t221.{core::MapEntry::value}){(core::String*, core::num*) →* void};
}
}
- #t219.{core::Map::[]=}{Invariant}("baz", null);
+ #t219.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t219;
core::List<dynamic>* list82 = block {
final core::List<dynamic>* #t222 = core::_GrowableList::•<dynamic>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t222.{core::List::addAll}{Invariant}(listInt);
+ #t222.{core::List::addAll}(listInt){(core::Iterable<dynamic>*) →* void};
else
- #t222.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+ #t222.{core::List::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
} =>#t222;
core::Set<dynamic>* set82 = block {
final core::Set<dynamic>* #t223 = new col::_CompactLinkedHashSet::•<dynamic>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t223.{core::Set::addAll}{Invariant}(listInt);
+ #t223.{core::Set::addAll}(listInt){(core::Iterable<dynamic>*) →* void};
else
- #t223.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*);
- #t223.{core::Set::add}{Invariant}(null);
+ #t223.{core::Set::addAll}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+ #t223.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t223;
core::Map<dynamic, dynamic>* map82 = block {
final core::Map<dynamic, dynamic>* #t224 = <dynamic, dynamic>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t225 = :sync-for-iterator.{core::Iterator::current};
- #t224.{core::Map::[]=}{Invariant}(#t225.{core::MapEntry::key}, #t225.{core::MapEntry::value});
+ #t224.{core::Map::[]=}(#t225.{core::MapEntry::key}, #t225.{core::MapEntry::value}){(dynamic, dynamic) →* void};
}
}
else {
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t226 = :sync-for-iterator.{core::Iterator::current};
- #t224.{core::Map::[]=}{Invariant}(#t226.{core::MapEntry::key}, #t226.{core::MapEntry::value});
+ #t224.{core::Map::[]=}(#t226.{core::MapEntry::key}, #t226.{core::MapEntry::value}){(dynamic, dynamic) →* void};
}
}
- #t224.{core::Map::[]=}{Invariant}("baz", null);
+ #t224.{core::Map::[]=}("baz", null){(dynamic, dynamic) →* void};
} =>#t224;
core::List<core::num*>* list83 = block {
final core::List<core::num*>* #t227 = core::_GrowableList::•<core::num*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t227.{core::List::add}{Invariant}(42);
+ #t227.{core::List::add}(42){(core::num*) →* void};
else
- #t227.{core::List::addAll}{Invariant}(listDouble);
+ #t227.{core::List::addAll}(listDouble){(core::Iterable<core::num*>*) →* void};
} =>#t227;
core::Set<core::num*>* set83 = block {
final core::Set<core::num*>* #t228 = new col::_CompactLinkedHashSet::•<core::num*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t228.{core::Set::addAll}{Invariant}(listInt);
+ #t228.{core::Set::addAll}(listInt){(core::Iterable<core::num*>*) →* void};
else
- #t228.{core::Set::add}{Invariant}(3.14);
- #t228.{core::Set::add}{Invariant}(null);
+ #t228.{core::Set::add}(3.14){(core::num*) →* core::bool*};
+ #t228.{core::Set::add}(null){(core::num*) →* core::bool*};
} =>#t228;
core::Map<core::String*, core::num*>* map83 = block {
final core::Map<core::String*, core::num*>* #t229 = <core::String*, core::num*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::num*>* #t230 = :sync-for-iterator.{core::Iterator::current};
- #t229.{core::Map::[]=}{Invariant}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value});
+ #t229.{core::Map::[]=}(#t230.{core::MapEntry::key}, #t230.{core::MapEntry::value}){(core::String*, core::num*) →* void};
}
}
else
- #t229.{core::Map::[]=}{Invariant}("bar", 3.14);
- #t229.{core::Map::[]=}{Invariant}("baz", null);
+ #t229.{core::Map::[]=}("bar", 3.14){(core::String*, core::num*) →* void};
+ #t229.{core::Map::[]=}("baz", null){(core::String*, core::num*) →* void};
} =>#t229;
core::List<core::int*>* list90 = block {
final core::List<core::int*>* #t231 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t231.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t231.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
} =>#t231;
core::Set<core::int*>* set90 = block {
final core::Set<core::int*>* #t232 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t232.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*);
- #t232.{core::Set::add}{Invariant}(null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t232.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+ #t232.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t232;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t233 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t233.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*);
- #t233.{core::Map::[]=}{Invariant}("baz", null);
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t233.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+ #t233.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t233;
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t234 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t235 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t236 = #t235 as{TypeError} core::int*;
- #t234.{core::List::add}{Invariant}(#t236);
+ #t234.{core::List::add}(#t236){(core::int*) →* void};
}
}
}
} =>#t234;
core::Set<core::int*>* set91 = block {
final core::Set<core::int*>* #t237 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t238 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t239 = #t238 as{TypeError} core::int*;
- #t237.{core::Set::add}{Invariant}(#t239);
+ #t237.{core::Set::add}(#t239){(core::int*) →* core::bool*};
}
}
}
- #t237.{core::Set::add}{Invariant}(null);
+ #t237.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t237;
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t240 = <core::String*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t241 = :sync-for-iterator.{core::Iterator::current};
{
final core::String* #t242 = #t241.{core::MapEntry::key} as{TypeError} core::String*;
final core::int* #t243 = #t241.{core::MapEntry::value} as{TypeError} core::int*;
- #t240.{core::Map::[]=}{Invariant}(#t242, #t243);
+ #t240.{core::Map::[]=}(#t242, #t243){(core::String*, core::int*) →* void};
}
}
}
- #t240.{core::Map::[]=}{Invariant}("baz", null);
+ #t240.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t240;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t244 = core::_GrowableList::•<core::int*>(0);
- for (final core::int* #t245 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t244.{core::List::add}{Invariant}(42);
+ for (final core::int* #t245 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+ #t244.{core::List::add}(42){(core::int*) →* void};
} =>#t244;
core::Set<core::int*>* set100 = block {
final core::Set<core::int*>* #t246 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (final core::int* #t247 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t246.{core::Set::add}{Invariant}(42);
+ for (final core::int* #t247 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+ #t246.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t246;
core::Map<core::String*, core::int*>* map100 = block {
final core::Map<core::String*, core::int*>* #t248 = <core::String*, core::int*>{};
- for (final core::int* #t249 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
- #t248.{core::Map::[]=}{Invariant}("bar", 42);
+ for (final core::int* #t249 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+ #t248.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
} =>#t248;
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t250 = core::_GrowableList::•<core::int*>(0);
@@ -1869,7 +1869,7 @@
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t250.{core::List::add}{Invariant}(i);
+ #t250.{core::List::add}(i){(core::int*) →* void};
}
}
} =>#t250;
@@ -1879,10 +1879,10 @@
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t251.{core::Set::add}{Invariant}(i);
+ #t251.{core::Set::add}(i){(core::int*) →* core::bool*};
}
}
- #t251.{core::Set::add}{Invariant}(null);
+ #t251.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t251;
core::Map<core::String*, core::int*>* map110 = block {
final core::Map<core::String*, core::int*>* #t252 = <core::String*, core::int*>{};
@@ -1890,10 +1890,10 @@
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t252.{core::Map::[]=}{Invariant}("bar", i);
+ #t252.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
}
}
- #t252.{core::Map::[]=}{Invariant}("baz", null);
+ #t252.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t252;
core::List<core::int*>* list120 = block {
final core::List<core::int*>* #t253 = core::_GrowableList::•<core::int*>(0);
@@ -1901,7 +1901,7 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t253.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
+ #t253.{core::List::add}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
}
}
} =>#t253;
@@ -1911,10 +1911,10 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t254.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*);
+ #t254.{core::Set::add}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
}
}
- #t254.{core::Set::add}{Invariant}(null);
+ #t254.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t254;
core::Map<core::String*, core::int*>* map120 = block {
final core::Map<core::String*, core::int*>* #t255 = <core::String*, core::int*>{};
@@ -1922,25 +1922,25 @@
core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t255.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*);
+ #t255.{core::Map::[]=}("bar", i as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
}
}
- #t255.{core::Map::[]=}{Invariant}("baz", null);
+ #t255.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t255;
core::List<core::int*>* list130 = block {
final core::List<core::int*>* #t256 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t256.{core::List::add}{Invariant}(i);
+ for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t256.{core::List::add}(i){(core::int*) →* void};
} =>#t256;
core::Set<core::int*>* set130 = block {
final core::Set<core::int*>* #t257 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t257.{core::Set::add}{Invariant}(i);
+ for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t257.{core::Set::add}(i){(core::int*) →* core::bool*};
} =>#t257;
core::Map<core::int*, core::int*>* map130 = block {
final core::Map<core::int*, core::int*>* #t258 = <core::int*, core::int*>{};
- for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
- #t258.{core::Map::[]=}{Invariant}(i, i);
+ for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t258.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
} =>#t258;
}
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic /* originally async */ {
@@ -1961,49 +1961,49 @@
{
block {
final core::List<core::int*>* #t259 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t259.{core::List::add}{Invariant}(let final Never* #t260 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t259.{core::List::add}(let final Never* #t260 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
- ^" in "bar" as{TypeError} core::int*);
+ ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
} =>#t259;
block {
final core::Set<core::int*>* #t261 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t261.{core::Set::add}{Invariant}(let final Never* #t262 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:211:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t261.{core::Set::add}(let final Never* #t262 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:211:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
- ^" in "bar" as{TypeError} core::int*);
- #t261.{core::Set::add}{Invariant}(null);
+ ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
+ #t261.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t261;
block {
final core::Map<core::int*, core::int*>* #t263 = <core::int*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t263.{core::Map::[]=}{Invariant}(let final Never* #t264 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t263.{core::Map::[]=}(let final Never* #t264 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
^" in "bar" as{TypeError} core::int*, let final Never* #t265 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
- ^" in "bar" as{TypeError} core::int*);
- #t263.{core::Map::[]=}{Invariant}(let final Never* #t266 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ ^" in "bar" as{TypeError} core::int*){(core::int*, core::int*) →* void};
+ #t263.{core::Map::[]=}(let final Never* #t266 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
- ^" in "baz" as{TypeError} core::int*, null);
+ ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
} =>#t263;
block {
final core::List<core::int*>* #t267 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t267.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(let final Never* #t268 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t267.{core::List::addAll}(core::_GrowableList::_literal1<core::int*>(let final Never* #t268 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
- ^" in "bar" as{TypeError} core::int*));
+ ^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
} =>#t267;
block {
final core::Set<core::int*>* #t269 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t269.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(let final Never* #t270 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t269.{core::Set::addAll}(core::_GrowableList::_literal1<core::int*>(let final Never* #t270 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
- ^" in "bar" as{TypeError} core::int*));
- #t269.{core::Set::add}{Invariant}(null);
+ ^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
+ #t269.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t269;
block {
final core::Map<core::int*, core::int*>* #t271 = <core::int*, core::int*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{let final Never* #t272 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
^" in "bar" as{TypeError} core::int*: let final Never* #t273 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
@@ -2011,29 +2011,29 @@
^" in "bar" as{TypeError} core::int*}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t274 = :sync-for-iterator.{core::Iterator::current};
- #t271.{core::Map::[]=}{Invariant}(#t274.{core::MapEntry::key}, #t274.{core::MapEntry::value});
+ #t271.{core::Map::[]=}(#t274.{core::MapEntry::key}, #t274.{core::MapEntry::value}){(core::int*, core::int*) →* void};
}
}
- #t271.{core::Map::[]=}{Invariant}(let final Never* #t275 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ #t271.{core::Map::[]=}(let final Never* #t275 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
- ^" in "baz" as{TypeError} core::int*, null);
+ ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
} =>#t271;
block {
final core::List<core::int*>* #t276 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t276.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t276.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
- ^");
+ ^"){(core::int*) →* void};
} =>#t276;
block {
final core::Set<core::int*>* #t277 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
- #t277.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t277.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:48: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
- ^");
- #t277.{core::Set::add}{Invariant}(null);
+ ^"){(core::int*) →* core::bool*};
+ #t277.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t277;
<core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:53: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2044,64 +2044,64 @@
^": null};
block {
final core::List<core::String*>* #t278 = core::_GrowableList::•<core::String*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t278.{core::List::add}{Invariant}(let final Never* #t279 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t278.{core::List::add}(let final Never* #t279 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
else
- #t278.{core::List::add}{Invariant}(let final Never* #t280 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t278.{core::List::add}(let final Never* #t280 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
- ^" in 3.14 as{TypeError} core::String*);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
} =>#t278;
block {
final core::Set<core::String*>* #t281 = new col::_CompactLinkedHashSet::•<core::String*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t281.{core::Set::add}{Invariant}(let final Never* #t282 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t281.{core::Set::add}(let final Never* #t282 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
else
- #t281.{core::Set::add}{Invariant}(let final Never* #t283 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t281.{core::Set::add}(let final Never* #t283 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
- ^" in 3.14 as{TypeError} core::String*);
- #t281.{core::Set::add}{Invariant}(null);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
+ #t281.{core::Set::add}(null){(core::String*) →* core::bool*};
} =>#t281;
block {
final core::Map<core::String*, core::String*>* #t284 = <core::String*, core::String*>{};
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t284.{core::Map::[]=}{Invariant}("bar", let final Never* #t285 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+ #t284.{core::Map::[]=}("bar", let final Never* #t285 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
else
- #t284.{core::Map::[]=}{Invariant}("bar", let final Never* #t286 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+ #t284.{core::Map::[]=}("bar", let final Never* #t286 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
<String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
- ^" in 3.14 as{TypeError} core::String*);
- #t284.{core::Map::[]=}{Invariant}("baz", null);
+ ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
+ #t284.{core::Map::[]=}("baz", null){(core::String*, core::String*) →* void};
} =>#t284;
block {
final core::List<core::int*>* #t287 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t287.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t287.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
- ^");
+ ^"){(core::int*) →* void};
else
- #t287.{core::List::add}{Invariant}(42);
+ #t287.{core::List::add}(42){(core::int*) →* void};
} =>#t287;
block {
final core::Set<core::int*>* #t288 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t288.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t288.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:62: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
- ^");
+ ^"){(core::int*) →* core::bool*};
else
- #t288.{core::Set::add}{Invariant}(42);
- #t288.{core::Set::add}{Invariant}(null);
+ #t288.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t288.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t288;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:70: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2112,26 +2112,26 @@
^": null};
block {
final core::List<core::int*>* #t289 = core::_GrowableList::•<core::int*>(0);
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t289.{core::List::add}{Invariant}(42);
+ #t289.{core::List::add}(42){(core::int*) →* void};
else
- #t289.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t289.{core::List::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
- ^");
+ ^"){(core::int*) →* void};
} =>#t289;
block {
final core::Set<core::int*>* #t290 = new col::_CompactLinkedHashSet::•<core::int*>();
- for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
+ for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
- #t290.{core::Set::add}{Invariant}(42);
+ #t290.{core::Set::add}(42){(core::int*) →* core::bool*};
else
- #t290.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
+ #t290.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'Map<int, int>' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
- ^");
- #t290.{core::Set::add}{Invariant}(null);
+ ^"){(core::int*) →* core::bool*};
+ #t290.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t290;
<core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:85: Error: Unexpected type 'List<int>' of a map spread entry. Expected 'dynamic' or a Map.
- 'List' is from 'dart:core'.
@@ -2151,7 +2151,7 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:230:14: Error: Can't assign to the final variable 'i'.
<int>[for (i in <int>[1]) i];
^";
- #t291.{core::List::add}{Invariant}(i);
+ #t291.{core::List::add}(i){(core::int*) →* void};
}
}
}
@@ -2166,11 +2166,11 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:231:14: Error: Can't assign to the final variable 'i'.
<int>{for (i in <int>[1]) i, null};
^";
- #t293.{core::Set::add}{Invariant}(i);
+ #t293.{core::Set::add}(i){(core::int*) →* core::bool*};
}
}
}
- #t293.{core::Set::add}{Invariant}(null);
+ #t293.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t293;
block {
final core::Map<core::String*, core::int*>* #t295 = <core::String*, core::int*>{};
@@ -2182,11 +2182,11 @@
invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:232:21: Error: Can't assign to the final variable 'i'.
\t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
\t ^";
- #t295.{core::Map::[]=}{Invariant}("bar", i);
+ #t295.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
}
}
}
- #t295.{core::Map::[]=}{Invariant}("baz", null);
+ #t295.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t295;
core::List<dynamic>* list10 = block {
final core::List<dynamic>* #t297 = core::_GrowableList::•<dynamic>(0);
@@ -2197,7 +2197,7 @@
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t297.{core::List::add}{Invariant}(i);
+ #t297.{core::List::add}(i){(dynamic) →* void};
}
}
} =>#t297;
@@ -2210,10 +2210,10 @@
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t299.{core::Set::add}{Invariant}(i);
+ #t299.{core::Set::add}(i){(dynamic) →* core::bool*};
}
}
- #t299.{core::Set::add}{Invariant}(null);
+ #t299.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t299;
core::Map<core::String*, dynamic>* map10 = block {
final core::Map<core::String*, dynamic>* #t301 = <core::String*, dynamic>{};
@@ -2224,10 +2224,10 @@
^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic i = :sync-for-iterator.{core::Iterator::current};
- #t301.{core::Map::[]=}{Invariant}("bar", i);
+ #t301.{core::Map::[]=}("bar", i){(core::String*, dynamic) →* void};
}
}
- #t301.{core::Map::[]=}{Invariant}("baz", null);
+ #t301.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t301;
core::List<core::int*>* list20 = block {
final core::List<core::int*>* #t303 = core::_GrowableList::•<core::int*>(0);
@@ -2239,7 +2239,7 @@
^" in "int" as{TypeError} core::int*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t303.{core::List::add}{Invariant}(i);
+ #t303.{core::List::add}(i){(core::int*) →* void};
}
}
} =>#t303;
@@ -2253,10 +2253,10 @@
^" in "int" as{TypeError} core::int*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t306.{core::Set::add}{Invariant}(i);
+ #t306.{core::Set::add}(i){(core::int*) →* core::bool*};
}
}
- #t306.{core::Set::add}{Invariant}(null);
+ #t306.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t306;
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t309 = <core::String*, core::int*>{};
@@ -2268,10 +2268,10 @@
^" in "int" as{TypeError} core::int*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* i = :sync-for-iterator.{core::Iterator::current};
- #t309.{core::Map::[]=}{Invariant}("bar", i);
+ #t309.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
}
}
- #t309.{core::Map::[]=}{Invariant}("baz", null);
+ #t309.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t309;
final core::List<dynamic>* #t312 = core::_GrowableList::•<dynamic>(0);
{
@@ -2287,7 +2287,7 @@
[yield] let dynamic #t315 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current};
- #t312.{core::List::add}{Invariant}(i);
+ #t312.{core::List::add}(i){(dynamic) →* void};
}
else
break #L2;
@@ -2313,7 +2313,7 @@
[yield] let dynamic #t320 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current};
- #t317.{core::Set::add}{Invariant}(i);
+ #t317.{core::Set::add}(i){(dynamic) →* core::bool*};
}
else
break #L3;
@@ -2325,7 +2325,7 @@
}
}
core::Set<dynamic>* set30 = block {
- #t317.{core::Set::add}{Invariant}(null);
+ #t317.{core::Set::add}(null){(dynamic) →* core::bool*};
} =>#t317;
final core::Map<core::String*, dynamic>* #t322 = <core::String*, dynamic>{};
{
@@ -2341,7 +2341,7 @@
[yield] let dynamic #t325 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
dynamic i = :for-iterator.{asy::_StreamIterator::current};
- #t322.{core::Map::[]=}{Invariant}("bar", i);
+ #t322.{core::Map::[]=}("bar", i){(core::String*, dynamic) →* void};
}
else
break #L4;
@@ -2353,7 +2353,7 @@
}
}
core::Map<core::String*, dynamic>* map30 = block {
- #t322.{core::Map::[]=}{Invariant}("baz", null);
+ #t322.{core::Map::[]=}("baz", null){(core::String*, dynamic) →* void};
} =>#t322;
final core::List<core::int*>* #t327 = core::_GrowableList::•<core::int*>(0);
{
@@ -2370,7 +2370,7 @@
[yield] let dynamic #t331 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current};
- #t327.{core::List::add}{Invariant}(i);
+ #t327.{core::List::add}(i){(core::int*) →* void};
}
else
break #L5;
@@ -2397,7 +2397,7 @@
[yield] let dynamic #t337 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current};
- #t333.{core::Set::add}{Invariant}(i);
+ #t333.{core::Set::add}(i){(core::int*) →* core::bool*};
}
else
break #L6;
@@ -2409,7 +2409,7 @@
}
}
core::Set<core::int*>* set40 = block {
- #t333.{core::Set::add}{Invariant}(null);
+ #t333.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t333;
final core::Map<core::String*, core::int*>* #t339 = <core::String*, core::int*>{};
{
@@ -2426,7 +2426,7 @@
[yield] let dynamic #t343 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
core::int* i = :for-iterator.{asy::_StreamIterator::current};
- #t339.{core::Map::[]=}{Invariant}("bar", i);
+ #t339.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
}
else
break #L7;
@@ -2438,47 +2438,47 @@
}
}
core::Map<core::String*, core::int*>* map40 = block {
- #t339.{core::Map::[]=}{Invariant}("baz", null);
+ #t339.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t339;
core::List<core::int*>* list50 = block {
final core::List<core::int*>* #t345 = core::_GrowableList::•<core::int*>(0);
for (; ; )
- #t345.{core::List::add}{Invariant}(42);
+ #t345.{core::List::add}(42){(core::int*) →* void};
} =>#t345;
core::Set<core::int*>* set50 = block {
final core::Set<core::int*>* #t346 = new col::_CompactLinkedHashSet::•<core::int*>();
for (; ; )
- #t346.{core::Set::add}{Invariant}(42);
- #t346.{core::Set::add}{Invariant}(null);
+ #t346.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t346.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t346;
core::Map<core::String*, core::int*>* map50 = block {
final core::Map<core::String*, core::int*>* #t347 = <core::String*, core::int*>{};
for (; ; )
- #t347.{core::Map::[]=}{Invariant}("bar", 42);
- #t347.{core::Map::[]=}{Invariant}("baz", null);
+ #t347.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
+ #t347.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t347;
core::List<core::int*>* list60 = block {
final core::List<core::int*>* #t348 = core::_GrowableList::•<core::int*>(0);
for (; let final Never* #t349 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:249:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var list60 = [for (; \"not bool\";) 42];
^" in "not bool" as{TypeError} core::bool*; )
- #t348.{core::List::add}{Invariant}(42);
+ #t348.{core::List::add}(42){(core::int*) →* void};
} =>#t348;
core::Set<core::int*>* set60 = block {
final core::Set<core::int*>* #t350 = new col::_CompactLinkedHashSet::•<core::int*>();
for (; let final Never* #t351 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:250:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var set60 = {for (; \"not bool\";) 42, null};
^" in "not bool" as{TypeError} core::bool*; )
- #t350.{core::Set::add}{Invariant}(42);
- #t350.{core::Set::add}{Invariant}(null);
+ #t350.{core::Set::add}(42){(core::int*) →* core::bool*};
+ #t350.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t350;
core::Map<core::String*, core::int*>* map60 = block {
final core::Map<core::String*, core::int*>* #t352 = <core::String*, core::int*>{};
for (; let final Never* #t353 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:251:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
^" in "not bool" as{TypeError} core::bool*; )
- #t352.{core::Map::[]=}{Invariant}("bar", 42);
- #t352.{core::Map::[]=}{Invariant}("baz", null);
+ #t352.{core::Map::[]=}("bar", 42){(core::String*, core::int*) →* void};
+ #t352.{core::Map::[]=}("baz", null){(core::String*, core::int*) →* void};
} =>#t352;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -2497,34 +2497,34 @@
block {
final core::List<core::int*>* #t354 = core::_GrowableList::•<core::int*>(0);
await for (core::int* i in stream)
- #t354.{core::List::add}{Invariant}(i);
+ #t354.{core::List::add}(i){(core::int*) →* void};
} =>#t354;
block {
final core::Set<core::int*>* #t355 = new col::_CompactLinkedHashSet::•<core::int*>();
await for (core::int* i in stream)
- #t355.{core::Set::add}{Invariant}(i);
+ #t355.{core::Set::add}(i){(core::int*) →* core::bool*};
} =>#t355;
block {
final core::Map<core::String*, core::int*>* #t356 = <core::String*, core::int*>{};
await for (core::int* i in stream)
- #t356.{core::Map::[]=}{Invariant}("bar", i);
+ #t356.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
} =>#t356;
}
static method testPromotion(self::A* a) → dynamic {
core::List<core::int*>* list10 = block {
final core::List<core::int*>* #t357 = core::_GrowableList::•<core::int*>(0);
if(a is self::B*)
- #t357.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo});
+ #t357.{core::List::add}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* void};
} =>#t357;
core::Set<core::int*>* set10 = block {
final core::Set<core::int*>* #t358 = new col::_CompactLinkedHashSet::•<core::int*>();
if(a is self::B*)
- #t358.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo});
+ #t358.{core::Set::add}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* core::bool*};
} =>#t358;
core::Map<core::int*, core::int*>* map10 = block {
final core::Map<core::int*, core::int*>* #t359 = <core::int*, core::int*>{};
if(a is self::B*)
- #t359.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
+ #t359.{core::Map::[]=}(a{self::B*}.{self::B::foo}{core::int*}, a{self::B*}.{self::B::foo}{core::int*}){(core::int*, core::int*) →* void};
} =>#t359;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/covariant_equals.dart.weak.expect b/pkg/front_end/testcases/general/covariant_equals.dart.weak.expect
index cb1d7cd..bded27c 100644
--- a/pkg/front_end/testcases/general/covariant_equals.dart.weak.expect
+++ b/pkg/front_end/testcases/general/covariant_equals.dart.weak.expect
@@ -168,117 +168,117 @@
}
static method main() → dynamic {}
static method test(self::A* a, self::B* b, self::C<dynamic>* c_dynamic, self::C<core::int*>* c_int, self::C<core::String*>* c_string, self::D* d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
+ a =={self::A::==}{(self::A*) →* core::bool*} a;
+ a =={self::A::==}{(self::A*) →* core::bool*} b;
+ a =={self::A::==}{(self::A*) →* core::bool*} (let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
a == c_dynamic; // error
^" in c_dynamic as{TypeError} self::A*);
- a.{self::A::==}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
+ a =={self::A::==}{(self::A*) →* core::bool*} (let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
a == c_int; // error
^" in c_int as{TypeError} self::A*);
- a.{self::A::==}(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
+ a =={self::A::==}{(self::A*) →* core::bool*} (let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
a == c_string; // error
^" in c_string as{TypeError} self::A*);
- a.{self::A::==}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
+ a =={self::A::==}{(self::A*) →* core::bool*} (let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
- 'D' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
a == d; // error
^" in d as{TypeError} self::A*);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
+ b =={self::B::==}{(self::A*) →* core::bool*} a;
+ b =={self::B::==}{(self::A*) →* core::bool*} b;
+ b =={self::B::==}{(self::A*) →* core::bool*} (let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
b == c_dynamic; // error
^" in c_dynamic as{TypeError} self::A*);
- b.{self::B::==}(let final Never* #t6 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
+ b =={self::B::==}{(self::A*) →* core::bool*} (let final Never* #t6 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
b == c_int; // error
^" in c_int as{TypeError} self::A*);
- b.{self::B::==}(let final Never* #t7 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
+ b =={self::B::==}{(self::A*) →* core::bool*} (let final Never* #t7 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
b == c_string; // error
^" in c_string as{TypeError} self::A*);
- b.{self::B::==}(let final Never* #t8 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
+ b =={self::B::==}{(self::A*) →* core::bool*} (let final Never* #t8 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
- 'D' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
b == d; // error
^" in d as{TypeError} self::A*);
- c_dynamic.{self::C::==}(let final Never* #t9 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} (let final Never* #t9 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_dynamic == a; // error
^" in a as{TypeError} self::C<dynamic>*);
- c_dynamic.{self::C::==}(let final Never* #t10 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} (let final Never* #t10 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>'.
- 'B' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_dynamic == b; // error
^" in b as{TypeError} self::C<dynamic>*);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never* #t11 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} d;
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t11 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_int == a; // error
^" in a as{TypeError} self::C<core::int*>*);
- c_int.{self::C::==}(let final Never* #t12 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t12 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
- 'B' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_int == b; // error
^" in b as{TypeError} self::C<core::int*>*);
- c_int.{self::C::==}(c_dynamic as{TypeError} self::C<core::int*>*);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never* #t13 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} c_dynamic as{TypeError} self::C<core::int*>*;
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} c_int;
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t13 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_int == c_string; // error
^" in c_string as{TypeError} self::C<core::int*>*);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never* #t14 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>'.
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} d;
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} (let final Never* #t14 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_string == a; // error
^" in a as{TypeError} self::C<core::String*>*);
- c_string.{self::C::==}(let final Never* #t15 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>'.
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} (let final Never* #t15 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>'.
- 'B' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_string == b; // error
^" in b as{TypeError} self::C<core::String*>*);
- c_string.{self::C::==}(c_dynamic as{TypeError} self::C<core::String*>*);
- c_string.{self::C::==}(let final Never* #t16 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>'.
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} c_dynamic as{TypeError} self::C<core::String*>*;
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} (let final Never* #t16 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_string == c_int; // error
^" in c_int as{TypeError} self::C<core::String*>*);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never* #t17 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>'.
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} c_string;
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} (let final Never* #t17 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>'.
- 'D' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_string == d; // error
^" in d as{TypeError} self::C<core::String*>*);
- d.{self::C::==}(let final Never* #t18 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t18 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
d == a; // error
^" in a as{TypeError} self::C<core::int*>*);
- d.{self::C::==}(let final Never* #t19 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t19 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
- 'B' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
d == b; // error
^" in b as{TypeError} self::C<core::int*>*);
- d.{self::C::==}(c_dynamic as{TypeError} self::C<core::int*>*);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never* #t20 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} c_dynamic as{TypeError} self::C<core::int*>*;
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} c_int;
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t20 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
d == c_string; // error
^" in c_string as{TypeError} self::C<core::int*>*);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} d;
}
diff --git a/pkg/front_end/testcases/general/covariant_equals.dart.weak.transformed.expect b/pkg/front_end/testcases/general/covariant_equals.dart.weak.transformed.expect
index cb1d7cd..bded27c 100644
--- a/pkg/front_end/testcases/general/covariant_equals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/covariant_equals.dart.weak.transformed.expect
@@ -168,117 +168,117 @@
}
static method main() → dynamic {}
static method test(self::A* a, self::B* b, self::C<dynamic>* c_dynamic, self::C<core::int*>* c_int, self::C<core::String*>* c_string, self::D* d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
+ a =={self::A::==}{(self::A*) →* core::bool*} a;
+ a =={self::A::==}{(self::A*) →* core::bool*} b;
+ a =={self::A::==}{(self::A*) →* core::bool*} (let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
a == c_dynamic; // error
^" in c_dynamic as{TypeError} self::A*);
- a.{self::A::==}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
+ a =={self::A::==}{(self::A*) →* core::bool*} (let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
a == c_int; // error
^" in c_int as{TypeError} self::A*);
- a.{self::A::==}(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
+ a =={self::A::==}{(self::A*) →* core::bool*} (let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
a == c_string; // error
^" in c_string as{TypeError} self::A*);
- a.{self::A::==}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
+ a =={self::A::==}{(self::A*) →* core::bool*} (let final Never* #t4 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
- 'D' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
a == d; // error
^" in d as{TypeError} self::A*);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
+ b =={self::B::==}{(self::A*) →* core::bool*} a;
+ b =={self::B::==}{(self::A*) →* core::bool*} b;
+ b =={self::B::==}{(self::A*) →* core::bool*} (let final Never* #t5 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
b == c_dynamic; // error
^" in c_dynamic as{TypeError} self::A*);
- b.{self::B::==}(let final Never* #t6 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
+ b =={self::B::==}{(self::A*) →* core::bool*} (let final Never* #t6 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
b == c_int; // error
^" in c_int as{TypeError} self::A*);
- b.{self::B::==}(let final Never* #t7 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
+ b =={self::B::==}{(self::A*) →* core::bool*} (let final Never* #t7 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
b == c_string; // error
^" in c_string as{TypeError} self::A*);
- b.{self::B::==}(let final Never* #t8 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
+ b =={self::B::==}{(self::A*) →* core::bool*} (let final Never* #t8 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
- 'D' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
b == d; // error
^" in d as{TypeError} self::A*);
- c_dynamic.{self::C::==}(let final Never* #t9 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} (let final Never* #t9 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_dynamic == a; // error
^" in a as{TypeError} self::C<dynamic>*);
- c_dynamic.{self::C::==}(let final Never* #t10 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} (let final Never* #t10 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>'.
- 'B' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_dynamic == b; // error
^" in b as{TypeError} self::C<dynamic>*);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never* #t11 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>*) →* core::bool*} d;
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t11 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_int == a; // error
^" in a as{TypeError} self::C<core::int*>*);
- c_int.{self::C::==}(let final Never* #t12 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t12 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
- 'B' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_int == b; // error
^" in b as{TypeError} self::C<core::int*>*);
- c_int.{self::C::==}(c_dynamic as{TypeError} self::C<core::int*>*);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never* #t13 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} c_dynamic as{TypeError} self::C<core::int*>*;
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} c_int;
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t13 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_int == c_string; // error
^" in c_string as{TypeError} self::C<core::int*>*);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never* #t14 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>'.
+ c_int =={self::C::==}{(self::C<core::int*>*) →* core::bool*} d;
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} (let final Never* #t14 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_string == a; // error
^" in a as{TypeError} self::C<core::String*>*);
- c_string.{self::C::==}(let final Never* #t15 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>'.
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} (let final Never* #t15 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>'.
- 'B' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_string == b; // error
^" in b as{TypeError} self::C<core::String*>*);
- c_string.{self::C::==}(c_dynamic as{TypeError} self::C<core::String*>*);
- c_string.{self::C::==}(let final Never* #t16 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>'.
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} c_dynamic as{TypeError} self::C<core::String*>*;
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} (let final Never* #t16 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_string == c_int; // error
^" in c_int as{TypeError} self::C<core::String*>*);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never* #t17 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>'.
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} c_string;
+ c_string =={self::C::==}{(self::C<core::String*>*) →* core::bool*} (let final Never* #t17 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>'.
- 'D' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
c_string == d; // error
^" in d as{TypeError} self::C<core::String*>*);
- d.{self::C::==}(let final Never* #t18 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t18 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
- 'A' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
d == a; // error
^" in a as{TypeError} self::C<core::int*>*);
- d.{self::C::==}(let final Never* #t19 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t19 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
- 'B' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
d == b; // error
^" in b as{TypeError} self::C<core::int*>*);
- d.{self::C::==}(c_dynamic as{TypeError} self::C<core::int*>*);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never* #t20 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} c_dynamic as{TypeError} self::C<core::int*>*;
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} c_int;
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} (let final Never* #t20 = invalid-expression "pkg/front_end/testcases/general/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
- 'C' is from 'pkg/front_end/testcases/general/covariant_equals.dart'.
d == c_string; // error
^" in c_string as{TypeError} self::C<core::int*>*);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int*>*) →* core::bool*} d;
}
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.weak.expect b/pkg/front_end/testcases/general/covariant_generic.dart.weak.expect
index 48b1bf5..a195318 100644
--- a/pkg/front_end/testcases/general/covariant_generic.dart.weak.expect
+++ b/pkg/front_end/testcases/general/covariant_generic.dart.weak.expect
@@ -14,7 +14,7 @@
method method(generic-covariant-impl self::Foo::T* x) → void {}
set setter(generic-covariant-impl self::Foo::T* x) → void {}
method withCallback((self::Foo::T*) →* void callback) → void {
- callback.call(this.{self::Foo::finalField});
+ callback(this.{self::Foo::finalField}{self::Foo::T*}){(self::Foo::T*) →* 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
@@ -29,21 +29,21 @@
}
static method main() → dynamic {
self::Foo<core::int*>* fooInt = new self::Foo::•<core::int*>(1, (core::int* x) → Null {});
- fooInt.{self::Foo::method}(3);
+ fooInt.{self::Foo::method}(3){(core::int*) →* void};
fooInt.{self::Foo::setter} = 3;
- fooInt.{self::Foo::withCallback}((core::int* x) → Null {});
- fooInt.{self::Foo::withCallback}((core::num* x) → Null {});
+ fooInt.{self::Foo::withCallback}((core::int* x) → Null {}){((core::int*) →* void) →* void};
+ fooInt.{self::Foo::withCallback}((core::num* x) → Null {}){((core::int*) →* void) →* void};
fooInt.{self::Foo::mutableField} = 3;
fooInt.{self::Foo::mutableCallbackField} = (core::int* x) → Null {};
self::Foo<core::num*>* fooNum = fooInt;
- fooNum.{self::Foo::method}(3);
- fooNum.{self::Foo::method}(2.5);
+ fooNum.{self::Foo::method}(3){(core::num*) →* void};
+ fooNum.{self::Foo::method}(2.5){(core::num*) →* void};
fooNum.{self::Foo::setter} = 3;
fooNum.{self::Foo::setter} = 2.5;
- fooNum.{self::Foo::withCallback}((core::num* x) → Null {});
+ fooNum.{self::Foo::withCallback}((core::num* x) → Null {}){((core::num*) →* void) →* void};
fooNum.{self::Foo::mutableField} = 3;
fooNum.{self::Foo::mutableField} = 2.5;
- let final self::Foo<core::num*>* #t1 = fooNum in let final core::int* #t2 = 3 in (#t1.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t2);
- let final self::Foo<core::num*>* #t3 = fooNum in let final core::double* #t4 = 2.5 in (#t3.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t4);
+ let final self::Foo<core::num*>* #t1 = fooNum in let final core::int* #t2 = 3 in (#t1.{self::Foo::mutableCallbackField}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void)(#t2){(core::num*) →* void};
+ let final self::Foo<core::num*>* #t3 = fooNum in let final core::double* #t4 = 2.5 in (#t3.{self::Foo::mutableCallbackField}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void)(#t4){(core::num*) →* void};
fooNum.{self::Foo::mutableCallbackField} = (core::num* x) → Null {};
}
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.weak.transformed.expect b/pkg/front_end/testcases/general/covariant_generic.dart.weak.transformed.expect
index bcccf29..a65e4e7 100644
--- a/pkg/front_end/testcases/general/covariant_generic.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/covariant_generic.dart.weak.transformed.expect
@@ -14,7 +14,7 @@
method method(generic-covariant-impl self::Foo::T* x) → void {}
set setter(generic-covariant-impl self::Foo::T* x) → void {}
method withCallback((self::Foo::T*) →* void callback) → void {
- callback.call(this.{self::Foo::finalField});
+ callback(this.{self::Foo::finalField}{self::Foo::T*}){(self::Foo::T*) →* 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
@@ -29,22 +29,22 @@
}
static method main() → dynamic {
self::Foo<core::int*>* fooInt = new self::Foo::•<core::int*>(1, (core::int* x) → Null {});
- fooInt.{self::Foo::method}(3);
+ fooInt.{self::Foo::method}(3){(core::int*) →* void};
fooInt.{self::Foo::setter} = 3;
- fooInt.{self::Foo::withCallback}((core::int* x) → Null {});
- fooInt.{self::Foo::withCallback}((core::num* x) → Null {});
+ fooInt.{self::Foo::withCallback}((core::int* x) → Null {}){((core::int*) →* void) →* void};
+ fooInt.{self::Foo::withCallback}((core::num* x) → Null {}){((core::int*) →* void) →* void};
fooInt.{self::Foo::mutableField} = 3;
fooInt.{self::Foo::mutableCallbackField} = (core::int* x) → Null {};
self::Foo<core::num*>* fooNum = fooInt;
- fooNum.{self::Foo::method}(3);
- fooNum.{self::Foo::method}(2.5);
+ fooNum.{self::Foo::method}(3){(core::num*) →* void};
+ fooNum.{self::Foo::method}(2.5){(core::num*) →* void};
fooNum.{self::Foo::setter} = 3;
fooNum.{self::Foo::setter} = 2.5;
- fooNum.{self::Foo::withCallback}((core::num* x) → Null {});
+ fooNum.{self::Foo::withCallback}((core::num* x) → Null {}){((core::num*) →* void) →* void};
fooNum.{self::Foo::mutableField} = 3;
fooNum.{self::Foo::mutableField} = 2.5;
- let final self::Foo<core::num*>* #t1 = fooNum in let final core::int* #t2 = 3 in (#t1.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t2);
- let final self::Foo<core::num*>* #t3 = fooNum in let final core::double* #t4 = 2.5 in (#t3.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t4);
+ let final self::Foo<core::num*>* #t1 = fooNum in let final core::int* #t2 = 3 in (#t1.{self::Foo::mutableCallbackField}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void)(#t2){(core::num*) →* void};
+ let final self::Foo<core::num*>* #t3 = fooNum in let final core::double* #t4 = 2.5 in (#t3.{self::Foo::mutableCallbackField}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void)(#t4){(core::num*) →* void};
fooNum.{self::Foo::mutableCallbackField} = (core::num* x) → Null {};
}
diff --git a/pkg/front_end/testcases/general/crashes/crash_03/main.dart.weak.expect b/pkg/front_end/testcases/general/crashes/crash_03/main.dart.weak.expect
index 02e0ecc..3789d00 100644
--- a/pkg/front_end/testcases/general/crashes/crash_03/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/crashes/crash_03/main.dart.weak.expect
@@ -43,15 +43,15 @@
}
abstract class _PlatformViewGestureMixin extends mai::RenderBox /*isMixinDeclaration*/ {
method hitTestSelf(self::Offset position) → core::bool
- return !invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:7: Error: The getter '_hitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
+ return !(invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:7: Error: The getter '_hitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
- '_PlatformViewGestureMixin' is from 'pkg/front_end/testcases/general/crashes/crash_03/main.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named '_hitTestBehavior'.
_hitTestBehavior != PlatformViewHitTestBehavior.transparent;
- ^^^^^^^^^^^^^^^^".{core::Object::==}(invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:27: Error: The getter 'PlatformViewHitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
+ ^^^^^^^^^^^^^^^^" =={core::Object::==}{(core::Object) → core::bool} invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:27: Error: The getter 'PlatformViewHitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
- '_PlatformViewGestureMixin' is from 'pkg/front_end/testcases/general/crashes/crash_03/main.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'PlatformViewHitTestBehavior'.
_hitTestBehavior != PlatformViewHitTestBehavior.transparent;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^".transparent);
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^"{dynamic}.transparent);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/crashes/crash_03/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/crashes/crash_03/main.dart.weak.transformed.expect
index e933f73..f8c5132 100644
--- a/pkg/front_end/testcases/general/crashes/crash_03/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/crashes/crash_03/main.dart.weak.transformed.expect
@@ -34,15 +34,15 @@
: super mai::RenderBox::•()
;
method hitTestSelf(self::Offset position) → core::bool
- return !invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:7: Error: The getter '_hitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
+ return !(invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:7: Error: The getter '_hitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
- '_PlatformViewGestureMixin' is from 'pkg/front_end/testcases/general/crashes/crash_03/main.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named '_hitTestBehavior'.
_hitTestBehavior != PlatformViewHitTestBehavior.transparent;
- ^^^^^^^^^^^^^^^^".{core::Object::==}(invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:27: Error: The getter 'PlatformViewHitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
+ ^^^^^^^^^^^^^^^^" =={core::Object::==}{(core::Object) → core::bool} invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:27: Error: The getter 'PlatformViewHitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
- '_PlatformViewGestureMixin' is from 'pkg/front_end/testcases/general/crashes/crash_03/main.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'PlatformViewHitTestBehavior'.
_hitTestBehavior != PlatformViewHitTestBehavior.transparent;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^".transparent);
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^"{dynamic}.transparent);
}
class PlatformViewRenderBox extends self::_PlatformViewRenderBox&RenderBox&_PlatformViewGestureMixin {
synthetic constructor •() → self::PlatformViewRenderBox
@@ -51,15 +51,15 @@
}
abstract class _PlatformViewGestureMixin extends mai::RenderBox /*isMixinDeclaration*/ {
method hitTestSelf(self::Offset position) → core::bool
- return !invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:7: Error: The getter '_hitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
+ return !(invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:7: Error: The getter '_hitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
- '_PlatformViewGestureMixin' is from 'pkg/front_end/testcases/general/crashes/crash_03/main.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named '_hitTestBehavior'.
_hitTestBehavior != PlatformViewHitTestBehavior.transparent;
- ^^^^^^^^^^^^^^^^".{core::Object::==}(invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:27: Error: The getter 'PlatformViewHitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
+ ^^^^^^^^^^^^^^^^" =={core::Object::==}{(core::Object) → core::bool} invalid-expression "pkg/front_end/testcases/general/crashes/crash_03/main.dart:9:27: Error: The getter 'PlatformViewHitTestBehavior' isn't defined for the class '_PlatformViewGestureMixin'.
- '_PlatformViewGestureMixin' is from 'pkg/front_end/testcases/general/crashes/crash_03/main.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'PlatformViewHitTestBehavior'.
_hitTestBehavior != PlatformViewHitTestBehavior.transparent;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^".transparent);
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^"{dynamic}.transparent);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/demote_closure_types.dart.weak.expect b/pkg/front_end/testcases/general/demote_closure_types.dart.weak.expect
index 8f683ca..6128ffd0 100644
--- a/pkg/front_end/testcases/general/demote_closure_types.dart.weak.expect
+++ b/pkg/front_end/testcases/general/demote_closure_types.dart.weak.expect
@@ -14,7 +14,7 @@
() →* self::method::T* f = () → self::method::T* => a{self::method::T* & core::String* /* '*' & '*' = '*' */};
core::String* s = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/demote_closure_types.dart:8:17: Error: A value of type 'T' can't be assigned to a variable of type 'String'.
String s = f();
- ^" in f.call() as{TypeError} core::String*;
+ ^" in f(){() →* self::method::T*} as{TypeError} core::String*;
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/demote_closure_types.dart.weak.transformed.expect b/pkg/front_end/testcases/general/demote_closure_types.dart.weak.transformed.expect
index 8f683ca..6128ffd0 100644
--- a/pkg/front_end/testcases/general/demote_closure_types.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/demote_closure_types.dart.weak.transformed.expect
@@ -14,7 +14,7 @@
() →* self::method::T* f = () → self::method::T* => a{self::method::T* & core::String* /* '*' & '*' = '*' */};
core::String* s = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/demote_closure_types.dart:8:17: Error: A value of type 'T' can't be assigned to a variable of type 'String'.
String s = f();
- ^" in f.call() as{TypeError} core::String*;
+ ^" in f(){() →* self::method::T*} as{TypeError} core::String*;
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.weak.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.weak.expect
index 2e4c25a..dd633f4 100644
--- a/pkg/front_end/testcases/general/duplicated_declarations.dart.weak.expect
+++ b/pkg/front_end/testcases/general/duplicated_declarations.dart.weak.expect
@@ -618,13 +618,13 @@
static method foo() → dynamic {
invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:34:3: Error: Can't use 'main' because it is declared more than once.
main();
- ^".call();
+ ^"{dynamic}.call();
core::print(invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:35:9: Error: Can't use 'field' because it is declared more than once.
print(field);
^");
invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:36:3: Error: Can't use 'C' because it is declared more than once.
C.s();
- ^".s();
+ ^"{dynamic}.s();
}
static method useAnotherEnum() → dynamic {
<core::String*, core::Object*>{"AnotherEnum.a": #C27, "AnotherEnum.b": #C29, "AnotherEnum.c": #C31, "AnotherEnum._name": invalid-expression "pkg/front_end/testcases/general/duplicated_declarations.dart:102:38: Error: Can't use '_name' because it is declared more than once.
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect
index 7187612..a1e0f80 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect
@@ -17,7 +17,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → err::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect
index cc57c39..77b03f4 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect
@@ -13,7 +13,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → self2::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect
index 7187612..a1e0f80 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect
@@ -17,7 +17,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → err::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect
index 616bd79..4b68f2c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect
@@ -18,7 +18,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → err::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect
index 23cb135..b534db4 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect
@@ -14,7 +14,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → self2::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect
index 616bd79..4b68f2c 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect
@@ -18,7 +18,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → err::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect
index 8a85eea..a11cbcd 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect
@@ -19,7 +19,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → err::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect
index 93c5c0c..86c9613 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect
@@ -14,7 +14,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → self2::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect
index 8a85eea..a11cbcd 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect
@@ -19,7 +19,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → err::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect
index 43d683c..32f4daa 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect
@@ -17,7 +17,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → err::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect
index cb91977..c18e587 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect
@@ -13,7 +13,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → self2::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect
index 43d683c..32f4daa 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect
@@ -17,7 +17,7 @@
class Foo extends core::Object /*hasConstConstructor*/ {
const constructor •(core::int* i) → err::Foo*
- : assert(i.{core::num::>}(0)), super core::Object::•()
+ : assert(i.{core::num::>}(0){(core::num*) →* core::bool*}), 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
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect
index 528c1f6..fa47aba 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect
@@ -79,64 +79,64 @@
field core::int* foo;
field core::int* bar;
constructor •(core::int* x, core::int* y) → self::Key*
- : self::Key::foo = x.{core::int::^}(y), self::Key::bar = x.{core::int::^}(y), super core::Object::•() {
- core::print("hello ${x.{core::int::^}(y)}");
+ : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
+ core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
}
constructor NotDuplicate(core::int* x, core::int* y) → self::Key*
- : self::Key::foo = x.{core::int::^}(y), self::Key::bar = x.{core::int::^}(y), super core::Object::•() {
- core::print("hello ${x.{core::int::^}(y)}");
+ : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
+ core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
}
get a() → core::int*
- return this.{self::Key::runtimeType}.{core::Type::hashCode}.{core::int::^}(null.{core::Object::hashCode});
+ return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
get b() → core::int*
- return this.{self::Key::runtimeType}.{core::Type::hashCode}.{core::int::^}(null.{core::Object::hashCode});
+ return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
get c() → core::int* {
- return this.{self::Key::runtimeType}.{core::Type::hashCode}.{core::int::^}(null.{core::Object::hashCode});
+ return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
}
get d() → core::int* {
- return this.{self::Key::runtimeType}.{core::Type::hashCode}.{core::int::^}(null.{core::Object::hashCode});
+ return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
}
get e() → core::int*
- return 1.{core::num::+}(this.{self::Key::runtimeType}.{core::Type::hashCode}).{core::int::^}(null.{core::Object::hashCode}.{core::num::+}(3));
+ return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
get f() → core::int*
- return 1.{core::num::+}(this.{self::Key::runtimeType}.{core::Type::hashCode}).{core::int::^}(null.{core::Object::hashCode}.{core::num::+}(3));
+ return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
get g() → core::int* {
- return 1.{core::num::+}(this.{self::Key::runtimeType}.{core::Type::hashCode}).{core::int::^}(null.{core::Object::hashCode}.{core::num::+}(3));
+ return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
}
get h() → core::int* {
- return 1.{core::num::+}(this.{self::Key::runtimeType}.{core::Type::hashCode}).{core::int::^}(null.{core::Object::hashCode}.{core::num::+}(3));
+ return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
}
method i(core::int* x, core::int* y) → core::int*
- return x.{core::int::^}(y);
+ return x.{core::int::^}(y){(core::int*) →* core::int*};
method j(core::int* x, core::int* y) → core::int*
- return x.{core::int::^}(y);
+ return x.{core::int::^}(y){(core::int*) →* core::int*};
method k(core::int* x, core::int* y) → core::int* {
- return x.{core::int::^}(y);
+ return x.{core::int::^}(y){(core::int*) →* core::int*};
}
method l(core::int* x, core::int* y) → core::int* {
- return x.{core::int::^}(y);
+ return x.{core::int::^}(y){(core::int*) →* core::int*};
}
method m(core::int* x, core::int* y) → core::int* {
- core::int* z = x.{core::int::^}(y);
+ core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
return z;
}
method n(core::int* x, core::int* y) → core::int* {
- core::int* z = x.{core::int::^}(y);
+ core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
return z;
}
method o(core::int* x, core::int* y) → core::int*
- return 1.{core::num::+}(x).{core::int::^}(y.{core::num::+}(3));
+ return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
method p(core::int* x, core::int* y) → core::int*
- return 1.{core::num::+}(x).{core::int::^}(y.{core::num::+}(3));
+ return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
method q(core::int* x, core::int* y) → core::int* {
- return 1.{core::num::+}(x).{core::int::^}(y.{core::num::+}(3));
+ return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
}
method r(core::int* x, core::int* y) → core::int* {
- return 1.{core::num::+}(x).{core::int::^}(y.{core::num::+}(3));
+ return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
}
method s(core::int* x, core::int* y) → dynamic {
- this.{self::Key::s}(x.{core::int::^}(y), x.{core::int::^}(y));
- this.{self::Key::s}(x.{core::int::^}(y), x.{core::int::^}(y));
+ this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* dynamic};
+ this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* 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
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect
index 528c1f6..fa47aba 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect
@@ -79,64 +79,64 @@
field core::int* foo;
field core::int* bar;
constructor •(core::int* x, core::int* y) → self::Key*
- : self::Key::foo = x.{core::int::^}(y), self::Key::bar = x.{core::int::^}(y), super core::Object::•() {
- core::print("hello ${x.{core::int::^}(y)}");
+ : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
+ core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
}
constructor NotDuplicate(core::int* x, core::int* y) → self::Key*
- : self::Key::foo = x.{core::int::^}(y), self::Key::bar = x.{core::int::^}(y), super core::Object::•() {
- core::print("hello ${x.{core::int::^}(y)}");
+ : self::Key::foo = x.{core::int::^}(y){(core::int*) →* core::int*}, self::Key::bar = x.{core::int::^}(y){(core::int*) →* core::int*}, super core::Object::•() {
+ core::print("hello ${x.{core::int::^}(y){(core::int*) →* core::int*}}");
}
get a() → core::int*
- return this.{self::Key::runtimeType}.{core::Type::hashCode}.{core::int::^}(null.{core::Object::hashCode});
+ return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
get b() → core::int*
- return this.{self::Key::runtimeType}.{core::Type::hashCode}.{core::int::^}(null.{core::Object::hashCode});
+ return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
get c() → core::int* {
- return this.{self::Key::runtimeType}.{core::Type::hashCode}.{core::int::^}(null.{core::Object::hashCode});
+ return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
}
get d() → core::int* {
- return this.{self::Key::runtimeType}.{core::Type::hashCode}.{core::int::^}(null.{core::Object::hashCode});
+ return this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}){(core::int*) →* core::int*};
}
get e() → core::int*
- return 1.{core::num::+}(this.{self::Key::runtimeType}.{core::Type::hashCode}).{core::int::^}(null.{core::Object::hashCode}.{core::num::+}(3));
+ return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
get f() → core::int*
- return 1.{core::num::+}(this.{self::Key::runtimeType}.{core::Type::hashCode}).{core::int::^}(null.{core::Object::hashCode}.{core::num::+}(3));
+ return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
get g() → core::int* {
- return 1.{core::num::+}(this.{self::Key::runtimeType}.{core::Type::hashCode}).{core::int::^}(null.{core::Object::hashCode}.{core::num::+}(3));
+ return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
}
get h() → core::int* {
- return 1.{core::num::+}(this.{self::Key::runtimeType}.{core::Type::hashCode}).{core::int::^}(null.{core::Object::hashCode}.{core::num::+}(3));
+ return 1.{core::num::+}(this.{self::Key::runtimeType}{core::Type*}.{core::Type::hashCode}{core::int*}){(core::num*) →* core::int*}.{core::int::^}(null.{core::Object::hashCode}{core::int*}.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
}
method i(core::int* x, core::int* y) → core::int*
- return x.{core::int::^}(y);
+ return x.{core::int::^}(y){(core::int*) →* core::int*};
method j(core::int* x, core::int* y) → core::int*
- return x.{core::int::^}(y);
+ return x.{core::int::^}(y){(core::int*) →* core::int*};
method k(core::int* x, core::int* y) → core::int* {
- return x.{core::int::^}(y);
+ return x.{core::int::^}(y){(core::int*) →* core::int*};
}
method l(core::int* x, core::int* y) → core::int* {
- return x.{core::int::^}(y);
+ return x.{core::int::^}(y){(core::int*) →* core::int*};
}
method m(core::int* x, core::int* y) → core::int* {
- core::int* z = x.{core::int::^}(y);
+ core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
return z;
}
method n(core::int* x, core::int* y) → core::int* {
- core::int* z = x.{core::int::^}(y);
+ core::int* z = x.{core::int::^}(y){(core::int*) →* core::int*};
return z;
}
method o(core::int* x, core::int* y) → core::int*
- return 1.{core::num::+}(x).{core::int::^}(y.{core::num::+}(3));
+ return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
method p(core::int* x, core::int* y) → core::int*
- return 1.{core::num::+}(x).{core::int::^}(y.{core::num::+}(3));
+ return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
method q(core::int* x, core::int* y) → core::int* {
- return 1.{core::num::+}(x).{core::int::^}(y.{core::num::+}(3));
+ return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
}
method r(core::int* x, core::int* y) → core::int* {
- return 1.{core::num::+}(x).{core::int::^}(y.{core::num::+}(3));
+ return 1.{core::num::+}(x){(core::num*) →* core::int*}.{core::int::^}(y.{core::num::+}(3){(core::num*) →* core::int*}){(core::int*) →* core::int*};
}
method s(core::int* x, core::int* y) → dynamic {
- this.{self::Key::s}(x.{core::int::^}(y), x.{core::int::^}(y));
- this.{self::Key::s}(x.{core::int::^}(y), x.{core::int::^}(y));
+ this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* dynamic};
+ this.{self::Key::s}(x.{core::int::^}(y){(core::int*) →* core::int*}, x.{core::int::^}(y){(core::int*) →* core::int*}){(core::int*, core::int*) →* 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
diff --git a/pkg/front_end/testcases/general/escape.dart.weak.expect b/pkg/front_end/testcases/general/escape.dart.weak.expect
index 2a4b4c7..e9c05d7 100644
--- a/pkg/front_end/testcases/general/escape.dart.weak.expect
+++ b/pkg/front_end/testcases/general/escape.dart.weak.expect
@@ -67,17 +67,17 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method useAsA(self::A* object) → void {
- dynamic _ = object.{self::A::field};
+ dynamic _ = object.{self::A::field}{dynamic};
}
static method useAsB(self::B* object) → void {
- dynamic _ = object.{self::B::field};
+ dynamic _ = object.{self::B::field}{dynamic};
self::escape(object);
}
static method escape(dynamic x) → void {
- x.{core::Object::==}(null) ?{dynamic} x = "" : null;
- x.{core::Object::==}(null) ?{dynamic} x = 45 : null;
+ x == null ?{dynamic} x = "" : null;
+ x == null ?{dynamic} x = 45 : null;
if(!(x is core::int*) && !(x is core::String*)) {
- x.field = 45;
+ x{dynamic}.field = 45;
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/escape.dart.weak.transformed.expect b/pkg/front_end/testcases/general/escape.dart.weak.transformed.expect
index 2a4b4c7..e9c05d7 100644
--- a/pkg/front_end/testcases/general/escape.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/escape.dart.weak.transformed.expect
@@ -67,17 +67,17 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method useAsA(self::A* object) → void {
- dynamic _ = object.{self::A::field};
+ dynamic _ = object.{self::A::field}{dynamic};
}
static method useAsB(self::B* object) → void {
- dynamic _ = object.{self::B::field};
+ dynamic _ = object.{self::B::field}{dynamic};
self::escape(object);
}
static method escape(dynamic x) → void {
- x.{core::Object::==}(null) ?{dynamic} x = "" : null;
- x.{core::Object::==}(null) ?{dynamic} x = 45 : null;
+ x == null ?{dynamic} x = "" : null;
+ x == null ?{dynamic} x = 45 : null;
if(!(x is core::int*) && !(x is core::String*)) {
- x.field = 45;
+ x{dynamic}.field = 45;
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/expressions.dart.weak.expect b/pkg/front_end/testcases/general/expressions.dart.weak.expect
index 5cb0aef..f2ff8e6 100644
--- a/pkg/front_end/testcases/general/expressions.dart.weak.expect
+++ b/pkg/front_end/testcases/general/expressions.dart.weak.expect
@@ -13,11 +13,11 @@
core::print(fisk);
}
static method caller(dynamic f) → dynamic {
- f.call();
+ f{dynamic}.call();
}
static method main() → dynamic {
core::int* i = 0;
- core::print(i.{core::num::==}(1) ?{core::String*} "bad" : "good");
+ core::print(i =={core::num::==}{(core::Object*) →* core::bool*} 1 ?{core::String*} "bad" : "good");
core::print("${i}");
core::print("'${i}'");
core::print(" '${i}' ");
@@ -30,26 +30,26 @@
}
on core::String* catch(final core::String* e, final core::StackTrace* s) {
core::print(e);
- if(!s.{core::Object::==}(null))
+ if(!(s == null))
core::print(s);
}
for (; false; ) {
}
core::List<core::String*>* list = <core::String*>["Hello, World!"];
- core::print(list.{core::List::[]}(i));
- list.{core::List::[]=}(i, "Hello, Brave New World!");
- core::print(list.{core::List::[]}(i));
+ core::print(list.{core::List::[]}(i){(core::int*) →* core::String*});
+ list.{core::List::[]=}(i, "Hello, Brave New World!"){(core::int*, core::String*) →* void};
+ core::print(list.{core::List::[]}(i){(core::int*) →* core::String*});
i = 87;
- core::print(i.{core::int::unary-}());
- core::print(i.{core::int::~}());
- core::print(!i.{core::num::==}(42));
- core::print(i = i.{core::num::-}(1));
- core::print(i = i.{core::num::+}(1));
- core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::-}(1) in #t1);
- core::print(let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1) in #t3);
+ core::print(i.{core::int::unary-}(){() →* core::int*});
+ core::print(i.{core::int::~}(){() →* core::int*});
+ core::print(!(i =={core::num::==}{(core::Object*) →* core::bool*} 42));
+ core::print(i = i.{core::num::-}(1){(core::num*) →* core::int*});
+ core::print(i = i.{core::num::+}(1){(core::num*) →* core::int*});
+ core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::-}(1){(core::num*) →* core::int*} in #t1);
+ core::print(let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3);
core::print(new core::Object::•());
core::print(#C2);
- core::print(core::List::filled<core::String*>(2, null).{core::Object::runtimeType});
+ core::print(core::List::filled<core::String*>(2, null).{core::Object::runtimeType}{core::Type*});
self::foo(fisk: "Blorp gulp");
function f() → Null {
core::print("f was called");
@@ -61,21 +61,21 @@
function g([dynamic message = #C1]) → Null {
core::print(message);
}
- g.call("Hello, World");
+ g("Hello, World"){([dynamic]) →* Null};
self::caller(([dynamic x = #C1]) → Null {
core::print("<anon> was called with ${x}");
});
function h({dynamic message = #C1}) → Null {
core::print(message);
}
- h.call(message: "Hello, World");
+ h(message: "Hello, World"){({message: dynamic}) →* Null};
self::caller(({dynamic x = #C1}) → Null {
core::print("<anon> was called with ${x}");
});
- core::print((#C3).{core::Type::toString}());
+ core::print((#C3).{core::Type::toString}(){() →* core::String*});
core::print(#C3);
core::print(let final core::Type* #t5 = #C3 in block {
- #t5.{core::Type::toString}();
+ #t5.{core::Type::toString}(){() →* core::String*};
} =>#t5);
try {
core::print(invalid-expression "pkg/front_end/testcases/general/expressions.dart:74:16: Error: Method not found: 'int.toString'.
diff --git a/pkg/front_end/testcases/general/expressions.dart.weak.transformed.expect b/pkg/front_end/testcases/general/expressions.dart.weak.transformed.expect
index 0e8e94f..17936f5 100644
--- a/pkg/front_end/testcases/general/expressions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/expressions.dart.weak.transformed.expect
@@ -13,11 +13,11 @@
core::print(fisk);
}
static method caller(dynamic f) → dynamic {
- f.call();
+ f{dynamic}.call();
}
static method main() → dynamic {
core::int* i = 0;
- core::print(i.{core::num::==}(1) ?{core::String*} "bad" : "good");
+ core::print(i =={core::num::==}{(core::Object*) →* core::bool*} 1 ?{core::String*} "bad" : "good");
core::print("${i}");
core::print("'${i}'");
core::print(" '${i}' ");
@@ -30,26 +30,26 @@
}
on core::String* catch(final core::String* e, final core::StackTrace* s) {
core::print(e);
- if(!s.{core::Object::==}(null))
+ if(!(s == null))
core::print(s);
}
for (; false; ) {
}
core::List<core::String*>* list = core::_GrowableList::_literal1<core::String*>("Hello, World!");
- core::print(list.{core::List::[]}(i));
- list.{core::List::[]=}(i, "Hello, Brave New World!");
- core::print(list.{core::List::[]}(i));
+ core::print(list.{core::List::[]}(i){(core::int*) →* core::String*});
+ list.{core::List::[]=}(i, "Hello, Brave New World!"){(core::int*, core::String*) →* void};
+ core::print(list.{core::List::[]}(i){(core::int*) →* core::String*});
i = 87;
- core::print(i.{core::int::unary-}());
- core::print(i.{core::int::~}());
- core::print(!i.{core::num::==}(42));
- core::print(i = i.{core::num::-}(1));
- core::print(i = i.{core::num::+}(1));
- core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::-}(1) in #t1);
- core::print(let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1) in #t3);
+ core::print(i.{core::int::unary-}(){() →* core::int*});
+ core::print(i.{core::int::~}(){() →* core::int*});
+ core::print(!(i =={core::num::==}{(core::Object*) →* core::bool*} 42));
+ core::print(i = i.{core::num::-}(1){(core::num*) →* core::int*});
+ core::print(i = i.{core::num::+}(1){(core::num*) →* core::int*});
+ core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::-}(1){(core::num*) →* core::int*} in #t1);
+ core::print(let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3);
core::print(new core::Object::•());
core::print(#C2);
- core::print(core::_List::•<core::String*>(2).{core::Object::runtimeType});
+ core::print(core::_List::•<core::String*>(2).{core::Object::runtimeType}{core::Type*});
self::foo(fisk: "Blorp gulp");
function f() → Null {
core::print("f was called");
@@ -61,21 +61,21 @@
function g([dynamic message = #C1]) → Null {
core::print(message);
}
- g.call("Hello, World");
+ g("Hello, World"){([dynamic]) →* Null};
self::caller(([dynamic x = #C1]) → Null {
core::print("<anon> was called with ${x}");
});
function h({dynamic message = #C1}) → Null {
core::print(message);
}
- h.call(message: "Hello, World");
+ h(message: "Hello, World"){({message: dynamic}) →* Null};
self::caller(({dynamic x = #C1}) → Null {
core::print("<anon> was called with ${x}");
});
- core::print((#C3).{core::Type::toString}());
+ core::print((#C3).{core::Type::toString}(){() →* core::String*});
core::print(#C3);
core::print(let final core::Type* #t5 = #C3 in block {
- #t5.{core::Type::toString}();
+ #t5.{core::Type::toString}(){() →* core::String*};
} =>#t5);
try {
core::print(invalid-expression "pkg/front_end/testcases/general/expressions.dart:74:16: Error: Method not found: 'int.toString'.
@@ -99,7 +99,7 @@
Evaluated: StringConcatenation @ org-dartlang-testcase:///expressions.dart:21:8 -> StringConstant("foobar")
Evaluated: VariableGetImpl @ org-dartlang-testcase:///expressions.dart:72:9 -> TypeLiteralConstant(int*)
Evaluated: VariableGet @ org-dartlang-testcase:///expressions.dart:72:9 -> TypeLiteralConstant(int*)
-Extra constant evaluation: evaluated: 135, effectively constant: 3
+Extra constant evaluation: evaluated: 133, effectively constant: 3
Constructor coverage from constants:
diff --git a/pkg/front_end/testcases/general/external.dart.weak.expect b/pkg/front_end/testcases/general/external.dart.weak.expect
index 766ac5f..a768cb2 100644
--- a/pkg/front_end/testcases/general/external.dart.weak.expect
+++ b/pkg/front_end/testcases/general/external.dart.weak.expect
@@ -8,13 +8,13 @@
static field dynamic subscription;
static method onData(dynamic x) → void {
core::print(x);
- self::subscription.cancel();
+ self::subscription{dynamic}.cancel();
}
static method main() → dynamic {
core::String* string = core::String::fromCharCode(65);
iso::ReceivePort* port = iso::ReceivePort::•();
- self::subscription = port.{iso::ReceivePort::listen}(#C1);
- port.{iso::ReceivePort::sendPort}.{iso::SendPort::send}(string);
+ self::subscription = port.{iso::ReceivePort::listen}(#C1){((dynamic) →* void, {cancelOnError: core::bool*, onDone: () →* void, onError: core::Function*}) →* dart.async::StreamSubscription<dynamic>*};
+ port.{iso::ReceivePort::sendPort}{iso::SendPort*}.{iso::SendPort::send}(string){(core::Object*) →* void};
}
constants {
diff --git a/pkg/front_end/testcases/general/external.dart.weak.transformed.expect b/pkg/front_end/testcases/general/external.dart.weak.transformed.expect
index 766ac5f..a768cb2 100644
--- a/pkg/front_end/testcases/general/external.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/external.dart.weak.transformed.expect
@@ -8,13 +8,13 @@
static field dynamic subscription;
static method onData(dynamic x) → void {
core::print(x);
- self::subscription.cancel();
+ self::subscription{dynamic}.cancel();
}
static method main() → dynamic {
core::String* string = core::String::fromCharCode(65);
iso::ReceivePort* port = iso::ReceivePort::•();
- self::subscription = port.{iso::ReceivePort::listen}(#C1);
- port.{iso::ReceivePort::sendPort}.{iso::SendPort::send}(string);
+ self::subscription = port.{iso::ReceivePort::listen}(#C1){((dynamic) →* void, {cancelOnError: core::bool*, onDone: () →* void, onError: core::Function*}) →* dart.async::StreamSubscription<dynamic>*};
+ port.{iso::ReceivePort::sendPort}{iso::SendPort*}.{iso::SendPort::send}(string){(core::Object*) →* void};
}
constants {
diff --git a/pkg/front_end/testcases/general/fallthrough.dart.weak.expect b/pkg/front_end/testcases/general/fallthrough.dart.weak.expect
index 75e6040..4348081 100644
--- a/pkg/front_end/testcases/general/fallthrough.dart.weak.expect
+++ b/pkg/front_end/testcases/general/fallthrough.dart.weak.expect
@@ -14,7 +14,7 @@
import "dart:core" as core;
static method main(core::List<core::String*>* args) → void {
- core::int* x = args.{core::List::length};
+ core::int* x = args.{core::List::length}{core::int*};
#L1:
switch(x) {
#L2:
@@ -32,7 +32,7 @@
case #C3:
case #C4:
{
- if(args.{core::List::[]}(0).{core::String::==}("")) {
+ if(args.{core::List::[]}(0){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "") {
break #L1;
}
else {
diff --git a/pkg/front_end/testcases/general/fallthrough.dart.weak.transformed.expect b/pkg/front_end/testcases/general/fallthrough.dart.weak.transformed.expect
index 75e6040..4348081 100644
--- a/pkg/front_end/testcases/general/fallthrough.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/fallthrough.dart.weak.transformed.expect
@@ -14,7 +14,7 @@
import "dart:core" as core;
static method main(core::List<core::String*>* args) → void {
- core::int* x = args.{core::List::length};
+ core::int* x = args.{core::List::length}{core::int*};
#L1:
switch(x) {
#L2:
@@ -32,7 +32,7 @@
case #C3:
case #C4:
{
- if(args.{core::List::[]}(0).{core::String::==}("")) {
+ if(args.{core::List::[]}(0){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "") {
break #L1;
}
else {
diff --git a/pkg/front_end/testcases/general/fibonacci.dart.weak.expect b/pkg/front_end/testcases/general/fibonacci.dart.weak.expect
index 95dc207..df2b7da 100644
--- a/pkg/front_end/testcases/general/fibonacci.dart.weak.expect
+++ b/pkg/front_end/testcases/general/fibonacci.dart.weak.expect
@@ -3,12 +3,12 @@
import "dart:core" as core;
static method fibonacci(core::int* n) → core::int* {
- if(n.{core::num::<}(2))
+ if(n.{core::num::<}(2){(core::num*) →* core::bool*})
return n;
- return self::fibonacci(n.{core::num::-}(1)).{core::num::+}(self::fibonacci(n.{core::num::-}(2)));
+ return self::fibonacci(n.{core::num::-}(1){(core::num*) →* core::int*}).{core::num::+}(self::fibonacci(n.{core::num::-}(2){(core::num*) →* core::int*})){(core::num*) →* core::int*};
}
static method main() → dynamic {
- for (core::int* i = 0; i.{core::num::<}(20); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<}(20){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::print(self::fibonacci(i));
}
}
diff --git a/pkg/front_end/testcases/general/fibonacci.dart.weak.transformed.expect b/pkg/front_end/testcases/general/fibonacci.dart.weak.transformed.expect
index 95dc207..df2b7da 100644
--- a/pkg/front_end/testcases/general/fibonacci.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/fibonacci.dart.weak.transformed.expect
@@ -3,12 +3,12 @@
import "dart:core" as core;
static method fibonacci(core::int* n) → core::int* {
- if(n.{core::num::<}(2))
+ if(n.{core::num::<}(2){(core::num*) →* core::bool*})
return n;
- return self::fibonacci(n.{core::num::-}(1)).{core::num::+}(self::fibonacci(n.{core::num::-}(2)));
+ return self::fibonacci(n.{core::num::-}(1){(core::num*) →* core::int*}).{core::num::+}(self::fibonacci(n.{core::num::-}(2){(core::num*) →* core::int*})){(core::num*) →* core::int*};
}
static method main() → dynamic {
- for (core::int* i = 0; i.{core::num::<}(20); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<}(20){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::print(self::fibonacci(i));
}
}
diff --git a/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.expect b/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.expect
index 6c86016..085bed3 100644
--- a/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.expect
+++ b/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.expect
@@ -8,11 +8,11 @@
final self::TestMixin::R* response = await fetch;
self::TestMixin::T* result;
if(response is self::Response<dynamic>*) {
- result = response{self::TestMixin::R* & self::Response<dynamic>* /* '*' & '*' = '*' */}.{self::Response::data} as{TypeError,ForDynamic} self::TestMixin::T*;
+ result = response{self::TestMixin::R* & self::Response<dynamic>* /* '*' & '*' = '*' */}.{self::Response::data}{dynamic} as{TypeError,ForDynamic} self::TestMixin::T*;
}
else
if(response is self::PagingResponse<dynamic>*) {
- result = response{self::TestMixin::R* & self::PagingResponse<dynamic>* /* '*' & '*' = '*' */}.{self::PagingResponse::data}.{self::PagingResponseData::data} as self::TestMixin::T*;
+ result = response{self::TestMixin::R* & self::PagingResponse<dynamic>* /* '*' & '*' = '*' */}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>*}.{self::PagingResponseData::data}{core::List<dynamic>*} as self::TestMixin::T*;
}
else
if(response is self::TestMixin::T*) {
@@ -105,7 +105,7 @@
;
method _test() → dynamic {
final self::Response<core::String*>* response = new self::Response::•<core::String*>("test");
- this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String*>*>(response));
+ this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String*>*>(response)){(asy::Future<self::Response<core::String*>*>*) →* asy::Future<core::String*>*};
}
}
abstract class _Class2&Object&TestMixin = core::Object with self::TestMixin<self::PagingResponse<core::String*>*, core::String*> /*isAnonymousMixin,hasConstConstructor*/ {
@@ -131,7 +131,7 @@
;
method _test() → dynamic {
final self::PagingResponse<core::String*>* response = new self::PagingResponse::•<core::String*>(new self::PagingResponseData::•<core::String*>(<core::String*>["test"]));
- this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String*>*>(response));
+ this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String*>*>(response)){(asy::Future<self::PagingResponse<core::String*>*>*) →* asy::Future<core::String*>*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect b/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect
index f8c0120..add51d0 100644
--- a/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect
@@ -22,11 +22,11 @@
final self::TestMixin::R* response = _in::unsafeCast<self::TestMixin::R*>(:result);
self::TestMixin::T* result;
if(response is self::Response<dynamic>*) {
- result = response{self::TestMixin::R* & self::Response<dynamic>* /* '*' & '*' = '*' */}.{self::Response::data} as{TypeError,ForDynamic} self::TestMixin::T*;
+ result = response{self::TestMixin::R* & self::Response<dynamic>* /* '*' & '*' = '*' */}.{self::Response::data}{dynamic} as{TypeError,ForDynamic} self::TestMixin::T*;
}
else
if(response is self::PagingResponse<dynamic>*) {
- result = response{self::TestMixin::R* & self::PagingResponse<dynamic>* /* '*' & '*' = '*' */}.{self::PagingResponse::data}.{self::PagingResponseData::data} as self::TestMixin::T*;
+ result = response{self::TestMixin::R* & self::PagingResponse<dynamic>* /* '*' & '*' = '*' */}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>*}.{self::PagingResponseData::data}{core::List<dynamic>*} as self::TestMixin::T*;
}
else
if(response is self::TestMixin::T*) {
@@ -130,11 +130,11 @@
final self::Response<core::String*>* response = _in::unsafeCast<self::Response<core::String*>*>(:result);
core::String* result;
if(response is self::Response<dynamic>*) {
- result = response{self::Response<core::String*>*}.{self::Response::data};
+ result = response{self::Response<core::String*>*}.{self::Response::data}{dynamic} as{TypeError,ForDynamic} core::String*;
}
else
if(response is self::PagingResponse<dynamic>*) {
- result = response{self::Response<core::String*>*}.{self::PagingResponse::data}.{self::PagingResponseData::data} as core::String*;
+ result = response{self::Response<core::String*>*}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>*}.{self::PagingResponseData::data}{core::List<dynamic>*} as core::String*;
}
else
if(response is core::String*) {
@@ -175,7 +175,7 @@
;
method _test() → dynamic {
final self::Response<core::String*>* response = new self::Response::•<core::String*>("test");
- this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String*>*>(response));
+ this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String*>*>(response)){(asy::Future<self::Response<core::String*>*>*) →* asy::Future<core::String*>*};
}
}
abstract class _Class2&Object&TestMixin extends core::Object implements self::TestMixin<self::PagingResponse<core::String*>*, core::String*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
@@ -199,11 +199,11 @@
final self::PagingResponse<core::String*>* response = _in::unsafeCast<self::PagingResponse<core::String*>*>(:result);
core::String* result;
if(response is self::Response<dynamic>*) {
- result = response{self::PagingResponse<core::String*>*}.{self::Response::data} as{TypeError,ForDynamic} core::String*;
+ result = response{self::PagingResponse<core::String*>*}.{self::Response::data}{dynamic} as{TypeError,ForDynamic} core::String*;
}
else
if(response is self::PagingResponse<dynamic>*) {
- result = response{self::PagingResponse<core::String*>*}.{self::PagingResponse::data}.{self::PagingResponseData::data} as core::String*;
+ result = response{self::PagingResponse<core::String*>*}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>*}.{self::PagingResponseData::data}{core::List<dynamic>*} as core::String*;
}
else
if(response is core::String*) {
@@ -244,7 +244,7 @@
;
method _test() → dynamic {
final self::PagingResponse<core::String*>* response = new self::PagingResponse::•<core::String*>(new self::PagingResponseData::•<core::String*>(core::_GrowableList::_literal1<core::String*>("test")));
- this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String*>*>(response));
+ this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String*>*>(response)){(asy::Future<self::PagingResponse<core::String*>*>*) →* asy::Future<core::String*>*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.expect b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.expect
index 06e24b0..13b9d4e 100644
--- a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.expect
@@ -8,7 +8,7 @@
static method main() → void {
function f({core::int* x = #C1}) → core::int*
return null;
- new mai::Registry::•().{mai::DynamicDispatchRegistry::register}(f);
+ new mai::Registry::•().{mai::DynamicDispatchRegistry::register}(f){(({x: core::int*}) →* core::int*) →* ({x: core::int*}) →* core::int*};
}
library;
diff --git a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.transformed.expect
index 06e24b0..13b9d4e 100644
--- a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
static method main() → void {
function f({core::int* x = #C1}) → core::int*
return null;
- new mai::Registry::•().{mai::DynamicDispatchRegistry::register}(f);
+ new mai::Registry::•().{mai::DynamicDispatchRegistry::register}(f){(({x: core::int*}) →* core::int*) →* ({x: core::int*}) →* core::int*};
}
library;
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.expect
index b1f7867..3360167 100644
--- a/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.expect
+++ b/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.expect
@@ -146,7 +146,7 @@
- 'C' is from 'pkg/front_end/testcases/general/for_in_without_declaration.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'unresolved'.
for (unresolved.foo in []) {}
- ^^^^^^^^^^".foo = #t14;
+ ^^^^^^^^^^"{dynamic}.foo = #t14;
}
for (final dynamic #t15 in <dynamic>[]) {
invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:39:12: Error: The setter 'unresolved' isn't defined for the class 'C'.
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.transformed.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.transformed.expect
index cdc7b5c..2e09441 100644
--- a/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.transformed.expect
@@ -228,7 +228,7 @@
- 'C' is from 'pkg/front_end/testcases/general/for_in_without_declaration.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'unresolved'.
for (unresolved.foo in []) {}
- ^^^^^^^^^^".foo = #t14;
+ ^^^^^^^^^^"{dynamic}.foo = #t14;
}
}
}
diff --git a/pkg/front_end/testcases/general/function_in_field.dart.weak.expect b/pkg/front_end/testcases/general/function_in_field.dart.weak.expect
index ca264d4..a2c6a44 100644
--- a/pkg/front_end/testcases/general/function_in_field.dart.weak.expect
+++ b/pkg/front_end/testcases/general/function_in_field.dart.weak.expect
@@ -7,5 +7,5 @@
return y;
};
static method main() → dynamic {
- core::print(self::x.call());
+ core::print(self::x(){() →* core::int*});
}
diff --git a/pkg/front_end/testcases/general/function_in_field.dart.weak.transformed.expect b/pkg/front_end/testcases/general/function_in_field.dart.weak.transformed.expect
index ca264d4..a2c6a44 100644
--- a/pkg/front_end/testcases/general/function_in_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/function_in_field.dart.weak.transformed.expect
@@ -7,5 +7,5 @@
return y;
};
static method main() → dynamic {
- core::print(self::x.call());
+ core::print(self::x(){() →* core::int*});
}
diff --git a/pkg/front_end/testcases/general/function_invocation_bounds.dart.weak.expect b/pkg/front_end/testcases/general/function_invocation_bounds.dart.weak.expect
index fa6936b..530685e 100644
--- a/pkg/front_end/testcases/general/function_invocation_bounds.dart.weak.expect
+++ b/pkg/front_end/testcases/general/function_invocation_bounds.dart.weak.expect
@@ -37,20 +37,20 @@
static method test() → dynamic {
function local<T extends core::num>(T t) → T
return t;
- local.call<core::String>("");
- local.call<core::String>(throw "");
- local.call<core::int>(0);
- local.call<core::int>(throw "");
+ local<core::String>(""){(core::String) → core::String};
+ local<core::String>(throw ""){(core::String) → core::String};
+ local<core::int>(0){(core::int) → core::int};
+ local<core::int>(throw ""){(core::int) → core::int};
let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/function_invocation_bounds.dart:13:8: Error: Expected 1 type arguments.
local<int, String>(throw '');
- ^" in local.call<core::int, core::String>(throw "");
+ ^" in local{<inapplicable>}.<core::int, core::String>(throw "");
<T extends core::num>(T) → T f = local;
- f.call<core::String>("");
- f.call<core::String>(throw "");
- f.call<core::int>(0);
- f.call<core::int>(throw "");
+ f<core::String>(""){(core::String) → core::String};
+ f<core::String>(throw ""){(core::String) → core::String};
+ f<core::int>(0){(core::int) → core::int};
+ f<core::int>(throw ""){(core::int) → core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/general/function_invocation_bounds.dart:19:4: Error: Expected 1 type arguments.
f<int, String>(throw '');
- ^" in f.call<core::int, core::String>(throw "");
+ ^" in f{<inapplicable>}.<core::int, core::String>(throw "");
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/function_invocation_bounds.dart.weak.transformed.expect b/pkg/front_end/testcases/general/function_invocation_bounds.dart.weak.transformed.expect
index f71e3b1..530685e 100644
--- a/pkg/front_end/testcases/general/function_invocation_bounds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/function_invocation_bounds.dart.weak.transformed.expect
@@ -2,10 +2,6 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/function_invocation_bounds.dart:18:3: Error: 'F' isn't a type.
-// F g = local;
-// ^
-//
// pkg/front_end/testcases/general/function_invocation_bounds.dart:9:8: Error: Inferred type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'local'.
// Try specifying type arguments explicitly so that they conform to the bounds.
// local("");
@@ -16,36 +12,45 @@
// local<String>(throw '');
// ^
//
-// pkg/front_end/testcases/general/function_invocation_bounds.dart:14:4: Error: Inferred type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
+// pkg/front_end/testcases/general/function_invocation_bounds.dart:13:8: Error: Expected 1 type arguments.
+// local<int, String>(throw '');
+// ^
+//
+// pkg/front_end/testcases/general/function_invocation_bounds.dart:15:4: Error: Inferred type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
// Try specifying type arguments explicitly so that they conform to the bounds.
// f("");
// ^
//
-// pkg/front_end/testcases/general/function_invocation_bounds.dart:15:4: Error: Type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
+// pkg/front_end/testcases/general/function_invocation_bounds.dart:16:4: Error: Type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
// Try changing type arguments so that they conform to the bounds.
// f<String>(throw '');
// ^
//
+// pkg/front_end/testcases/general/function_invocation_bounds.dart:19:4: Error: Expected 1 type arguments.
+// f<int, String>(throw '');
+// ^
+//
import self as self;
import "dart:core" as core;
typedef G<invariant T extends core::Object? = dynamic> = (T%) → T%;
static method test() → dynamic {
- function local<T extends core::num = core::num>(T t) → T
+ function local<T extends core::num>(T t) → T
return t;
- local.call<core::String>("");
- local.call<core::String>(throw "");
- local.call<core::int>(0);
- local.call<core::int>(throw "");
- <T extends core::num = core::num>(T) → T f = local;
- f.call<core::String>("");
- f.call<core::String>(throw "");
- f.call<core::int>(0);
- f.call<core::int>(throw "");
- invalid-type g = local;
- g.call("");
- g.call<core::String>(throw "");
- g.call(0);
- g.call<core::int>(throw "");
+ local<core::String>(""){(core::String) → core::String};
+ local<core::String>(throw ""){(core::String) → core::String};
+ local<core::int>(0){(core::int) → core::int};
+ local<core::int>(throw ""){(core::int) → core::int};
+ let final Never #t1 = invalid-expression "pkg/front_end/testcases/general/function_invocation_bounds.dart:13:8: Error: Expected 1 type arguments.
+ local<int, String>(throw '');
+ ^" in local{<inapplicable>}.<core::int, core::String>(throw "");
+ <T extends core::num>(T) → T f = local;
+ f<core::String>(""){(core::String) → core::String};
+ f<core::String>(throw ""){(core::String) → core::String};
+ f<core::int>(0){(core::int) → core::int};
+ f<core::int>(throw ""){(core::int) → core::int};
+ let final Never #t2 = invalid-expression "pkg/front_end/testcases/general/function_invocation_bounds.dart:19:4: Error: Expected 1 type arguments.
+ f<int, String>(throw '');
+ ^" in f{<inapplicable>}.<core::int, core::String>(throw "");
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.weak.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.weak.expect
index 3e17d2c..3994837 100644
--- a/pkg/front_end/testcases/general/function_type_is_check.dart.weak.expect
+++ b/pkg/front_end/testcases/general/function_type_is_check.dart.weak.expect
@@ -14,5 +14,5 @@
return 100;
}
static method main() → dynamic {
- exp::Expect::equals(111, self::test(() → Null => null).+(self::test((core::Object* o) → Null => null)).+(self::test((core::Object* o, core::StackTrace* t) → Null => null)));
+ exp::Expect::equals(111, self::test(() → Null => null){dynamic}.+(self::test((core::Object* o) → Null => null)){dynamic}.+(self::test((core::Object* o, core::StackTrace* t) → Null => null)));
}
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.weak.transformed.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.weak.transformed.expect
index 3e17d2c..3994837 100644
--- a/pkg/front_end/testcases/general/function_type_is_check.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/function_type_is_check.dart.weak.transformed.expect
@@ -14,5 +14,5 @@
return 100;
}
static method main() → dynamic {
- exp::Expect::equals(111, self::test(() → Null => null).+(self::test((core::Object* o) → Null => null)).+(self::test((core::Object* o, core::StackTrace* t) → Null => null)));
+ exp::Expect::equals(111, self::test(() → Null => null){dynamic}.+(self::test((core::Object* o) → Null => null)){dynamic}.+(self::test((core::Object* o, core::StackTrace* t) → Null => null)));
}
diff --git a/pkg/front_end/testcases/general/functions.dart.weak.expect b/pkg/front_end/testcases/general/functions.dart.weak.expect
index c10936d..a0fd727 100644
--- a/pkg/front_end/testcases/general/functions.dart.weak.expect
+++ b/pkg/front_end/testcases/general/functions.dart.weak.expect
@@ -4,12 +4,12 @@
static method main() → dynamic {
function local(({a: dynamic}) →* void f) → void {
- f.call(a: "Hello, World");
- f.call();
+ f(a: "Hello, World"){({a: dynamic}) →* void};
+ f(){({a: dynamic}) →* void};
}
- local.call(({dynamic a = #C1}) → Null {
+ local(({dynamic a = #C1}) → Null {
core::print(a);
- });
+ }){(({a: dynamic}) →* void) →* void};
}
constants {
diff --git a/pkg/front_end/testcases/general/functions.dart.weak.transformed.expect b/pkg/front_end/testcases/general/functions.dart.weak.transformed.expect
index c10936d..a0fd727 100644
--- a/pkg/front_end/testcases/general/functions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/functions.dart.weak.transformed.expect
@@ -4,12 +4,12 @@
static method main() → dynamic {
function local(({a: dynamic}) →* void f) → void {
- f.call(a: "Hello, World");
- f.call();
+ f(a: "Hello, World"){({a: dynamic}) →* void};
+ f(){({a: dynamic}) →* void};
}
- local.call(({dynamic a = #C1}) → Null {
+ local(({dynamic a = #C1}) → Null {
core::print(a);
- });
+ }){(({a: dynamic}) →* void) →* void};
}
constants {
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.weak.expect b/pkg/front_end/testcases/general/future_or_test.dart.weak.expect
index 2a464ed..cc061fb 100644
--- a/pkg/front_end/testcases/general/future_or_test.dart.weak.expect
+++ b/pkg/front_end/testcases/general/future_or_test.dart.weak.expect
@@ -28,7 +28,7 @@
: super core::Object::•()
;
method bar() → asy::Future<dynamic>* async
- return this.{self::B::a}.{self::A::foo}();
+ return this.{self::B::a}{self::A*}.{self::A::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
@@ -46,7 +46,7 @@
: super core::Object::•()
;
method baz() → asy::Future<core::int*>* async
- return this.{self::C::b}.{self::B::bar}() as{TypeError} FutureOr<core::int*>*;
+ return this.{self::C::b}{self::B*}.{self::B::bar}(){() →* asy::Future<dynamic>*} as{TypeError} FutureOr<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
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect
index f62a5eb..b322b55 100644
--- a/pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect
@@ -39,7 +39,7 @@
try {
#L1:
{
- :return_value = this.{self::B::a}.{self::A::foo}();
+ :return_value = this.{self::B::a}{self::A*}.{self::A::foo}(){() →* dynamic};
break #L1;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -82,7 +82,7 @@
try {
#L2:
{
- :return_value = this.{self::C::b}.{self::B::bar}() as{TypeError} FutureOr<core::int*>*;
+ :return_value = this.{self::C::b}{self::B*}.{self::B::bar}(){() →* asy::Future<dynamic>*} as{TypeError} FutureOr<core::int*>*;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
diff --git a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.expect b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.expect
index 96838f0..61a26ba 100644
--- a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.expect
+++ b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.expect
@@ -10,14 +10,14 @@
import "dart:core" as core;
static method add<A extends core::num*, B extends core::num*>(self::add::A* a, self::add::B* b) → core::num*
- return a.{core::num::+}(b);
+ return a.{core::num::+}(b){(core::num*) →* core::num*};
static method test() → dynamic {
core::int* x = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/generic_function_type_in_message.dart:8:11: Error: A value of type 'num Function<A extends num, B extends num>(A, B)' can't be assigned to a variable of type 'int'.
int x = add;
^" in (#C1) as{TypeError} core::int*;
}
static method main() → dynamic {
- if(self::add<core::int*, core::int*>(1, 2).{core::num::<}(3))
+ if(self::add<core::int*, core::int*>(1, 2).{core::num::<}(3){(core::num*) →* core::bool*})
self::test();
}
diff --git a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.transformed.expect b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.transformed.expect
index 96838f0..61a26ba 100644
--- a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.transformed.expect
@@ -10,14 +10,14 @@
import "dart:core" as core;
static method add<A extends core::num*, B extends core::num*>(self::add::A* a, self::add::B* b) → core::num*
- return a.{core::num::+}(b);
+ return a.{core::num::+}(b){(core::num*) →* core::num*};
static method test() → dynamic {
core::int* x = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/generic_function_type_in_message.dart:8:11: Error: A value of type 'num Function<A extends num, B extends num>(A, B)' can't be assigned to a variable of type 'int'.
int x = add;
^" in (#C1) as{TypeError} core::int*;
}
static method main() → dynamic {
- if(self::add<core::int*, core::int*>(1, 2).{core::num::<}(3))
+ if(self::add<core::int*, core::int*>(1, 2).{core::num::<}(3){(core::num*) →* core::bool*})
self::test();
}
diff --git a/pkg/front_end/testcases/general/generic_typedef_in_generic_class.dart.weak.expect b/pkg/front_end/testcases/general/generic_typedef_in_generic_class.dart.weak.expect
index 542c883..9a41483 100644
--- a/pkg/front_end/testcases/general/generic_typedef_in_generic_class.dart.weak.expect
+++ b/pkg/front_end/testcases/general/generic_typedef_in_generic_class.dart.weak.expect
@@ -13,7 +13,7 @@
}
}
static method main() → dynamic {
- new self::Class::•<core::int>().{self::Class::method}();
+ new self::Class::•<core::int>().{self::Class::method}(){() → dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/general/generic_typedef_in_generic_class.dart.weak.transformed.expect b/pkg/front_end/testcases/general/generic_typedef_in_generic_class.dart.weak.transformed.expect
index 542c883..9a41483 100644
--- a/pkg/front_end/testcases/general/generic_typedef_in_generic_class.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/generic_typedef_in_generic_class.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
}
}
static method main() → dynamic {
- new self::Class::•<core::int>().{self::Class::method}();
+ new self::Class::•<core::int>().{self::Class::method}(){() → dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/general/getter_call.dart.weak.expect b/pkg/front_end/testcases/general/getter_call.dart.weak.expect
index 256e84e..9430786 100644
--- a/pkg/front_end/testcases/general/getter_call.dart.weak.expect
+++ b/pkg/front_end/testcases/general/getter_call.dart.weak.expect
@@ -112,21 +112,21 @@
}
static field core::bool* enableRead = true;
static method read(core::int* value) → core::int*
- return self::enableRead ?{core::int*} value : 1.{core::int::unary-}();
+ return self::enableRead ?{core::int*} value : 1.{core::int::unary-}(){() →* core::int*};
static method method1() → core::int*
return 0;
static method method2(core::int* a) → core::int*
- return a.{core::int::unary-}();
+ return a.{core::int::unary-}(){() →* core::int*};
static method method3(core::int* a, core::int* b) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method method4(core::int* a, [core::int* b = #C8]) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method method5([core::int* a = #C8, core::int* b = #C8]) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method method6(core::int* a, {core::int* b = #C8}) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method method7({core::int* a = #C8, core::int* b = #C8}) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method main() → dynamic {
self::callField(new self::Class::•());
self::callGetter(new self::Class::•());
@@ -134,44 +134,44 @@
self::callGetter(new self::Subclass::•());
}
static method callField(self::Class* c) → dynamic {
- self::expect(0, c.{self::Class::field1a}.call());
- self::expect(0, c.{self::Class::field1b}.call());
- self::expect(42.{core::int::unary-}(), let final self::Class* #t1 = c in let final core::int* #t2 = self::read(42) in #t1.{self::Class::field2}.call(#t2));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t3 = c in let final core::int* #t4 = self::read(12) in let final core::int* #t5 = self::read(23) in #t3.{self::Class::field3}.call(#t4, #t5));
- self::expect(12, let final self::Class* #t6 = c in let final core::int* #t7 = self::read(12) in #t6.{self::Class::field4}.call(#t7));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t8 = c in let final core::int* #t9 = self::read(12) in let final core::int* #t10 = self::read(23) in #t8.{self::Class::field4}.call(#t9, #t10));
- self::expect(0, c.{self::Class::field5}.call());
- self::expect(12, let final self::Class* #t11 = c in let final core::int* #t12 = self::read(12) in #t11.{self::Class::field5}.call(#t12));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t13 = c in let final core::int* #t14 = self::read(12) in let final core::int* #t15 = self::read(23) in #t13.{self::Class::field5}.call(#t14, #t15));
- self::expect(12, let final self::Class* #t16 = c in let final core::int* #t17 = self::read(12) in #t16.{self::Class::field6}.call(#t17));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t18 = c in let final core::int* #t19 = self::read(12) in let final core::int* #t20 = self::read(23) in #t18.{self::Class::field6}.call(#t19, b: #t20));
- self::expect(0, c.{self::Class::field7}.call());
- self::expect(12, let final self::Class* #t21 = c in let final core::int* #t22 = self::read(12) in #t21.{self::Class::field7}.call(a: #t22));
- self::expect(23.{core::int::unary-}(), let final self::Class* #t23 = c in let final core::int* #t24 = self::read(23) in #t23.{self::Class::field7}.call(b: #t24));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t25 = c in let final core::int* #t26 = self::read(12) in let final core::int* #t27 = self::read(23) in #t25.{self::Class::field7}.call(a: #t26, b: #t27));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t28 = c in let final core::int* #t29 = self::read(23) in let final core::int* #t30 = self::read(12) in #t28.{self::Class::field7}.call(b: #t29, a: #t30));
+ self::expect(0, c.{self::Class::field1a}{core::Function*}());
+ self::expect(0, c.{self::Class::field1b}{() →* core::int*}(){() →* core::int*});
+ self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t1 = c in let final core::int* #t2 = self::read(42) in #t1.{self::Class::field2}{(core::int*) →* core::int*}(#t2){(core::int*) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t3 = c in let final core::int* #t4 = self::read(12) in let final core::int* #t5 = self::read(23) in #t3.{self::Class::field3}{(core::int*, core::int*) →* core::int*}(#t4, #t5){(core::int*, core::int*) →* core::int*});
+ self::expect(12, let final self::Class* #t6 = c in let final core::int* #t7 = self::read(12) in #t6.{self::Class::field4}{(core::int*, [core::int*]) →* core::int*}(#t7){(core::int*, [core::int*]) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t8 = c in let final core::int* #t9 = self::read(12) in let final core::int* #t10 = self::read(23) in #t8.{self::Class::field4}{(core::int*, [core::int*]) →* core::int*}(#t9, #t10){(core::int*, [core::int*]) →* core::int*});
+ self::expect(0, c.{self::Class::field5}{([core::int*, core::int*]) →* core::int*}(){([core::int*, core::int*]) →* core::int*});
+ self::expect(12, let final self::Class* #t11 = c in let final core::int* #t12 = self::read(12) in #t11.{self::Class::field5}{([core::int*, core::int*]) →* core::int*}(#t12){([core::int*, core::int*]) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t13 = c in let final core::int* #t14 = self::read(12) in let final core::int* #t15 = self::read(23) in #t13.{self::Class::field5}{([core::int*, core::int*]) →* core::int*}(#t14, #t15){([core::int*, core::int*]) →* core::int*});
+ self::expect(12, let final self::Class* #t16 = c in let final core::int* #t17 = self::read(12) in #t16.{self::Class::field6}{(core::int*, {b: core::int*}) →* core::int*}(#t17){(core::int*, {b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t18 = c in let final core::int* #t19 = self::read(12) in let final core::int* #t20 = self::read(23) in #t18.{self::Class::field6}{(core::int*, {b: core::int*}) →* core::int*}(#t19, b: #t20){(core::int*, {b: core::int*}) →* core::int*});
+ self::expect(0, c.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(12, let final self::Class* #t21 = c in let final core::int* #t22 = self::read(12) in #t21.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(a: #t22){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t23 = c in let final core::int* #t24 = self::read(23) in #t23.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(b: #t24){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t25 = c in let final core::int* #t26 = self::read(12) in let final core::int* #t27 = self::read(23) in #t25.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(a: #t26, b: #t27){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t28 = c in let final core::int* #t29 = self::read(23) in let final core::int* #t30 = self::read(12) in #t28.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(b: #t29, a: #t30){({a: core::int*, b: core::int*}) →* core::int*});
}
static method callGetter(self::Class* c) → dynamic {
- self::expect(0, c.{self::Class::getter1a}.call());
- self::expect(0, c.{self::Class::getter1b}.call());
- self::expect(42.{core::int::unary-}(), let final self::Class* #t31 = c in let final core::int* #t32 = self::read(42) in #t31.{self::Class::getter2}.call(#t32));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t33 = c in let final core::int* #t34 = self::read(12) in let final core::int* #t35 = self::read(23) in #t33.{self::Class::getter3}.call(#t34, #t35));
- self::expect(12, let final self::Class* #t36 = c in let final core::int* #t37 = self::read(12) in #t36.{self::Class::getter4}.call(#t37));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t38 = c in let final core::int* #t39 = self::read(12) in let final core::int* #t40 = self::read(23) in #t38.{self::Class::getter4}.call(#t39, #t40));
- self::expect(0, c.{self::Class::getter5}.call());
- self::expect(12, let final self::Class* #t41 = c in let final core::int* #t42 = self::read(12) in #t41.{self::Class::getter5}.call(#t42));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t43 = c in let final core::int* #t44 = self::read(12) in let final core::int* #t45 = self::read(23) in #t43.{self::Class::getter5}.call(#t44, #t45));
- self::expect(12, let final self::Class* #t46 = c in let final core::int* #t47 = self::read(12) in #t46.{self::Class::getter6}.call(#t47));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t48 = c in let final core::int* #t49 = self::read(12) in let final core::int* #t50 = self::read(23) in #t48.{self::Class::getter6}.call(#t49, b: #t50));
- self::expect(0, c.{self::Class::getter7}.call());
- self::expect(12, let final self::Class* #t51 = c in let final core::int* #t52 = self::read(12) in #t51.{self::Class::getter7}.call(a: #t52));
- self::expect(23.{core::int::unary-}(), let final self::Class* #t53 = c in let final core::int* #t54 = self::read(23) in #t53.{self::Class::getter7}.call(b: #t54));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t55 = c in let final core::int* #t56 = self::read(12) in let final core::int* #t57 = self::read(23) in #t55.{self::Class::getter7}.call(a: #t56, b: #t57));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t58 = c in let final core::int* #t59 = self::read(23) in let final core::int* #t60 = self::read(12) in #t58.{self::Class::getter7}.call(b: #t59, a: #t60));
+ self::expect(0, c.{self::Class::getter1a}{core::Function*}());
+ self::expect(0, c.{self::Class::getter1b}{() →* core::int*}(){() →* core::int*});
+ self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t31 = c in let final core::int* #t32 = self::read(42) in #t31.{self::Class::getter2}{(core::int*) →* core::int*}(#t32){(core::int*) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t33 = c in let final core::int* #t34 = self::read(12) in let final core::int* #t35 = self::read(23) in #t33.{self::Class::getter3}{(core::int*, core::int*) →* core::int*}(#t34, #t35){(core::int*, core::int*) →* core::int*});
+ self::expect(12, let final self::Class* #t36 = c in let final core::int* #t37 = self::read(12) in #t36.{self::Class::getter4}{(core::int*, [core::int*]) →* core::int*}(#t37){(core::int*, [core::int*]) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t38 = c in let final core::int* #t39 = self::read(12) in let final core::int* #t40 = self::read(23) in #t38.{self::Class::getter4}{(core::int*, [core::int*]) →* core::int*}(#t39, #t40){(core::int*, [core::int*]) →* core::int*});
+ self::expect(0, c.{self::Class::getter5}{([core::int*, core::int*]) →* core::int*}(){([core::int*, core::int*]) →* core::int*});
+ self::expect(12, let final self::Class* #t41 = c in let final core::int* #t42 = self::read(12) in #t41.{self::Class::getter5}{([core::int*, core::int*]) →* core::int*}(#t42){([core::int*, core::int*]) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t43 = c in let final core::int* #t44 = self::read(12) in let final core::int* #t45 = self::read(23) in #t43.{self::Class::getter5}{([core::int*, core::int*]) →* core::int*}(#t44, #t45){([core::int*, core::int*]) →* core::int*});
+ self::expect(12, let final self::Class* #t46 = c in let final core::int* #t47 = self::read(12) in #t46.{self::Class::getter6}{(core::int*, {b: core::int*}) →* core::int*}(#t47){(core::int*, {b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t48 = c in let final core::int* #t49 = self::read(12) in let final core::int* #t50 = self::read(23) in #t48.{self::Class::getter6}{(core::int*, {b: core::int*}) →* core::int*}(#t49, b: #t50){(core::int*, {b: core::int*}) →* core::int*});
+ self::expect(0, c.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(12, let final self::Class* #t51 = c in let final core::int* #t52 = self::read(12) in #t51.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(a: #t52){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t53 = c in let final core::int* #t54 = self::read(23) in #t53.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(b: #t54){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t55 = c in let final core::int* #t56 = self::read(12) in let final core::int* #t57 = self::read(23) in #t55.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(a: #t56, b: #t57){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t58 = c in let final core::int* #t59 = self::read(23) in let final core::int* #t60 = self::read(12) in #t58.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(b: #t59, a: #t60){({a: core::int*, b: core::int*}) →* core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
self::enableRead = true;
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, ${actual}";
}
diff --git a/pkg/front_end/testcases/general/getter_call.dart.weak.transformed.expect b/pkg/front_end/testcases/general/getter_call.dart.weak.transformed.expect
index 7d5a3ba..c9ab79c 100644
--- a/pkg/front_end/testcases/general/getter_call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/getter_call.dart.weak.transformed.expect
@@ -112,21 +112,21 @@
}
static field core::bool* enableRead = true;
static method read(core::int* value) → core::int*
- return self::enableRead ?{core::int*} value : 1.{core::int::unary-}();
+ return self::enableRead ?{core::int*} value : 1.{core::int::unary-}(){() →* core::int*};
static method method1() → core::int*
return 0;
static method method2(core::int* a) → core::int*
- return a.{core::int::unary-}();
+ return a.{core::int::unary-}(){() →* core::int*};
static method method3(core::int* a, core::int* b) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method method4(core::int* a, [core::int* b = #C8]) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method method5([core::int* a = #C8, core::int* b = #C8]) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method method6(core::int* a, {core::int* b = #C8}) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method method7({core::int* a = #C8, core::int* b = #C8}) → core::int*
- return a.{core::num::-}(b);
+ return a.{core::num::-}(b){(core::num*) →* core::int*};
static method main() → dynamic {
self::callField(new self::Class::•());
self::callGetter(new self::Class::•());
@@ -134,44 +134,44 @@
self::callGetter(new self::Subclass::•());
}
static method callField(self::Class* c) → dynamic {
- self::expect(0, c.{self::Class::field1a}.call());
- self::expect(0, c.{self::Class::field1b}.call());
- self::expect(42.{core::int::unary-}(), let final self::Class* #t1 = c in let final core::int* #t2 = self::read(42) in #t1.{self::Class::field2}.call(#t2));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t3 = c in let final core::int* #t4 = self::read(12) in let final core::int* #t5 = self::read(23) in #t3.{self::Class::field3}.call(#t4, #t5));
- self::expect(12, let final self::Class* #t6 = c in let final core::int* #t7 = self::read(12) in #t6.{self::Class::field4}.call(#t7));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t8 = c in let final core::int* #t9 = self::read(12) in let final core::int* #t10 = self::read(23) in #t8.{self::Class::field4}.call(#t9, #t10));
- self::expect(0, c.{self::Class::field5}.call());
- self::expect(12, let final self::Class* #t11 = c in let final core::int* #t12 = self::read(12) in #t11.{self::Class::field5}.call(#t12));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t13 = c in let final core::int* #t14 = self::read(12) in let final core::int* #t15 = self::read(23) in #t13.{self::Class::field5}.call(#t14, #t15));
- self::expect(12, let final self::Class* #t16 = c in let final core::int* #t17 = self::read(12) in #t16.{self::Class::field6}.call(#t17));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t18 = c in let final core::int* #t19 = self::read(12) in let final core::int* #t20 = self::read(23) in #t18.{self::Class::field6}.call(#t19, b: #t20));
- self::expect(0, c.{self::Class::field7}.call());
- self::expect(12, let final self::Class* #t21 = c in let final core::int* #t22 = self::read(12) in #t21.{self::Class::field7}.call(a: #t22));
- self::expect(23.{core::int::unary-}(), let final self::Class* #t23 = c in let final core::int* #t24 = self::read(23) in #t23.{self::Class::field7}.call(b: #t24));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t25 = c in let final core::int* #t26 = self::read(12) in let final core::int* #t27 = self::read(23) in #t25.{self::Class::field7}.call(a: #t26, b: #t27));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t28 = c in let final core::int* #t29 = self::read(23) in let final core::int* #t30 = self::read(12) in #t28.{self::Class::field7}.call(b: #t29, a: #t30));
+ self::expect(0, c.{self::Class::field1a}{core::Function*}());
+ self::expect(0, c.{self::Class::field1b}{() →* core::int*}(){() →* core::int*});
+ self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t1 = c in let final core::int* #t2 = self::read(42) in #t1.{self::Class::field2}{(core::int*) →* core::int*}(#t2){(core::int*) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t3 = c in let final core::int* #t4 = self::read(12) in let final core::int* #t5 = self::read(23) in #t3.{self::Class::field3}{(core::int*, core::int*) →* core::int*}(#t4, #t5){(core::int*, core::int*) →* core::int*});
+ self::expect(12, let final self::Class* #t6 = c in let final core::int* #t7 = self::read(12) in #t6.{self::Class::field4}{(core::int*, [core::int*]) →* core::int*}(#t7){(core::int*, [core::int*]) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t8 = c in let final core::int* #t9 = self::read(12) in let final core::int* #t10 = self::read(23) in #t8.{self::Class::field4}{(core::int*, [core::int*]) →* core::int*}(#t9, #t10){(core::int*, [core::int*]) →* core::int*});
+ self::expect(0, c.{self::Class::field5}{([core::int*, core::int*]) →* core::int*}(){([core::int*, core::int*]) →* core::int*});
+ self::expect(12, let final self::Class* #t11 = c in let final core::int* #t12 = self::read(12) in #t11.{self::Class::field5}{([core::int*, core::int*]) →* core::int*}(#t12){([core::int*, core::int*]) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t13 = c in let final core::int* #t14 = self::read(12) in let final core::int* #t15 = self::read(23) in #t13.{self::Class::field5}{([core::int*, core::int*]) →* core::int*}(#t14, #t15){([core::int*, core::int*]) →* core::int*});
+ self::expect(12, let final self::Class* #t16 = c in let final core::int* #t17 = self::read(12) in #t16.{self::Class::field6}{(core::int*, {b: core::int*}) →* core::int*}(#t17){(core::int*, {b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t18 = c in let final core::int* #t19 = self::read(12) in let final core::int* #t20 = self::read(23) in #t18.{self::Class::field6}{(core::int*, {b: core::int*}) →* core::int*}(#t19, b: #t20){(core::int*, {b: core::int*}) →* core::int*});
+ self::expect(0, c.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(12, let final self::Class* #t21 = c in let final core::int* #t22 = self::read(12) in #t21.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(a: #t22){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t23 = c in let final core::int* #t24 = self::read(23) in #t23.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(b: #t24){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t25 = c in let final core::int* #t26 = self::read(12) in let final core::int* #t27 = self::read(23) in #t25.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(a: #t26, b: #t27){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t28 = c in let final core::int* #t29 = self::read(23) in let final core::int* #t30 = self::read(12) in #t28.{self::Class::field7}{({a: core::int*, b: core::int*}) →* core::int*}(b: #t29, a: #t30){({a: core::int*, b: core::int*}) →* core::int*});
}
static method callGetter(self::Class* c) → dynamic {
- self::expect(0, c.{self::Class::getter1a}.call());
- self::expect(0, c.{self::Class::getter1b}.call());
- self::expect(42.{core::int::unary-}(), let final self::Class* #t31 = c in let final core::int* #t32 = self::read(42) in #t31.{self::Class::getter2}.call(#t32));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t33 = c in let final core::int* #t34 = self::read(12) in let final core::int* #t35 = self::read(23) in #t33.{self::Class::getter3}.call(#t34, #t35));
- self::expect(12, let final self::Class* #t36 = c in let final core::int* #t37 = self::read(12) in #t36.{self::Class::getter4}.call(#t37));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t38 = c in let final core::int* #t39 = self::read(12) in let final core::int* #t40 = self::read(23) in #t38.{self::Class::getter4}.call(#t39, #t40));
- self::expect(0, c.{self::Class::getter5}.call());
- self::expect(12, let final self::Class* #t41 = c in let final core::int* #t42 = self::read(12) in #t41.{self::Class::getter5}.call(#t42));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t43 = c in let final core::int* #t44 = self::read(12) in let final core::int* #t45 = self::read(23) in #t43.{self::Class::getter5}.call(#t44, #t45));
- self::expect(12, let final self::Class* #t46 = c in let final core::int* #t47 = self::read(12) in #t46.{self::Class::getter6}.call(#t47));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t48 = c in let final core::int* #t49 = self::read(12) in let final core::int* #t50 = self::read(23) in #t48.{self::Class::getter6}.call(#t49, b: #t50));
- self::expect(0, c.{self::Class::getter7}.call());
- self::expect(12, let final self::Class* #t51 = c in let final core::int* #t52 = self::read(12) in #t51.{self::Class::getter7}.call(a: #t52));
- self::expect(23.{core::int::unary-}(), let final self::Class* #t53 = c in let final core::int* #t54 = self::read(23) in #t53.{self::Class::getter7}.call(b: #t54));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t55 = c in let final core::int* #t56 = self::read(12) in let final core::int* #t57 = self::read(23) in #t55.{self::Class::getter7}.call(a: #t56, b: #t57));
- self::expect(11.{core::int::unary-}(), let final self::Class* #t58 = c in let final core::int* #t59 = self::read(23) in let final core::int* #t60 = self::read(12) in #t58.{self::Class::getter7}.call(b: #t59, a: #t60));
+ self::expect(0, c.{self::Class::getter1a}{core::Function*}());
+ self::expect(0, c.{self::Class::getter1b}{() →* core::int*}(){() →* core::int*});
+ self::expect(42.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t31 = c in let final core::int* #t32 = self::read(42) in #t31.{self::Class::getter2}{(core::int*) →* core::int*}(#t32){(core::int*) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t33 = c in let final core::int* #t34 = self::read(12) in let final core::int* #t35 = self::read(23) in #t33.{self::Class::getter3}{(core::int*, core::int*) →* core::int*}(#t34, #t35){(core::int*, core::int*) →* core::int*});
+ self::expect(12, let final self::Class* #t36 = c in let final core::int* #t37 = self::read(12) in #t36.{self::Class::getter4}{(core::int*, [core::int*]) →* core::int*}(#t37){(core::int*, [core::int*]) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t38 = c in let final core::int* #t39 = self::read(12) in let final core::int* #t40 = self::read(23) in #t38.{self::Class::getter4}{(core::int*, [core::int*]) →* core::int*}(#t39, #t40){(core::int*, [core::int*]) →* core::int*});
+ self::expect(0, c.{self::Class::getter5}{([core::int*, core::int*]) →* core::int*}(){([core::int*, core::int*]) →* core::int*});
+ self::expect(12, let final self::Class* #t41 = c in let final core::int* #t42 = self::read(12) in #t41.{self::Class::getter5}{([core::int*, core::int*]) →* core::int*}(#t42){([core::int*, core::int*]) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t43 = c in let final core::int* #t44 = self::read(12) in let final core::int* #t45 = self::read(23) in #t43.{self::Class::getter5}{([core::int*, core::int*]) →* core::int*}(#t44, #t45){([core::int*, core::int*]) →* core::int*});
+ self::expect(12, let final self::Class* #t46 = c in let final core::int* #t47 = self::read(12) in #t46.{self::Class::getter6}{(core::int*, {b: core::int*}) →* core::int*}(#t47){(core::int*, {b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t48 = c in let final core::int* #t49 = self::read(12) in let final core::int* #t50 = self::read(23) in #t48.{self::Class::getter6}{(core::int*, {b: core::int*}) →* core::int*}(#t49, b: #t50){(core::int*, {b: core::int*}) →* core::int*});
+ self::expect(0, c.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(12, let final self::Class* #t51 = c in let final core::int* #t52 = self::read(12) in #t51.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(a: #t52){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(23.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t53 = c in let final core::int* #t54 = self::read(23) in #t53.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(b: #t54){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t55 = c in let final core::int* #t56 = self::read(12) in let final core::int* #t57 = self::read(23) in #t55.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(a: #t56, b: #t57){({a: core::int*, b: core::int*}) →* core::int*});
+ self::expect(11.{core::int::unary-}(){() →* core::int*}, let final self::Class* #t58 = c in let final core::int* #t59 = self::read(23) in let final core::int* #t60 = self::read(12) in #t58.{self::Class::getter7}{({a: core::int*, b: core::int*}) →* core::int*}(b: #t59, a: #t60){({a: core::int*, b: core::int*}) →* core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
self::enableRead = true;
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, ${actual}";
}
@@ -187,21 +187,21 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:7:45 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:130:10 -> IntConstant(-42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:131:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:133:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:136:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:138:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:141:10 -> IntConstant(-23)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:142:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:143:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:149:10 -> IntConstant(-42)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:150:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:152:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:155:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:157:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:160:10 -> IntConstant(-23)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:161:10 -> IntConstant(-11)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///getter_call.dart:162:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:7:45 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:130:10 -> IntConstant(-42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:131:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:133:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:136:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:138:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:141:10 -> IntConstant(-23)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:142:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:143:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:149:10 -> IntConstant(-42)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:150:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:152:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:155:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:157:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:160:10 -> IntConstant(-23)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:161:10 -> IntConstant(-11)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///getter_call.dart:162:10 -> IntConstant(-11)
Extra constant evaluation: evaluated: 354, effectively constant: 17
diff --git a/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.expect b/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.expect
index bb43faf..9873ac0 100644
--- a/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.expect
+++ b/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.expect
@@ -21,7 +21,7 @@
static method main() → dynamic {
self::Class* a;
self::Class* b = new self::Class::•();
- let final self::Class* #t1 = let final self::Class* #t2 = a in #t2.{self::Class::==}(null) ?{self::Class*} b : #t2 in block {
- #t1.{self::Class::method}();
+ let final self::Class* #t1 = let final self::Class* #t2 = a in #t2 == null ?{self::Class*} b : #t2 in block {
+ #t1.{self::Class::method}(){() →* dynamic};
} =>#t1;
}
diff --git a/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.transformed.expect b/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.transformed.expect
index bb43faf..9873ac0 100644
--- a/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.transformed.expect
@@ -21,7 +21,7 @@
static method main() → dynamic {
self::Class* a;
self::Class* b = new self::Class::•();
- let final self::Class* #t1 = let final self::Class* #t2 = a in #t2.{self::Class::==}(null) ?{self::Class*} b : #t2 in block {
- #t1.{self::Class::method}();
+ let final self::Class* #t1 = let final self::Class* #t2 = a in #t2 == null ?{self::Class*} b : #t2 in block {
+ #t1.{self::Class::method}(){() →* dynamic};
} =>#t1;
}
diff --git a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.expect b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.expect
index 0cc41e9..e781dcd 100644
--- a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.expect
+++ b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.expect
@@ -5,5 +5,5 @@
static method main() → dynamic {
core::Object* a;
core::Object* b;
- return <core::Object*>[let final core::Object* #t1 = a in #t1.{core::Object::==}(null) ?{core::Object*} b : #t1];
+ return <core::Object*>[let final core::Object* #t1 = a in #t1 == null ?{core::Object*} b : #t1];
}
diff --git a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.transformed.expect b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.transformed.expect
index 188b5b3..607d0f5 100644
--- a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.transformed.expect
@@ -5,5 +5,5 @@
static method main() → dynamic {
core::Object* a;
core::Object* b;
- return core::_GrowableList::_literal1<core::Object*>(let final core::Object* #t1 = a in #t1.{core::Object::==}(null) ?{core::Object*} b : #t1);
+ return core::_GrowableList::_literal1<core::Object*>(let final core::Object* #t1 = a in #t1 == null ?{core::Object*} b : #t1);
}
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.expect
index bbc6109..b700240 100644
--- a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.expect
+++ b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.expect
@@ -8,6 +8,6 @@
core::Object* b;
return block {
final core::Set<core::Object*>* #t1 = col::LinkedHashSet::•<core::Object*>();
- #t1.{core::Set::add}{Invariant}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
+ #t1.{core::Set::add}(let final core::Object* #t2 = a in #t2 == null ?{core::Object*} b : #t2){(core::Object*) →* core::bool*};
} =>#t1;
}
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.transformed.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.transformed.expect
index 637e41b..1cdc7aa 100644
--- a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.transformed.expect
@@ -8,6 +8,6 @@
core::Object* b;
return block {
final core::Set<core::Object*>* #t1 = new col::_CompactLinkedHashSet::•<core::Object*>();
- #t1.{core::Set::add}{Invariant}(let final core::Object* #t2 = a in #t2.{core::Object::==}(null) ?{core::Object*} b : #t2);
+ #t1.{core::Set::add}(let final core::Object* #t2 = a in #t2 == null ?{core::Object*} b : #t2){(core::Object*) →* core::bool*};
} =>#t1;
}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.expect
index cedeb06..96419b3 100644
--- a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.expect
+++ b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.expect
@@ -15,6 +15,6 @@
static method main() → dynamic {
<T extends core::Object* = dynamic>(T*) →* Null x = let final <T extends core::Object* = dynamic>(T*) →* Null f = <T extends core::Object* = dynamic>(T* t) → Null {} in f;
- core::print(x.{core::Object::runtimeType});
+ core::print(x.{core::Object::runtimeType}{core::Type*});
core::print(let final <T extends core::Object* = dynamic>(T*) →* Null g = <T extends core::Object* = dynamic>(T* t) → Null {} in g);
}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.transformed.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.transformed.expect
index cedeb06..96419b3 100644
--- a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.transformed.expect
@@ -15,6 +15,6 @@
static method main() → dynamic {
<T extends core::Object* = dynamic>(T*) →* Null x = let final <T extends core::Object* = dynamic>(T*) →* Null f = <T extends core::Object* = dynamic>(T* t) → Null {} in f;
- core::print(x.{core::Object::runtimeType});
+ core::print(x.{core::Object::runtimeType}{core::Type*});
core::print(let final <T extends core::Object* = dynamic>(T*) →* Null g = <T extends core::Object* = dynamic>(T* t) → Null {} in g);
}
diff --git a/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.expect b/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.expect
index ceafb22f..febd66a 100644
--- a/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.expect
+++ b/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M1 extends core::Object {
- field core::num* v2 = 1.{core::int::unary-}();
+ field core::num* v2 = 1.{core::int::unary-}(){() →* core::int*};
synthetic constructor •() → self::M1*
: super core::Object::•()
;
@@ -46,10 +46,10 @@
}
static method main() → dynamic {
self::C* c = new self::C::•(true, 2);
- self::expect(true, c.{self::A::v1});
- self::expect(1.{core::int::unary-}(), c.{self::C::v2});
+ self::expect(true, c.{self::A::v1}{core::bool*});
+ self::expect(1.{core::int::unary-}(){() →* core::int*}, c.{self::C::v2}{core::num*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.transformed.expect b/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.transformed.expect
index 362f144..2bee5f5 100644
--- a/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M1 extends core::Object {
- field core::num* v2 = 1.{core::int::unary-}();
+ field core::num* v2 = 1.{core::int::unary-}(){() →* core::int*};
synthetic constructor •() → self::M1*
: super core::Object::•()
;
@@ -36,24 +36,24 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends self::A implements self::M1 /*isEliminatedMixin*/ {
- field core::num* v2 = 1.{core::int::unary-}();
+ field core::num* v2 = 1.{core::int::unary-}(){() →* core::int*};
synthetic constructor •(core::bool* v1, core::num* v2) → self::C*
: super self::A::•(v1, v2)
;
}
static method main() → dynamic {
self::C* c = new self::C::•(true, 2);
- self::expect(true, c.{self::A::v1});
- self::expect(1.{core::int::unary-}(), c.{self::C::v2});
+ self::expect(true, c.{self::A::v1}{core::bool*});
+ self::expect(1.{core::int::unary-}(){() →* core::int*}, c.{self::C::v2}{core::num*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///implicit_constructor_02.dart:14:12 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///implicit_constructor_02.dart:14:12 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///implicit_constructor_02.dart:22:10 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///implicit_constructor_02.dart:14:12 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///implicit_constructor_02.dart:14:12 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///implicit_constructor_02.dart:22:10 -> IntConstant(-1)
Extra constant evaluation: evaluated: 22, effectively constant: 3
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.weak.expect b/pkg/front_end/testcases/general/implicit_new.dart.weak.expect
index ee6950c..aa138c7 100644
--- a/pkg/front_end/testcases/general/implicit_new.dart.weak.expect
+++ b/pkg/front_end/testcases/general/implicit_new.dart.weak.expect
@@ -91,16 +91,16 @@
core::Map<core::String*, core::Object*>* m = <core::String*, core::Object*>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
m = <core::String*, core::Object*>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
self::IndexTester* i = new self::IndexTester::•();
- i.{self::IndexTester::[]}(new self::Foo::•());
- i.{self::IndexTester::[]}(new self::Foo::•());
- i.{self::IndexTester::[]}(new self::Bar::named());
- i.{self::IndexTester::[]}(new self::Bar::named());
- i.{self::IndexTester::[]=}(new self::Foo::•(), null);
- i.{self::IndexTester::[]=}(new self::Foo::•(), null);
- i.{self::IndexTester::[]=}(new self::Bar::named(), null);
- i.{self::IndexTester::[]=}(new self::Bar::named(), null);
- new self::Foo::•().{self::Foo::+}(new self::Bar::named());
- new self::Foo::•().{self::Foo::+}(new self::Bar::named());
- new self::Bar::named().{self::Bar::+}(new self::Foo::•());
- new self::Bar::named().{self::Bar::+}(new self::Foo::•());
+ i.{self::IndexTester::[]}(new self::Foo::•()){(dynamic) →* dynamic};
+ i.{self::IndexTester::[]}(new self::Foo::•()){(dynamic) →* dynamic};
+ i.{self::IndexTester::[]}(new self::Bar::named()){(dynamic) →* dynamic};
+ i.{self::IndexTester::[]}(new self::Bar::named()){(dynamic) →* dynamic};
+ i.{self::IndexTester::[]=}(new self::Foo::•(), null){(dynamic, dynamic) →* void};
+ i.{self::IndexTester::[]=}(new self::Foo::•(), null){(dynamic, dynamic) →* void};
+ i.{self::IndexTester::[]=}(new self::Bar::named(), null){(dynamic, dynamic) →* void};
+ i.{self::IndexTester::[]=}(new self::Bar::named(), null){(dynamic, dynamic) →* void};
+ new self::Foo::•().{self::Foo::+}(new self::Bar::named()){(dynamic) →* dynamic};
+ new self::Foo::•().{self::Foo::+}(new self::Bar::named()){(dynamic) →* dynamic};
+ new self::Bar::named().{self::Bar::+}(new self::Foo::•()){(dynamic) →* dynamic};
+ new self::Bar::named().{self::Bar::+}(new self::Foo::•()){(dynamic) →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.weak.transformed.expect b/pkg/front_end/testcases/general/implicit_new.dart.weak.transformed.expect
index e510a2f..8007f6e 100644
--- a/pkg/front_end/testcases/general/implicit_new.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/implicit_new.dart.weak.transformed.expect
@@ -91,16 +91,16 @@
core::Map<core::String*, core::Object*>* m = <core::String*, core::Object*>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
m = <core::String*, core::Object*>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
self::IndexTester* i = new self::IndexTester::•();
- i.{self::IndexTester::[]}(new self::Foo::•());
- i.{self::IndexTester::[]}(new self::Foo::•());
- i.{self::IndexTester::[]}(new self::Bar::named());
- i.{self::IndexTester::[]}(new self::Bar::named());
- i.{self::IndexTester::[]=}(new self::Foo::•(), null);
- i.{self::IndexTester::[]=}(new self::Foo::•(), null);
- i.{self::IndexTester::[]=}(new self::Bar::named(), null);
- i.{self::IndexTester::[]=}(new self::Bar::named(), null);
- new self::Foo::•().{self::Foo::+}(new self::Bar::named());
- new self::Foo::•().{self::Foo::+}(new self::Bar::named());
- new self::Bar::named().{self::Bar::+}(new self::Foo::•());
- new self::Bar::named().{self::Bar::+}(new self::Foo::•());
+ i.{self::IndexTester::[]}(new self::Foo::•()){(dynamic) →* dynamic};
+ i.{self::IndexTester::[]}(new self::Foo::•()){(dynamic) →* dynamic};
+ i.{self::IndexTester::[]}(new self::Bar::named()){(dynamic) →* dynamic};
+ i.{self::IndexTester::[]}(new self::Bar::named()){(dynamic) →* dynamic};
+ i.{self::IndexTester::[]=}(new self::Foo::•(), null){(dynamic, dynamic) →* void};
+ i.{self::IndexTester::[]=}(new self::Foo::•(), null){(dynamic, dynamic) →* void};
+ i.{self::IndexTester::[]=}(new self::Bar::named(), null){(dynamic, dynamic) →* void};
+ i.{self::IndexTester::[]=}(new self::Bar::named(), null){(dynamic, dynamic) →* void};
+ new self::Foo::•().{self::Foo::+}(new self::Bar::named()){(dynamic) →* dynamic};
+ new self::Foo::•().{self::Foo::+}(new self::Bar::named()){(dynamic) →* dynamic};
+ new self::Bar::named().{self::Bar::+}(new self::Foo::•()){(dynamic) →* dynamic};
+ new self::Bar::named().{self::Bar::+}(new self::Foo::•()){(dynamic) →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.expect
index f041292..ef54b52 100644
--- a/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.expect
+++ b/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.expect
@@ -10,7 +10,7 @@
: super core::Object::•()
;
static method alwaysTrue() → core::bool* {
- return 1.{core::num::+}(1).{core::num::==}(2);
+ return 1.{core::num::+}(1){(core::num*) →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2;
}
static method testMain() → dynamic {
core::String* a = "foo";
@@ -29,7 +29,7 @@
}
exp::Expect::equals("foo", a);
exp::Expect::equals(null, b);
- for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::String* a = "bar";
core::String* b = "baz";
}
@@ -39,7 +39,7 @@
core::String* a = "bar";
core::String* b = "baz";
}
- while ("black".{core::String::==}("white"))
+ while ("black" =={core::String::==}{(core::Object*) →* core::bool*} "white")
exp::Expect::equals("foo", a);
exp::Expect::equals(null, b);
}
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.transformed.expect
index 19d91ae..444893e 100644
--- a/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•()
;
static method alwaysTrue() → core::bool* {
- return 1.{core::num::+}(1).{core::num::==}(2);
+ return 1.{core::num::+}(1){(core::num*) →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2;
}
static method testMain() → dynamic {
core::String* a = "foo";
@@ -29,7 +29,7 @@
}
exp::Expect::equals("foo", a);
exp::Expect::equals(null, b);
- for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
core::String* a = "bar";
core::String* b = "baz";
}
@@ -39,7 +39,7 @@
core::String* a = "bar";
core::String* b = "baz";
}
- while ("black".{core::String::==}("white"))
+ while ("black" =={core::String::==}{(core::Object*) →* core::bool*} "white")
exp::Expect::equals("foo", a);
exp::Expect::equals(null, b);
}
@@ -60,6 +60,6 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///implicit_scope_test.dart:11:18 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///implicit_scope_test.dart:32:49 -> BoolConstant(false)
+Evaluated: EqualsCall @ org-dartlang-testcase:///implicit_scope_test.dart:11:18 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///implicit_scope_test.dart:32:49 -> BoolConstant(false)
Extra constant evaluation: evaluated: 28, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.weak.expect b/pkg/front_end/testcases/general/implicit_this.dart.weak.expect
index 4eec5c6..23d7a44 100644
--- a/pkg/front_end/testcases/general/implicit_this.dart.weak.expect
+++ b/pkg/front_end/testcases/general/implicit_this.dart.weak.expect
@@ -10,7 +10,7 @@
core::print("Called m");
}
method testC() → dynamic {
- this.{self::C::m}();
+ this.{self::C::m}(){() →* 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
@@ -28,10 +28,10 @@
: super self::C::•()
;
method testD() → dynamic {
- this.{self::C::m}();
+ this.{self::C::m}(){() →* dynamic};
}
}
static method main() → dynamic {
- new self::C::•().{self::C::testC}();
- new self::D::•().{self::D::testD}();
+ new self::C::•().{self::C::testC}(){() →* dynamic};
+ new self::D::•().{self::D::testD}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.weak.transformed.expect b/pkg/front_end/testcases/general/implicit_this.dart.weak.transformed.expect
index 4eec5c6..23d7a44 100644
--- a/pkg/front_end/testcases/general/implicit_this.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/implicit_this.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
core::print("Called m");
}
method testC() → dynamic {
- this.{self::C::m}();
+ this.{self::C::m}(){() →* 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
@@ -28,10 +28,10 @@
: super self::C::•()
;
method testD() → dynamic {
- this.{self::C::m}();
+ this.{self::C::m}(){() →* dynamic};
}
}
static method main() → dynamic {
- new self::C::•().{self::C::testC}();
- new self::D::•().{self::D::testD}();
+ new self::C::•().{self::C::testC}(){() →* dynamic};
+ new self::D::•().{self::D::testD}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/infer_equals.dart.weak.expect b/pkg/front_end/testcases/general/infer_equals.dart.weak.expect
index f1fea95..4b8aa53e 100644
--- a/pkg/front_end/testcases/general/infer_equals.dart.weak.expect
+++ b/pkg/front_end/testcases/general/infer_equals.dart.weak.expect
@@ -10,7 +10,7 @@
operator ==(dynamic o) → core::bool* {
if(!(o is self::Class*))
return false;
- return this.{self::Class::field}.{core::Object::==}(o.field);
+ return this.{self::Class::field}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} o{dynamic}.field;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/general/infer_equals.dart.weak.transformed.expect b/pkg/front_end/testcases/general/infer_equals.dart.weak.transformed.expect
index f1fea95..4b8aa53e 100644
--- a/pkg/front_end/testcases/general/infer_equals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/infer_equals.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
operator ==(dynamic o) → core::bool* {
if(!(o is self::Class*))
return false;
- return this.{self::Class::field}.{core::Object::==}(o.field);
+ return this.{self::Class::field}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} o{dynamic}.field;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/general/infer_field_type.dart.weak.expect b/pkg/front_end/testcases/general/infer_field_type.dart.weak.expect
index 5e46a8e..aa6a7e49 100644
--- a/pkg/front_end/testcases/general/infer_field_type.dart.weak.expect
+++ b/pkg/front_end/testcases/general/infer_field_type.dart.weak.expect
@@ -32,7 +32,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::int* topLevelFieldFromA = new self::A::•().{self::A::field};
-static field core::int* topLevelFieldFromB = new self::B::•().{self::B::field};
-static field core::int* topLevelFieldFromC = new self::C::•().{self::C::field};
+static field core::int* topLevelFieldFromA = new self::A::•().{self::A::field}{core::int*};
+static field core::int* topLevelFieldFromB = new self::B::•().{self::B::field}{core::int*};
+static field core::int* topLevelFieldFromC = new self::C::•().{self::C::field}{core::int*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/infer_field_type.dart.weak.transformed.expect b/pkg/front_end/testcases/general/infer_field_type.dart.weak.transformed.expect
index 5e46a8e..aa6a7e49 100644
--- a/pkg/front_end/testcases/general/infer_field_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/infer_field_type.dart.weak.transformed.expect
@@ -32,7 +32,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::int* topLevelFieldFromA = new self::A::•().{self::A::field};
-static field core::int* topLevelFieldFromB = new self::B::•().{self::B::field};
-static field core::int* topLevelFieldFromC = new self::C::•().{self::C::field};
+static field core::int* topLevelFieldFromA = new self::A::•().{self::A::field}{core::int*};
+static field core::int* topLevelFieldFromB = new self::B::•().{self::B::field}{core::int*};
+static field core::int* topLevelFieldFromC = new self::C::•().{self::C::field}{core::int*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.expect b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.expect
index cb4d5f5..4e6b1e4 100644
--- a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.expect
+++ b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.expect
@@ -4,7 +4,7 @@
class Class extends core::Object {
field core::Map<core::String*, (core::String*) →* Null>* map = <core::String*, (core::String*) →* Null>{"foo": (core::String* a) → Null {
- core::int* c = a.{core::String::length};
+ core::int* c = a.{core::String::length}{core::int*};
}};
synthetic constructor •() → self::Class*
: super core::Object::•()
diff --git a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.transformed.expect b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.transformed.expect
index cb4d5f5..4e6b1e4 100644
--- a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
class Class extends core::Object {
field core::Map<core::String*, (core::String*) →* Null>* map = <core::String*, (core::String*) →* Null>{"foo": (core::String* a) → Null {
- core::int* c = a.{core::String::length};
+ core::int* c = a.{core::String::length}{core::int*};
}};
synthetic constructor •() → self::Class*
: super core::Object::•()
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.weak.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.weak.expect
index 8e3787e..c8d06c3 100644
--- a/pkg/front_end/testcases/general/invalid_assignment.dart.weak.expect
+++ b/pkg/front_end/testcases/general/invalid_assignment.dart.weak.expect
@@ -40,14 +40,14 @@
i = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:11:7: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
i = s;
^" in s as{TypeError} core::int*;
- i.{core::num::==}(null) ?{core::int*} i = 1 : null;
- i.{core::num::==}(null) ?{core::Object*} i = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:13:9: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ i == null ?{core::int*} i = 1 : null;
+ i == null ?{core::Object*} i = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:13:9: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
i ??= s;
^" in s as{TypeError} core::int* : null;
a = new self::A::•();
a = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:5: Error: A value of type 'String' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/general/invalid_assignment.dart'.
a += 1;
- ^" in a.{self::A::+}(1) as{TypeError} self::A*;
+ ^" in a.{self::A::+}(1){(core::int*) →* core::String*} as{TypeError} self::A*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.weak.transformed.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.weak.transformed.expect
index 8e3787e..c8d06c3 100644
--- a/pkg/front_end/testcases/general/invalid_assignment.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/invalid_assignment.dart.weak.transformed.expect
@@ -40,14 +40,14 @@
i = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:11:7: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
i = s;
^" in s as{TypeError} core::int*;
- i.{core::num::==}(null) ?{core::int*} i = 1 : null;
- i.{core::num::==}(null) ?{core::Object*} i = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:13:9: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+ i == null ?{core::int*} i = 1 : null;
+ i == null ?{core::Object*} i = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:13:9: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
i ??= s;
^" in s as{TypeError} core::int* : null;
a = new self::A::•();
a = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:5: Error: A value of type 'String' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/general/invalid_assignment.dart'.
a += 1;
- ^" in a.{self::A::+}(1) as{TypeError} self::A*;
+ ^" in a.{self::A::+}(1){(core::int*) →* core::String*} as{TypeError} self::A*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.weak.expect b/pkg/front_end/testcases/general/invalid_type.dart.weak.expect
index eee2023..0dce077 100644
--- a/pkg/front_end/testcases/general/invalid_type.dart.weak.expect
+++ b/pkg/front_end/testcases/general/invalid_type.dart.weak.expect
@@ -25,7 +25,7 @@
static method foo() → dynamic {
invalid-expression "pkg/front_end/testcases/general/invalid_type.dart:7:5: Error: Expected identifier, but got 'this'.
this.bar();
- ^^^^".bar();
+ ^^^^"{dynamic}.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
@@ -39,7 +39,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → dynamic {
- (null as invalid-type).bar();
+ (null as invalid-type){dynamic}.bar();
invalid-expression "pkg/front_end/testcases/general/invalid_type.dart:13:8: Error: The method 'bar' isn't defined for the class 'Null'.
Try correcting the name to the name of an existing method, or defining a method named 'bar'.
null.bar();
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.weak.transformed.expect b/pkg/front_end/testcases/general/invalid_type.dart.weak.transformed.expect
index 26b45d2..dae40b0 100644
--- a/pkg/front_end/testcases/general/invalid_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/invalid_type.dart.weak.transformed.expect
@@ -25,7 +25,7 @@
static method foo() → dynamic {
invalid-expression "pkg/front_end/testcases/general/invalid_type.dart:7:5: Error: Expected identifier, but got 'this'.
this.bar();
- ^^^^".bar();
+ ^^^^"{dynamic}.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
@@ -39,7 +39,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → dynamic {
- (null as invalid-type).bar();
+ (null as invalid-type){dynamic}.bar();
invalid-expression "pkg/front_end/testcases/general/invalid_type.dart:13:8: Error: The method 'bar' isn't defined for the class 'Null'.
Try correcting the name to the name of an existing method, or defining a method named 'bar'.
null.bar();
diff --git a/pkg/front_end/testcases/general/invocations.dart.weak.expect b/pkg/front_end/testcases/general/invocations.dart.weak.expect
index 9a47377..f041994 100644
--- a/pkg/front_end/testcases/general/invocations.dart.weak.expect
+++ b/pkg/front_end/testcases/general/invocations.dart.weak.expect
@@ -48,22 +48,22 @@
^";
invalid-expression "pkg/front_end/testcases/general/invocations.dart:8:3: Error: Getter not found: 'z'.
z.print(\"Hello, World!\");
- ^".print("Hello, World!");
+ ^"{dynamic}.print("Hello, World!");
invalid-expression "pkg/front_end/testcases/general/invocations.dart:9:3: Error: Getter not found: 'y'.
y.z.print(\"Hello, World!\");
- ^".z.print("Hello, World!");
+ ^"{dynamic}.z{dynamic}.print("Hello, World!");
invalid-expression "pkg/front_end/testcases/general/invocations.dart:10:3: Error: Getter not found: 'x'.
x.y.z.print(\"Hello, World!\");
- ^".y.z.print("Hello, World!");
+ ^"{dynamic}.y{dynamic}.z{dynamic}.print("Hello, World!");
1.{core::num::+}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/invocations.dart:13:7: Error: This expression has type 'void' and can't be used.
print(\"Hello, World!\") +
- ^" in core::print("Hello, World!")).{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:14:7: Error: Method not found: 'z'.
+ ^" in core::print("Hello, World!")){(core::num*) →* core::num*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:14:7: Error: Method not found: 'z'.
z(\"Hello, World!\") +
- ^" as{TypeError,ForDynamic} core::num*).{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:15:7: Error: Getter not found: 'z'.
+ ^" as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:15:7: Error: Getter not found: 'z'.
z.print(\"Hello, World!\") +
- ^".print("Hello, World!") as{TypeError,ForDynamic} core::num*).{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:16:7: Error: Getter not found: 'y'.
+ ^"{dynamic}.print("Hello, World!") as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:16:7: Error: Getter not found: 'y'.
y.z.print(\"Hello, World!\") +
- ^".z.print("Hello, World!") as{TypeError,ForDynamic} core::num*).{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:17:7: Error: Getter not found: 'x'.
+ ^"{dynamic}.z{dynamic}.print("Hello, World!") as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:17:7: Error: Getter not found: 'x'.
x.y.z.print(\"Hello, World!\");
- ^".y.z.print("Hello, World!") as{TypeError,ForDynamic} core::num*);
+ ^"{dynamic}.y{dynamic}.z{dynamic}.print("Hello, World!") as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
}
diff --git a/pkg/front_end/testcases/general/invocations.dart.weak.transformed.expect b/pkg/front_end/testcases/general/invocations.dart.weak.transformed.expect
index de95b41..0ba8884 100644
--- a/pkg/front_end/testcases/general/invocations.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/invocations.dart.weak.transformed.expect
@@ -48,22 +48,22 @@
^";
invalid-expression "pkg/front_end/testcases/general/invocations.dart:8:3: Error: Getter not found: 'z'.
z.print(\"Hello, World!\");
- ^".print("Hello, World!");
+ ^"{dynamic}.print("Hello, World!");
invalid-expression "pkg/front_end/testcases/general/invocations.dart:9:3: Error: Getter not found: 'y'.
y.z.print(\"Hello, World!\");
- ^".z.print("Hello, World!");
+ ^"{dynamic}.z{dynamic}.print("Hello, World!");
invalid-expression "pkg/front_end/testcases/general/invocations.dart:10:3: Error: Getter not found: 'x'.
x.y.z.print(\"Hello, World!\");
- ^".y.z.print("Hello, World!");
+ ^"{dynamic}.y{dynamic}.z{dynamic}.print("Hello, World!");
1.{core::num::+}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/invocations.dart:13:7: Error: This expression has type 'void' and can't be used.
print(\"Hello, World!\") +
- ^" in core::print("Hello, World!")).{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:14:7: Error: Method not found: 'z'.
+ ^" in core::print("Hello, World!")){(core::num*) →* core::num*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:14:7: Error: Method not found: 'z'.
z(\"Hello, World!\") +
- ^").{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:15:7: Error: Getter not found: 'z'.
+ ^"){(core::num*) →* core::num*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:15:7: Error: Getter not found: 'z'.
z.print(\"Hello, World!\") +
- ^".print("Hello, World!") as{TypeError,ForDynamic} core::num*).{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:16:7: Error: Getter not found: 'y'.
+ ^"{dynamic}.print("Hello, World!") as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:16:7: Error: Getter not found: 'y'.
y.z.print(\"Hello, World!\") +
- ^".z.print("Hello, World!") as{TypeError,ForDynamic} core::num*).{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:17:7: Error: Getter not found: 'x'.
+ ^"{dynamic}.z{dynamic}.print("Hello, World!") as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/invocations.dart:17:7: Error: Getter not found: 'x'.
x.y.z.print(\"Hello, World!\");
- ^".y.z.print("Hello, World!") as{TypeError,ForDynamic} core::num*);
+ ^"{dynamic}.y{dynamic}.z{dynamic}.print("Hello, World!") as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
}
diff --git a/pkg/front_end/testcases/general/issue31767.dart.weak.expect b/pkg/front_end/testcases/general/issue31767.dart.weak.expect
index 8e1ff2d..02fa3bd 100644
--- a/pkg/front_end/testcases/general/issue31767.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue31767.dart.weak.expect
@@ -8,7 +8,7 @@
class C extends core::Object {
final field core::int* w;
constructor foo(core::int* x, [core::int* y = #C1, core::int* z = #C1]) → self::C*
- : self::C::w = self::p("x", x).{core::num::+}(self::p("y", y)).{core::num::+}(self::p("z", z)), super core::Object::•()
+ : self::C::w = self::p("x", x).{core::num::+}(self::p("y", y)){(core::num*) →* core::int*}.{core::num::+}(self::p("z", z)){(core::num*) →* core::int*}, 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
@@ -23,7 +23,7 @@
}
abstract class M extends self::C /*isMixinDeclaration*/ {
get w2() → core::int*
- return this.{self::C::w}.{core::num::*}(this.{self::C::w});
+ return this.{self::C::w}{core::int*}.{core::num::*}(this.{self::C::w}{core::int*}){(core::num*) →* core::int*};
}
class D = self::C with self::M {
synthetic constructor foo(core::int* x, [core::int* y = #C1, core::int* z = #C1]) → self::D*
@@ -34,7 +34,7 @@
}
abstract class N extends iss::A /*isMixinDeclaration*/ {
get w2() → core::int*
- return this.{iss::A::w}.{core::num::*}(this.{iss::A::w});
+ return this.{iss::A::w}{core::int*}.{core::num::*}(this.{iss::A::w}{core::int*}){(core::num*) →* core::int*};
}
class E = iss::A with self::N {
synthetic constructor foo(core::int* x, [core::int* y = #C2, core::int* z = #C2, iss::_A* a = #C4]) → self::E*
@@ -45,33 +45,33 @@
}
static field core::StringBuffer* sb;
static method p(core::String* name, core::int* value) → core::int* {
- self::sb.{core::StringBuffer::write}("${name} = ${value}, ");
+ self::sb.{core::StringBuffer::write}("${name} = ${value}, "){(core::Object*) →* void};
return value;
}
static method main() → dynamic {
self::sb = new core::StringBuffer::•();
iss::A* a = new iss::A::foo(1, 2);
- self::expect("x = 1, y = 2, z = 3, ", self::sb.{core::StringBuffer::toString}());
- self::expect(6, a.{iss::A::w});
- self::expect(5, a.{iss::A::a}.{iss::_A::field});
+ self::expect("x = 1, y = 2, z = 3, ", self::sb.{core::StringBuffer::toString}(){() →* core::String*});
+ self::expect(6, a.{iss::A::w}{core::int*});
+ self::expect(5, a.{iss::A::a}{iss::_A*}.{iss::_A::field}{core::int*});
self::sb = new core::StringBuffer::•();
self::C* c = new self::C::foo(1, 2);
- self::expect("x = 1, y = 2, z = 0, ", self::sb.{core::StringBuffer::toString}());
- self::expect(3, c.{self::C::w});
+ self::expect("x = 1, y = 2, z = 0, ", self::sb.{core::StringBuffer::toString}(){() →* core::String*});
+ self::expect(3, c.{self::C::w}{core::int*});
self::sb = new core::StringBuffer::•();
self::D* d = new self::D::foo(1, 2);
- self::expect("x = 1, y = 2, z = 0, ", self::sb.{core::StringBuffer::toString}());
- self::expect(3, d.{self::C::w});
- self::expect(9, d.{self::D::w2});
+ self::expect("x = 1, y = 2, z = 0, ", self::sb.{core::StringBuffer::toString}(){() →* core::String*});
+ self::expect(3, d.{self::C::w}{core::int*});
+ self::expect(9, d.{self::D::w2}{core::int*});
self::sb = new core::StringBuffer::•();
self::E* e = new self::E::foo(1, 2);
- self::expect("x = 1, y = 2, z = 3, ", self::sb.{core::StringBuffer::toString}());
- self::expect(6, e.{iss::A::w});
- self::expect(36, e.{self::E::w2});
- self::expect(5, e.{iss::A::a}.{iss::_A::field});
+ self::expect("x = 1, y = 2, z = 3, ", self::sb.{core::StringBuffer::toString}(){() →* core::String*});
+ self::expect(6, e.{iss::A::w}{core::int*});
+ self::expect(36, e.{self::E::w2}{core::int*});
+ self::expect(5, e.{iss::A::a}{iss::_A*}.{iss::_A::field}{core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
@@ -86,7 +86,7 @@
final field core::int* w;
final field iss::_A* a;
constructor foo(core::int* x, [core::int* y = #C2, core::int* z = #C2, iss::_A* a = #C4]) → iss::A*
- : iss::A::a = a, iss::A::w = self::p("x", x).{core::num::+}(self::p("y", y)).{core::num::+}(self::p("z", z)), super core::Object::•()
+ : iss::A::a = a, iss::A::w = self::p("x", x).{core::num::+}(self::p("y", y)){(core::num*) →* core::int*}.{core::num::+}(self::p("z", z)){(core::num*) →* core::int*}, 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
diff --git a/pkg/front_end/testcases/general/issue31767.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue31767.dart.weak.transformed.expect
index 1692006..e2ec61f 100644
--- a/pkg/front_end/testcases/general/issue31767.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue31767.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
class C extends core::Object {
final field core::int* w;
constructor foo(core::int* x, [core::int* y = #C1, core::int* z = #C1]) → self::C*
- : self::C::w = self::p("x", x).{core::num::+}(self::p("y", y)).{core::num::+}(self::p("z", z)), super core::Object::•()
+ : self::C::w = self::p("x", x).{core::num::+}(self::p("y", y)){(core::num*) →* core::int*}.{core::num::+}(self::p("z", z)){(core::num*) →* core::int*}, 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
@@ -23,55 +23,55 @@
}
abstract class M extends self::C /*isMixinDeclaration*/ {
get w2() → core::int*
- return this.{self::C::w}.{core::num::*}(this.{self::C::w});
+ return this.{self::C::w}{core::int*}.{core::num::*}(this.{self::C::w}{core::int*}){(core::num*) →* core::int*};
}
class D extends self::C implements self::M /*isEliminatedMixin*/ {
synthetic constructor foo(core::int* x, [core::int* y = #C1, core::int* z = #C1]) → self::D*
: super self::C::foo(x, y, z)
;
get w2() → core::int*
- return this.{self::C::w}.{core::num::*}(this.{self::C::w});
+ return this.{self::C::w}{core::int*}.{core::num::*}(this.{self::C::w}{core::int*}){(core::num*) →* core::int*};
}
abstract class N extends iss::A /*isMixinDeclaration*/ {
get w2() → core::int*
- return this.{iss::A::w}.{core::num::*}(this.{iss::A::w});
+ return this.{iss::A::w}{core::int*}.{core::num::*}(this.{iss::A::w}{core::int*}){(core::num*) →* core::int*};
}
class E extends iss::A implements self::N /*isEliminatedMixin*/ {
synthetic constructor foo(core::int* x, [core::int* y = #C2, core::int* z = #C2, iss::_A* a = #C4]) → self::E*
: super iss::A::foo(x, y, z, a)
;
get w2() → core::int*
- return this.{iss::A::w}.{core::num::*}(this.{iss::A::w});
+ return this.{iss::A::w}{core::int*}.{core::num::*}(this.{iss::A::w}{core::int*}){(core::num*) →* core::int*};
}
static field core::StringBuffer* sb;
static method p(core::String* name, core::int* value) → core::int* {
- self::sb.{core::StringBuffer::write}("${name} = ${value}, ");
+ self::sb.{core::StringBuffer::write}("${name} = ${value}, "){(core::Object*) →* void};
return value;
}
static method main() → dynamic {
self::sb = new core::StringBuffer::•();
iss::A* a = new iss::A::foo(1, 2);
- self::expect("x = 1, y = 2, z = 3, ", self::sb.{core::StringBuffer::toString}());
- self::expect(6, a.{iss::A::w});
- self::expect(5, a.{iss::A::a}.{iss::_A::field});
+ self::expect("x = 1, y = 2, z = 3, ", self::sb.{core::StringBuffer::toString}(){() →* core::String*});
+ self::expect(6, a.{iss::A::w}{core::int*});
+ self::expect(5, a.{iss::A::a}{iss::_A*}.{iss::_A::field}{core::int*});
self::sb = new core::StringBuffer::•();
self::C* c = new self::C::foo(1, 2);
- self::expect("x = 1, y = 2, z = 0, ", self::sb.{core::StringBuffer::toString}());
- self::expect(3, c.{self::C::w});
+ self::expect("x = 1, y = 2, z = 0, ", self::sb.{core::StringBuffer::toString}(){() →* core::String*});
+ self::expect(3, c.{self::C::w}{core::int*});
self::sb = new core::StringBuffer::•();
self::D* d = new self::D::foo(1, 2);
- self::expect("x = 1, y = 2, z = 0, ", self::sb.{core::StringBuffer::toString}());
- self::expect(3, d.{self::C::w});
- self::expect(9, d.{self::D::w2});
+ self::expect("x = 1, y = 2, z = 0, ", self::sb.{core::StringBuffer::toString}(){() →* core::String*});
+ self::expect(3, d.{self::C::w}{core::int*});
+ self::expect(9, d.{self::D::w2}{core::int*});
self::sb = new core::StringBuffer::•();
self::E* e = new self::E::foo(1, 2);
- self::expect("x = 1, y = 2, z = 3, ", self::sb.{core::StringBuffer::toString}());
- self::expect(6, e.{iss::A::w});
- self::expect(36, e.{self::E::w2});
- self::expect(5, e.{iss::A::a}.{iss::_A::field});
+ self::expect("x = 1, y = 2, z = 3, ", self::sb.{core::StringBuffer::toString}(){() →* core::String*});
+ self::expect(6, e.{iss::A::w}{core::int*});
+ self::expect(36, e.{self::E::w2}{core::int*});
+ self::expect(5, e.{iss::A::a}{iss::_A*}.{iss::_A::field}{core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
@@ -86,7 +86,7 @@
final field core::int* w;
final field iss::_A* a;
constructor foo(core::int* x, [core::int* y = #C2, core::int* z = #C2, iss::_A* a = #C4]) → iss::A*
- : iss::A::a = a, iss::A::w = self::p("x", x).{core::num::+}(self::p("y", y)).{core::num::+}(self::p("z", z)), super core::Object::•()
+ : iss::A::a = a, iss::A::w = self::p("x", x).{core::num::+}(self::p("y", y)){(core::num*) →* core::int*}.{core::num::+}(self::p("z", z)){(core::num*) →* core::int*}, 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
diff --git a/pkg/front_end/testcases/general/issue34899.dart.weak.expect b/pkg/front_end/testcases/general/issue34899.dart.weak.expect
index 089fed4..0d6c4cf 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.weak.expect
@@ -10,7 +10,7 @@
: self::Foo::quux = quux, self::Foo::t = t, super core::Object::•()
;
method call() → asy::Future<self::Foo::T*>*
- return this.{self::Foo::quux}.call().{asy::Future::then}<self::Foo::T*>((dynamic _) → self::Foo::T* => this.{self::Foo::t});
+ return this.{self::Foo::quux}{() →* asy::Future<dynamic>*}(){() →* asy::Future<dynamic>*}.{asy::Future::then}<self::Foo::T*>((dynamic _) → self::Foo::T* => this.{self::Foo::t}{self::Foo::T*}){((dynamic) →* FutureOr<self::Foo::T*>*, {onError: core::Function*}) →* asy::Future<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
@@ -28,7 +28,7 @@
: super core::Object::•()
;
method quuz() → asy::Future<void>*
- return this.{self::Bar::qux}.{self::Foo::call}().{asy::Future::then}<self::Grault*>((self::Baz* baz) → self::Grault* => this.{self::Bar::corge}(baz)).{asy::Future::then}<void>((self::Grault* grault) → void => this.{self::Bar::garply}(grault));
+ return this.{self::Bar::qux}{self::Foo<self::Baz*>*}.{self::Foo::call}(){() →* asy::Future<self::Baz*>*}.{asy::Future::then}<self::Grault*>((self::Baz* baz) → self::Grault* => this.{self::Bar::corge}(baz){(self::Baz*) →* self::Grault*}){((self::Baz*) →* FutureOr<self::Grault*>*, {onError: core::Function*}) →* asy::Future<self::Grault*>*}.{asy::Future::then}<void>((self::Grault* grault) → void => this.{self::Bar::garply}(grault){(self::Grault*) →* void}){((self::Grault*) →* FutureOr<void>*, {onError: core::Function*}) →* asy::Future<void>*};
method corge(self::Baz* baz) → self::Grault*
return null;
method garply(self::Grault* grault) → void {}
diff --git a/pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect
index 089fed4..0d6c4cf 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
: self::Foo::quux = quux, self::Foo::t = t, super core::Object::•()
;
method call() → asy::Future<self::Foo::T*>*
- return this.{self::Foo::quux}.call().{asy::Future::then}<self::Foo::T*>((dynamic _) → self::Foo::T* => this.{self::Foo::t});
+ return this.{self::Foo::quux}{() →* asy::Future<dynamic>*}(){() →* asy::Future<dynamic>*}.{asy::Future::then}<self::Foo::T*>((dynamic _) → self::Foo::T* => this.{self::Foo::t}{self::Foo::T*}){((dynamic) →* FutureOr<self::Foo::T*>*, {onError: core::Function*}) →* asy::Future<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
@@ -28,7 +28,7 @@
: super core::Object::•()
;
method quuz() → asy::Future<void>*
- return this.{self::Bar::qux}.{self::Foo::call}().{asy::Future::then}<self::Grault*>((self::Baz* baz) → self::Grault* => this.{self::Bar::corge}(baz)).{asy::Future::then}<void>((self::Grault* grault) → void => this.{self::Bar::garply}(grault));
+ return this.{self::Bar::qux}{self::Foo<self::Baz*>*}.{self::Foo::call}(){() →* asy::Future<self::Baz*>*}.{asy::Future::then}<self::Grault*>((self::Baz* baz) → self::Grault* => this.{self::Bar::corge}(baz){(self::Baz*) →* self::Grault*}){((self::Baz*) →* FutureOr<self::Grault*>*, {onError: core::Function*}) →* asy::Future<self::Grault*>*}.{asy::Future::then}<void>((self::Grault* grault) → void => this.{self::Bar::garply}(grault){(self::Grault*) →* void}){((self::Grault*) →* FutureOr<void>*, {onError: core::Function*}) →* asy::Future<void>*};
method corge(self::Baz* baz) → self::Grault*
return null;
method garply(self::Grault* grault) → void {}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.weak.expect b/pkg/front_end/testcases/general/issue37027.dart.weak.expect
index d4abbbf..531f7c1 100644
--- a/pkg/front_end/testcases/general/issue37027.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue37027.dart.weak.expect
@@ -9,8 +9,8 @@
: self::C::s = block {
final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
for (core::int e in ell)
- if(e.{core::int::isOdd})
- #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
+ if(e.{core::int::isOdd}{core::bool})
+ #t1.{core::Set::add}(2.{core::num::*}(e){(core::num) → core::int}){(core::int) → core::bool};
} =>#t1, super core::Object::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue37027.dart.weak.transformed.expect
index 8d726b5..29b2a47 100644
--- a/pkg/front_end/testcases/general/issue37027.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue37027.dart.weak.transformed.expect
@@ -12,8 +12,8 @@
core::Iterator<core::int> :sync-for-iterator = ell.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int e = :sync-for-iterator.{core::Iterator::current};
- if(e.{core::int::isOdd})
- #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
+ if(e.{core::int::isOdd}{core::bool})
+ #t1.{core::Set::add}(2.{core::num::*}(e){(core::num) → core::int}){(core::int) → core::bool};
}
}
} =>#t1, super core::Object::•()
diff --git a/pkg/front_end/testcases/general/issue37381.dart.weak.expect b/pkg/front_end/testcases/general/issue37381.dart.weak.expect
index dee4ed1..8ec0e22 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.weak.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method f<R extends core::Object* = dynamic>(<X extends core::Object* = dynamic>(self::A<X*>*) →* self::A::f::R* f) → self::A::f::R*
- return f.call<self::A::X*>(this);
+ return f<self::A::X*>(this){(self::A<self::A::X*>*) →* self::A::f::R*};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -21,5 +21,5 @@
}
static method main() → dynamic {
self::A<core::num*>* a = new self::A::•<core::int*>();
- a.{self::A::f}<core::int*>(<X extends core::Object* = dynamic>(self::A<X*>* _) → core::int* => 42);
+ a.{self::A::f}<core::int*>(<X extends core::Object* = dynamic>(self::A<X*>* _) → core::int* => 42){(<X extends core::Object* = dynamic>(self::A<X*>*) →* core::int*) →* core::int*};
}
diff --git a/pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect
index dee4ed1..8ec0e22 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method f<R extends core::Object* = dynamic>(<X extends core::Object* = dynamic>(self::A<X*>*) →* self::A::f::R* f) → self::A::f::R*
- return f.call<self::A::X*>(this);
+ return f<self::A::X*>(this){(self::A<self::A::X*>*) →* self::A::f::R*};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -21,5 +21,5 @@
}
static method main() → dynamic {
self::A<core::num*>* a = new self::A::•<core::int*>();
- a.{self::A::f}<core::int*>(<X extends core::Object* = dynamic>(self::A<X*>* _) → core::int* => 42);
+ a.{self::A::f}<core::int*>(<X extends core::Object* = dynamic>(self::A<X*>* _) → core::int* => 42){(<X extends core::Object* = dynamic>(self::A<X*>*) →* core::int*) →* core::int*};
}
diff --git a/pkg/front_end/testcases/general/issue39344.dart.weak.expect b/pkg/front_end/testcases/general/issue39344.dart.weak.expect
index 07a4d30..d3e641b 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.weak.expect
@@ -92,21 +92,21 @@
static field core::List<core::List<self::B*>*>* xss;
static method main() → void {
self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2a}(new self::B::•());
- core::print(self::xs.{core::Object::runtimeType});
+ new self::Class::•<self::A*>().{self::Class::method2a}(new self::B::•()){(self::A*) →* void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type*});
});
self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2b}(new self::B::•());
- core::print(self::xs.{core::Object::runtimeType});
+ new self::Class::•<self::A*>().{self::Class::method2b}(new self::B::•()){(self::A*) →* void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type*});
});
}
static method errors() → void {
- new self::Class::•<self::A*>().{self::Class::method1a}(new self::B::•());
- new self::Class::•<self::A*>().{self::Class::method1b}(new self::B::•());
+ new self::Class::•<self::A*>().{self::Class::method1a}(new self::B::•()){(self::A*) →* void};
+ new self::Class::•<self::A*>().{self::Class::method1b}(new self::B::•()){(self::A*) →* void};
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic e) {
core::print(e);
diff --git a/pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect
index 7fe41a0..c78819b8 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect
@@ -92,21 +92,21 @@
static field core::List<core::List<self::B*>*>* xss;
static method main() → void {
self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2a}(new self::B::•());
- core::print(self::xs.{core::Object::runtimeType});
+ new self::Class::•<self::A*>().{self::Class::method2a}(new self::B::•()){(self::A*) →* void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type*});
});
self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2b}(new self::B::•());
- core::print(self::xs.{core::Object::runtimeType});
+ new self::Class::•<self::A*>().{self::Class::method2b}(new self::B::•()){(self::A*) →* void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type*});
});
}
static method errors() → void {
- new self::Class::•<self::A*>().{self::Class::method1a}(new self::B::•());
- new self::Class::•<self::A*>().{self::Class::method1b}(new self::B::•());
+ new self::Class::•<self::A*>().{self::Class::method1a}(new self::B::•()){(self::A*) →* void};
+ new self::Class::•<self::A*>().{self::Class::method1b}(new self::B::•()){(self::A*) →* void};
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic e) {
core::print(e);
diff --git a/pkg/front_end/testcases/general/issue40662.dart.weak.expect b/pkg/front_end/testcases/general/issue40662.dart.weak.expect
index d0d2fa1..dc6a6d8 100644
--- a/pkg/front_end/testcases/general/issue40662.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue40662.dart.weak.expect
@@ -3,14 +3,14 @@
import "dart:core" as core;
static method bar(core::int* a, core::List<core::int*>* b) → dynamic {
- self::expect(1.{core::int::unary-}(), a);
- self::expect(1.{core::int::unary-}(), b.{core::List::[]}(0).{core::num::-}(2));
+ self::expect(1.{core::int::unary-}(){() →* core::int*}, a);
+ self::expect(1.{core::int::unary-}(){() →* core::int*}, b.{core::List::[]}(0){(core::int*) →* core::int*}.{core::num::-}(2){(core::num*) →* core::int*});
}
static method foo(core::int* x) → dynamic async
- return self::bar(x.{core::num::-}(1), !x.{core::num::==}(null) ?{core::List<core::int*>*} <core::int*>[x.{core::num::+}(1), x.{core::num::+}(2), await null] : null);
+ return self::bar(x.{core::num::-}(1){(core::num*) →* core::int*}, !(x == null) ?{core::List<core::int*>*} <core::int*>[x.{core::num::+}(1){(core::num*) →* core::int*}, x.{core::num::+}(2){(core::num*) →* core::int*}, await null] : null);
static method main() → void async
return await self::foo(0);
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
index 96339d0..c811d62 100644
--- a/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
@@ -5,8 +5,8 @@
import "dart:_internal" as _in;
static method bar(core::int* a, core::List<core::int*>* b) → dynamic {
- self::expect(1.{core::int::unary-}(), a);
- self::expect(1.{core::int::unary-}(), b.{core::List::[]}(0).{core::num::-}(2));
+ self::expect(1.{core::int::unary-}(){() →* core::int*}, a);
+ self::expect(1.{core::int::unary-}(){() →* core::int*}, b.{core::List::[]}(0){(core::int*) →* core::int*}.{core::num::-}(2){(core::num*) →* core::int*});
}
static method foo(core::int* x) → dynamic /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
@@ -25,10 +25,10 @@
try {
#L1:
{
- :async_temporary_3 = x.{core::num::-}(1);
- if(!x.{core::num::==}(null)) {
- :async_temporary_1 = x.{core::num::+}(1);
- :async_temporary_0 = x.{core::num::+}(2);
+ :async_temporary_3 = x.{core::num::-}(1){(core::num*) →* core::int*};
+ if(!(x == null)) {
+ :async_temporary_1 = x.{core::num::+}(1){(core::num*) →* core::int*};
+ :async_temporary_0 = x.{core::num::+}(2){(core::num*) →* core::int*};
[yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
:async_temporary_2 = core::_GrowableList::_literal3<core::int*>(_in::unsafeCast<core::int*>(:async_temporary_1), _in::unsafeCast<core::int*>(:async_temporary_0), _in::unsafeCast<Null>(:result));
}
@@ -80,12 +80,12 @@
return :async_future;
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///issue40662.dart:8:10 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///issue40662.dart:9:10 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///issue40662.dart:8:10 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///issue40662.dart:9:10 -> IntConstant(-1)
Extra constant evaluation: evaluated: 95, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/issue40744.dart.weak.expect b/pkg/front_end/testcases/general/issue40744.dart.weak.expect
index ba04d64..b193d72 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.weak.expect
@@ -7,7 +7,7 @@
core::print(input);
}
static method main() → void {
- final core::Map<core::String*, Null>* nullValueMap = core::Map::fromEntries<core::String*, Null>((#C4).{core::Map::entries}.{core::Iterable::map}<core::MapEntry<core::String*, Null>*>((core::MapEntry<core::String*, dynamic>* e) → core::MapEntry<core::String*, Null>* => new core::MapEntry::_<core::String*, Null>(e.{core::MapEntry::key}, null)));
+ final core::Map<core::String*, Null>* nullValueMap = core::Map::fromEntries<core::String*, Null>((#C4).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>*>*}.{core::Iterable::map}<core::MapEntry<core::String*, Null>*>((core::MapEntry<core::String*, dynamic>* e) → core::MapEntry<core::String*, Null>* => new core::MapEntry::_<core::String*, Null>(e.{core::MapEntry::key}{core::String*}, null)){((core::MapEntry<core::String*, dynamic>*) →* core::MapEntry<core::String*, Null>*) →* core::Iterable<core::MapEntry<core::String*, Null>*>*});
self::helper(nullValueMap);
}
diff --git a/pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect
index ba04d64..b193d72 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
core::print(input);
}
static method main() → void {
- final core::Map<core::String*, Null>* nullValueMap = core::Map::fromEntries<core::String*, Null>((#C4).{core::Map::entries}.{core::Iterable::map}<core::MapEntry<core::String*, Null>*>((core::MapEntry<core::String*, dynamic>* e) → core::MapEntry<core::String*, Null>* => new core::MapEntry::_<core::String*, Null>(e.{core::MapEntry::key}, null)));
+ final core::Map<core::String*, Null>* nullValueMap = core::Map::fromEntries<core::String*, Null>((#C4).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>*>*}.{core::Iterable::map}<core::MapEntry<core::String*, Null>*>((core::MapEntry<core::String*, dynamic>* e) → core::MapEntry<core::String*, Null>* => new core::MapEntry::_<core::String*, Null>(e.{core::MapEntry::key}{core::String*}, null)){((core::MapEntry<core::String*, dynamic>*) →* core::MapEntry<core::String*, Null>*) →* core::Iterable<core::MapEntry<core::String*, Null>*>*});
self::helper(nullValueMap);
}
diff --git a/pkg/front_end/testcases/general/issue41070.dart.weak.expect b/pkg/front_end/testcases/general/issue41070.dart.weak.expect
index 71da7fe..7a1c9bb 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.weak.expect
@@ -39,10 +39,10 @@
;
}
static method main() → dynamic {
- self::expect(42, (#C2).{self::Base::x});
+ self::expect(42, (#C2).{self::Base::x}{core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect
index cf254b2..b7cbfbd 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect
@@ -39,10 +39,10 @@
;
}
static method main() → dynamic {
- self::expect(42, (#C2).{self::Base::x});
+ self::expect(42, (#C2).{self::Base::x}{core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.weak.expect b/pkg/front_end/testcases/general/issue41210a.dart.weak.expect
index 10d9bf9..b5abffb 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41210a.dart.weak.expect
@@ -193,7 +193,7 @@
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A&B::method}(0));
+ core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num*) →* core::String*});
}
constants {
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect
index 38f8cf0..b2f0c55 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect
@@ -103,7 +103,7 @@
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A&B::method}(0));
+ core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num*) →* core::String*});
}
library;
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect
index f5e9904..1692897 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect
@@ -103,7 +103,7 @@
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A&B::method}(0));
+ core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num*) →* core::String*});
}
library;
diff --git a/pkg/front_end/testcases/general/issue42435.dart.weak.expect b/pkg/front_end/testcases/general/issue42435.dart.weak.expect
index 4c809d0..3dd8dc5 100644
--- a/pkg/front_end/testcases/general/issue42435.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue42435.dart.weak.expect
@@ -149,7 +149,7 @@
;
}
class B extends core::Object {
- field <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic foo6 = let final Never #t1 = (() → Never => throw 42).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ field <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic foo6 = let final Never #t1 = (() → Never => throw 42)(){() → Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
constructor •(<Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic a) → self::B
: super core::Object::•()
;
@@ -170,7 +170,7 @@
get baz4 = self::E|get#baz4;
set baz5 = self::E|set#baz5;
}
-static field <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic bar6 = let final Never #t2 = (() → Never => throw 42).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+static field <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic bar6 = let final Never #t2 = (() → Never => throw 42)(){() → Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
static method bar2(<Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic a) → dynamic {}
static method bar3() → <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic
return throw 42;
diff --git a/pkg/front_end/testcases/general/issue42435.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue42435.dart.weak.transformed.expect
index 4c809d0..3dd8dc5 100644
--- a/pkg/front_end/testcases/general/issue42435.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue42435.dart.weak.transformed.expect
@@ -149,7 +149,7 @@
;
}
class B extends core::Object {
- field <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic foo6 = let final Never #t1 = (() → Never => throw 42).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ field <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic foo6 = let final Never #t1 = (() → Never => throw 42)(){() → Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
constructor •(<Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic a) → self::B
: super core::Object::•()
;
@@ -170,7 +170,7 @@
get baz4 = self::E|get#baz4;
set baz5 = self::E|set#baz5;
}
-static field <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic bar6 = let final Never #t2 = (() → Never => throw 42).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+static field <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic bar6 = let final Never #t2 = (() → Never => throw 42)(){() → Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
static method bar2(<Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic a) → dynamic {}
static method bar3() → <Z extends self::A<self::A<dynamic>> = dynamic>() → dynamic
return throw 42;
diff --git a/pkg/front_end/testcases/general/issue42997.dart.weak.expect b/pkg/front_end/testcases/general/issue42997.dart.weak.expect
index cfae480..9b90959 100644
--- a/pkg/front_end/testcases/general/issue42997.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue42997.dart.weak.expect
@@ -57,7 +57,7 @@
method dispose() → void {
for (final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/issue42997.dart:12:10: Error: Can't use 'PropertyState' because it is declared more than once.
for (PropertyState<Object, Object>> state in _states) ;
- ^".<(#C1); invalid-expression "pkg/front_end/testcases/general/issue42997.dart:12:30: Error: This couldn't be parsed.
+ ^"{dynamic}.<(#C1); invalid-expression "pkg/front_end/testcases/general/issue42997.dart:12:30: Error: This couldn't be parsed.
for (PropertyState<Object, Object>> state in _states) ;
^" as{TypeError,ForDynamic} core::bool*; invalid-expression "pkg/front_end/testcases/general/issue42997.dart:12:30: Error: This couldn't be parsed.
for (PropertyState<Object, Object>> state in _states) ;
diff --git a/pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect
index 96d6a7c..0d39294 100644
--- a/pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect
@@ -57,7 +57,7 @@
method dispose() → void {
for (final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/issue42997.dart:12:10: Error: Can't use 'PropertyState' because it is declared more than once.
for (PropertyState<Object, Object>> state in _states) ;
- ^".<(#C1); invalid-expression "pkg/front_end/testcases/general/issue42997.dart:12:30: Error: This couldn't be parsed.
+ ^"{dynamic}.<(#C1); invalid-expression "pkg/front_end/testcases/general/issue42997.dart:12:30: Error: This couldn't be parsed.
for (PropertyState<Object, Object>> state in _states) ;
^"; invalid-expression "pkg/front_end/testcases/general/issue42997.dart:12:30: Error: This couldn't be parsed.
for (PropertyState<Object, Object>> state in _states) ;
diff --git a/pkg/front_end/testcases/general/issue44654.dart.weak.expect b/pkg/front_end/testcases/general/issue44654.dart.weak.expect
index 20db53d..0832149 100644
--- a/pkg/front_end/testcases/general/issue44654.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue44654.dart.weak.expect
@@ -4,7 +4,7 @@
static method test2() → void {
core::String* string = null;
- if(let final core::String* #t1 = string in #t1.{core::String::==}(null) ?{core::bool*} null : #t1.{core::String::isNotEmpty})
+ if(let final core::String* #t1 = string in #t1 == null ?{core::bool*} null : #t1.{core::String::isNotEmpty}{core::bool*})
;
}
static method main() → void {
@@ -17,17 +17,17 @@
}
static method checkFirstLineHasPosition(core::StackTrace* stackTrace) → void {
core::String* firstLine = "${stackTrace}".{core::String::split}("
-").{core::Iterable::firstWhere}((core::String* line) → core::bool* => line.{core::String::startsWith}("#0"));
- core::int* lastParen = firstLine.{core::String::lastIndexOf}(")");
- if(!lastParen.{core::num::==}(1.{core::int::unary-}())) {
- core::int* secondColon = firstLine.{core::String::lastIndexOf}(":", lastParen.{core::num::-}(1));
- if(!secondColon.{core::num::==}(1.{core::int::unary-}())) {
- core::int* firstColon = firstLine.{core::String::lastIndexOf}(":", secondColon.{core::num::-}(1));
- core::String* lineText = firstLine.{core::String::substring}(firstColon.{core::num::+}(1), secondColon);
- core::String* posText = firstLine.{core::String::substring}(secondColon.{core::num::+}(1), lastParen);
+"){(core::Pattern*) →* core::List<core::String*>*}.{core::Iterable::firstWhere}((core::String* line) → core::bool* => line.{core::String::startsWith}("#0"){(core::Pattern*, [core::int*]) →* core::bool*}){((core::String*) →* core::bool*, {orElse: () →* core::String*}) →* core::String*};
+ core::int* lastParen = firstLine.{core::String::lastIndexOf}(")"){(core::Pattern*, [core::int*]) →* core::int*};
+ if(!(lastParen =={core::num::==}{(core::Object*) →* core::bool*} 1.{core::int::unary-}(){() →* core::int*})) {
+ core::int* secondColon = firstLine.{core::String::lastIndexOf}(":", lastParen.{core::num::-}(1){(core::num*) →* core::int*}){(core::Pattern*, [core::int*]) →* core::int*};
+ if(!(secondColon =={core::num::==}{(core::Object*) →* core::bool*} 1.{core::int::unary-}(){() →* core::int*})) {
+ core::int* firstColon = firstLine.{core::String::lastIndexOf}(":", secondColon.{core::num::-}(1){(core::num*) →* core::int*}){(core::Pattern*, [core::int*]) →* core::int*};
+ core::String* lineText = firstLine.{core::String::substring}(firstColon.{core::num::+}(1){(core::num*) →* core::int*}, secondColon){(core::int*, [core::int*]) →* core::String*};
+ core::String* posText = firstLine.{core::String::substring}(secondColon.{core::num::+}(1){(core::num*) →* core::int*}, lastParen){(core::int*, [core::int*]) →* core::String*};
core::int* line = core::int::tryParse(lineText);
core::int* pos = core::int::tryParse(posText);
- if(!line.{core::num::==}(null) && !pos.{core::num::==}(null)) {
+ if(!(line == null) && !(pos == null)) {
core::print("Found position ${line}:${pos}");
return;
}
diff --git a/pkg/front_end/testcases/general/issue44654.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue44654.dart.weak.transformed.expect
index dee713e..4f52310 100644
--- a/pkg/front_end/testcases/general/issue44654.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue44654.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
static method test2() → void {
core::String* string = null;
- if(let final core::String* #t1 = string in #t1.{core::String::==}(null) ?{core::bool*} null : #t1.{core::String::isNotEmpty})
+ if(let final core::String* #t1 = string in #t1 == null ?{core::bool*} null : #t1.{core::String::isNotEmpty}{core::bool*})
;
}
static method main() → void {
@@ -17,17 +17,17 @@
}
static method checkFirstLineHasPosition(core::StackTrace* stackTrace) → void {
core::String* firstLine = "${stackTrace}".{core::String::split}("
-").{core::Iterable::firstWhere}((core::String* line) → core::bool* => line.{core::String::startsWith}("#0"));
- core::int* lastParen = firstLine.{core::String::lastIndexOf}(")");
- if(!lastParen.{core::num::==}(1.{core::int::unary-}())) {
- core::int* secondColon = firstLine.{core::String::lastIndexOf}(":", lastParen.{core::num::-}(1));
- if(!secondColon.{core::num::==}(1.{core::int::unary-}())) {
- core::int* firstColon = firstLine.{core::String::lastIndexOf}(":", secondColon.{core::num::-}(1));
- core::String* lineText = firstLine.{core::String::substring}(firstColon.{core::num::+}(1), secondColon);
- core::String* posText = firstLine.{core::String::substring}(secondColon.{core::num::+}(1), lastParen);
+"){(core::Pattern*) →* core::List<core::String*>*}.{core::Iterable::firstWhere}((core::String* line) → core::bool* => line.{core::String::startsWith}("#0"){(core::Pattern*, [core::int*]) →* core::bool*}){((core::String*) →* core::bool*, {orElse: () →* core::String*}) →* core::String*};
+ core::int* lastParen = firstLine.{core::String::lastIndexOf}(")"){(core::Pattern*, [core::int*]) →* core::int*};
+ if(!(lastParen =={core::num::==}{(core::Object*) →* core::bool*} 1.{core::int::unary-}(){() →* core::int*})) {
+ core::int* secondColon = firstLine.{core::String::lastIndexOf}(":", lastParen.{core::num::-}(1){(core::num*) →* core::int*}){(core::Pattern*, [core::int*]) →* core::int*};
+ if(!(secondColon =={core::num::==}{(core::Object*) →* core::bool*} 1.{core::int::unary-}(){() →* core::int*})) {
+ core::int* firstColon = firstLine.{core::String::lastIndexOf}(":", secondColon.{core::num::-}(1){(core::num*) →* core::int*}){(core::Pattern*, [core::int*]) →* core::int*};
+ core::String* lineText = firstLine.{core::String::substring}(firstColon.{core::num::+}(1){(core::num*) →* core::int*}, secondColon){(core::int*, [core::int*]) →* core::String*};
+ core::String* posText = firstLine.{core::String::substring}(secondColon.{core::num::+}(1){(core::num*) →* core::int*}, lastParen){(core::int*, [core::int*]) →* core::String*};
core::int* line = core::int::tryParse(lineText);
core::int* pos = core::int::tryParse(posText);
- if(!line.{core::num::==}(null) && !pos.{core::num::==}(null)) {
+ if(!(line == null) && !(pos == null)) {
core::print("Found position ${line}:${pos}");
return;
}
@@ -38,6 +38,6 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///issue44654.dart:25:20 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///issue44654.dart:27:24 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///issue44654.dart:25:20 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///issue44654.dart:27:24 -> IntConstant(-1)
Extra constant evaluation: evaluated: 63, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/issue45598.dart.weak.expect b/pkg/front_end/testcases/general/issue45598.dart.weak.expect
index fc68d7b..4463884 100644
--- a/pkg/front_end/testcases/general/issue45598.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue45598.dart.weak.expect
@@ -3,6 +3,6 @@
import "dart:core" as core;
static method foo(<X extends Z* = dynamic, Y extends core::Object* = dynamic, Z extends core::Object* = dynamic>({m: core::Map<Y*, Z*>*}) →* dynamic bar, core::Map<core::String*, core::String*>* m) → dynamic {
- bar.call<core::String*, core::String*, core::String*>(m: m);
+ bar<core::String*, core::String*, core::String*>(m: m){({m: core::Map<core::String*, core::String*>*}) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45598.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue45598.dart.weak.transformed.expect
index fc68d7b..4463884 100644
--- a/pkg/front_end/testcases/general/issue45598.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue45598.dart.weak.transformed.expect
@@ -3,6 +3,6 @@
import "dart:core" as core;
static method foo(<X extends Z* = dynamic, Y extends core::Object* = dynamic, Z extends core::Object* = dynamic>({m: core::Map<Y*, Z*>*}) →* dynamic bar, core::Map<core::String*, core::String*>* m) → dynamic {
- bar.call<core::String*, core::String*, core::String*>(m: m);
+ bar<core::String*, core::String*, core::String*>(m: m){({m: core::Map<core::String*, core::String*>*}) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45598_2.dart.weak.expect b/pkg/front_end/testcases/general/issue45598_2.dart.weak.expect
index d8d1fd0..eff30fa 100644
--- a/pkg/front_end/testcases/general/issue45598_2.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue45598_2.dart.weak.expect
@@ -4,7 +4,7 @@
static method foo(core::Map<core::String*, core::String*>* m) → dynamic {
function bar<X extends Z* = dynamic, Y extends core::Object* = dynamic, Z extends core::Object* = dynamic>({core::Map<Y*, Z*>* m = #C1}) → void {}
- bar.call<core::String*, core::String*, core::String*>(m: m);
+ bar<core::String*, core::String*, core::String*>(m: m){({m: core::Map<core::String*, core::String*>*}) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45598_2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue45598_2.dart.weak.transformed.expect
index d8d1fd0..eff30fa 100644
--- a/pkg/front_end/testcases/general/issue45598_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue45598_2.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
static method foo(core::Map<core::String*, core::String*>* m) → dynamic {
function bar<X extends Z* = dynamic, Y extends core::Object* = dynamic, Z extends core::Object* = dynamic>({core::Map<Y*, Z*>* m = #C1}) → void {}
- bar.call<core::String*, core::String*, core::String*>(m: m);
+ bar<core::String*, core::String*, core::String*>(m: m){({m: core::Map<core::String*, core::String*>*}) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45660.dart.weak.expect b/pkg/front_end/testcases/general/issue45660.dart.weak.expect
index f65680e..5111de9 100644
--- a/pkg/front_end/testcases/general/issue45660.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue45660.dart.weak.expect
@@ -12,7 +12,7 @@
static field <T extends core::num* = dynamic>(T*) →* T* extendsNumReturnArg = <S extends core::num*>(S* s) → S* => s;
static method functionInvocations() → dynamic {
- self::extendsNumReturnArg.call<Null>(null);
- self::extendsNumReturnArg.call<core::String*>("");
+ self::extendsNumReturnArg<Null>(null){(Null) →* Null};
+ self::extendsNumReturnArg<core::String*>(""){(core::String*) →* core::String*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45660.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue45660.dart.weak.transformed.expect
index f65680e..5111de9 100644
--- a/pkg/front_end/testcases/general/issue45660.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue45660.dart.weak.transformed.expect
@@ -12,7 +12,7 @@
static field <T extends core::num* = dynamic>(T*) →* T* extendsNumReturnArg = <S extends core::num*>(S* s) → S* => s;
static method functionInvocations() → dynamic {
- self::extendsNumReturnArg.call<Null>(null);
- self::extendsNumReturnArg.call<core::String*>("");
+ self::extendsNumReturnArg<Null>(null){(Null) →* Null};
+ self::extendsNumReturnArg<core::String*>(""){(core::String*) →* core::String*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.weak.expect b/pkg/front_end/testcases/general/local_generic_function.dart.weak.expect
index 487fec1..b22d5a7 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.weak.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.weak.expect
@@ -4,6 +4,6 @@
static method main() → dynamic {
function f<T extends core::Object* = dynamic>(core::List<T*>* l) → T*
- return l.{core::List::[]}(0);
- core::int* x = f.call<core::int*>(<core::int*>[0]);
+ return l.{core::List::[]}(0){(core::int*) →* T*};
+ core::int* x = f<core::int*>(<core::int*>[0]){(core::List<core::int*>*) →* core::int*};
}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect b/pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect
index 328d4cc..6c7e013 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect
@@ -4,6 +4,6 @@
static method main() → dynamic {
function f<T extends core::Object* = dynamic>(core::List<T*>* l) → T*
- return l.{core::List::[]}(0);
- core::int* x = f.call<core::int*>(core::_GrowableList::_literal1<core::int*>(0));
+ return l.{core::List::[]}(0){(core::int*) →* T*};
+ core::int* x = f<core::int*>(core::_GrowableList::_literal1<core::int*>(0)){(core::List<core::int*>*) →* core::int*};
}
diff --git a/pkg/front_end/testcases/general/many_errors.dart.weak.expect b/pkg/front_end/testcases/general/many_errors.dart.weak.expect
index c04f498..6de22e5 100644
--- a/pkg/front_end/testcases/general/many_errors.dart.weak.expect
+++ b/pkg/front_end/testcases/general/many_errors.dart.weak.expect
@@ -127,7 +127,7 @@
external foo(String x) {
^";
{
- return x.{core::String::length};
+ return x.{core::String::length}{core::int*};
}
}
static method m() → dynamic {
diff --git a/pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect b/pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect
index c04f498..6de22e5 100644
--- a/pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect
@@ -127,7 +127,7 @@
external foo(String x) {
^";
{
- return x.{core::String::length};
+ return x.{core::String::length}{core::int*};
}
}
static method m() → dynamic {
diff --git a/pkg/front_end/testcases/general/micro.dart.weak.expect b/pkg/front_end/testcases/general/micro.dart.weak.expect
index 74e0279..8bd8f18 100644
--- a/pkg/front_end/testcases/general/micro.dart.weak.expect
+++ b/pkg/front_end/testcases/general/micro.dart.weak.expect
@@ -128,24 +128,24 @@
static method stringArgument(dynamic x) → dynamic {}
static method intArgument(dynamic x) → dynamic {}
static method makeDynamicCall(dynamic receiver) → void {
- receiver.dynamicallyCalled("sdfg");
+ receiver{dynamic}.dynamicallyCalled("sdfg");
}
static method main() → dynamic {
dynamic x = self::staticMethod();
- dynamic y = new self::Foo::•().{self::Foo::instanceMethod}();
+ dynamic y = new self::Foo::•().{self::Foo::instanceMethod}(){() →* dynamic};
core::bool* z = self::externalStatic();
- self::ExternalValue* w = self::createBar().{self::Bar::externalInstanceMethod}();
+ self::ExternalValue* w = self::createBar().{self::Bar::externalInstanceMethod}(){() →* self::ExternalValue*};
self::stringArgument("sdfg");
self::intArgument(42);
self::Box* box = new self::Box::•();
box.{self::Box::field} = "sdfg";
- dynamic a = box.{self::Box::field};
+ dynamic a = box.{self::Box::field}{dynamic};
self::FinalBox* finalBox = new self::FinalBox::•("dfg");
- dynamic b = finalBox.{self::FinalBox::finalField};
+ dynamic b = finalBox.{self::FinalBox::finalField}{dynamic};
self::SubFinalBox* subBox = new self::SubFinalBox::•("dfg");
- dynamic c = subBox.{self::FinalBox::finalField};
+ dynamic c = subBox.{self::FinalBox::finalField}{dynamic};
self::makeDynamicCall(new self::DynamicReceiver1::•());
self::makeDynamicCall(new self::DynamicReceiver2::•());
core::List<core::String*>* list = <core::String*>["string"];
- core::String* d = list.{core::List::[]}(0);
+ core::String* d = list.{core::List::[]}(0){(core::int*) →* core::String*};
}
diff --git a/pkg/front_end/testcases/general/micro.dart.weak.transformed.expect b/pkg/front_end/testcases/general/micro.dart.weak.transformed.expect
index 30a9c46..23f0c21 100644
--- a/pkg/front_end/testcases/general/micro.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/micro.dart.weak.transformed.expect
@@ -128,24 +128,24 @@
static method stringArgument(dynamic x) → dynamic {}
static method intArgument(dynamic x) → dynamic {}
static method makeDynamicCall(dynamic receiver) → void {
- receiver.dynamicallyCalled("sdfg");
+ receiver{dynamic}.dynamicallyCalled("sdfg");
}
static method main() → dynamic {
dynamic x = self::staticMethod();
- dynamic y = new self::Foo::•().{self::Foo::instanceMethod}();
+ dynamic y = new self::Foo::•().{self::Foo::instanceMethod}(){() →* dynamic};
core::bool* z = self::externalStatic();
- self::ExternalValue* w = self::createBar().{self::Bar::externalInstanceMethod}();
+ self::ExternalValue* w = self::createBar().{self::Bar::externalInstanceMethod}(){() →* self::ExternalValue*};
self::stringArgument("sdfg");
self::intArgument(42);
self::Box* box = new self::Box::•();
box.{self::Box::field} = "sdfg";
- dynamic a = box.{self::Box::field};
+ dynamic a = box.{self::Box::field}{dynamic};
self::FinalBox* finalBox = new self::FinalBox::•("dfg");
- dynamic b = finalBox.{self::FinalBox::finalField};
+ dynamic b = finalBox.{self::FinalBox::finalField}{dynamic};
self::SubFinalBox* subBox = new self::SubFinalBox::•("dfg");
- dynamic c = subBox.{self::FinalBox::finalField};
+ dynamic c = subBox.{self::FinalBox::finalField}{dynamic};
self::makeDynamicCall(new self::DynamicReceiver1::•());
self::makeDynamicCall(new self::DynamicReceiver2::•());
core::List<core::String*>* list = core::_GrowableList::_literal1<core::String*>("string");
- core::String* d = list.{core::List::[]}(0);
+ core::String* d = list.{core::List::[]}(0){(core::int*) →* core::String*};
}
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.weak.expect b/pkg/front_end/testcases/general/minimum_int.dart.weak.expect
index 17fdfdc..65f7c38 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.weak.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.weak.expect
@@ -3,4 +3,4 @@
import "dart:core" as core;
static method main() → dynamic
- return core::print(-9223372036854775808.{core::int::unary-}());
+ return core::print(-9223372036854775808.{core::int::unary-}(){() →* core::int*});
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect b/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect
index 9628dc6..349fd7e 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect
@@ -3,9 +3,9 @@
import "dart:core" as core;
static method main() → dynamic
- return core::print(-9223372036854775808.{core::int::unary-}());
+ return core::print(-9223372036854775808.{core::int::unary-}(){() →* core::int*});
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///minimum_int.dart:2:17 -> IntConstant(-9223372036854775808)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///minimum_int.dart:2:17 -> IntConstant(-9223372036854775808)
Extra constant evaluation: evaluated: 2, effectively constant: 1
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect
index 734ecfe..fe0c5d0 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect
@@ -112,8 +112,8 @@
- 'ClassWithIndexSet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]' operator.
var missingIndexGet = classWithIndexSet[0] ??= 2;
- ^" in #t4.{core::Object::==}(null) ?{dynamic} let final core::int* #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5) in #t5 : #t4;
-static field core::int* missingIndexSet = let final self::ClassWithIndexGet* #t7 = self::classWithIndexGet in let final core::int* #t8 = 0 in let final core::int* #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8) in #t9.{core::num::==}(null) ?{core::int*} let final core::int* #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
+ ^" in #t4 == null ?{dynamic} let final core::int* #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5){(core::int*, core::int*) →* void} in #t5 : #t4;
+static field core::int* missingIndexSet = let final self::ClassWithIndexGet* #t7 = self::classWithIndexGet in let final core::int* #t8 = 0 in let final core::int* #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8){(core::int*) →* core::int*} in #t9 == null ?{core::int*} let final core::int* #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
- 'ClassWithIndexGet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]=' operator.
var missingIndexSet = classWithIndexGet[0] ??= 2;
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect
index 20fffed..2ddf977 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect
@@ -112,8 +112,8 @@
- 'ClassWithIndexSet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]' operator.
var missingIndexGet = classWithIndexSet[0] ??= 2;
- ^" in #t4.{core::Object::==}(null) ?{dynamic} let final core::int* #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5) in #t5 : #t4;
-static field core::int* missingIndexSet = let final self::ClassWithIndexGet* #t7 = self::classWithIndexGet in let final core::int* #t8 = 0 in let final core::int* #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8) in #t9.{core::num::==}(null) ?{core::int*} let final core::int* #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
+ ^" in #t4 == null ?{dynamic} let final core::int* #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5){(core::int*, core::int*) →* void} in #t5 : #t4;
+static field core::int* missingIndexSet = let final self::ClassWithIndexGet* #t7 = self::classWithIndexGet in let final core::int* #t8 = 0 in let final core::int* #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8){(core::int*) →* core::int*} in #t9 == null ?{core::int*} let final core::int* #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
- 'ClassWithIndexGet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]=' operator.
var missingIndexSet = classWithIndexGet[0] ??= 2;
diff --git a/pkg/front_end/testcases/general/mixin.dart.weak.expect b/pkg/front_end/testcases/general/mixin.dart.weak.expect
index 1f1f19e..9ec9ad2d 100644
--- a/pkg/front_end/testcases/general/mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.weak.expect
@@ -134,9 +134,9 @@
;
}
static method main() → dynamic {
- new self::B::•(null).{self::_B&Object&M1&M2::m}();
- new self::C::•(null).{self::_C&Object&M1&M2::m}();
- new self::D::•<dynamic>().{self::_D&Object&G1::m}();
- new self::D::•<core::int*>().{self::_D&Object&G1::m}();
- new self::D::•<core::List<core::int*>*>().{self::_D&Object&G1::m}();
+ new self::B::•(null).{self::_B&Object&M1&M2::m}(){() →* dynamic};
+ new self::C::•(null).{self::_C&Object&M1&M2::m}(){() →* dynamic};
+ new self::D::•<dynamic>().{self::_D&Object&G1::m}(){() →* dynamic};
+ new self::D::•<core::int*>().{self::_D&Object&G1::m}(){() →* dynamic};
+ new self::D::•<core::List<core::int*>*>().{self::_D&Object&G1::m}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect
index 241fd10..fe35f14 100644
--- a/pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect
@@ -134,9 +134,9 @@
;
}
static method main() → dynamic {
- new self::B::•(null).{self::_B&Object&M1&M2::m}();
- new self::C::•(null).{self::_C&Object&M1&M2::m}();
- new self::D::•<dynamic>().{self::_D&Object&G1::m}();
- new self::D::•<core::int*>().{self::_D&Object&G1::m}();
- new self::D::•<core::List<core::int*>*>().{self::_D&Object&G1::m}();
+ new self::B::•(null).{self::_B&Object&M1&M2::m}(){() →* dynamic};
+ new self::C::•(null).{self::_C&Object&M1&M2::m}(){() →* dynamic};
+ new self::D::•<dynamic>().{self::_D&Object&G1::m}(){() →* dynamic};
+ new self::D::•<core::int*>().{self::_D&Object&G1::m}(){() →* dynamic};
+ new self::D::•<core::List<core::int*>*>().{self::_D&Object&G1::m}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.expect b/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.expect
index e277693..8972ec3 100644
--- a/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.expect
@@ -73,6 +73,6 @@
core::print(self::foo::T*);
}
static method main() → dynamic {
- self::Diagnosticable* x = let final self::StateA* #t1 = self::a in #t1.{self::_State&Object&Diagnosticable::==}(null) ?{self::Diagnosticable*} self::b : #t1;
+ self::Diagnosticable* x = let final self::StateA* #t1 = self::a in #t1 == null ?{self::Diagnosticable*} self::b : #t1;
self::foo<self::Diagnosticable*>(x);
}
diff --git a/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.transformed.expect
index 421798b..a392cca 100644
--- a/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.transformed.expect
@@ -73,6 +73,6 @@
core::print(self::foo::T*);
}
static method main() → dynamic {
- self::Diagnosticable* x = let final self::StateA* #t1 = self::a in #t1.{self::_State&Object&Diagnosticable::==}(null) ?{self::Diagnosticable*} self::b : #t1;
+ self::Diagnosticable* x = let final self::StateA* #t1 = self::a in #t1 == null ?{self::Diagnosticable*} self::b : #t1;
self::foo<self::Diagnosticable*>(x);
}
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect
index daa1e5a..e433f66 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect
@@ -70,11 +70,11 @@
;
}
static method main() → dynamic {
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object*>().{self::C::trace});
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace});
- exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace});
- exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace});
- exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object*>().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace}{core::String*});
}
constants {
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect
index 4d8d5b4..3a642dd 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect
@@ -70,11 +70,11 @@
;
}
static method main() → dynamic {
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object*>().{self::C::trace});
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace});
- exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace});
- exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace});
- exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object*>().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace}{core::String*});
}
constants {
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect
index 4fd3d8d..eaf50de 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect
@@ -310,42 +310,42 @@
self::testMixed();
}
static method testDirect() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Direct::•().{self::Direct::positional};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Direct::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Direct::•().{self::Direct::optional};
+ ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Direct::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Direct::•().{self::Direct::named};
+ ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Direct::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
}
static method testInherited() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Inherited::•().{self::Direct::positional};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Inherited::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Inherited::•().{self::Direct::optional};
+ ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Inherited::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Inherited::•().{self::Direct::named};
+ ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Inherited::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
}
static method testOverridden() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method2 = new self::Override2::•().{self::Override2::method};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method2 = new self::Override2::•().{self::Override2::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(method2 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(method2 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method3 = new self::Override3::•().{self::Override3::method};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method3 = new self::Override3::•().{self::Override3::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(method3 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(method3 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
}
static method testImplemented() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Implement5::•().{self::Implement5::method};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Implement5::•().{self::Implement5::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
}
static method testMixed() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Mixed::•().{self::Mixed::method};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Mixed::•().{self::Mixed::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
}
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect
index bf43d45..00fb601 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect
@@ -306,42 +306,42 @@
self::testMixed();
}
static method testDirect() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Direct::•().{self::Direct::positional};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Direct::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Direct::•().{self::Direct::optional};
+ ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Direct::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Direct::•().{self::Direct::named};
+ ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Direct::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
}
static method testInherited() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Inherited::•().{self::Direct::positional};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Inherited::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Inherited::•().{self::Direct::optional};
+ ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Inherited::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Inherited::•().{self::Direct::named};
+ ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Inherited::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
}
static method testOverridden() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method2 = new self::Override2::•().{self::Override2::method};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method2 = new self::Override2::•().{self::Override2::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(method2 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(method2 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method3 = new self::Override3::•().{self::Override3::method};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method3 = new self::Override3::•().{self::Override3::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(method3 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(method3 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
}
static method testImplemented() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Implement5::•().{self::Implement5::method};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Implement5::•().{self::Implement5::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
}
static method testMixed() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Mixed::•().{self::Mixed::method};
+ (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Mixed::•().{self::Mixed::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
}
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect
index f6a8a4d..f97e4ab 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect
@@ -68,29 +68,29 @@
}
static method main() → dynamic {
self::Class* c = new self::Class::•();
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1));
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1));
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1));
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1));
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
self::Superclass* s = c;
- self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5));
- self::throws(() → core::String* => s.{self::Superclass::method2}(0.5, 1.5));
- self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1));
- self::throws(() → core::String* => s.{self::Superclass::method4}(0.5, 1));
- self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5));
+ self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
+ self::throws(() → core::String* => s.{self::Superclass::method2}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1){(core::num*, core::int*) →* core::String*});
+ self::throws(() → core::String* => s.{self::Superclass::method4}(0.5, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5){(core::num*, core::num*) →* core::String*});
self::Mixin* m = c;
- self::expect("Mixin", m.{self::Mixin::method1}(0, 1));
- self::expect("Mixin", m.{self::Mixin::method2}(0, 1));
- self::expect("Mixin", m.{self::Mixin::method3}(0, 1));
- self::expect("Mixin", m.{self::Mixin::method4}(0, 1));
+ self::expect("Mixin", m.{self::Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", m.{self::Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
+ self::expect("Mixin", m.{self::Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", m.{self::Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
}
static method expect(dynamic expected, dynamic actual) → void {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect
index e1c8da2..9dafbb8 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect
@@ -68,29 +68,29 @@
}
static method main() → dynamic {
self::Class* c = new self::Class::•();
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1));
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1));
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1));
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1));
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
self::Superclass* s = c;
- self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5));
- self::throws(() → core::String* => s.{self::Superclass::method2}(0.5, 1.5));
- self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1));
- self::throws(() → core::String* => s.{self::Superclass::method4}(0.5, 1));
- self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5));
+ self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
+ self::throws(() → core::String* => s.{self::Superclass::method2}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1){(core::num*, core::int*) →* core::String*});
+ self::throws(() → core::String* => s.{self::Superclass::method4}(0.5, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5){(core::num*, core::num*) →* core::String*});
self::Mixin* m = c;
- self::expect("Mixin", m.{self::Mixin::method1}(0, 1));
- self::expect("Mixin", m.{self::Mixin::method2}(0, 1));
- self::expect("Mixin", m.{self::Mixin::method3}(0, 1));
- self::expect("Mixin", m.{self::Mixin::method4}(0, 1));
+ self::expect("Mixin", m.{self::Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", m.{self::Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
+ self::expect("Mixin", m.{self::Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
+ self::expect("Mixin", m.{self::Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
}
static method expect(dynamic expected, dynamic actual) → void {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.expect
index fce001a..3587556 100644
--- a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.expect
@@ -74,5 +74,5 @@
}
static method main() → dynamic {
self::Foo* foo = new self::Foo::•();
- foo.{self::_Foo&Object&C::foo}(new self::B::•());
+ foo.{self::_Foo&Object&C::foo}(new self::B::•()){(self::B*) →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.transformed.expect
index cd6518b..408bf4c 100644
--- a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.transformed.expect
@@ -72,5 +72,5 @@
}
static method main() → dynamic {
self::Foo* foo = new self::Foo::•();
- foo.{self::_Foo&Object&C::foo}(new self::B::•());
+ foo.{self::_Foo&Object&C::foo}(new self::B::•()){(self::B*) →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect
index 1a74047..32aae43 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect
@@ -131,12 +131,12 @@
: super self::ClassEqMixinClass::•()
;
method method() → dynamic {
- this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}();
- this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}();
- this.{self::ClassEqMixinClass::concreteMixin}();
- this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}();
- this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}();
- this.{self::ClassEqMixinClass::abstractMixin}();
+ this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::concreteMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::abstractMixin}(){() →* void};
super.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixinClass::concreteMixin}();
@@ -148,12 +148,12 @@
: super self::ClassExtendsMixinClass::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}();
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}(){() →* void};
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}();
@@ -165,12 +165,12 @@
: super self::ClassEqMixin::•()
;
method method() → dynamic {
- this.{self::ClassEqMixin::concreteExtendsConcreteMixin}();
- this.{self::ClassEqMixin::concreteExtendsAbstractMixin}();
- this.{self::ClassEqMixin::concreteMixin}();
- this.{self::ClassEqMixin::abstractExtendsConcreteMixin}();
- this.{self::ClassEqMixin::abstractExtendsAbstractMixin}();
- this.{self::ClassEqMixin::abstractMixin}();
+ this.{self::ClassEqMixin::concreteExtendsConcreteMixin}(){() →* void};
+ this.{self::ClassEqMixin::concreteExtendsAbstractMixin}(){() →* void};
+ this.{self::ClassEqMixin::concreteMixin}(){() →* void};
+ this.{self::ClassEqMixin::abstractExtendsConcreteMixin}(){() →* void};
+ this.{self::ClassEqMixin::abstractExtendsAbstractMixin}(){() →* void};
+ this.{self::ClassEqMixin::abstractMixin}(){() →* void};
super.{self::ClassEqMixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixin::concreteMixin}();
@@ -182,12 +182,12 @@
: super self::ClassExtendsMixin::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}();
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}(){() →* void};
super.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}();
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect
index 8493bcd..3b87509 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect
@@ -119,12 +119,12 @@
: super self::ClassEqMixinClass::•()
;
method method() → dynamic {
- this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}();
- this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}();
- this.{self::ClassEqMixinClass::concreteMixin}();
- this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}();
- this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}();
- this.{self::ClassEqMixinClass::abstractMixin}();
+ this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::concreteMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::abstractMixin}(){() →* void};
super.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixinClass::concreteMixin}();
@@ -136,12 +136,12 @@
: super self::ClassExtendsMixinClass::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}();
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}();
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}(){() →* void};
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}();
@@ -153,12 +153,12 @@
: super self::ClassEqMixin::•()
;
method method() → dynamic {
- this.{self::ClassEqMixin::concreteExtendsConcreteMixin}();
- this.{self::ClassEqMixin::concreteExtendsAbstractMixin}();
- this.{self::ClassEqMixin::concreteMixin}();
- this.{self::ClassEqMixin::abstractExtendsConcreteMixin}();
- this.{self::ClassEqMixin::abstractExtendsAbstractMixin}();
- this.{self::ClassEqMixin::abstractMixin}();
+ this.{self::ClassEqMixin::concreteExtendsConcreteMixin}(){() →* void};
+ this.{self::ClassEqMixin::concreteExtendsAbstractMixin}(){() →* void};
+ this.{self::ClassEqMixin::concreteMixin}(){() →* void};
+ this.{self::ClassEqMixin::abstractExtendsConcreteMixin}(){() →* void};
+ this.{self::ClassEqMixin::abstractExtendsAbstractMixin}(){() →* void};
+ this.{self::ClassEqMixin::abstractMixin}(){() →* void};
super.{self::ClassEqMixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixin::concreteMixin}();
@@ -170,12 +170,12 @@
: super self::ClassExtendsMixin::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}();
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}();
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}(){() →* void};
super.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}();
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect
index e9d4ae3..526ec74 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect
@@ -74,10 +74,10 @@
self::Named* named = new self::Named::•();
named.{self::Named::m} = 42;
named.{self::_Named&S&M&N::superM} = 87;
- if(!named.{self::Named::m}.{core::Object::==}(42)) {
+ if(!(named.{self::Named::m}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 42)) {
throw "Bad mixin translation of set:superM";
}
- if(!named.{self::_Named&S&M&N::superM}.{core::Object::==}(87)) {
+ if(!(named.{self::_Named&S&M&N::superM}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 87)) {
throw "Bad mixin translation of get:superM";
}
}
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect
index b86d9b1..e0aa9ba 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect
@@ -69,10 +69,10 @@
self::Named* named = new self::Named::•();
named.{self::Named::m} = 42;
named.{self::_Named&S&M&N::superM} = 87;
- if(!named.{self::Named::m}.{core::Object::==}(42)) {
+ if(!(named.{self::Named::m}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 42)) {
throw "Bad mixin translation of set:superM";
}
- if(!named.{self::_Named&S&M&N::superM}.{core::Object::==}(87)) {
+ if(!(named.{self::_Named&S&M&N::superM}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 87)) {
throw "Bad mixin translation of get:superM";
}
}
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.weak.expect b/pkg/front_end/testcases/general/named_parameters.dart.weak.expect
index 1a4d59b..ad0b537 100644
--- a/pkg/front_end/testcases/general/named_parameters.dart.weak.expect
+++ b/pkg/front_end/testcases/general/named_parameters.dart.weak.expect
@@ -9,8 +9,8 @@
method foo({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
method bar({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
method namedCallback(({alpha: core::String, beta: core::int}) → dynamic callback) → dynamic {
- callback.call(alpha: "one", beta: 2);
- callback.call(beta: 1, alpha: "two");
+ callback(alpha: "one", beta: 2){({alpha: core::String, beta: core::int}) → dynamic};
+ callback(beta: 1, alpha: "two"){({alpha: core::String, beta: core::int}) → dynamic};
}
}
class Subclass extends self::Superclass {
@@ -24,8 +24,8 @@
static method topLevelNamed(dynamic beta, dynamic alpha, {dynamic gamma = #C1, dynamic delta = #C1}) → dynamic {}
static method topLevelOptional(dynamic beta, dynamic alpha, [dynamic gamma = #C1, dynamic delta = #C1]) → dynamic {}
static method main() → dynamic {
- new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2);
- new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2);
+ new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2){({alpha: dynamic, beta: dynamic}) → dynamic};
+ new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2){({alpha: dynamic, beta: dynamic}) → dynamic};
self::topLevelNamed(1, 2, gamma: 3, delta: 4);
self::topLevelNamed(1, 2, delta: 3, gamma: 4);
}
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.weak.transformed.expect b/pkg/front_end/testcases/general/named_parameters.dart.weak.transformed.expect
index 1a4d59b..ad0b537 100644
--- a/pkg/front_end/testcases/general/named_parameters.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/named_parameters.dart.weak.transformed.expect
@@ -9,8 +9,8 @@
method foo({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
method bar({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
method namedCallback(({alpha: core::String, beta: core::int}) → dynamic callback) → dynamic {
- callback.call(alpha: "one", beta: 2);
- callback.call(beta: 1, alpha: "two");
+ callback(alpha: "one", beta: 2){({alpha: core::String, beta: core::int}) → dynamic};
+ callback(beta: 1, alpha: "two"){({alpha: core::String, beta: core::int}) → dynamic};
}
}
class Subclass extends self::Superclass {
@@ -24,8 +24,8 @@
static method topLevelNamed(dynamic beta, dynamic alpha, {dynamic gamma = #C1, dynamic delta = #C1}) → dynamic {}
static method topLevelOptional(dynamic beta, dynamic alpha, [dynamic gamma = #C1, dynamic delta = #C1]) → dynamic {}
static method main() → dynamic {
- new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2);
- new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2);
+ new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2){({alpha: dynamic, beta: dynamic}) → dynamic};
+ new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2){({alpha: dynamic, beta: dynamic}) → dynamic};
self::topLevelNamed(1, 2, gamma: 3, delta: 4);
self::topLevelNamed(1, 2, delta: 3, gamma: 4);
}
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.weak.expect b/pkg/front_end/testcases/general/native_as_name.dart.weak.expect
index 1262765..f85423d 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.weak.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.weak.expect
@@ -78,12 +78,12 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::W::•().{self::W::native});
- core::print(new self::X::•().{self::X::native}());
- core::print(new self::Y2::•().{self::Y2::native});
+ core::print(new self::W::•().{self::W::native}{core::String*});
+ core::print(new self::X::•().{self::X::native}(){() →* core::String*});
+ core::print(new self::Y2::•().{self::Y2::native}{core::String*});
core::print((let final self::Z* #t1 = new self::Z::•() in block {
#t1.{self::Z::native} = "setter";
- } =>#t1).{self::Z::f});
+ } =>#t1).{self::Z::f}{core::String*});
}
constants {
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect b/pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect
index 1262765..f85423d 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect
@@ -78,12 +78,12 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::W::•().{self::W::native});
- core::print(new self::X::•().{self::X::native}());
- core::print(new self::Y2::•().{self::Y2::native});
+ core::print(new self::W::•().{self::W::native}{core::String*});
+ core::print(new self::X::•().{self::X::native}(){() →* core::String*});
+ core::print(new self::Y2::•().{self::Y2::native}{core::String*});
core::print((let final self::Z* #t1 = new self::Z::•() in block {
#t1.{self::Z::native} = "setter";
- } =>#t1).{self::Z::f});
+ } =>#t1).{self::Z::f}{core::String*});
}
constants {
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart.weak.expect b/pkg/front_end/testcases/general/nested_property_set.dart.weak.expect
index 7283345..692bedb 100644
--- a/pkg/front_end/testcases/general/nested_property_set.dart.weak.expect
+++ b/pkg/front_end/testcases/general/nested_property_set.dart.weak.expect
@@ -55,11 +55,11 @@
self::IntField* intField2 = new self::IntField::•();
self::NumField* numField = new self::NumField::•();
self::DoubleField* doubleField = new self::DoubleField::•();
- intField1.{self::IntField::field} = (intField2.{self::IntField::field} = numField.{self::NumField::field} as{TypeError} core::int*) as{TypeError} core::int*;
- intField1.{self::IntField::field} = numField.{self::NumField::field} = intField2.{self::IntField::field};
+ intField1.{self::IntField::field} = (intField2.{self::IntField::field} = numField.{self::NumField::field}{core::num*} as{TypeError} core::int*) as{TypeError} core::int*;
+ intField1.{self::IntField::field} = numField.{self::NumField::field} = intField2.{self::IntField::field}{core::int*};
try {
numField.{self::NumField::field} = 0.5;
- intField1.{self::IntField::field} = (doubleField.{self::DoubleField::field} = numField.{self::NumField::field} as{TypeError} core::double*) as{TypeError} core::int*;
+ intField1.{self::IntField::field} = (doubleField.{self::DoubleField::field} = numField.{self::NumField::field}{core::num*} as{TypeError} core::double*) as{TypeError} core::int*;
throw "Should fail";
}
on dynamic catch(final dynamic _) {
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart.weak.transformed.expect b/pkg/front_end/testcases/general/nested_property_set.dart.weak.transformed.expect
index 61ef9de..d3d7620 100644
--- a/pkg/front_end/testcases/general/nested_property_set.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/nested_property_set.dart.weak.transformed.expect
@@ -55,11 +55,11 @@
self::IntField* intField2 = new self::IntField::•();
self::NumField* numField = new self::NumField::•();
self::DoubleField* doubleField = new self::DoubleField::•();
- intField1.{self::IntField::field} = intField2.{self::IntField::field} = numField.{self::NumField::field} as{TypeError} core::int*;
- intField1.{self::IntField::field} = numField.{self::NumField::field} = intField2.{self::IntField::field};
+ intField1.{self::IntField::field} = intField2.{self::IntField::field} = numField.{self::NumField::field}{core::num*} as{TypeError} core::int*;
+ intField1.{self::IntField::field} = numField.{self::NumField::field} = intField2.{self::IntField::field}{core::int*};
try {
numField.{self::NumField::field} = 0.5;
- intField1.{self::IntField::field} = (doubleField.{self::DoubleField::field} = numField.{self::NumField::field} as{TypeError} core::double*) as{TypeError} core::int*;
+ intField1.{self::IntField::field} = (doubleField.{self::DoubleField::field} = numField.{self::NumField::field}{core::num*} as{TypeError} core::double*) as{TypeError} core::int*;
throw "Should fail";
}
on dynamic catch(final dynamic _) {
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect
index a1bc0ad..e2b0f2d 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect
@@ -11,7 +11,7 @@
core::print("hello");
}
method foo() → void
- return this.{self::X::_foo}();
+ return this.{self::X::_foo}(){() →* void};
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
@@ -40,13 +40,13 @@
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 _foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
no-such-method-forwarder method foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
}
static method main() → dynamic {
self::Y* y = new self::Y::•();
- y.{self::X::foo}();
+ y.{self::X::foo}(){() →* void};
}
constants {
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect
index ac5db6a..9be8c51 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect
@@ -35,9 +35,9 @@
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 _foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#_foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#_foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* void};
no-such-method-forwarder method foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* void};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect
index 72d4454..be2cc3e 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect
@@ -38,7 +38,7 @@
return :async_future;
}
method foo() → void
- return this.{self::X::_foo}();
+ return this.{self::X::_foo}(){() →* void};
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
@@ -67,13 +67,13 @@
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 _foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
no-such-method-forwarder method foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
}
static method main() → dynamic {
self::Y* y = new self::Y::•();
- y.{self::X::foo}();
+ y.{self::X::foo}(){() →* void};
}
constants {
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect
index ddb32d6..6728bd2 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect
@@ -20,9 +20,9 @@
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 get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int* value) → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {
no_::baz(new self::Foo::•());
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect
index 14a8225..d5c3d92 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect
@@ -19,9 +19,9 @@
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 get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int* value) → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect
index 3e79735..79287b9 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect
@@ -20,9 +20,9 @@
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 get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int* value) → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {
no_::baz(new self::Foo::•());
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect
index 2f9cd4a..5e6241d 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect
@@ -22,35 +22,35 @@
: self::C::field1 = field1, self::C::field2 = () → self::C::T* => field1, self::C::field3 = (self::C::T* t) → Null {}, self::C::field4 = (self::C::T* t) → self::C::T* => t, self::C::field5 = () → () →* self::C::T* => () → self::C::T* => field1, self::C::field6 = (() →* self::C::T* f) → Null {}, self::C::field7 = (() →* self::C::T* f) → self::C::T* => field1, self::C::field8 = ((self::C::T*) →* void f) → Null {}, self::C::field9 = ((self::C::T*) →* void f) → self::C::T* => field1, self::C::field10 = ((self::C::T*) →* self::C::T* f) → Null {}, self::C::field11 = ((self::C::T*) →* self::C::T* f) → self::C::T* => field1, self::C::field12 = <S extends self::C::T*>() → Null => null, self::C::field13 = <S extends self::C::T*>(S* s) → Null {}, self::C::field14 = <S extends self::C::T*>(S* s) → S* => s, self::C::field15 = (<S extends self::C::T*>() →* S* f) → Null {}, super core::Object::•()
;
get getter1() → self::C::T*
- return this.{self::C::field1};
+ return this.{self::C::field1}{self::C::T*};
get getter2() → () →* self::C::T*
- return this.{self::C::field2};
+ return this.{self::C::field2}{() →* self::C::T*};
get getter3() → (self::C::T*) →* void
- return this.{self::C::field3};
+ return this.{self::C::field3}{(self::C::T*) →* void};
get getter4() → (self::C::T*) →* self::C::T*
- return this.{self::C::field4};
+ return this.{self::C::field4}{(self::C::T*) →* self::C::T*};
get getter5() → () →* () →* self::C::T*
- return this.{self::C::field5};
+ return this.{self::C::field5}{() →* () →* self::C::T*};
get getter6() → (() →* self::C::T*) →* void
- return this.{self::C::field6};
+ return this.{self::C::field6}{(() →* self::C::T*) →* void};
get getter7() → (() →* self::C::T*) →* self::C::T*
- return this.{self::C::field7};
+ return this.{self::C::field7}{(() →* self::C::T*) →* self::C::T*};
get getter8() → ((self::C::T*) →* void) →* void
- return this.{self::C::field8};
+ return this.{self::C::field8}{((self::C::T*) →* void) →* void};
get getter9() → ((self::C::T*) →* void) →* self::C::T*
- return this.{self::C::field9};
+ return this.{self::C::field9}{((self::C::T*) →* void) →* self::C::T*};
get getter10() → ((self::C::T*) →* self::C::T*) →* void
- return this.{self::C::field10};
+ return this.{self::C::field10}{((self::C::T*) →* self::C::T*) →* void};
get getter11() → ((self::C::T*) →* self::C::T*) →* self::C::T*
- return this.{self::C::field11};
+ return this.{self::C::field11}{((self::C::T*) →* self::C::T*) →* self::C::T*};
get getter12() → <S extends self::C::T* = dynamic>() →* S*
- return this.{self::C::field12};
+ return this.{self::C::field12}{<S extends self::C::T* = dynamic>() →* S*};
get getter13() → <S extends self::C::T* = dynamic>(S*) →* void
- return this.{self::C::field13};
+ return this.{self::C::field13}{<S extends self::C::T* = dynamic>(S*) →* void};
get getter14() → <S extends self::C::T* = dynamic>(S*) →* S*
- return this.{self::C::field14};
+ return this.{self::C::field14}{<S extends self::C::T* = dynamic>(S*) →* S*};
get getter15() → (<S extends self::C::T* = dynamic>() →* S*) →* void
- return this.{self::C::field15};
+ return this.{self::C::field15}{(<S extends self::C::T* = dynamic>() →* S*) →* void};
set setter1(generic-covariant-impl self::C::T* value) → void {
this.{self::C::field1} = value;
}
@@ -154,151 +154,151 @@
}
static method main() → dynamic {
self::C<core::num*>* c = new self::C::•<core::int*>(0);
- c.{self::C::field1};
- c.{self::C::field2};
+ c.{self::C::field1}{core::num*};
+ c.{self::C::field2}{() →* core::num*};
try {
- c.{self::C::field3} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::field3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field4} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::field4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::field5};
+ c.{self::C::field5}{() →* () →* core::num*};
try {
- c.{self::C::field6} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::field6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field7} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::field7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::field8};
- c.{self::C::field9};
+ c.{self::C::field8}{((core::num*) →* void) →* void};
+ c.{self::C::field9}{((core::num*) →* void) →* core::num*};
try {
- c.{self::C::field10} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::field10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field11} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::field11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field12} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::field12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field13} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::field13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field14} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::field14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field15} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::field15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::getter1};
- c.{self::C::getter2};
+ c.{self::C::getter1}{core::num*};
+ c.{self::C::getter2}{() →* core::num*};
try {
- c.{self::C::getter3} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::getter3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter4} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::getter4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::getter5};
+ c.{self::C::getter5}{() →* () →* core::num*};
try {
- c.{self::C::getter6} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::getter6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter7} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::getter7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::getter8};
- c.{self::C::getter9};
+ c.{self::C::getter8}{((core::num*) →* void) →* void};
+ c.{self::C::getter9}{((core::num*) →* void) →* core::num*};
try {
- c.{self::C::getter10} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::getter10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter11} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::getter11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter12} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::getter12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter13} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::getter13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter14} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::getter14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter15} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::getter15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
@@ -398,93 +398,93 @@
core::print(e);
}
try {
- c.{self::C::method1}(0.5);
+ c.{self::C::method1}(0.5){(core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method2}(() → core::double* => 0.5);
+ c.{self::C::method2}(() → core::double* => 0.5){(() →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::method3}((core::num* n) → Null {});
+ c.{self::C::method3}((core::num* n) → Null {}){((core::num*) →* void) →* void};
try {
- c.{self::C::method4}((core::num* n) → core::double* => 0.5);
+ c.{self::C::method4}((core::num* n) → core::double* => 0.5){((core::num*) →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method5}(() → () →* core::double* => () → core::double* => 0.5);
+ c.{self::C::method5}(() → () →* core::double* => () → core::double* => 0.5){(() →* () →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::method6}((() →* core::num* f) → Null {});
+ c.{self::C::method6}((() →* core::num* f) → Null {}){((() →* core::num*) →* void) →* void};
try {
- c.{self::C::method7}((() →* core::num* f) → core::double* => 0.5);
+ c.{self::C::method7}((() →* core::num* f) → core::double* => 0.5){((() →* core::num*) →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method8}(((core::double*) →* void f) → Null {});
+ c.{self::C::method8}(((core::double*) →* void f) → Null {}){(((core::num*) →* void) →* void) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method9}(((core::double*) →* void f) → core::double* => 0.5);
+ c.{self::C::method9}(((core::double*) →* void f) → core::double* => 0.5){(((core::num*) →* void) →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method10}(((core::double*) →* core::num* f) → Null {});
+ c.{self::C::method10}(((core::double*) →* core::num* f) → Null {}){(((core::num*) →* core::num*) →* void) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method11}(((core::double*) →* core::num* f) → core::double* => 0.5);
+ c.{self::C::method11}(((core::double*) →* core::num* f) → core::double* => 0.5){(((core::num*) →* core::num*) →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method12}(<S extends core::num*>() → Null => null);
+ c.{self::C::method12}(<S extends core::num*>() → Null => null){(<S extends core::num* = dynamic>() →* S*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method13}(<S extends core::num*>(S* s) → Null {});
+ c.{self::C::method13}(<S extends core::num*>(S* s) → Null {}){(<S extends core::num* = dynamic>(S*) →* void) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method14}(<S extends core::num*>(S* s) → S* => s);
+ c.{self::C::method14}(<S extends core::num*>(S* s) → S* => s){(<S extends core::num* = dynamic>(S*) →* S*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method15}((<S extends core::num*>() →* S* f) → Null {});
+ c.{self::C::method15}((<S extends core::num*>() →* S* f) → Null {}){((<S extends core::num* = dynamic>() →* S*) →* void) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect
index 2f9cd4a..5e6241d 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect
@@ -22,35 +22,35 @@
: self::C::field1 = field1, self::C::field2 = () → self::C::T* => field1, self::C::field3 = (self::C::T* t) → Null {}, self::C::field4 = (self::C::T* t) → self::C::T* => t, self::C::field5 = () → () →* self::C::T* => () → self::C::T* => field1, self::C::field6 = (() →* self::C::T* f) → Null {}, self::C::field7 = (() →* self::C::T* f) → self::C::T* => field1, self::C::field8 = ((self::C::T*) →* void f) → Null {}, self::C::field9 = ((self::C::T*) →* void f) → self::C::T* => field1, self::C::field10 = ((self::C::T*) →* self::C::T* f) → Null {}, self::C::field11 = ((self::C::T*) →* self::C::T* f) → self::C::T* => field1, self::C::field12 = <S extends self::C::T*>() → Null => null, self::C::field13 = <S extends self::C::T*>(S* s) → Null {}, self::C::field14 = <S extends self::C::T*>(S* s) → S* => s, self::C::field15 = (<S extends self::C::T*>() →* S* f) → Null {}, super core::Object::•()
;
get getter1() → self::C::T*
- return this.{self::C::field1};
+ return this.{self::C::field1}{self::C::T*};
get getter2() → () →* self::C::T*
- return this.{self::C::field2};
+ return this.{self::C::field2}{() →* self::C::T*};
get getter3() → (self::C::T*) →* void
- return this.{self::C::field3};
+ return this.{self::C::field3}{(self::C::T*) →* void};
get getter4() → (self::C::T*) →* self::C::T*
- return this.{self::C::field4};
+ return this.{self::C::field4}{(self::C::T*) →* self::C::T*};
get getter5() → () →* () →* self::C::T*
- return this.{self::C::field5};
+ return this.{self::C::field5}{() →* () →* self::C::T*};
get getter6() → (() →* self::C::T*) →* void
- return this.{self::C::field6};
+ return this.{self::C::field6}{(() →* self::C::T*) →* void};
get getter7() → (() →* self::C::T*) →* self::C::T*
- return this.{self::C::field7};
+ return this.{self::C::field7}{(() →* self::C::T*) →* self::C::T*};
get getter8() → ((self::C::T*) →* void) →* void
- return this.{self::C::field8};
+ return this.{self::C::field8}{((self::C::T*) →* void) →* void};
get getter9() → ((self::C::T*) →* void) →* self::C::T*
- return this.{self::C::field9};
+ return this.{self::C::field9}{((self::C::T*) →* void) →* self::C::T*};
get getter10() → ((self::C::T*) →* self::C::T*) →* void
- return this.{self::C::field10};
+ return this.{self::C::field10}{((self::C::T*) →* self::C::T*) →* void};
get getter11() → ((self::C::T*) →* self::C::T*) →* self::C::T*
- return this.{self::C::field11};
+ return this.{self::C::field11}{((self::C::T*) →* self::C::T*) →* self::C::T*};
get getter12() → <S extends self::C::T* = dynamic>() →* S*
- return this.{self::C::field12};
+ return this.{self::C::field12}{<S extends self::C::T* = dynamic>() →* S*};
get getter13() → <S extends self::C::T* = dynamic>(S*) →* void
- return this.{self::C::field13};
+ return this.{self::C::field13}{<S extends self::C::T* = dynamic>(S*) →* void};
get getter14() → <S extends self::C::T* = dynamic>(S*) →* S*
- return this.{self::C::field14};
+ return this.{self::C::field14}{<S extends self::C::T* = dynamic>(S*) →* S*};
get getter15() → (<S extends self::C::T* = dynamic>() →* S*) →* void
- return this.{self::C::field15};
+ return this.{self::C::field15}{(<S extends self::C::T* = dynamic>() →* S*) →* void};
set setter1(generic-covariant-impl self::C::T* value) → void {
this.{self::C::field1} = value;
}
@@ -154,151 +154,151 @@
}
static method main() → dynamic {
self::C<core::num*>* c = new self::C::•<core::int*>(0);
- c.{self::C::field1};
- c.{self::C::field2};
+ c.{self::C::field1}{core::num*};
+ c.{self::C::field2}{() →* core::num*};
try {
- c.{self::C::field3} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::field3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field4} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::field4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::field5};
+ c.{self::C::field5}{() →* () →* core::num*};
try {
- c.{self::C::field6} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::field6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field7} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::field7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::field8};
- c.{self::C::field9};
+ c.{self::C::field8}{((core::num*) →* void) →* void};
+ c.{self::C::field9}{((core::num*) →* void) →* core::num*};
try {
- c.{self::C::field10} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::field10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field11} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::field11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field12} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::field12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field13} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::field13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field14} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::field14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::field15} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::field15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::getter1};
- c.{self::C::getter2};
+ c.{self::C::getter1}{core::num*};
+ c.{self::C::getter2}{() →* core::num*};
try {
- c.{self::C::getter3} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::getter3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter4} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::getter4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::getter5};
+ c.{self::C::getter5}{() →* () →* core::num*};
try {
- c.{self::C::getter6} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::getter6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter7} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::getter7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::getter8};
- c.{self::C::getter9};
+ c.{self::C::getter8}{((core::num*) →* void) →* void};
+ c.{self::C::getter9}{((core::num*) →* void) →* core::num*};
try {
- c.{self::C::getter10} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::getter10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter11} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::getter11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter12} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::getter12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter13} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::getter13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter14} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::getter14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::getter15} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::getter15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
@@ -398,93 +398,93 @@
core::print(e);
}
try {
- c.{self::C::method1}(0.5);
+ c.{self::C::method1}(0.5){(core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method2}(() → core::double* => 0.5);
+ c.{self::C::method2}(() → core::double* => 0.5){(() →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::method3}((core::num* n) → Null {});
+ c.{self::C::method3}((core::num* n) → Null {}){((core::num*) →* void) →* void};
try {
- c.{self::C::method4}((core::num* n) → core::double* => 0.5);
+ c.{self::C::method4}((core::num* n) → core::double* => 0.5){((core::num*) →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method5}(() → () →* core::double* => () → core::double* => 0.5);
+ c.{self::C::method5}(() → () →* core::double* => () → core::double* => 0.5){(() →* () →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
- c.{self::C::method6}((() →* core::num* f) → Null {});
+ c.{self::C::method6}((() →* core::num* f) → Null {}){((() →* core::num*) →* void) →* void};
try {
- c.{self::C::method7}((() →* core::num* f) → core::double* => 0.5);
+ c.{self::C::method7}((() →* core::num* f) → core::double* => 0.5){((() →* core::num*) →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method8}(((core::double*) →* void f) → Null {});
+ c.{self::C::method8}(((core::double*) →* void f) → Null {}){(((core::num*) →* void) →* void) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method9}(((core::double*) →* void f) → core::double* => 0.5);
+ c.{self::C::method9}(((core::double*) →* void f) → core::double* => 0.5){(((core::num*) →* void) →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method10}(((core::double*) →* core::num* f) → Null {});
+ c.{self::C::method10}(((core::double*) →* core::num* f) → Null {}){(((core::num*) →* core::num*) →* void) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method11}(((core::double*) →* core::num* f) → core::double* => 0.5);
+ c.{self::C::method11}(((core::double*) →* core::num* f) → core::double* => 0.5){(((core::num*) →* core::num*) →* core::num*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method12}(<S extends core::num*>() → Null => null);
+ c.{self::C::method12}(<S extends core::num*>() → Null => null){(<S extends core::num* = dynamic>() →* S*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method13}(<S extends core::num*>(S* s) → Null {});
+ c.{self::C::method13}(<S extends core::num*>(S* s) → Null {}){(<S extends core::num* = dynamic>(S*) →* void) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method14}(<S extends core::num*>(S* s) → S* => s);
+ c.{self::C::method14}(<S extends core::num*>(S* s) → S* => s){(<S extends core::num* = dynamic>(S*) →* S*) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
core::print(e);
}
try {
- c.{self::C::method15}((<S extends core::num*>() →* S* f) → Null {});
+ c.{self::C::method15}((<S extends core::num*>() →* S* f) → Null {}){((<S extends core::num* = dynamic>() →* S*) →* void) →* void};
throw "TypeError expected";
}
on core::TypeError* catch(final core::TypeError* e) {
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect
index ee2b26a..7f2d6c50 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect
@@ -60,13 +60,13 @@
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 _method1(core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a = #C1, covariant core::int* b = #C1, generic-covariant-impl core::int* c = #C1, covariant generic-covariant-impl core::int* d = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d})));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* a, generic-covariant-impl core::int* b) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a = #C1, generic-covariant-impl core::int* b = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b})));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
}
class D4 extends core::Object implements nsm::B, nsm::A<core::int*> {
synthetic constructor •() → self::D4*
@@ -85,13 +85,13 @@
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 _method1(core::int* x, covariant core::int* y, generic-covariant-impl core::int* z, covariant generic-covariant-impl core::int* w) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a = #C1, covariant core::int* b = #C1, generic-covariant-impl core::int* c = #C1, covariant generic-covariant-impl core::int* d = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d})));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* x, generic-covariant-impl core::int* y) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a = #C1, generic-covariant-impl core::int* b = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b})));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
@@ -192,13 +192,13 @@
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 _method1(core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a = #C1, covariant core::int* b = #C1, generic-covariant-impl core::int* c = #C1, covariant generic-covariant-impl core::int* d = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d})));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* a, generic-covariant-impl core::int* b) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a = #C1, generic-covariant-impl core::int* b = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b})));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
}
class C4 extends core::Object implements nsm::B, nsm::A<core::int*> {
synthetic constructor •() → nsm::C4*
@@ -217,13 +217,13 @@
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 _method1(core::int* x, covariant core::int* y, generic-covariant-impl core::int* z, covariant generic-covariant-impl core::int* w) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a = #C1, covariant core::int* b = #C1, generic-covariant-impl core::int* c = #C1, covariant generic-covariant-impl core::int* d = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d})));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* x, generic-covariant-impl core::int* y) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a = #C1, generic-covariant-impl core::int* b = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b})));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect
index 0376936..e07accc 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect
@@ -57,13 +57,13 @@
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 _method1(core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d})));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* a, generic-covariant-impl core::int* b) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a, generic-covariant-impl core::int* b}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b})));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation*) →* dynamic};
}
class D4 extends core::Object implements nsm::B, nsm::A<core::int*> {
synthetic constructor •() → self::D4*
@@ -81,13 +81,13 @@
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 _method1(core::int* x, covariant core::int* y, generic-covariant-impl core::int* z, covariant generic-covariant-impl core::int* w) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d})));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* x, generic-covariant-impl core::int* y) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a, generic-covariant-impl core::int* b}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b})));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
@@ -184,13 +184,13 @@
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 _method1(core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d})));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* a, generic-covariant-impl core::int* b) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a, generic-covariant-impl core::int* b}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b})));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation*) →* dynamic};
}
class C4 extends core::Object implements nsm::B, nsm::A<core::int*> {
synthetic constructor •() → nsm::C4*
@@ -208,13 +208,13 @@
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 _method1(core::int* x, covariant core::int* y, generic-covariant-impl core::int* z, covariant generic-covariant-impl core::int* w) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d})));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* x, generic-covariant-impl core::int* y) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a, generic-covariant-impl core::int* b}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b})));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation*) →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect
index 63f9b2e..e66febb 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect
@@ -60,13 +60,13 @@
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 _method1(core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(a, b, c, d)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(a, b, c, d)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a = #C1, covariant core::int* b = #C1, generic-covariant-impl core::int* c = #C1, covariant generic-covariant-impl core::int* d = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d})));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* a, generic-covariant-impl core::int* b) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(a, b)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(a, b)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a = #C1, generic-covariant-impl core::int* b = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b})));
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
}
class D4 extends core::Object implements nsm::B, nsm::A<core::int*> {
synthetic constructor •() → self::D4*
@@ -85,13 +85,13 @@
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 _method1(core::int* x, covariant core::int* y, generic-covariant-impl core::int* z, covariant generic-covariant-impl core::int* w) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(x, y, z, w)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(x, y, z, w)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a = #C1, covariant core::int* b = #C1, generic-covariant-impl core::int* c = #C1, covariant generic-covariant-impl core::int* d = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d})));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* x, generic-covariant-impl core::int* y) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(x, y)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(x, y)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a = #C1, generic-covariant-impl core::int* b = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b})));
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
@@ -192,13 +192,13 @@
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 _method1(core::int* a, covariant core::int* b, generic-covariant-impl core::int* c, covariant generic-covariant-impl core::int* d) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(a, b, c, d)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(a, b, c, d)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a = #C1, covariant core::int* b = #C1, generic-covariant-impl core::int* c = #C1, covariant generic-covariant-impl core::int* d = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d})));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* a, generic-covariant-impl core::int* b) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(a, b)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(a, b)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a = #C1, generic-covariant-impl core::int* b = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b})));
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
}
class C4 extends core::Object implements nsm::B, nsm::A<core::int*> {
synthetic constructor •() → nsm::C4*
@@ -217,13 +217,13 @@
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 _method1(core::int* x, covariant core::int* y, generic-covariant-impl core::int* z, covariant generic-covariant-impl core::int* w) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(x, y, z, w)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(x, y, z, w)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method2({core::int* a = #C1, covariant core::int* b = #C1, generic-covariant-impl core::int* c = #C1, covariant generic-covariant-impl core::int* d = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d})));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method3(covariant core::int* x, generic-covariant-impl core::int* y) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(x, y)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6)));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(x, y)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C6))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method _method4({covariant core::int* a = #C1, generic-covariant-impl core::int* b = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b})));
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C5, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/general/null_aware.dart.weak.expect b/pkg/front_end/testcases/general/null_aware.dart.weak.expect
index 6cfab2a..6e39869 100644
--- a/pkg/front_end/testcases/general/null_aware.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_aware.dart.weak.expect
@@ -21,12 +21,12 @@
}
static method main() → dynamic {
self::Foo* foo = new self::Foo::•();
- let final self::Foo* #t1 = foo in #t1.{self::Foo::==}(null) ?{core::int*} null : #t1.{self::Foo::field} = 5;
+ let final self::Foo* #t1 = foo in #t1 == null ?{core::int*} null : #t1.{self::Foo::field} = 5;
self::Foo::staticField = 5;
- let final self::Foo* #t2 = foo in #t2.{self::Foo::field}.{core::num::==}(null) ?{core::int*} #t2.{self::Foo::field} = 5 : null;
- self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 5 : null;
- let final self::Foo* #t3 = foo in #t3.{self::Foo::==}(null) ?{core::int*} null : #t3.{self::Foo::field}.{core::num::==}(null) ?{core::int*} #t3.{self::Foo::field} = 5 : null;
- self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 5 : null;
- core::int* intValue = let final core::int* #t4 = foo.{self::Foo::field} in #t4.{core::num::==}(null) ?{core::int*} 6 : #t4;
- core::num* numValue = let final core::int* #t5 = foo.{self::Foo::field} in #t5.{core::num::==}(null) ?{core::num*} 4.5 : #t5;
+ let final self::Foo* #t2 = foo in #t2.{self::Foo::field}{core::int*} == null ?{core::int*} #t2.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int*} self::Foo::staticField = 5 : null;
+ let final self::Foo* #t3 = foo in #t3 == null ?{core::int*} null : #t3.{self::Foo::field}{core::int*} == null ?{core::int*} #t3.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int*} self::Foo::staticField = 5 : null;
+ core::int* intValue = let final core::int* #t4 = foo.{self::Foo::field}{core::int*} in #t4 == null ?{core::int*} 6 : #t4;
+ core::num* numValue = let final core::int* #t5 = foo.{self::Foo::field}{core::int*} in #t5 == null ?{core::num*} 4.5 : #t5;
}
diff --git a/pkg/front_end/testcases/general/null_aware.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_aware.dart.weak.transformed.expect
index 6cfab2a..6e39869 100644
--- a/pkg/front_end/testcases/general/null_aware.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_aware.dart.weak.transformed.expect
@@ -21,12 +21,12 @@
}
static method main() → dynamic {
self::Foo* foo = new self::Foo::•();
- let final self::Foo* #t1 = foo in #t1.{self::Foo::==}(null) ?{core::int*} null : #t1.{self::Foo::field} = 5;
+ let final self::Foo* #t1 = foo in #t1 == null ?{core::int*} null : #t1.{self::Foo::field} = 5;
self::Foo::staticField = 5;
- let final self::Foo* #t2 = foo in #t2.{self::Foo::field}.{core::num::==}(null) ?{core::int*} #t2.{self::Foo::field} = 5 : null;
- self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 5 : null;
- let final self::Foo* #t3 = foo in #t3.{self::Foo::==}(null) ?{core::int*} null : #t3.{self::Foo::field}.{core::num::==}(null) ?{core::int*} #t3.{self::Foo::field} = 5 : null;
- self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 5 : null;
- core::int* intValue = let final core::int* #t4 = foo.{self::Foo::field} in #t4.{core::num::==}(null) ?{core::int*} 6 : #t4;
- core::num* numValue = let final core::int* #t5 = foo.{self::Foo::field} in #t5.{core::num::==}(null) ?{core::num*} 4.5 : #t5;
+ let final self::Foo* #t2 = foo in #t2.{self::Foo::field}{core::int*} == null ?{core::int*} #t2.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int*} self::Foo::staticField = 5 : null;
+ let final self::Foo* #t3 = foo in #t3 == null ?{core::int*} null : #t3.{self::Foo::field}{core::int*} == null ?{core::int*} #t3.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int*} self::Foo::staticField = 5 : null;
+ core::int* intValue = let final core::int* #t4 = foo.{self::Foo::field}{core::int*} in #t4 == null ?{core::int*} 6 : #t4;
+ core::num* numValue = let final core::int* #t5 = foo.{self::Foo::field}{core::int*} in #t5 == null ?{core::num*} 4.5 : #t5;
}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect
index 2c4a16c..46f5652 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect
@@ -20,7 +20,7 @@
static method main() → dynamic {
dynamic o;
if(false) {
- for (final dynamic #t1 in (let final dynamic #t2 = o in #t2.{core::Object::==}(null) ?{dynamic} null : #t2.iterable) as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+ for (final dynamic #t1 in (let final dynamic #t2 = o in #t2 == null ?{dynamic} null : #t2{dynamic}.iterable) as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
self::Class* c = #t1 as{TypeError,ForDynamic} self::Class*;
}
}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.transformed.expect
index 8bd8e5e..dede444 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.transformed.expect
@@ -21,7 +21,7 @@
dynamic o;
if(false) {
{
- core::Iterator<dynamic>* :sync-for-iterator = ((let final dynamic #t1 = o in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.iterable) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
+ core::Iterator<dynamic>* :sync-for-iterator = ((let final dynamic #t1 = o in #t1 == null ?{dynamic} null : #t1{dynamic}.iterable) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
{
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.expect b/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.expect
index e7859b1..b31646a 100644
--- a/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.expect
@@ -42,6 +42,6 @@
}
static method main() → dynamic {
self::A* a;
- let final self::A* #t1 = a in #t1.{self::A::==}(null) ?{self::B*} null : #t1.{self::A::b} = #t1.{self::A::b}.{self::B::+}(1);
- self::C* c = (let final self::A* #t2 = a in #t2.{self::A::==}(null) ?{self::B*} null : let final self::B* #t3 = #t2.{self::A::b} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1) in #t3) as{TypeError} self::C*;
+ let final self::A* #t1 = a in #t1 == null ?{self::B*} null : #t1.{self::A::b} = #t1.{self::A::b}{self::B*}.{self::B::+}(1){(core::int*) →* self::C*};
+ self::C* c = (let final self::A* #t2 = a in #t2 == null ?{self::B*} null : let final self::B* #t3 = #t2.{self::A::b}{self::B*} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1){(core::int*) →* self::C*} in #t3) as{TypeError} self::C*;
}
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.transformed.expect
index e7859b1..b31646a 100644
--- a/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.transformed.expect
@@ -42,6 +42,6 @@
}
static method main() → dynamic {
self::A* a;
- let final self::A* #t1 = a in #t1.{self::A::==}(null) ?{self::B*} null : #t1.{self::A::b} = #t1.{self::A::b}.{self::B::+}(1);
- self::C* c = (let final self::A* #t2 = a in #t2.{self::A::==}(null) ?{self::B*} null : let final self::B* #t3 = #t2.{self::A::b} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1) in #t3) as{TypeError} self::C*;
+ let final self::A* #t1 = a in #t1 == null ?{self::B*} null : #t1.{self::A::b} = #t1.{self::A::b}{self::B*}.{self::B::+}(1){(core::int*) →* self::C*};
+ self::C* c = (let final self::A* #t2 = a in #t2 == null ?{self::B*} null : let final self::B* #t3 = #t2.{self::A::b}{self::B*} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1){(core::int*) →* self::C*} in #t3) as{TypeError} self::C*;
}
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect
index 807a6b5..897aefa 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect
@@ -7,27 +7,27 @@
list = block {
final core::List<core::String*>* #t1 = <core::String*>["foo"];
final core::Iterable<core::String*>* #t2 = list;
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2);
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2){(core::Iterable<core::String*>*) →* void};
} =>#t1;
}
static method nullAwareSetSpread(core::Set<core::String*>* set) → dynamic {
set = block {
final core::Set<core::String*>* #t3 = col::LinkedHashSet::•<core::String*>();
- #t3.{core::Set::add}{Invariant}("foo");
+ #t3.{core::Set::add}("foo"){(core::String*) →* core::bool*};
final core::Iterable<core::String*>* #t4 = set;
- if(!#t4.{core::Object::==}(null))
- #t3.{core::Set::addAll}{Invariant}(#t4);
+ if(!(#t4 == null))
+ #t3.{core::Set::addAll}(#t4){(core::Iterable<core::String*>*) →* void};
} =>#t3;
}
static method nullAwareMapSpread(core::Map<core::int*, core::String*>* map) → dynamic {
map = block {
final core::Map<core::int*, core::String*>* #t5 = <core::int*, core::String*>{};
- #t5.{core::Map::[]=}{Invariant}(0, "foo");
+ #t5.{core::Map::[]=}(0, "foo"){(core::int*, core::String*) →* void};
final core::Map<core::int*, core::String*>* #t6 = map;
- if(!#t6.{core::Object::==}(null))
+ if(!(#t6 == null))
for (final core::MapEntry<core::int*, core::String*>* #t7 in #t6.{core::Map::entries})
- #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
+ #t5.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value}){(core::int*, core::String*) →* void};
} =>#t5;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect
index 485db8b..ed90256 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect
@@ -7,29 +7,29 @@
list = block {
final core::List<core::String*>* #t1 = core::_GrowableList::_literal1<core::String*>("foo");
final core::Iterable<core::String*>* #t2 = list;
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2);
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2){(core::Iterable<core::String*>*) →* void};
} =>#t1;
}
static method nullAwareSetSpread(core::Set<core::String*>* set) → dynamic {
set = block {
final core::Set<core::String*>* #t3 = new col::_CompactLinkedHashSet::•<core::String*>();
- #t3.{core::Set::add}{Invariant}("foo");
+ #t3.{core::Set::add}("foo"){(core::String*) →* core::bool*};
final core::Iterable<core::String*>* #t4 = set;
- if(!#t4.{core::Object::==}(null))
- #t3.{core::Set::addAll}{Invariant}(#t4);
+ if(!(#t4 == null))
+ #t3.{core::Set::addAll}(#t4){(core::Iterable<core::String*>*) →* void};
} =>#t3;
}
static method nullAwareMapSpread(core::Map<core::int*, core::String*>* map) → dynamic {
map = block {
final core::Map<core::int*, core::String*>* #t5 = <core::int*, core::String*>{};
- #t5.{core::Map::[]=}{Invariant}(0, "foo");
+ #t5.{core::Map::[]=}(0, "foo"){(core::int*, core::String*) →* void};
final core::Map<core::int*, core::String*>* #t6 = map;
- if(!#t6.{core::Object::==}(null)) {
+ if(!(#t6 == null)) {
core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = #t6.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::String*>* #t7 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
+ #t5.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value}){(core::int*, core::String*) →* void};
}
}
} =>#t5;
diff --git a/pkg/front_end/testcases/general/null_check_type_variable_type.dart.weak.expect b/pkg/front_end/testcases/general/null_check_type_variable_type.dart.weak.expect
index 02008c5..bafec9d 100644
--- a/pkg/front_end/testcases/general/null_check_type_variable_type.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_check_type_variable_type.dart.weak.expect
@@ -14,14 +14,14 @@
: self::Class::element = element, super core::Object::•()
;
method setElement(generic-covariant-impl self::Class::E? element) → void {
- if(!this.{self::Class::element}.{core::Object::==}(element)) {
+ if(!(this.{self::Class::element}{self::Class::E?} =={core::Object::==}{(core::Object) → core::bool} element)) {
this.{self::Class::element} = element;
core::Set<self::Element> elements = col::LinkedHashSet::•<self::Element>();
- if(!element.{core::Object::==}(null)) {
- elements.{core::Set::add}(element{self::Class::E% & self::Element /* '%' & '!' = '!' */});
+ if(!(element == null)) {
+ elements.{core::Set::add}(element{self::Class::E% & self::Element /* '%' & '!' = '!' */}){(self::Element) → core::bool};
}
- if(!this.{self::Class::element}.{core::Object::==}(null)) {
- elements.{core::Set::add}(this.{self::Class::element}!);
+ if(!(this.{self::Class::element}{self::Class::E?} == null)) {
+ elements.{core::Set::add}(this.{self::Class::element}{self::Class::E?}!){(self::Element) → core::bool};
}
}
}
diff --git a/pkg/front_end/testcases/general/null_check_type_variable_type.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_check_type_variable_type.dart.weak.transformed.expect
index c5d8066..89db16d 100644
--- a/pkg/front_end/testcases/general/null_check_type_variable_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_check_type_variable_type.dart.weak.transformed.expect
@@ -14,14 +14,14 @@
: self::Class::element = element, super core::Object::•()
;
method setElement(generic-covariant-impl self::Class::E? element) → void {
- if(!this.{self::Class::element}.{core::Object::==}(element)) {
+ if(!(this.{self::Class::element}{self::Class::E?} =={core::Object::==}{(core::Object) → core::bool} element)) {
this.{self::Class::element} = element;
core::Set<self::Element> elements = new col::_CompactLinkedHashSet::•<self::Element>();
- if(!element.{core::Object::==}(null)) {
- elements.{core::Set::add}(element{self::Class::E% & self::Element /* '%' & '!' = '!' */});
+ if(!(element == null)) {
+ elements.{core::Set::add}(element{self::Class::E% & self::Element /* '%' & '!' = '!' */}){(self::Element) → core::bool};
}
- if(!this.{self::Class::element}.{core::Object::==}(null)) {
- elements.{core::Set::add}(this.{self::Class::element}!);
+ if(!(this.{self::Class::element}{self::Class::E?} == null)) {
+ elements.{core::Set::add}(this.{self::Class::element}{self::Class::E?}!){(self::Element) → core::bool};
}
}
}
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 0f69d4e..882b6d8 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
@@ -242,7 +242,7 @@
Try correcting the operator to an existing operator, or defining a '>=' operator.
print(foo >= 2);
^^");
- core::print(foo.{self::Foo::==}(2));
+ core::print(foo =={self::Foo::==}{(dynamic) →* 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.
@@ -321,46 +321,46 @@
core::print(<invalid-type>[]);
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:37:9: Error: This couldn't be parsed.
print(>foo);
- ^".>(foo));
+ ^"{dynamic}.>(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:38:9: Error: This couldn't be parsed.
print(<=foo);
- ^".<=(foo));
+ ^"{dynamic}.<=(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:39:9: Error: This couldn't be parsed.
print(>=foo);
- ^".>=(foo));
+ ^"{dynamic}.>=(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::==}(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);
- ^".+(foo));
+ ^"{dynamic}.+(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:42:9: Error: This couldn't be parsed.
print(/foo);
- ^"./(foo));
+ ^"{dynamic}./(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:43:9: Error: This couldn't be parsed.
print(~/foo);
- ^".~/(foo));
+ ^"{dynamic}.~/(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:44:9: Error: This couldn't be parsed.
print(*foo);
- ^".*(foo));
+ ^"{dynamic}.*(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:45:9: Error: This couldn't be parsed.
print(%foo);
- ^".%(foo));
+ ^"{dynamic}.%(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:46:9: Error: This couldn't be parsed.
print(|foo);
- ^".|(foo));
+ ^"{dynamic}.|(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:47:9: Error: This couldn't be parsed.
print(^foo);
- ^".^(foo));
+ ^"{dynamic}.^(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:48:9: Error: This couldn't be parsed.
print(&foo);
- ^".&(foo));
+ ^"{dynamic}.&(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:49:9: Error: This couldn't be parsed.
print(<<foo);
- ^".<<(foo));
+ ^"{dynamic}.<<(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:50:9: Error: This couldn't be parsed.
print(>>foo);
- ^".>>(foo));
+ ^"{dynamic}.>>(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:54:13: Error: '~' isn't a binary operator.
print(foo ~ 2);
^");
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 47a50d4..6908374 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
@@ -242,7 +242,7 @@
Try correcting the operator to an existing operator, or defining a '>=' operator.
print(foo >= 2);
^^");
- core::print(foo.{self::Foo::==}(2));
+ core::print(foo =={self::Foo::==}{(dynamic) →* 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.
@@ -321,46 +321,46 @@
core::print(core::_GrowableList::•<invalid-type>(0));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:37:9: Error: This couldn't be parsed.
print(>foo);
- ^".>(foo));
+ ^"{dynamic}.>(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:38:9: Error: This couldn't be parsed.
print(<=foo);
- ^".<=(foo));
+ ^"{dynamic}.<=(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:39:9: Error: This couldn't be parsed.
print(>=foo);
- ^".>=(foo));
+ ^"{dynamic}.>=(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::==}(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);
- ^".+(foo));
+ ^"{dynamic}.+(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:42:9: Error: This couldn't be parsed.
print(/foo);
- ^"./(foo));
+ ^"{dynamic}./(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:43:9: Error: This couldn't be parsed.
print(~/foo);
- ^".~/(foo));
+ ^"{dynamic}.~/(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:44:9: Error: This couldn't be parsed.
print(*foo);
- ^".*(foo));
+ ^"{dynamic}.*(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:45:9: Error: This couldn't be parsed.
print(%foo);
- ^".%(foo));
+ ^"{dynamic}.%(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:46:9: Error: This couldn't be parsed.
print(|foo);
- ^".|(foo));
+ ^"{dynamic}.|(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:47:9: Error: This couldn't be parsed.
print(^foo);
- ^".^(foo));
+ ^"{dynamic}.^(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:48:9: Error: This couldn't be parsed.
print(&foo);
- ^".&(foo));
+ ^"{dynamic}.&(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:49:9: Error: This couldn't be parsed.
print(<<foo);
- ^".<<(foo));
+ ^"{dynamic}.<<(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:50:9: Error: This couldn't be parsed.
print(>>foo);
- ^".>>(foo));
+ ^"{dynamic}.>>(foo));
core::print(invalid-expression "pkg/front_end/testcases/general/operator_method_not_found.dart:54:13: Error: '~' isn't a binary operator.
print(foo ~ 2);
^");
diff --git a/pkg/front_end/testcases/general/operators.dart.weak.expect b/pkg/front_end/testcases/general/operators.dart.weak.expect
index edc56e5..8796e3d4 100644
--- a/pkg/front_end/testcases/general/operators.dart.weak.expect
+++ b/pkg/front_end/testcases/general/operators.dart.weak.expect
@@ -58,24 +58,24 @@
static method main(dynamic arguments) → dynamic {
self::Operators* a = new self::Operators::•();
self::Operators* b = new self::Operators::•();
- a.{self::Operators::+}(b);
- a.{self::Operators::&}(b);
- a.{self::Operators::~}();
- a.{self::Operators::|}(b);
- a.{self::Operators::^}(b);
- a.{self::Operators::/}(b);
- a.{self::Operators::==}(b);
- a.{self::Operators::>}(b);
- a.{self::Operators::>=}(b);
- a.{self::Operators::[]}(0);
- a.{self::Operators::[]=}(0, b);
- a.{self::Operators::<<}(b);
- a.{self::Operators::<}(b);
- a.{self::Operators::<=}(b);
- a.{self::Operators::*}(b);
- a.{self::Operators::%}(b);
- a.{self::Operators::>>}(b);
- a.{self::Operators::-}(b);
- a.{self::Operators::~/}(b);
- a.{self::Operators::unary-}();
+ 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};
}
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 edc56e5..8796e3d4 100644
--- a/pkg/front_end/testcases/general/operators.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/operators.dart.weak.transformed.expect
@@ -58,24 +58,24 @@
static method main(dynamic arguments) → dynamic {
self::Operators* a = new self::Operators::•();
self::Operators* b = new self::Operators::•();
- a.{self::Operators::+}(b);
- a.{self::Operators::&}(b);
- a.{self::Operators::~}();
- a.{self::Operators::|}(b);
- a.{self::Operators::^}(b);
- a.{self::Operators::/}(b);
- a.{self::Operators::==}(b);
- a.{self::Operators::>}(b);
- a.{self::Operators::>=}(b);
- a.{self::Operators::[]}(0);
- a.{self::Operators::[]=}(0, b);
- a.{self::Operators::<<}(b);
- a.{self::Operators::<}(b);
- a.{self::Operators::<=}(b);
- a.{self::Operators::*}(b);
- a.{self::Operators::%}(b);
- a.{self::Operators::>>}(b);
- a.{self::Operators::-}(b);
- a.{self::Operators::~/}(b);
- a.{self::Operators::unary-}();
+ 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};
}
diff --git a/pkg/front_end/testcases/general/optional.dart.weak.expect b/pkg/front_end/testcases/general/optional.dart.weak.expect
index 2641647..0c2ea45 100644
--- a/pkg/front_end/testcases/general/optional.dart.weak.expect
+++ b/pkg/front_end/testcases/general/optional.dart.weak.expect
@@ -111,34 +111,34 @@
external static method createExternal() → self::External*;
static method main() → dynamic {
self::Foo* foo = new self::Foo::•();
- dynamic string1 = foo.{self::Foo::method}(1);
- dynamic string2 = foo.{self::Foo::method}(1, 2);
- dynamic string3 = foo.{self::Foo::method}(1, 2, 3);
+ 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::String* string5 = extern.{self::External::externalMethod}(1, 2);
- core::String* string6 = extern.{self::External::externalMethod}(1, 2, 3);
- extern.{self::External::listen}(new self::TestListener::•());
- extern.{self::External::listen}(new self::ExtendedListener::•());
+ 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}(let final Never* #t1 = 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*);
+ ^" in new self::InvalidListener::•() as{TypeError} self::Listener*){(self::Listener*) →* void};
invalid-type nothing1 = let final Never* #t2 = 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}();
+ ^" in foo.{self::Foo::method}{<inapplicable>}.(){() →* invalid-type};
invalid-type nothing2 = let final Never* #t3 = 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}(1, 2, 3, 4);
+ ^" in foo.{self::Foo::method}{<inapplicable>}.(1, 2, 3, 4){(invalid-type, invalid-type, invalid-type, invalid-type) →* invalid-type};
invalid-type nothing3 = let final Never* #t4 = 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}();
+ ^" in extern.{self::External::externalMethod}{<inapplicable>}.(){() →* invalid-type};
invalid-type nothing4 = let final Never* #t5 = 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}(1, 2, 3, 4);
+ ^" 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.weak.expect b/pkg/front_end/testcases/general/override.dart.weak.expect
index a968ece..2ce1243 100644
--- a/pkg/front_end/testcases/general/override.dart.weak.expect
+++ b/pkg/front_end/testcases/general/override.dart.weak.expect
@@ -49,7 +49,7 @@
}
}
static method main(core::List<core::String*>* args) → dynamic {
- self::Base* object = args.{core::List::length}.{core::num::==}(0) ?{self::Base*} new self::Base::•() : new self::Sub::•();
- self::Foo* a = object.{self::Base::method}();
+ 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.transformed.expect b/pkg/front_end/testcases/general/override.dart.weak.transformed.expect
index a968ece..2ce1243 100644
--- a/pkg/front_end/testcases/general/override.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/override.dart.weak.transformed.expect
@@ -49,7 +49,7 @@
}
}
static method main(core::List<core::String*>* args) → dynamic {
- self::Base* object = args.{core::List::length}.{core::num::==}(0) ?{self::Base*} new self::Base::•() : new self::Sub::•();
- self::Foo* a = object.{self::Base::method}();
+ 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/private_members.dart.weak.expect b/pkg/front_end/testcases/general/private_members.dart.weak.expect
index ce24406..7320fdc 100644
--- a/pkg/front_end/testcases/general/private_members.dart.weak.expect
+++ b/pkg/front_end/testcases/general/private_members.dart.weak.expect
@@ -35,17 +35,17 @@
static field core::int _Extension|_privateField = 1 /* from org-dartlang-testcase:///private_members_part.dart */;
static field core::int _Extension|_privateFinalField = 1 /* from org-dartlang-testcase:///private_members_part.dart */;
static method test(self::_AbstractClass c) → dynamic {
- c.{self::_AbstractClass::_privateAbstractField} = c.{self::_AbstractClass::_privateAbstractField};
+ c.{self::_AbstractClass::_privateAbstractField} = c.{self::_AbstractClass::_privateAbstractField}{core::int};
}
static method main() → dynamic {
self::_Class c = new self::_Class::_privateConstructor();
c = new self::_Class::_privateConstructor();
- c.{self::_Class::_privateMethod}();
- c.{self::_Class::_privateSetter} = c.{self::_Class::_privateGetter};
- c.{self::_Class::_privateField} = c.{self::_Class::_privateField};
- c.{self::_Class::_privateFinalField};
+ c.{self::_Class::_privateMethod}(){() → void};
+ c.{self::_Class::_privateSetter} = c.{self::_Class::_privateGetter}{core::int};
+ c.{self::_Class::_privateField} = c.{self::_Class::_privateField}{core::int};
+ c.{self::_Class::_privateFinalField}{core::int};
self::_Extension|_privateMethod(0);
- self::_Extension|get#_privateMethod(0).call();
+ self::_Extension|get#_privateMethod(0)(){() → void};
self::_Extension|set#_privateSetter(0, self::_Extension|get#_privateGetter(0));
self::_Extension|_privateField = self::_Extension|_privateField;
self::_Extension|_privateFinalField;
diff --git a/pkg/front_end/testcases/general/private_members.dart.weak.transformed.expect b/pkg/front_end/testcases/general/private_members.dart.weak.transformed.expect
index 920e92f..fd8fbf9 100644
--- a/pkg/front_end/testcases/general/private_members.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/private_members.dart.weak.transformed.expect
@@ -35,17 +35,17 @@
static field core::int _Extension|_privateField = 1 /* from org-dartlang-testcase:///private_members_part.dart */;
static field core::int _Extension|_privateFinalField = 1 /* from org-dartlang-testcase:///private_members_part.dart */;
static method test(self::_AbstractClass c) → dynamic {
- c.{self::_AbstractClass::_privateAbstractField} = c.{self::_AbstractClass::_privateAbstractField};
+ c.{self::_AbstractClass::_privateAbstractField} = c.{self::_AbstractClass::_privateAbstractField}{core::int};
}
static method main() → dynamic {
self::_Class c = new self::_Class::_privateConstructor();
c = new self::_Class::_privateConstructor();
- c.{self::_Class::_privateMethod}();
- c.{self::_Class::_privateSetter} = c.{self::_Class::_privateGetter};
- c.{self::_Class::_privateField} = c.{self::_Class::_privateField};
- c.{self::_Class::_privateFinalField};
+ c.{self::_Class::_privateMethod}(){() → void};
+ c.{self::_Class::_privateSetter} = c.{self::_Class::_privateGetter}{core::int};
+ c.{self::_Class::_privateField} = c.{self::_Class::_privateField}{core::int};
+ c.{self::_Class::_privateFinalField}{core::int};
self::_Extension|_privateMethod(0);
- self::_Extension|get#_privateMethod(0).call();
+ self::_Extension|get#_privateMethod(0)(){() → void};
self::_Extension|set#_privateSetter(0, self::_Extension|get#_privateGetter(0));
self::_Extension|_privateField = self::_Extension|_privateField;
self::_Extension|_privateFinalField;
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 a2148b7..4ada913 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
@@ -20,7 +20,7 @@
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)));
+ return this.{self::Foo::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*
@@ -52,7 +52,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method baz(pri::Bar* bar) → void {
- core::print("${bar.{pri::Bar::_f}.{core::Object::runtimeType}}");
+ 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 095531c..6cb829a 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
@@ -19,7 +19,7 @@
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>{})));
+ 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};
}
class Baz extends self::Foo {
synthetic constructor •() → self::Baz*
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 a2148b7..4ada913 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
@@ -20,7 +20,7 @@
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)));
+ return this.{self::Foo::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*
@@ -52,7 +52,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method baz(pri::Bar* bar) → void {
- core::print("${bar.{pri::Bar::_f}.{core::Object::runtimeType}}");
+ core::print("${bar.{pri::Bar::_f}{() →* void}.{core::Object::runtimeType}{core::Type*}}");
}
constants {
diff --git a/pkg/front_end/testcases/general/promoted_access.dart.weak.expect b/pkg/front_end/testcases/general/promoted_access.dart.weak.expect
index 6999b2b..5baecb1 100644
--- a/pkg/front_end/testcases/general/promoted_access.dart.weak.expect
+++ b/pkg/front_end/testcases/general/promoted_access.dart.weak.expect
@@ -8,7 +8,7 @@
;
method method(generic-covariant-impl self::Class::T* o) → dynamic {
if(o is self::Class<dynamic>*) {
- o{self::Class::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null);
+ o{self::Class::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null){(dynamic) →* dynamic};
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -24,10 +24,10 @@
}
static method method<T extends core::Object* = dynamic>(self::method::T* o) → dynamic {
if(o is self::Class<dynamic>*) {
- o{self::method::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null);
+ o{self::method::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null){(dynamic) →* dynamic};
}
}
static method main() → dynamic {
- new self::Class::•<dynamic>().{self::Class::method}(new self::Class::•<dynamic>());
+ new self::Class::•<dynamic>().{self::Class::method}(new self::Class::•<dynamic>()){(dynamic) →* dynamic};
self::method<self::Class<dynamic>*>(new self::Class::•<dynamic>());
}
diff --git a/pkg/front_end/testcases/general/promoted_access.dart.weak.transformed.expect b/pkg/front_end/testcases/general/promoted_access.dart.weak.transformed.expect
index 6999b2b..5baecb1 100644
--- a/pkg/front_end/testcases/general/promoted_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/promoted_access.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
;
method method(generic-covariant-impl self::Class::T* o) → dynamic {
if(o is self::Class<dynamic>*) {
- o{self::Class::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null);
+ o{self::Class::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null){(dynamic) →* dynamic};
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -24,10 +24,10 @@
}
static method method<T extends core::Object* = dynamic>(self::method::T* o) → dynamic {
if(o is self::Class<dynamic>*) {
- o{self::method::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null);
+ o{self::method::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null){(dynamic) →* dynamic};
}
}
static method main() → dynamic {
- new self::Class::•<dynamic>().{self::Class::method}(new self::Class::•<dynamic>());
+ new self::Class::•<dynamic>().{self::Class::method}(new self::Class::•<dynamic>()){(dynamic) →* dynamic};
self::method<self::Class<dynamic>*>(new self::Class::•<dynamic>());
}
diff --git a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.expect b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.expect
index b7c4248..09affa3 100644
--- a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.expect
+++ b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.expect
@@ -4,7 +4,7 @@
static method method<T extends core::Object* = dynamic>(self::method::T* o) → dynamic {
if(o is core::String*) {
- let final self::method::T* & core::String* /* '*' & '*' = '*' */ #t1 = o{self::method::T* & core::String* /* '*' & '*' = '*' */} in #t1.{core::String::==}(null) ?{core::int*} null : #t1.{core::String::length};
+ let final self::method::T* & core::String* /* '*' & '*' = '*' */ #t1 = o{self::method::T* & core::String* /* '*' & '*' = '*' */} in #t1 == null ?{core::int*} null : #t1.{core::String::length}{core::int*};
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.transformed.expect b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.transformed.expect
index b7c4248..09affa3 100644
--- a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
static method method<T extends core::Object* = dynamic>(self::method::T* o) → dynamic {
if(o is core::String*) {
- let final self::method::T* & core::String* /* '*' & '*' = '*' */ #t1 = o{self::method::T* & core::String* /* '*' & '*' = '*' */} in #t1.{core::String::==}(null) ?{core::int*} null : #t1.{core::String::length};
+ let final self::method::T* & core::String* /* '*' & '*' = '*' */ #t1 = o{self::method::T* & core::String* /* '*' & '*' = '*' */} in #t1 == null ?{core::int*} null : #t1.{core::String::length}{core::int*};
}
}
static method main() → dynamic {
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 370b63e..6fc1a72 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
@@ -34,5 +34,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method baz(pub::Bar* bar) → void {
- core::print("${bar.{pub::Bar::f}.{core::Object::runtimeType}}");
+ 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.transformed.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.transformed.expect
index 370b63e..6fc1a72 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
@@ -34,5 +34,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method baz(pub::Bar* bar) → void {
- core::print("${bar.{pub::Bar::f}.{core::Object::runtimeType}}");
+ core::print("${bar.{pub::Bar::f}{() →* void}.{core::Object::runtimeType}{core::Type*}}");
}
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.expect b/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.expect
index ed17f97..e1a3cd8 100644
--- a/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.expect
+++ b/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.expect
@@ -13,72 +13,72 @@
return cls;
method indexGetSetForEffect(core::Map<self::Class*, self::Class*>* map) → void {
final self::Class* self = this;
- let final core::Map<self::Class*, self::Class*>* #t1 = map in #t1.{core::Map::[]}(this).{self::Class::==}(null) ?{self::Class*} #t1.{core::Map::[]=}(this, this) : null;
- let final core::Map<self::Class*, self::Class*>* #t2 = map in #t2.{core::Map::[]}(self).{self::Class::==}(null) ?{self::Class*} #t2.{core::Map::[]=}(self, self) : null;
- map.{core::Map::[]=}(this, this);
- map.{core::Map::[]=}(self, self);
- map.{core::Map::[]}(this);
- map.{core::Map::[]}(self);
- let final core::Map<self::Class*, self::Class*>* #t3 = map in #t3.{core::Map::[]=}(this, #t3.{core::Map::[]}(this).{self::Class::+}(this));
- let final core::Map<self::Class*, self::Class*>* #t4 = map in #t4.{core::Map::[]=}(self, #t4.{core::Map::[]}(self).{self::Class::+}(self));
+ let final core::Map<self::Class*, self::Class*>* #t1 = map in #t1.{core::Map::[]}(this){(core::Object*) →* self::Class*} == null ?{self::Class*} #t1.{core::Map::[]=}(this, this){(self::Class*, self::Class*) →* void} : null;
+ let final core::Map<self::Class*, self::Class*>* #t2 = map in #t2.{core::Map::[]}(self){(core::Object*) →* self::Class*} == null ?{self::Class*} #t2.{core::Map::[]=}(self, self){(self::Class*, self::Class*) →* void} : null;
+ map.{core::Map::[]=}(this, this){(self::Class*, self::Class*) →* void};
+ map.{core::Map::[]=}(self, self){(self::Class*, self::Class*) →* void};
+ map.{core::Map::[]}(this){(core::Object*) →* self::Class*};
+ map.{core::Map::[]}(self){(core::Object*) →* self::Class*};
+ let final core::Map<self::Class*, self::Class*>* #t3 = map in #t3.{core::Map::[]=}(this, #t3.{core::Map::[]}(this){(core::Object*) →* self::Class*}.{self::Class::+}(this){(self::Class*) →* self::Class*}){(self::Class*, self::Class*) →* void};
+ let final core::Map<self::Class*, self::Class*>* #t4 = map in #t4.{core::Map::[]=}(self, #t4.{core::Map::[]}(self){(core::Object*) →* self::Class*}.{self::Class::+}(self){(self::Class*) →* self::Class*}){(self::Class*, self::Class*) →* void};
}
method indexGetSetForValue(core::Map<self::Class*, self::Class*>* map) → void {
final self::Class* self = this;
dynamic v;
- v = let final core::Map<self::Class*, self::Class*>* #t5 = map in let final self::Class* #t6 = #t5.{core::Map::[]}(this) in #t6.{self::Class::==}(null) ?{self::Class*} let final void #t7 = #t5.{core::Map::[]=}(this, this) in this : #t6;
- v = let final core::Map<self::Class*, self::Class*>* #t8 = map in let final self::Class* #t9 = #t8.{core::Map::[]}(self) in #t9.{self::Class::==}(null) ?{self::Class*} let final void #t10 = #t8.{core::Map::[]=}(self, self) in self : #t9;
- v = let final core::Map<self::Class*, self::Class*>* #t11 = map in let final void #t12 = #t11.{core::Map::[]=}(this, this) in this;
- v = let final core::Map<self::Class*, self::Class*>* #t13 = map in let final void #t14 = #t13.{core::Map::[]=}(self, self) in self;
- v = map.{core::Map::[]}(this);
- v = map.{core::Map::[]}(self);
- v = let final core::Map<self::Class*, self::Class*>* #t15 = map in let final self::Class* #t16 = #t15.{core::Map::[]}(this).{self::Class::+}(this) in let final void #t17 = #t15.{core::Map::[]=}(this, #t16) in #t16;
- v = let final core::Map<self::Class*, self::Class*>* #t18 = map in let final self::Class* #t19 = #t18.{core::Map::[]}(self).{self::Class::+}(self) in let final void #t20 = #t18.{core::Map::[]=}(self, #t19) in #t19;
+ v = let final core::Map<self::Class*, self::Class*>* #t5 = map in let final self::Class* #t6 = #t5.{core::Map::[]}(this){(core::Object*) →* self::Class*} in #t6 == null ?{self::Class*} let final void #t7 = #t5.{core::Map::[]=}(this, this){(self::Class*, self::Class*) →* void} in this : #t6;
+ v = let final core::Map<self::Class*, self::Class*>* #t8 = map in let final self::Class* #t9 = #t8.{core::Map::[]}(self){(core::Object*) →* self::Class*} in #t9 == null ?{self::Class*} let final void #t10 = #t8.{core::Map::[]=}(self, self){(self::Class*, self::Class*) →* void} in self : #t9;
+ v = let final core::Map<self::Class*, self::Class*>* #t11 = map in let final void #t12 = #t11.{core::Map::[]=}(this, this){(self::Class*, self::Class*) →* void} in this;
+ v = let final core::Map<self::Class*, self::Class*>* #t13 = map in let final void #t14 = #t13.{core::Map::[]=}(self, self){(self::Class*, self::Class*) →* void} in self;
+ v = map.{core::Map::[]}(this){(core::Object*) →* self::Class*};
+ v = map.{core::Map::[]}(self){(core::Object*) →* self::Class*};
+ v = let final core::Map<self::Class*, self::Class*>* #t15 = map in let final self::Class* #t16 = #t15.{core::Map::[]}(this){(core::Object*) →* self::Class*}.{self::Class::+}(this){(self::Class*) →* self::Class*} in let final void #t17 = #t15.{core::Map::[]=}(this, #t16){(self::Class*, self::Class*) →* void} in #t16;
+ v = let final core::Map<self::Class*, self::Class*>* #t18 = map in let final self::Class* #t19 = #t18.{core::Map::[]}(self){(core::Object*) →* self::Class*}.{self::Class::+}(self){(self::Class*) →* self::Class*} in let final void #t20 = #t18.{core::Map::[]=}(self, #t19){(self::Class*, self::Class*) →* void} in #t19;
}
method implicitExtensionGetSetForEffect(core::int* i) → void {
final self::Class* self = this;
- let final core::int* #t21 = i in self::Extension|[](#t21, this).{self::Class::==}(null) ?{self::Class*} self::Extension|[]=(#t21, this, this) : null;
- let final core::int* #t22 = i in self::Extension|[](#t22, self).{self::Class::==}(null) ?{self::Class*} self::Extension|[]=(#t22, self, self) : null;
+ let final core::int* #t21 = i in self::Extension|[](#t21, this) == null ?{self::Class*} self::Extension|[]=(#t21, this, this) : null;
+ let final core::int* #t22 = i in self::Extension|[](#t22, self) == null ?{self::Class*} self::Extension|[]=(#t22, self, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int* #t23 = i in self::Extension|[]=(#t23, this, self::Extension|[](#t23, this).{self::Class::+}(this));
- let final core::int* #t24 = i in self::Extension|[]=(#t24, self, self::Extension|[](#t24, self).{self::Class::+}(self));
+ let final core::int* #t23 = i in self::Extension|[]=(#t23, this, self::Extension|[](#t23, this).{self::Class::+}(this){(self::Class*) →* self::Class*});
+ let final core::int* #t24 = i in self::Extension|[]=(#t24, self, self::Extension|[](#t24, self).{self::Class::+}(self){(self::Class*) →* self::Class*});
}
method implicitExtensionGetSetForValue(core::int* i) → void {
final self::Class* self = this;
dynamic v;
- v = let final core::int* #t25 = i in let final self::Class* #t26 = self::Extension|[](#t25, this) in #t26.{self::Class::==}(null) ?{self::Class*} let final void #t27 = self::Extension|[]=(#t25, this, this) in this : #t26;
- v = let final core::int* #t28 = i in let final self::Class* #t29 = self::Extension|[](#t28, self) in #t29.{self::Class::==}(null) ?{self::Class*} let final void #t30 = self::Extension|[]=(#t28, self, self) in self : #t29;
+ v = let final core::int* #t25 = i in let final self::Class* #t26 = self::Extension|[](#t25, this) in #t26 == null ?{self::Class*} let final void #t27 = self::Extension|[]=(#t25, this, this) in this : #t26;
+ v = let final core::int* #t28 = i in let final self::Class* #t29 = self::Extension|[](#t28, self) in #t29 == null ?{self::Class*} let final void #t30 = self::Extension|[]=(#t28, self, self) in self : #t29;
v = let final core::int* #t31 = i in let final void #t32 = self::Extension|[]=(#t31, this, this) in this;
v = let final core::int* #t33 = i in let final void #t34 = self::Extension|[]=(#t33, self, self) in self;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int* #t35 = i in let final self::Class* #t36 = self::Extension|[](#t35, this).{self::Class::+}(this) in let final void #t37 = self::Extension|[]=(#t35, this, #t36) in #t36;
- v = let final core::int* #t38 = i in let final self::Class* #t39 = self::Extension|[](#t38, self).{self::Class::+}(self) in let final void #t40 = self::Extension|[]=(#t38, self, #t39) in #t39;
+ v = let final core::int* #t35 = i in let final self::Class* #t36 = self::Extension|[](#t35, this).{self::Class::+}(this){(self::Class*) →* self::Class*} in let final void #t37 = self::Extension|[]=(#t35, this, #t36) in #t36;
+ v = let final core::int* #t38 = i in let final self::Class* #t39 = self::Extension|[](#t38, self).{self::Class::+}(self){(self::Class*) →* self::Class*} in let final void #t40 = self::Extension|[]=(#t38, self, #t39) in #t39;
}
method explicitExtensionGetSetForEffect(core::int* i) → void {
final self::Class* self = this;
- let final core::int* #t41 = i in self::Extension|[](#t41, this).{self::Class::==}(null) ?{self::Class*} self::Extension|[]=(#t41, this, this) : null;
- let final core::int* #t42 = i in self::Extension|[](#t42, self).{self::Class::==}(null) ?{self::Class*} self::Extension|[]=(#t42, self, self) : null;
+ let final core::int* #t41 = i in self::Extension|[](#t41, this) == null ?{self::Class*} self::Extension|[]=(#t41, this, this) : null;
+ let final core::int* #t42 = i in self::Extension|[](#t42, self) == null ?{self::Class*} self::Extension|[]=(#t42, self, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int* #t43 = i in self::Extension|[]=(#t43, this, self::Extension|[](#t43, this).{self::Class::+}(this));
- let final core::int* #t44 = i in self::Extension|[]=(#t44, self, self::Extension|[](#t44, self).{self::Class::+}(self));
+ let final core::int* #t43 = i in self::Extension|[]=(#t43, this, self::Extension|[](#t43, this).{self::Class::+}(this){(self::Class*) →* self::Class*});
+ let final core::int* #t44 = i in self::Extension|[]=(#t44, self, self::Extension|[](#t44, self).{self::Class::+}(self){(self::Class*) →* self::Class*});
}
method explicitExtensionGetSetForValue(core::int* i) → void {
final self::Class* self = this;
dynamic v;
- v = let final core::int* #t45 = i in let final self::Class* #t46 = self::Extension|[](#t45, this) in #t46.{self::Class::==}(null) ?{self::Class*} let final void #t47 = self::Extension|[]=(#t45, this, this) in this : #t46;
- v = let final core::int* #t48 = i in let final self::Class* #t49 = self::Extension|[](#t48, self) in #t49.{self::Class::==}(null) ?{self::Class*} let final void #t50 = self::Extension|[]=(#t48, self, self) in self : #t49;
+ v = let final core::int* #t45 = i in let final self::Class* #t46 = self::Extension|[](#t45, this) in #t46 == null ?{self::Class*} let final void #t47 = self::Extension|[]=(#t45, this, this) in this : #t46;
+ v = let final core::int* #t48 = i in let final self::Class* #t49 = self::Extension|[](#t48, self) in #t49 == null ?{self::Class*} let final void #t50 = self::Extension|[]=(#t48, self, self) in self : #t49;
v = let final core::int* #t51 = i in let final void #t52 = self::Extension|[]=(#t51, this, this) in this;
v = let final core::int* #t53 = i in let final void #t54 = self::Extension|[]=(#t53, self, self) in self;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int* #t55 = i in let final self::Class* #t56 = self::Extension|[](#t55, this).{self::Class::+}(this) in let final void #t57 = self::Extension|[]=(#t55, this, #t56) in #t56;
- v = let final core::int* #t58 = i in let final self::Class* #t59 = self::Extension|[](#t58, self).{self::Class::+}(self) in let final void #t60 = self::Extension|[]=(#t58, self, #t59) in #t59;
+ v = let final core::int* #t55 = i in let final self::Class* #t56 = self::Extension|[](#t55, this).{self::Class::+}(this){(self::Class*) →* self::Class*} in let final void #t57 = self::Extension|[]=(#t55, this, #t56) in #t56;
+ v = let final core::int* #t58 = i in let final self::Class* #t59 = self::Extension|[](#t58, self).{self::Class::+}(self){(self::Class*) →* self::Class*} in let final void #t60 = self::Extension|[]=(#t58, self, #t59) in #t59;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -97,26 +97,26 @@
;
method superIndexGetSetForEffect() → void {
final self::Class* self = this;
- super.{self::Class::[]}(this).{self::Class::==}(null) ?{self::Class*} super.{self::Class::[]=}(this, this) : null;
- super.{self::Class::[]}(self).{self::Class::==}(null) ?{self::Class*} super.{self::Class::[]=}(self, self) : null;
+ super.{self::Class::[]}(this) == null ?{self::Class*} super.{self::Class::[]=}(this, this) : null;
+ super.{self::Class::[]}(self) == null ?{self::Class*} super.{self::Class::[]=}(self, self) : null;
super.{self::Class::[]=}(this, this);
super.{self::Class::[]=}(self, self);
super.{self::Class::[]}(this);
super.{self::Class::[]}(self);
- super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this));
- super.{self::Class::[]=}(self, super.{self::Class::[]}(self).{self::Class::+}(self));
+ super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class*) →* self::Class*});
+ super.{self::Class::[]=}(self, super.{self::Class::[]}(self).{self::Class::+}(self){(self::Class*) →* self::Class*});
}
method superIndexGetSetForValue() → void {
final self::Class* self = this;
dynamic v;
- v = let final self::Class* #t61 = super.{self::Class::[]}(this) in #t61.{self::Class::==}(null) ?{self::Class*} let final void #t62 = super.{self::Class::[]=}(this, this) in this : #t61;
- v = let final self::Class* #t63 = super.{self::Class::[]}(self) in #t63.{self::Class::==}(null) ?{self::Class*} let final void #t64 = super.{self::Class::[]=}(self, self) in self : #t63;
+ v = let final self::Class* #t61 = super.{self::Class::[]}(this) in #t61 == null ?{self::Class*} let final void #t62 = super.{self::Class::[]=}(this, this) in this : #t61;
+ v = let final self::Class* #t63 = super.{self::Class::[]}(self) in #t63 == null ?{self::Class*} let final void #t64 = super.{self::Class::[]=}(self, self) in self : #t63;
v = let final void #t65 = super.{self::Class::[]=}(this, this) in this;
v = let final void #t66 = super.{self::Class::[]=}(self, self) in self;
v = super.{self::Class::[]}(this);
v = super.{self::Class::[]}(self);
- v = let final self::Class* #t67 = super.{self::Class::[]}(this).{self::Class::+}(this) in let final void #t68 = super.{self::Class::[]=}(this, #t67) in #t67;
- v = let final self::Class* #t69 = super.{self::Class::[]}(self).{self::Class::+}(self) in let final void #t70 = super.{self::Class::[]=}(self, #t69) in #t69;
+ v = let final self::Class* #t67 = super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class*) →* self::Class*} in let final void #t68 = super.{self::Class::[]=}(this, #t67) in #t67;
+ v = let final self::Class* #t69 = super.{self::Class::[]}(self).{self::Class::+}(self){(self::Class*) →* self::Class*} in let final void #t70 = super.{self::Class::[]=}(self, #t69) in #t69;
}
}
class Class2 extends core::Object {
@@ -127,49 +127,49 @@
return cls;
method implicitExtensionGetSetForEffect() → void {
final self::Class2* self = this;
- self::Extension2|[](this, this).{self::Class2::==}(null) ?{self::Class2*} self::Extension2|[]=(this, this, this) : null;
- self::Extension2|[](self, self).{self::Class2::==}(null) ?{self::Class2*} self::Extension2|[]=(self, self, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2*} self::Extension2|[]=(this, this, this) : null;
+ self::Extension2|[](self, self) == null ?{self::Class2*} self::Extension2|[]=(self, self, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- self::Extension2|[]=(self, self, self::Extension2|[](self, self).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2*) →* self::Class2*});
+ self::Extension2|[]=(self, self, self::Extension2|[](self, self).{self::Class2::+}(self){(self::Class2*) →* self::Class2*});
}
method implicitExtensionGetSetForValue() → void {
final self::Class2* self = this;
dynamic v;
- v = let final self::Class2* #t71 = self::Extension2|[](this, this) in #t71.{self::Class2::==}(null) ?{self::Class2*} let final void #t72 = self::Extension2|[]=(this, this, this) in this : #t71;
- v = let final self::Class2* #t73 = self::Extension2|[](self, self) in #t73.{self::Class2::==}(null) ?{self::Class2*} let final void #t74 = self::Extension2|[]=(self, self, self) in self : #t73;
+ v = let final self::Class2* #t71 = self::Extension2|[](this, this) in #t71 == null ?{self::Class2*} let final void #t72 = self::Extension2|[]=(this, this, this) in this : #t71;
+ v = let final self::Class2* #t73 = self::Extension2|[](self, self) in #t73 == null ?{self::Class2*} let final void #t74 = self::Extension2|[]=(self, self, self) in self : #t73;
v = let final void #t75 = self::Extension2|[]=(this, this, this) in this;
v = let final void #t76 = self::Extension2|[]=(self, self, self) in self;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2* #t77 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t78 = self::Extension2|[]=(this, this, #t77) in #t77;
- v = let final self::Class2* #t79 = self::Extension2|[](self, self).{self::Class2::+}(self) in let final void #t80 = self::Extension2|[]=(self, self, #t79) in #t79;
+ v = let final self::Class2* #t77 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2*) →* self::Class2*} in let final void #t78 = self::Extension2|[]=(this, this, #t77) in #t77;
+ v = let final self::Class2* #t79 = self::Extension2|[](self, self).{self::Class2::+}(self){(self::Class2*) →* self::Class2*} in let final void #t80 = self::Extension2|[]=(self, self, #t79) in #t79;
}
method explicitExtensionGetSetForEffect() → void {
final self::Class2* self = this;
- self::Extension2|[](this, this).{self::Class2::==}(null) ?{self::Class2*} self::Extension2|[]=(this, this, this) : null;
- self::Extension2|[](self, self).{self::Class2::==}(null) ?{self::Class2*} self::Extension2|[]=(self, self, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2*} self::Extension2|[]=(this, this, this) : null;
+ self::Extension2|[](self, self) == null ?{self::Class2*} self::Extension2|[]=(self, self, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- self::Extension2|[]=(self, self, self::Extension2|[](self, self).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2*) →* self::Class2*});
+ self::Extension2|[]=(self, self, self::Extension2|[](self, self).{self::Class2::+}(self){(self::Class2*) →* self::Class2*});
}
method explicitExtensionGetSetForValue() → void {
final self::Class2* self = this;
dynamic v;
- v = let final self::Class2* #t81 = self::Extension2|[](this, this) in #t81.{self::Class2::==}(null) ?{self::Class2*} let final void #t82 = self::Extension2|[]=(this, this, this) in this : #t81;
- v = let final self::Class2* #t83 = self::Extension2|[](self, self) in #t83.{self::Class2::==}(null) ?{self::Class2*} let final void #t84 = self::Extension2|[]=(self, self, self) in self : #t83;
+ v = let final self::Class2* #t81 = self::Extension2|[](this, this) in #t81 == null ?{self::Class2*} let final void #t82 = self::Extension2|[]=(this, this, this) in this : #t81;
+ v = let final self::Class2* #t83 = self::Extension2|[](self, self) in #t83 == null ?{self::Class2*} let final void #t84 = self::Extension2|[]=(self, self, self) in self : #t83;
v = let final void #t85 = self::Extension2|[]=(this, this, this) in this;
v = let final void #t86 = self::Extension2|[]=(self, self, self) in self;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2* #t87 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t88 = self::Extension2|[]=(this, this, #t87) in #t87;
- v = let final self::Class2* #t89 = self::Extension2|[](self, self).{self::Class2::+}(self) in let final void #t90 = self::Extension2|[]=(self, self, #t89) in #t89;
+ v = let final self::Class2* #t87 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2*) →* self::Class2*} in let final void #t88 = self::Extension2|[]=(this, this, #t87) in #t87;
+ v = let final self::Class2* #t89 = self::Extension2|[](self, self).{self::Class2::+}(self){(self::Class2*) →* self::Class2*} in let final void #t90 = self::Extension2|[]=(self, self, #t89) in #t89;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.transformed.expect b/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.transformed.expect
index ed17f97..e1a3cd8 100644
--- a/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.transformed.expect
@@ -13,72 +13,72 @@
return cls;
method indexGetSetForEffect(core::Map<self::Class*, self::Class*>* map) → void {
final self::Class* self = this;
- let final core::Map<self::Class*, self::Class*>* #t1 = map in #t1.{core::Map::[]}(this).{self::Class::==}(null) ?{self::Class*} #t1.{core::Map::[]=}(this, this) : null;
- let final core::Map<self::Class*, self::Class*>* #t2 = map in #t2.{core::Map::[]}(self).{self::Class::==}(null) ?{self::Class*} #t2.{core::Map::[]=}(self, self) : null;
- map.{core::Map::[]=}(this, this);
- map.{core::Map::[]=}(self, self);
- map.{core::Map::[]}(this);
- map.{core::Map::[]}(self);
- let final core::Map<self::Class*, self::Class*>* #t3 = map in #t3.{core::Map::[]=}(this, #t3.{core::Map::[]}(this).{self::Class::+}(this));
- let final core::Map<self::Class*, self::Class*>* #t4 = map in #t4.{core::Map::[]=}(self, #t4.{core::Map::[]}(self).{self::Class::+}(self));
+ let final core::Map<self::Class*, self::Class*>* #t1 = map in #t1.{core::Map::[]}(this){(core::Object*) →* self::Class*} == null ?{self::Class*} #t1.{core::Map::[]=}(this, this){(self::Class*, self::Class*) →* void} : null;
+ let final core::Map<self::Class*, self::Class*>* #t2 = map in #t2.{core::Map::[]}(self){(core::Object*) →* self::Class*} == null ?{self::Class*} #t2.{core::Map::[]=}(self, self){(self::Class*, self::Class*) →* void} : null;
+ map.{core::Map::[]=}(this, this){(self::Class*, self::Class*) →* void};
+ map.{core::Map::[]=}(self, self){(self::Class*, self::Class*) →* void};
+ map.{core::Map::[]}(this){(core::Object*) →* self::Class*};
+ map.{core::Map::[]}(self){(core::Object*) →* self::Class*};
+ let final core::Map<self::Class*, self::Class*>* #t3 = map in #t3.{core::Map::[]=}(this, #t3.{core::Map::[]}(this){(core::Object*) →* self::Class*}.{self::Class::+}(this){(self::Class*) →* self::Class*}){(self::Class*, self::Class*) →* void};
+ let final core::Map<self::Class*, self::Class*>* #t4 = map in #t4.{core::Map::[]=}(self, #t4.{core::Map::[]}(self){(core::Object*) →* self::Class*}.{self::Class::+}(self){(self::Class*) →* self::Class*}){(self::Class*, self::Class*) →* void};
}
method indexGetSetForValue(core::Map<self::Class*, self::Class*>* map) → void {
final self::Class* self = this;
dynamic v;
- v = let final core::Map<self::Class*, self::Class*>* #t5 = map in let final self::Class* #t6 = #t5.{core::Map::[]}(this) in #t6.{self::Class::==}(null) ?{self::Class*} let final void #t7 = #t5.{core::Map::[]=}(this, this) in this : #t6;
- v = let final core::Map<self::Class*, self::Class*>* #t8 = map in let final self::Class* #t9 = #t8.{core::Map::[]}(self) in #t9.{self::Class::==}(null) ?{self::Class*} let final void #t10 = #t8.{core::Map::[]=}(self, self) in self : #t9;
- v = let final core::Map<self::Class*, self::Class*>* #t11 = map in let final void #t12 = #t11.{core::Map::[]=}(this, this) in this;
- v = let final core::Map<self::Class*, self::Class*>* #t13 = map in let final void #t14 = #t13.{core::Map::[]=}(self, self) in self;
- v = map.{core::Map::[]}(this);
- v = map.{core::Map::[]}(self);
- v = let final core::Map<self::Class*, self::Class*>* #t15 = map in let final self::Class* #t16 = #t15.{core::Map::[]}(this).{self::Class::+}(this) in let final void #t17 = #t15.{core::Map::[]=}(this, #t16) in #t16;
- v = let final core::Map<self::Class*, self::Class*>* #t18 = map in let final self::Class* #t19 = #t18.{core::Map::[]}(self).{self::Class::+}(self) in let final void #t20 = #t18.{core::Map::[]=}(self, #t19) in #t19;
+ v = let final core::Map<self::Class*, self::Class*>* #t5 = map in let final self::Class* #t6 = #t5.{core::Map::[]}(this){(core::Object*) →* self::Class*} in #t6 == null ?{self::Class*} let final void #t7 = #t5.{core::Map::[]=}(this, this){(self::Class*, self::Class*) →* void} in this : #t6;
+ v = let final core::Map<self::Class*, self::Class*>* #t8 = map in let final self::Class* #t9 = #t8.{core::Map::[]}(self){(core::Object*) →* self::Class*} in #t9 == null ?{self::Class*} let final void #t10 = #t8.{core::Map::[]=}(self, self){(self::Class*, self::Class*) →* void} in self : #t9;
+ v = let final core::Map<self::Class*, self::Class*>* #t11 = map in let final void #t12 = #t11.{core::Map::[]=}(this, this){(self::Class*, self::Class*) →* void} in this;
+ v = let final core::Map<self::Class*, self::Class*>* #t13 = map in let final void #t14 = #t13.{core::Map::[]=}(self, self){(self::Class*, self::Class*) →* void} in self;
+ v = map.{core::Map::[]}(this){(core::Object*) →* self::Class*};
+ v = map.{core::Map::[]}(self){(core::Object*) →* self::Class*};
+ v = let final core::Map<self::Class*, self::Class*>* #t15 = map in let final self::Class* #t16 = #t15.{core::Map::[]}(this){(core::Object*) →* self::Class*}.{self::Class::+}(this){(self::Class*) →* self::Class*} in let final void #t17 = #t15.{core::Map::[]=}(this, #t16){(self::Class*, self::Class*) →* void} in #t16;
+ v = let final core::Map<self::Class*, self::Class*>* #t18 = map in let final self::Class* #t19 = #t18.{core::Map::[]}(self){(core::Object*) →* self::Class*}.{self::Class::+}(self){(self::Class*) →* self::Class*} in let final void #t20 = #t18.{core::Map::[]=}(self, #t19){(self::Class*, self::Class*) →* void} in #t19;
}
method implicitExtensionGetSetForEffect(core::int* i) → void {
final self::Class* self = this;
- let final core::int* #t21 = i in self::Extension|[](#t21, this).{self::Class::==}(null) ?{self::Class*} self::Extension|[]=(#t21, this, this) : null;
- let final core::int* #t22 = i in self::Extension|[](#t22, self).{self::Class::==}(null) ?{self::Class*} self::Extension|[]=(#t22, self, self) : null;
+ let final core::int* #t21 = i in self::Extension|[](#t21, this) == null ?{self::Class*} self::Extension|[]=(#t21, this, this) : null;
+ let final core::int* #t22 = i in self::Extension|[](#t22, self) == null ?{self::Class*} self::Extension|[]=(#t22, self, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int* #t23 = i in self::Extension|[]=(#t23, this, self::Extension|[](#t23, this).{self::Class::+}(this));
- let final core::int* #t24 = i in self::Extension|[]=(#t24, self, self::Extension|[](#t24, self).{self::Class::+}(self));
+ let final core::int* #t23 = i in self::Extension|[]=(#t23, this, self::Extension|[](#t23, this).{self::Class::+}(this){(self::Class*) →* self::Class*});
+ let final core::int* #t24 = i in self::Extension|[]=(#t24, self, self::Extension|[](#t24, self).{self::Class::+}(self){(self::Class*) →* self::Class*});
}
method implicitExtensionGetSetForValue(core::int* i) → void {
final self::Class* self = this;
dynamic v;
- v = let final core::int* #t25 = i in let final self::Class* #t26 = self::Extension|[](#t25, this) in #t26.{self::Class::==}(null) ?{self::Class*} let final void #t27 = self::Extension|[]=(#t25, this, this) in this : #t26;
- v = let final core::int* #t28 = i in let final self::Class* #t29 = self::Extension|[](#t28, self) in #t29.{self::Class::==}(null) ?{self::Class*} let final void #t30 = self::Extension|[]=(#t28, self, self) in self : #t29;
+ v = let final core::int* #t25 = i in let final self::Class* #t26 = self::Extension|[](#t25, this) in #t26 == null ?{self::Class*} let final void #t27 = self::Extension|[]=(#t25, this, this) in this : #t26;
+ v = let final core::int* #t28 = i in let final self::Class* #t29 = self::Extension|[](#t28, self) in #t29 == null ?{self::Class*} let final void #t30 = self::Extension|[]=(#t28, self, self) in self : #t29;
v = let final core::int* #t31 = i in let final void #t32 = self::Extension|[]=(#t31, this, this) in this;
v = let final core::int* #t33 = i in let final void #t34 = self::Extension|[]=(#t33, self, self) in self;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int* #t35 = i in let final self::Class* #t36 = self::Extension|[](#t35, this).{self::Class::+}(this) in let final void #t37 = self::Extension|[]=(#t35, this, #t36) in #t36;
- v = let final core::int* #t38 = i in let final self::Class* #t39 = self::Extension|[](#t38, self).{self::Class::+}(self) in let final void #t40 = self::Extension|[]=(#t38, self, #t39) in #t39;
+ v = let final core::int* #t35 = i in let final self::Class* #t36 = self::Extension|[](#t35, this).{self::Class::+}(this){(self::Class*) →* self::Class*} in let final void #t37 = self::Extension|[]=(#t35, this, #t36) in #t36;
+ v = let final core::int* #t38 = i in let final self::Class* #t39 = self::Extension|[](#t38, self).{self::Class::+}(self){(self::Class*) →* self::Class*} in let final void #t40 = self::Extension|[]=(#t38, self, #t39) in #t39;
}
method explicitExtensionGetSetForEffect(core::int* i) → void {
final self::Class* self = this;
- let final core::int* #t41 = i in self::Extension|[](#t41, this).{self::Class::==}(null) ?{self::Class*} self::Extension|[]=(#t41, this, this) : null;
- let final core::int* #t42 = i in self::Extension|[](#t42, self).{self::Class::==}(null) ?{self::Class*} self::Extension|[]=(#t42, self, self) : null;
+ let final core::int* #t41 = i in self::Extension|[](#t41, this) == null ?{self::Class*} self::Extension|[]=(#t41, this, this) : null;
+ let final core::int* #t42 = i in self::Extension|[](#t42, self) == null ?{self::Class*} self::Extension|[]=(#t42, self, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int* #t43 = i in self::Extension|[]=(#t43, this, self::Extension|[](#t43, this).{self::Class::+}(this));
- let final core::int* #t44 = i in self::Extension|[]=(#t44, self, self::Extension|[](#t44, self).{self::Class::+}(self));
+ let final core::int* #t43 = i in self::Extension|[]=(#t43, this, self::Extension|[](#t43, this).{self::Class::+}(this){(self::Class*) →* self::Class*});
+ let final core::int* #t44 = i in self::Extension|[]=(#t44, self, self::Extension|[](#t44, self).{self::Class::+}(self){(self::Class*) →* self::Class*});
}
method explicitExtensionGetSetForValue(core::int* i) → void {
final self::Class* self = this;
dynamic v;
- v = let final core::int* #t45 = i in let final self::Class* #t46 = self::Extension|[](#t45, this) in #t46.{self::Class::==}(null) ?{self::Class*} let final void #t47 = self::Extension|[]=(#t45, this, this) in this : #t46;
- v = let final core::int* #t48 = i in let final self::Class* #t49 = self::Extension|[](#t48, self) in #t49.{self::Class::==}(null) ?{self::Class*} let final void #t50 = self::Extension|[]=(#t48, self, self) in self : #t49;
+ v = let final core::int* #t45 = i in let final self::Class* #t46 = self::Extension|[](#t45, this) in #t46 == null ?{self::Class*} let final void #t47 = self::Extension|[]=(#t45, this, this) in this : #t46;
+ v = let final core::int* #t48 = i in let final self::Class* #t49 = self::Extension|[](#t48, self) in #t49 == null ?{self::Class*} let final void #t50 = self::Extension|[]=(#t48, self, self) in self : #t49;
v = let final core::int* #t51 = i in let final void #t52 = self::Extension|[]=(#t51, this, this) in this;
v = let final core::int* #t53 = i in let final void #t54 = self::Extension|[]=(#t53, self, self) in self;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int* #t55 = i in let final self::Class* #t56 = self::Extension|[](#t55, this).{self::Class::+}(this) in let final void #t57 = self::Extension|[]=(#t55, this, #t56) in #t56;
- v = let final core::int* #t58 = i in let final self::Class* #t59 = self::Extension|[](#t58, self).{self::Class::+}(self) in let final void #t60 = self::Extension|[]=(#t58, self, #t59) in #t59;
+ v = let final core::int* #t55 = i in let final self::Class* #t56 = self::Extension|[](#t55, this).{self::Class::+}(this){(self::Class*) →* self::Class*} in let final void #t57 = self::Extension|[]=(#t55, this, #t56) in #t56;
+ v = let final core::int* #t58 = i in let final self::Class* #t59 = self::Extension|[](#t58, self).{self::Class::+}(self){(self::Class*) →* self::Class*} in let final void #t60 = self::Extension|[]=(#t58, self, #t59) in #t59;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -97,26 +97,26 @@
;
method superIndexGetSetForEffect() → void {
final self::Class* self = this;
- super.{self::Class::[]}(this).{self::Class::==}(null) ?{self::Class*} super.{self::Class::[]=}(this, this) : null;
- super.{self::Class::[]}(self).{self::Class::==}(null) ?{self::Class*} super.{self::Class::[]=}(self, self) : null;
+ super.{self::Class::[]}(this) == null ?{self::Class*} super.{self::Class::[]=}(this, this) : null;
+ super.{self::Class::[]}(self) == null ?{self::Class*} super.{self::Class::[]=}(self, self) : null;
super.{self::Class::[]=}(this, this);
super.{self::Class::[]=}(self, self);
super.{self::Class::[]}(this);
super.{self::Class::[]}(self);
- super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this));
- super.{self::Class::[]=}(self, super.{self::Class::[]}(self).{self::Class::+}(self));
+ super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class*) →* self::Class*});
+ super.{self::Class::[]=}(self, super.{self::Class::[]}(self).{self::Class::+}(self){(self::Class*) →* self::Class*});
}
method superIndexGetSetForValue() → void {
final self::Class* self = this;
dynamic v;
- v = let final self::Class* #t61 = super.{self::Class::[]}(this) in #t61.{self::Class::==}(null) ?{self::Class*} let final void #t62 = super.{self::Class::[]=}(this, this) in this : #t61;
- v = let final self::Class* #t63 = super.{self::Class::[]}(self) in #t63.{self::Class::==}(null) ?{self::Class*} let final void #t64 = super.{self::Class::[]=}(self, self) in self : #t63;
+ v = let final self::Class* #t61 = super.{self::Class::[]}(this) in #t61 == null ?{self::Class*} let final void #t62 = super.{self::Class::[]=}(this, this) in this : #t61;
+ v = let final self::Class* #t63 = super.{self::Class::[]}(self) in #t63 == null ?{self::Class*} let final void #t64 = super.{self::Class::[]=}(self, self) in self : #t63;
v = let final void #t65 = super.{self::Class::[]=}(this, this) in this;
v = let final void #t66 = super.{self::Class::[]=}(self, self) in self;
v = super.{self::Class::[]}(this);
v = super.{self::Class::[]}(self);
- v = let final self::Class* #t67 = super.{self::Class::[]}(this).{self::Class::+}(this) in let final void #t68 = super.{self::Class::[]=}(this, #t67) in #t67;
- v = let final self::Class* #t69 = super.{self::Class::[]}(self).{self::Class::+}(self) in let final void #t70 = super.{self::Class::[]=}(self, #t69) in #t69;
+ v = let final self::Class* #t67 = super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class*) →* self::Class*} in let final void #t68 = super.{self::Class::[]=}(this, #t67) in #t67;
+ v = let final self::Class* #t69 = super.{self::Class::[]}(self).{self::Class::+}(self){(self::Class*) →* self::Class*} in let final void #t70 = super.{self::Class::[]=}(self, #t69) in #t69;
}
}
class Class2 extends core::Object {
@@ -127,49 +127,49 @@
return cls;
method implicitExtensionGetSetForEffect() → void {
final self::Class2* self = this;
- self::Extension2|[](this, this).{self::Class2::==}(null) ?{self::Class2*} self::Extension2|[]=(this, this, this) : null;
- self::Extension2|[](self, self).{self::Class2::==}(null) ?{self::Class2*} self::Extension2|[]=(self, self, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2*} self::Extension2|[]=(this, this, this) : null;
+ self::Extension2|[](self, self) == null ?{self::Class2*} self::Extension2|[]=(self, self, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- self::Extension2|[]=(self, self, self::Extension2|[](self, self).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2*) →* self::Class2*});
+ self::Extension2|[]=(self, self, self::Extension2|[](self, self).{self::Class2::+}(self){(self::Class2*) →* self::Class2*});
}
method implicitExtensionGetSetForValue() → void {
final self::Class2* self = this;
dynamic v;
- v = let final self::Class2* #t71 = self::Extension2|[](this, this) in #t71.{self::Class2::==}(null) ?{self::Class2*} let final void #t72 = self::Extension2|[]=(this, this, this) in this : #t71;
- v = let final self::Class2* #t73 = self::Extension2|[](self, self) in #t73.{self::Class2::==}(null) ?{self::Class2*} let final void #t74 = self::Extension2|[]=(self, self, self) in self : #t73;
+ v = let final self::Class2* #t71 = self::Extension2|[](this, this) in #t71 == null ?{self::Class2*} let final void #t72 = self::Extension2|[]=(this, this, this) in this : #t71;
+ v = let final self::Class2* #t73 = self::Extension2|[](self, self) in #t73 == null ?{self::Class2*} let final void #t74 = self::Extension2|[]=(self, self, self) in self : #t73;
v = let final void #t75 = self::Extension2|[]=(this, this, this) in this;
v = let final void #t76 = self::Extension2|[]=(self, self, self) in self;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2* #t77 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t78 = self::Extension2|[]=(this, this, #t77) in #t77;
- v = let final self::Class2* #t79 = self::Extension2|[](self, self).{self::Class2::+}(self) in let final void #t80 = self::Extension2|[]=(self, self, #t79) in #t79;
+ v = let final self::Class2* #t77 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2*) →* self::Class2*} in let final void #t78 = self::Extension2|[]=(this, this, #t77) in #t77;
+ v = let final self::Class2* #t79 = self::Extension2|[](self, self).{self::Class2::+}(self){(self::Class2*) →* self::Class2*} in let final void #t80 = self::Extension2|[]=(self, self, #t79) in #t79;
}
method explicitExtensionGetSetForEffect() → void {
final self::Class2* self = this;
- self::Extension2|[](this, this).{self::Class2::==}(null) ?{self::Class2*} self::Extension2|[]=(this, this, this) : null;
- self::Extension2|[](self, self).{self::Class2::==}(null) ?{self::Class2*} self::Extension2|[]=(self, self, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2*} self::Extension2|[]=(this, this, this) : null;
+ self::Extension2|[](self, self) == null ?{self::Class2*} self::Extension2|[]=(self, self, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- self::Extension2|[]=(self, self, self::Extension2|[](self, self).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2*) →* self::Class2*});
+ self::Extension2|[]=(self, self, self::Extension2|[](self, self).{self::Class2::+}(self){(self::Class2*) →* self::Class2*});
}
method explicitExtensionGetSetForValue() → void {
final self::Class2* self = this;
dynamic v;
- v = let final self::Class2* #t81 = self::Extension2|[](this, this) in #t81.{self::Class2::==}(null) ?{self::Class2*} let final void #t82 = self::Extension2|[]=(this, this, this) in this : #t81;
- v = let final self::Class2* #t83 = self::Extension2|[](self, self) in #t83.{self::Class2::==}(null) ?{self::Class2*} let final void #t84 = self::Extension2|[]=(self, self, self) in self : #t83;
+ v = let final self::Class2* #t81 = self::Extension2|[](this, this) in #t81 == null ?{self::Class2*} let final void #t82 = self::Extension2|[]=(this, this, this) in this : #t81;
+ v = let final self::Class2* #t83 = self::Extension2|[](self, self) in #t83 == null ?{self::Class2*} let final void #t84 = self::Extension2|[]=(self, self, self) in self : #t83;
v = let final void #t85 = self::Extension2|[]=(this, this, this) in this;
v = let final void #t86 = self::Extension2|[]=(self, self, self) in self;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2* #t87 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t88 = self::Extension2|[]=(this, this, #t87) in #t87;
- v = let final self::Class2* #t89 = self::Extension2|[](self, self).{self::Class2::+}(self) in let final void #t90 = self::Extension2|[]=(self, self, #t89) in #t89;
+ v = let final self::Class2* #t87 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2*) →* self::Class2*} in let final void #t88 = self::Extension2|[]=(this, this, #t87) in #t87;
+ v = let final self::Class2* #t89 = self::Extension2|[](self, self).{self::Class2::+}(self){(self::Class2*) →* self::Class2*} in let final void #t90 = self::Extension2|[]=(self, self, #t89) in #t89;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/general/qualified.dart.weak.expect b/pkg/front_end/testcases/general/qualified.dart.weak.expect
index b829051..6bf765c 100644
--- a/pkg/front_end/testcases/general/qualified.dart.weak.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.weak.expect
@@ -100,8 +100,8 @@
new lib::C::•<core::String*>();
new lib::C::a<core::String*>();
new lib::C::a<core::String*>();
- new self::WithMixin::•().{lib::Supertype::supertypeMethod}();
- new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}();
+ new self::WithMixin::•().{lib::Supertype::supertypeMethod}(){() →* dynamic};
+ new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}(){() →* dynamic};
new self::IllegalSupertype::•();
}
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 003ca00..ea5014d 100644
--- a/pkg/front_end/testcases/general/qualified.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.weak.transformed.expect
@@ -101,8 +101,8 @@
new lib::C::•<core::String*>();
new lib::C::a<core::String*>();
new lib::C::a<core::String*>();
- new self::WithMixin::•().{lib::Supertype::supertypeMethod}();
- new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}();
+ new self::WithMixin::•().{lib::Supertype::supertypeMethod}(){() →* dynamic};
+ new self::WithMixin::•().{self::_WithMixin&Supertype&Mixin::foo}(){() →* dynamic};
new self::IllegalSupertype::•();
}
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 71c6c5f..aa4bbfe 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.weak.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.expect
@@ -158,7 +158,7 @@
;
}
static method main() → dynamic {
- core::print(new self::Bar::•<core::String*, core::double*>(4).{self::FooBase::x});
+ core::print(new self::Bar::•<core::String*, core::double*>(4).{self::FooBase::x}{core::int*});
new self::SimpleCaseImpl2::•<core::int*, core::double*>();
new self::Mix::•<core::double*>();
}
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 704411a..e22b2b0 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
@@ -158,7 +158,7 @@
;
}
static method main() → dynamic {
- core::print(new self::Bar::•<core::String*, core::double*>(4).{self::FooBase::x});
+ core::print(new self::Bar::•<core::String*, core::double*>(4).{self::FooBase::x}{core::int*});
new self::SimpleCaseImpl2::•<core::int*, core::double*>();
new self::Mix::•<core::double*>();
}
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 85d39b62..3841bc7 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
@@ -54,9 +54,9 @@
;
}
static method main() → dynamic {
- dynamic x = new self::B::•<dynamic>().{self::A::x};
+ 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}}, but `_Y<Null>` expected";
+ throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type*}}, but `_Y<Null>` expected";
}
}
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 46c38ec..ce397b6 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
@@ -54,9 +54,9 @@
;
}
static method main() → dynamic {
- dynamic x = new self::B::•<dynamic>().{self::A::x};
+ 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}}, but `_Y<Null>` expected";
+ throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}{core::Type*}}, but `_Y<Null>` expected";
}
}
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 f3a4286..7cc953e 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.expect
@@ -36,4 +36,4 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic async
- return <asy::Future<void>*>[new self::A::•().{self::A::foo}(await null), new self::B::•().{self::B::bar}(await null)];
+ 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.transformed.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect
index d5f89c9..90952fd 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
@@ -99,10 +99,10 @@
{
:async_temporary_1 = new self::A::•();
[yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_1 = _in::unsafeCast<self::A*>(:async_temporary_1).{self::A::foo}(_in::unsafeCast<Null>(:result));
+ :async_temporary_1 = _in::unsafeCast<self::A*>(:async_temporary_1).{self::A::foo}(_in::unsafeCast<Null>(:result)){(dynamic) →* asy::Future<void>*};
:async_temporary_0 = new self::B::•();
[yield] let dynamic #t2 = asy::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) 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)));
+ :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)){(dynamic) →* asy::Future<void>*});
break #L3;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
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 4bfac34..7704535 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
@@ -4,7 +4,7 @@
static method f(core::List<dynamic>* x) → core::bool* {
return x.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic>* {
- return y.split(",") as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- }).{core::Iterable::any}((dynamic y) → core::bool* => y.{core::Object::==}("z"));
+ 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 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 4bfac34..7704535 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
@@ -4,7 +4,7 @@
static method f(core::List<dynamic>* x) → core::bool* {
return x.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic>* {
- return y.split(",") as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- }).{core::Iterable::any}((dynamic y) → core::bool* => y.{core::Object::==}("z"));
+ 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 main() → dynamic {}
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 2fda137..7a97667 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.weak.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.weak.expect
@@ -14,28 +14,28 @@
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]);
+ #t1.{core::List::addAll}(<core::int*>[2]){(core::Iterable<core::int*>*) →* void};
final core::Iterable<core::int*>* #t2 = <core::int*>[3];
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2);
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2){(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);
+ #t3.{core::Map::[]=}(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})
- #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
+ #t3.{core::Map::[]=}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value}){(core::int*, core::int*) →* void};
final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{3: 3};
- if(!#t5.{core::Object::==}(null))
+ if(!(#t5 == null))
for (final core::MapEntry<core::int*, core::int*>* #t6 in #t5.{core::Map::entries})
- #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t3.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value}){(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);
- #t7.{core::Set::addAll}{Invariant}(<core::int*>[2]);
+ #t7.{core::Set::add}(1){(core::int*) →* core::bool*};
+ #t7.{core::Set::addAll}(<core::int*>[2]){(core::Iterable<core::int*>*) →* void};
final core::Iterable<core::int*>* #t8 = <core::int*>[3];
- if(!#t8.{core::Object::==}(null))
- #t7.{core::Set::addAll}{Invariant}(#t8);
+ if(!(#t8 == null))
+ #t7.{core::Set::addAll}(#t8){(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.
Try providing type arguments for the literal explicitly to disambiguate it.
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 a2765d8..de72845 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
@@ -14,37 +14,37 @@
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));
+ #t1.{core::List::addAll}(core::_GrowableList::_literal1<core::int*>(2)){(core::Iterable<core::int*>*) →* void};
final core::Iterable<core::int*>* #t2 = core::_GrowableList::_literal1<core::int*>(3);
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2);
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2){(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);
+ #t3.{core::Map::[]=}(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::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t4 = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
+ #t3.{core::Map::[]=}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value}){(core::int*, core::int*) →* void};
}
}
final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{3: 3};
- if(!#t5.{core::Object::==}(null)) {
+ if(!(#t5 == null)) {
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t5.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t3.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value}){(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);
- #t7.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(2));
+ #t7.{core::Set::add}(1){(core::int*) →* core::bool*};
+ #t7.{core::Set::addAll}(core::_GrowableList::_literal1<core::int*>(2)){(core::Iterable<core::int*>*) →* void};
final core::Iterable<core::int*>* #t8 = core::_GrowableList::_literal1<core::int*>(3);
- if(!#t8.{core::Object::==}(null))
- #t7.{core::Set::addAll}{Invariant}(#t8);
+ if(!(#t8 == null))
+ #t7.{core::Set::addAll}(#t8){(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.
Try providing type arguments for the literal explicitly to disambiguate it.
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 ce15d14..538d685 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
@@ -114,50 +114,50 @@
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})
- #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
+ #t3.{core::Map::[]=}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value}){(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})
- #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value}){(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);
+ #t8.{core::Set::add}(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} core::int*;
- #t9.{core::Set::add}{Invariant}(#t11);
+ #t9.{core::Set::add}(#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})
- #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
- #t12.{core::Map::[]=}{Invariant}("baz", 42);
+ #t12.{core::Map::[]=}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t12.{core::Map::[]=}("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})
- #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value}){(core::String*, core::int*) →* void};
} =>#t14;
core::List<dynamic>* lhs21 = block {
final core::List<dynamic>* #t16 = core::List::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
} =>#t16;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t17 = col::LinkedHashSet::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
- #t17.{core::Set::add}{Invariant}(42);
+ #t17.{core::Set::add}(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 dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries})
- #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
- #t18.{core::Map::[]=}{Invariant}("baz", 42);
+ #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value}){(dynamic, dynamic) →* void};
+ #t18.{core::Map::[]=}("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.
Try providing type arguments for the literal explicitly to disambiguate it.
@@ -168,38 +168,38 @@
} =>#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);
+ #t21.{core::Set::add}(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} core::int*;
- #t22.{core::Set::add}{Invariant}(#t24);
+ #t22.{core::Set::add}(#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})
- #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}, #t26.{core::MapEntry::value});
+ #t25.{core::Map::[]=}(#t26.{core::MapEntry::key}, #t26.{core::MapEntry::value}){(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]);
+ #t28.{core::Set::add}(<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} core::List<core::int*>*;
- #t29.{core::Set::add}{Invariant}(#t31);
+ #t29.{core::Set::add}(#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})
- #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value}){(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 = {...spread, ...mapSpread};
@@ -215,7 +215,7 @@
int set30 = /*@ typeArgs=int* */ {...spread, 42};
^" in ( block {
final core::Set<core::int*>* #t37 = col::LinkedHashSet::of<core::int*>(spread);
- #t37.{core::Set::add}{Invariant}(42);
+ #t37.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t37) as{TypeError} core::int*;
core::int* set30ambiguous = let final Never* #t38 = 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'.
- 'Set' is from 'dart:core'.
@@ -224,7 +224,7 @@
final core::Set<core::int*>* #t39 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t40 in spread) {
final core::int* #t41 = #t40 as{TypeError} core::int*;
- #t39.{core::Set::add}{Invariant}(#t41);
+ #t39.{core::Set::add}(#t41){(core::int*) →* core::bool*};
}
} =>#t39) as{TypeError} core::int*;
core::int* map30 = let final Never* #t42 = 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'.
@@ -233,8 +233,8 @@
^" in ( block {
final core::Map<core::String*, core::int*>* #t43 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t44 in mapSpread.{core::Map::entries})
- #t43.{core::Map::[]=}{Invariant}(#t44.{core::MapEntry::key}, #t44.{core::MapEntry::value});
- #t43.{core::Map::[]=}{Invariant}("baz", 42);
+ #t43.{core::Map::[]=}(#t44.{core::MapEntry::key}, #t44.{core::MapEntry::value}){(core::String*, core::int*) →* void};
+ #t43.{core::Map::[]=}("baz", 42){(core::String*, core::int*) →* void};
} =>#t43) as{TypeError} core::int*;
core::int* map30ambiguous = let final Never* #t45 = 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'.
- 'Map' is from 'dart:core'.
@@ -242,16 +242,16 @@
^" in ( block {
final core::Map<core::String*, core::int*>* #t46 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t47 in mapSpread.{core::Map::entries})
- #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}, #t47.{core::MapEntry::value});
+ #t46.{core::Map::[]=}(#t47.{core::MapEntry::key}, #t47.{core::MapEntry::value}){(core::String*, core::int*) →* void};
} =>#t46) 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.
List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
^"];
core::Set<dynamic>* set40 = block {
final core::Set<dynamic>* #t48 = col::LinkedHashSet::•<dynamic>();
- #t48.{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.
+ #t48.{core::Set::add}(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.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
- ^");
+ ^"){(dynamic) →* core::bool*};
} =>#t48;
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.
Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
@@ -261,9 +261,9 @@
^"];
core::Set<dynamic>* set50 = block {
final core::Set<dynamic>* #t49 = col::LinkedHashSet::•<dynamic>();
- #t49.{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.
+ #t49.{core::Set::add}(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.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
- ^");
+ ^"){(dynamic) →* core::bool*};
} =>#t49;
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.
Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
@@ -273,9 +273,9 @@
^"];
core::Set<core::String*>* set60 = block {
final core::Set<core::String*>* #t50 = col::LinkedHashSet::•<core::String*>();
- #t50.{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'.
+ #t50.{core::Set::add}(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'.
Set<String> set60 = <String>{...spread};
- ^");
+ ^"){(core::String*) →* core::bool*};
} =>#t50;
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'.
Map<int, int> map60 = <int, int>{...mapSpread};
@@ -288,18 +288,18 @@
^"];
core::Set<core::int*>* set70 = block {
final core::Set<core::int*>* #t51 = col::LinkedHashSet::•<core::int*>();
- #t51.{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'.
+ #t51.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
- ^");
+ ^"){(core::int*) →* core::bool*};
} =>#t51;
core::Set<dynamic>* set71ambiguous = block {
final core::Set<dynamic>* #t52 = col::LinkedHashSet::•<dynamic>();
- #t52.{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'.
+ #t52.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:137:8: Error: Can't spread a value with static type 'Null'.
...null,
- ^");
+ ^"){(dynamic) →* core::bool*};
for (final dynamic #t53 in <dynamic>[]) {
final dynamic #t54 = #t53 as{TypeError} dynamic;
- #t52.{core::Set::add}{Invariant}(#t54);
+ #t52.{core::Set::add}(#t54){(dynamic) →* core::bool*};
}
} =>#t52;
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'.
@@ -308,45 +308,45 @@
core::List<core::int*>* lhs80 = block {
final core::List<core::int*>* #t55 = <core::int*>[];
final core::Iterable<core::int*>* #t56 = null;
- if(!#t56.{core::Object::==}(null))
- #t55.{core::List::addAll}{Invariant}(#t56);
+ if(!(#t56 == null))
+ #t55.{core::List::addAll}(#t56){(core::Iterable<core::int*>*) →* void};
} =>#t55;
core::Set<core::int*>* set80 = block {
final core::Set<core::int*>* #t57 = col::LinkedHashSet::•<core::int*>();
final core::Iterable<core::int*>* #t58 = null;
- if(!#t58.{core::Object::==}(null))
- #t57.{core::Set::addAll}{Invariant}(#t58);
+ if(!(#t58 == null))
+ #t57.{core::Set::addAll}(#t58){(core::Iterable<core::int*>*) →* void};
} =>#t57;
core::Set<dynamic>* set81ambiguous = block {
final core::Set<dynamic>* #t59 = col::LinkedHashSet::•<dynamic>();
final core::Iterable<dynamic>* #t60 = null;
- if(!#t60.{core::Object::==}(null))
+ if(!(#t60 == null))
for (final dynamic #t61 in #t60) {
final dynamic #t62 = #t61 as{TypeError} dynamic;
- #t59.{core::Set::add}{Invariant}(#t62);
+ #t59.{core::Set::add}(#t62){(dynamic) →* core::bool*};
}
for (final dynamic #t63 in <dynamic>[]) {
final dynamic #t64 = #t63 as{TypeError} dynamic;
- #t59.{core::Set::add}{Invariant}(#t64);
+ #t59.{core::Set::add}(#t64){(dynamic) →* core::bool*};
}
} =>#t59;
core::Map<core::String*, core::int*>* map80 = block {
final core::Map<core::String*, core::int*>* #t65 = <core::String*, core::int*>{};
final core::Map<core::String*, core::int*>* #t66 = null;
- if(!#t66.{core::Object::==}(null))
+ if(!(#t66 == null))
for (final core::MapEntry<core::String*, core::int*>* #t67 in #t66.{core::Map::entries})
- #t65.{core::Map::[]=}{Invariant}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
+ #t65.{core::Map::[]=}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value}){(core::String*, core::int*) →* void};
} =>#t65;
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t68 = <core::String*, core::int*>{};
for (final core::MapEntry<core::String*, core::int*>* #t69 in self::bar<core::String*, core::int*>().{core::Map::entries})
- #t68.{core::Map::[]=}{Invariant}(#t69.{core::MapEntry::key}, #t69.{core::MapEntry::value});
+ #t68.{core::Map::[]=}(#t69.{core::MapEntry::key}, #t69.{core::MapEntry::value}){(core::String*, core::int*) →* void};
} =>#t68;
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t70 = <core::int*>[];
for (final dynamic #t71 in listNum) {
final core::int* #t72 = #t71 as{TypeError} core::int*;
- #t70.{core::List::add}{Invariant}(#t72);
+ #t70.{core::List::add}(#t72){(core::int*) →* void};
}
} =>#t70;
core::Map<core::num*, core::int*>* map100 = block {
@@ -354,14 +354,14 @@
for (final core::MapEntry<dynamic, dynamic>* #t74 in mapIntNum.{core::Map::entries}) {
final core::num* #t75 = #t74.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t76 = #t74.{core::MapEntry::value} as{TypeError} core::int*;
- #t73.{core::Map::[]=}{Invariant}(#t75, #t76);
+ #t73.{core::Map::[]=}(#t75, #t76){(core::num*, core::int*) →* void};
}
} =>#t73;
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t77 = <core::int*>[];
for (final dynamic #t78 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t79 = #t78 as{TypeError} core::int*;
- #t77.{core::List::add}{Invariant}(#t79);
+ #t77.{core::List::add}(#t79){(core::int*) →* void};
}
} =>#t77;
core::Map<core::num*, core::int*>* map110 = block {
@@ -369,7 +369,7 @@
for (final core::MapEntry<dynamic, dynamic>* #t81 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::num* #t82 = #t81.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t83 = #t81.{core::MapEntry::value} as{TypeError} core::int*;
- #t80.{core::Map::[]=}{Invariant}(#t82, #t83);
+ #t80.{core::Map::[]=}(#t82, #t83){(core::num*, core::int*) →* void};
}
} =>#t80;
}
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 ceca37a..05a7ebb 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
@@ -117,7 +117,7 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t4 = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
+ #t3.{core::Map::[]=}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value}){(dynamic, dynamic) →* void};
}
}
} =>#t3;
@@ -127,7 +127,7 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value}){(dynamic, dynamic) →* void};
}
}
} =>#t5;
@@ -136,7 +136,7 @@
} =>#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);
+ #t8.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t8;
core::Set<core::int*>* set20ambiguous = block {
final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
@@ -146,7 +146,7 @@
final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t11);
+ #t9.{core::Set::add}(#t11){(core::int*) →* core::bool*};
}
}
}
@@ -157,10 +157,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current};
- #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
+ #t12.{core::Map::[]=}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t12.{core::Map::[]=}{Invariant}("baz", 42);
+ #t12.{core::Map::[]=}("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*>{};
@@ -168,7 +168,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t15 = :sync-for-iterator.{core::Iterator::current};
- #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
} =>#t14;
@@ -177,7 +177,7 @@
} =>#t16;
core::Set<dynamic>* set21 = block {
final core::Set<dynamic>* #t17 = col::LinkedHashSet::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
- #t17.{core::Set::add}{Invariant}(42);
+ #t17.{core::Set::add}(42){(dynamic) →* core::bool*};
} =>#t17;
core::Map<dynamic, dynamic>* map21 = block {
final core::Map<dynamic, dynamic>* #t18 = <dynamic, dynamic>{};
@@ -185,10 +185,10 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t19 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
+ #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value}){(dynamic, dynamic) →* void};
}
}
- #t18.{core::Map::[]=}{Invariant}("baz", 42);
+ #t18.{core::Map::[]=}("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.
Try providing type arguments for the literal explicitly to disambiguate it.
@@ -199,7 +199,7 @@
} =>#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);
+ #t21.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t21;
core::Set<core::int*>* set22ambiguous = block {
final core::Set<core::int*>* #t22 = new col::_CompactLinkedHashSet::•<core::int*>();
@@ -209,7 +209,7 @@
final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t24 = #t23 as{TypeError} core::int*;
- #t22.{core::Set::add}{Invariant}(#t24);
+ #t22.{core::Set::add}(#t24){(core::int*) →* core::bool*};
}
}
}
@@ -220,7 +220,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t26 = :sync-for-iterator.{core::Iterator::current};
- #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}, #t26.{core::MapEntry::value});
+ #t25.{core::Map::[]=}(#t26.{core::MapEntry::key}, #t26.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
} =>#t25;
@@ -229,7 +229,7 @@
} =>#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));
+ #t28.{core::Set::add}(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*>*>();
@@ -239,7 +239,7 @@
final dynamic #t30 = :sync-for-iterator.{core::Iterator::current};
{
final core::List<core::int*>* #t31 = #t30 as{TypeError} core::List<core::int*>*;
- #t29.{core::Set::add}{Invariant}(#t31);
+ #t29.{core::Set::add}(#t31){(core::List<core::int*>*) →* core::bool*};
}
}
}
@@ -250,7 +250,7 @@
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::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 = :sync-for-iterator.{core::Iterator::current};
- #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value}){(core::String*, core::List<core::int*>*) →* void};
}
}
} =>#t32;
@@ -268,7 +268,7 @@
int set30 = /*@ typeArgs=int* */ {...spread, 42};
^" in ( block {
final core::Set<core::int*>* #t37 = col::LinkedHashSet::of<core::int*>(spread);
- #t37.{core::Set::add}{Invariant}(42);
+ #t37.{core::Set::add}(42){(core::int*) →* core::bool*};
} =>#t37) as{TypeError} core::int*;
core::int* set30ambiguous = let final Never* #t38 = 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'.
- 'Set' is from 'dart:core'.
@@ -281,7 +281,7 @@
final dynamic #t40 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t41 = #t40 as{TypeError} core::int*;
- #t39.{core::Set::add}{Invariant}(#t41);
+ #t39.{core::Set::add}(#t41){(core::int*) →* core::bool*};
}
}
}
@@ -295,10 +295,10 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t44 = :sync-for-iterator.{core::Iterator::current};
- #t43.{core::Map::[]=}{Invariant}(#t44.{core::MapEntry::key}, #t44.{core::MapEntry::value});
+ #t43.{core::Map::[]=}(#t44.{core::MapEntry::key}, #t44.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
- #t43.{core::Map::[]=}{Invariant}("baz", 42);
+ #t43.{core::Map::[]=}("baz", 42){(core::String*, core::int*) →* void};
} =>#t43) as{TypeError} core::int*;
core::int* map30ambiguous = let final Never* #t45 = 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'.
- 'Map' is from 'dart:core'.
@@ -309,7 +309,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current};
- #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}, #t47.{core::MapEntry::value});
+ #t46.{core::Map::[]=}(#t47.{core::MapEntry::key}, #t47.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
} =>#t46) as{TypeError} core::int*;
@@ -318,9 +318,9 @@
^");
core::Set<dynamic>* set40 = block {
final core::Set<dynamic>* #t48 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t48.{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.
+ #t48.{core::Set::add}(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.
Set<dynamic> set40 = <dynamic>{...notSpreadInt};
- ^");
+ ^"){(dynamic) →* core::bool*};
} =>#t48;
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.
Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
@@ -330,9 +330,9 @@
^");
core::Set<dynamic>* set50 = block {
final core::Set<dynamic>* #t49 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t49.{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.
+ #t49.{core::Set::add}(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.
Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
- ^");
+ ^"){(dynamic) →* core::bool*};
} =>#t49;
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.
Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
@@ -342,9 +342,9 @@
^");
core::Set<core::String*>* set60 = block {
final core::Set<core::String*>* #t50 = new col::_CompactLinkedHashSet::•<core::String*>();
- #t50.{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'.
+ #t50.{core::Set::add}(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'.
Set<String> set60 = <String>{...spread};
- ^");
+ ^"){(core::String*) →* core::bool*};
} =>#t50;
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'.
Map<int, int> map60 = <int, int>{...mapSpread};
@@ -357,22 +357,22 @@
^");
core::Set<core::int*>* set70 = block {
final core::Set<core::int*>* #t51 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t51.{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'.
+ #t51.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:133:29: Error: Can't spread a value with static type 'Null'.
Set<int> set70 = <int>{...null};
- ^");
+ ^"){(core::int*) →* core::bool*};
} =>#t51;
core::Set<dynamic>* set71ambiguous = block {
final core::Set<dynamic>* #t52 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t52.{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'.
+ #t52.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:137: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};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t53 = :sync-for-iterator.{core::Iterator::current};
{
final dynamic #t54 = #t53 as{TypeError} dynamic;
- #t52.{core::Set::add}{Invariant}(#t54);
+ #t52.{core::Set::add}(#t54){(dynamic) →* core::bool*};
}
}
}
@@ -383,25 +383,25 @@
core::List<core::int*>* lhs80 = block {
final core::List<core::int*>* #t55 = core::_GrowableList::•<core::int*>(0);
final core::Iterable<core::int*>* #t56 = null;
- if(!#t56.{core::Object::==}(null))
- #t55.{core::List::addAll}{Invariant}(#t56);
+ if(!(#t56 == null))
+ #t55.{core::List::addAll}(#t56){(core::Iterable<core::int*>*) →* void};
} =>#t55;
core::Set<core::int*>* set80 = block {
final core::Set<core::int*>* #t57 = new col::_CompactLinkedHashSet::•<core::int*>();
final core::Iterable<core::int*>* #t58 = null;
- if(!#t58.{core::Object::==}(null))
- #t57.{core::Set::addAll}{Invariant}(#t58);
+ if(!(#t58 == null))
+ #t57.{core::Set::addAll}(#t58){(core::Iterable<core::int*>*) →* void};
} =>#t57;
core::Set<dynamic>* set81ambiguous = block {
final core::Set<dynamic>* #t59 = new col::_CompactLinkedHashSet::•<dynamic>();
final core::Iterable<dynamic>* #t60 = null;
- if(!#t60.{core::Object::==}(null)) {
+ if(!(#t60 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t60.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t61 = :sync-for-iterator.{core::Iterator::current};
{
final dynamic #t62 = #t61 as{TypeError} dynamic;
- #t59.{core::Set::add}{Invariant}(#t62);
+ #t59.{core::Set::add}(#t62){(dynamic) →* core::bool*};
}
}
}
@@ -411,7 +411,7 @@
final dynamic #t63 = :sync-for-iterator.{core::Iterator::current};
{
final dynamic #t64 = #t63 as{TypeError} dynamic;
- #t59.{core::Set::add}{Invariant}(#t64);
+ #t59.{core::Set::add}(#t64){(dynamic) →* core::bool*};
}
}
}
@@ -419,11 +419,11 @@
core::Map<core::String*, core::int*>* map80 = block {
final core::Map<core::String*, core::int*>* #t65 = <core::String*, core::int*>{};
final core::Map<core::String*, core::int*>* #t66 = null;
- if(!#t66.{core::Object::==}(null)) {
+ if(!(#t66 == null)) {
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = #t66.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t67 = :sync-for-iterator.{core::Iterator::current};
- #t65.{core::Map::[]=}{Invariant}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value});
+ #t65.{core::Map::[]=}(#t67.{core::MapEntry::key}, #t67.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
} =>#t65;
@@ -433,7 +433,7 @@
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = self::bar<core::String*, core::int*>().{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String*, core::int*>* #t69 = :sync-for-iterator.{core::Iterator::current};
- #t68.{core::Map::[]=}{Invariant}(#t69.{core::MapEntry::key}, #t69.{core::MapEntry::value});
+ #t68.{core::Map::[]=}(#t69.{core::MapEntry::key}, #t69.{core::MapEntry::value}){(core::String*, core::int*) →* void};
}
}
} =>#t68;
@@ -445,7 +445,7 @@
final dynamic #t71 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t72 = #t71 as{TypeError} core::int*;
- #t70.{core::List::add}{Invariant}(#t72);
+ #t70.{core::List::add}(#t72){(core::int*) →* void};
}
}
}
@@ -459,7 +459,7 @@
{
final core::num* #t75 = #t74.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t76 = #t74.{core::MapEntry::value} as{TypeError} core::int*;
- #t73.{core::Map::[]=}{Invariant}(#t75, #t76);
+ #t73.{core::Map::[]=}(#t75, #t76){(core::num*, core::int*) →* void};
}
}
}
@@ -472,7 +472,7 @@
final dynamic #t78 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t79 = #t78 as{TypeError} core::int*;
- #t77.{core::List::add}{Invariant}(#t79);
+ #t77.{core::List::add}(#t79){(core::int*) →* void};
}
}
}
@@ -486,7 +486,7 @@
{
final core::num* #t82 = #t81.{core::MapEntry::key} as{TypeError} core::num*;
final core::int* #t83 = #t81.{core::MapEntry::value} as{TypeError} core::int*;
- #t80.{core::Map::[]=}{Invariant}(#t82, #t83);
+ #t80.{core::Map::[]=}(#t82, #t83){(core::num*, core::int*) →* void};
}
}
}
diff --git a/pkg/front_end/testcases/general/statements.dart.weak.expect b/pkg/front_end/testcases/general/statements.dart.weak.expect
index 7e7194b..8d3c256 100644
--- a/pkg/front_end/testcases/general/statements.dart.weak.expect
+++ b/pkg/front_end/testcases/general/statements.dart.weak.expect
@@ -134,7 +134,7 @@
#L14:
{
core::print("Hello from do-while!");
- if((i = i.{core::num::+}(1)).{core::num::<}(3))
+ 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::<}(3))
+ 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.transformed.expect b/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
index dd17252..e0b0a7c 100644
--- a/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
@@ -214,7 +214,7 @@
#L16:
{
core::print("Hello from do-while!");
- if((i = i.{core::num::+}(1)).{core::num::<}(3))
+ 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::<}(3))
+ 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/store_load.dart.weak.expect b/pkg/front_end/testcases/general/store_load.dart.weak.expect
index a6c7200..b5b20a2 100644
--- a/pkg/front_end/testcases/general/store_load.dart.weak.expect
+++ b/pkg/front_end/testcases/general/store_load.dart.weak.expect
@@ -67,10 +67,10 @@
static method main() → dynamic {
self::Foo* foo = new self::Foo::•();
foo.{self::Foo::_field} = new self::FooValue::•();
- dynamic fooValue = foo.{self::Foo::_field};
+ dynamic fooValue = foo.{self::Foo::_field}{dynamic};
core::print(fooValue);
self::Bar* bar = new self::Bar::•();
bar.{self::Bar::_field} = new self::BarValue::•();
- dynamic barValue = bar.{self::Bar::_field};
+ dynamic barValue = bar.{self::Bar::_field}{dynamic};
core::print(barValue);
}
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 a6c7200..b5b20a2 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
@@ -67,10 +67,10 @@
static method main() → dynamic {
self::Foo* foo = new self::Foo::•();
foo.{self::Foo::_field} = new self::FooValue::•();
- dynamic fooValue = foo.{self::Foo::_field};
+ dynamic fooValue = foo.{self::Foo::_field}{dynamic};
core::print(fooValue);
self::Bar* bar = new self::Bar::•();
bar.{self::Bar::_field} = new self::BarValue::•();
- dynamic barValue = bar.{self::Bar::_field};
+ dynamic barValue = bar.{self::Bar::_field}{dynamic};
core::print(barValue);
}
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 b6efac9..29d979a 100644
--- a/pkg/front_end/testcases/general/super_call.dart.weak.expect
+++ b/pkg/front_end/testcases/general/super_call.dart.weak.expect
@@ -15,7 +15,7 @@
: super core::Object::•()
;
method call(core::int* x) → core::int*
- return x.{core::num::*}(2);
+ 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
@@ -32,7 +32,7 @@
: super self::A::•()
;
method call(core::int* x) → core::int*
- return x.{core::num::*}(3);
+ return x.{core::num::*}(3){(core::num*) →* core::int*};
method call_super() → core::int* {
return invalid-expression "pkg/front_end/testcases/general/super_call.dart:17:12: Error: Can't use 'super' as an expression.
To delegate a constructor to a super constructor, put the super call as an initializer.
@@ -41,5 +41,5 @@
}
}
static method main() → dynamic {
- assert(new self::B::•().{self::B::call_super}().{core::num::==}(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.transformed.expect b/pkg/front_end/testcases/general/super_call.dart.weak.transformed.expect
index 648c4cf..6c726a4 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
@@ -15,7 +15,7 @@
: super core::Object::•()
;
method call(core::int* x) → core::int*
- return x.{core::num::*}(2);
+ 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
@@ -32,7 +32,7 @@
: super self::A::•()
;
method call(core::int* x) → core::int*
- return x.{core::num::*}(3);
+ return x.{core::num::*}(3){(core::num*) →* core::int*};
method call_super() → core::int* {
return invalid-expression "pkg/front_end/testcases/general/super_call.dart:17:12: Error: Can't use 'super' as an expression.
To delegate a constructor to a super constructor, put the super call as an initializer.
@@ -41,5 +41,5 @@
}
}
static method main() → dynamic {
- assert(new self::B::•().{self::B::call_super}().{core::num::==}(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.weak.expect b/pkg/front_end/testcases/general/super_nsm.dart.weak.expect
index 0924671..949ce24 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart.weak.expect
+++ b/pkg/front_end/testcases/general/super_nsm.dart.weak.expect
@@ -34,7 +34,7 @@
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))) 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} dynamic;
}
class D extends self::C {
synthetic constructor •() → self::D*
@@ -46,8 +46,8 @@
return super.{self::C::interfaceMethod}();
}
static method main() → dynamic {
- dynamic result = new self::D::•().{self::D::dMethod}();
- if(!result.{core::Object::==}("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 1e84833..8b77ef2 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
@@ -32,7 +32,7 @@
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>{}))) 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} dynamic;
}
class D extends self::C {
synthetic constructor •() → self::D*
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 0924671..949ce24 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
@@ -34,7 +34,7 @@
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))) 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} dynamic;
}
class D extends self::C {
synthetic constructor •() → self::D*
@@ -46,8 +46,8 @@
return super.{self::C::interfaceMethod}();
}
static method main() → dynamic {
- dynamic result = new self::D::•().{self::D::dMethod}();
- if(!result.{core::Object::==}("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/this_field_call.dart.weak.expect b/pkg/front_end/testcases/general/this_field_call.dart.weak.expect
index 28e7d76..4acba29 100644
--- a/pkg/front_end/testcases/general/this_field_call.dart.weak.expect
+++ b/pkg/front_end/testcases/general/this_field_call.dart.weak.expect
@@ -8,7 +8,7 @@
: self::A::f = f, super core::Object::•()
;
method foo(generic-covariant-impl self::A::T* x) → dynamic
- return let final self::A::T* #t1 = x in this.{self::A::f}.call(#t1);
+ return let final self::A::T* #t1 = x in this.{self::A::f}{(self::A::T*) →* void}(#t1){(self::A::T*) →* 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
@@ -21,5 +21,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::A::•<core::int*>((core::int* x) → Null {}).{self::A::foo}(3);
+ new self::A::•<core::int*>((core::int* x) → Null {}).{self::A::foo}(3){(core::int*) →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/this_field_call.dart.weak.transformed.expect b/pkg/front_end/testcases/general/this_field_call.dart.weak.transformed.expect
index 28e7d76..4acba29 100644
--- a/pkg/front_end/testcases/general/this_field_call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/this_field_call.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
: self::A::f = f, super core::Object::•()
;
method foo(generic-covariant-impl self::A::T* x) → dynamic
- return let final self::A::T* #t1 = x in this.{self::A::f}.call(#t1);
+ return let final self::A::T* #t1 = x in this.{self::A::f}{(self::A::T*) →* void}(#t1){(self::A::T*) →* 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
@@ -21,5 +21,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::A::•<core::int*>((core::int* x) → Null {}).{self::A::foo}(3);
+ new self::A::•<core::int*>((core::int* x) → Null {}).{self::A::foo}(3){(core::int*) →* dynamic};
}
diff --git a/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.expect b/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.expect
index 1e70230..13976c1 100644
--- a/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.expect
+++ b/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.expect
@@ -17,7 +17,7 @@
: self::DynamicClass::field1 = field1, self::DynamicClass::field2 = field2, super core::Object::•()
;
method method() → dynamic
- return this.{self::DynamicClass::field1}.*(this.{self::DynamicClass::field2});
+ return this.{self::DynamicClass::field1}{self::DynamicClass::T*}{dynamic}.*(this.{self::DynamicClass::field2}{self::DynamicClass::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
@@ -36,12 +36,12 @@
: self::NumClass::field1 = field1, self::NumClass::field2 = field2, super core::Object::•()
;
method method1() → core::num*
- return this.{self::NumClass::field1}.{core::num::*}(this.{self::NumClass::field2});
+ return this.{self::NumClass::field1}{self::NumClass::T*}.{core::num::*}(this.{self::NumClass::field2}{self::NumClass::S*}){(core::num*) →* core::num*};
method method2() → core::num*
- return this.{self::NumClass::field1}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/type_variable_bound_access.dart:22:36: Error: The getter 'length' isn't defined for the class 'num'.
+ return this.{self::NumClass::field1}{self::NumClass::T*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/type_variable_bound_access.dart:22:36: Error: The getter 'length' isn't defined for the class 'num'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'length'.
num method2() => field1 + field2.length;
- ^^^^^^" as{TypeError,ForDynamic} core::num*);
+ ^^^^^^" as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -64,12 +64,12 @@
: super core::Object::•()
;
method method() → dynamic {
- this.{self::Class::field0}.{core::int::isEven};
- this.{self::Class::field1}.{core::int::isEven};
- this.{self::Class::field2}.{core::int::isEven};
- this.{self::Class::field3}.{core::int::isEven};
- this.{self::Class::field4}.{core::int::isEven};
- this.{self::Class::field5}.{core::int::isEven};
+ this.{self::Class::field0}{self::Class::X0*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field1}{self::Class::X1*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field2}{self::Class::X2*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field3}{self::Class::X3*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field4}{self::Class::X4*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field5}{self::Class::X5*}.{core::int::isEven}{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
@@ -83,6 +83,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::DynamicClass::•<core::num*, core::int*>(0.5, 2).{self::DynamicClass::method}();
- new self::NumClass::•<core::num*, core::double*>(2, 0.5).{self::NumClass::method1}();
+ new self::DynamicClass::•<core::num*, core::int*>(0.5, 2).{self::DynamicClass::method}(){() →* dynamic};
+ new self::NumClass::•<core::num*, core::double*>(2, 0.5).{self::NumClass::method1}(){() →* core::num*};
}
diff --git a/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.transformed.expect b/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.transformed.expect
index d9c7800..6ed0eeb 100644
--- a/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.transformed.expect
@@ -17,7 +17,7 @@
: self::DynamicClass::field1 = field1, self::DynamicClass::field2 = field2, super core::Object::•()
;
method method() → dynamic
- return this.{self::DynamicClass::field1}.*(this.{self::DynamicClass::field2});
+ return this.{self::DynamicClass::field1}{self::DynamicClass::T*}{dynamic}.*(this.{self::DynamicClass::field2}{self::DynamicClass::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
@@ -36,12 +36,12 @@
: self::NumClass::field1 = field1, self::NumClass::field2 = field2, super core::Object::•()
;
method method1() → core::num*
- return this.{self::NumClass::field1}.{core::num::*}(this.{self::NumClass::field2});
+ return this.{self::NumClass::field1}{self::NumClass::T*}.{core::num::*}(this.{self::NumClass::field2}{self::NumClass::S*}){(core::num*) →* core::num*};
method method2() → core::num*
- return this.{self::NumClass::field1}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/type_variable_bound_access.dart:22:36: Error: The getter 'length' isn't defined for the class 'num'.
+ return this.{self::NumClass::field1}{self::NumClass::T*}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general/type_variable_bound_access.dart:22:36: Error: The getter 'length' isn't defined for the class 'num'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'length'.
num method2() => field1 + field2.length;
- ^^^^^^");
+ ^^^^^^"){(core::num*) →* core::num*};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -64,12 +64,12 @@
: super core::Object::•()
;
method method() → dynamic {
- this.{self::Class::field0}.{core::int::isEven};
- this.{self::Class::field1}.{core::int::isEven};
- this.{self::Class::field2}.{core::int::isEven};
- this.{self::Class::field3}.{core::int::isEven};
- this.{self::Class::field4}.{core::int::isEven};
- this.{self::Class::field5}.{core::int::isEven};
+ this.{self::Class::field0}{self::Class::X0*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field1}{self::Class::X1*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field2}{self::Class::X2*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field3}{self::Class::X3*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field4}{self::Class::X4*}.{core::int::isEven}{core::bool*};
+ this.{self::Class::field5}{self::Class::X5*}.{core::int::isEven}{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
@@ -83,6 +83,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::DynamicClass::•<core::num*, core::int*>(0.5, 2).{self::DynamicClass::method}();
- new self::NumClass::•<core::num*, core::double*>(2, 0.5).{self::NumClass::method1}();
+ new self::DynamicClass::•<core::num*, core::int*>(0.5, 2).{self::DynamicClass::method}(){() →* dynamic};
+ new self::NumClass::•<core::num*, core::double*>(2, 0.5).{self::NumClass::method1}(){() →* core::num*};
}
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.expect
index f33e878..93f9c23 100644
--- a/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.expect
+++ b/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.expect
@@ -29,6 +29,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::String* s = new self::C::•<dynamic>().{self::C::method}();
+ core::String* s = new self::C::•<dynamic>().{self::C::method}(){() →* invalid-type};
core::print(s);
}
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.transformed.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.transformed.expect
index f33e878..93f9c23 100644
--- a/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.transformed.expect
@@ -29,6 +29,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::String* s = new self::C::•<dynamic>().{self::C::method}();
+ core::String* s = new self::C::•<dynamic>().{self::C::method}(){() →* invalid-type};
core::print(s);
}
diff --git a/pkg/front_end/testcases/general/undefined.dart.weak.expect b/pkg/front_end/testcases/general/undefined.dart.weak.expect
index 3bd9b1a..dd04769 100644
--- a/pkg/front_end/testcases/general/undefined.dart.weak.expect
+++ b/pkg/front_end/testcases/general/undefined.dart.weak.expect
@@ -41,13 +41,13 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C* c) → void {
- c.{self::C::x};
+ c.{self::C::x}{dynamic};
invalid-expression "pkg/front_end/testcases/general/undefined.dart:12:5: Error: The getter 'y' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/general/undefined.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'y'.
c.y;
^";
- c.{self::C::f}();
+ c.{self::C::f}(){() →* void};
invalid-expression "pkg/front_end/testcases/general/undefined.dart:14:5: Error: The method 'g' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/general/undefined.dart'.
Try correcting the name to the name of an existing method, or defining a method named 'g'.
diff --git a/pkg/front_end/testcases/general/undefined.dart.weak.transformed.expect b/pkg/front_end/testcases/general/undefined.dart.weak.transformed.expect
index 3bd9b1a..dd04769 100644
--- a/pkg/front_end/testcases/general/undefined.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/undefined.dart.weak.transformed.expect
@@ -41,13 +41,13 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C* c) → void {
- c.{self::C::x};
+ c.{self::C::x}{dynamic};
invalid-expression "pkg/front_end/testcases/general/undefined.dart:12:5: Error: The getter 'y' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/general/undefined.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'y'.
c.y;
^";
- c.{self::C::f}();
+ c.{self::C::f}(){() →* void};
invalid-expression "pkg/front_end/testcases/general/undefined.dart:14:5: Error: The method 'g' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/general/undefined.dart'.
Try correcting the name to the name of an existing method, or defining a method named 'g'.
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.expect
index b0b1563..99c4726 100644
--- a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.expect
+++ b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.expect
@@ -39,11 +39,11 @@
- 'C' is from 'pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
c.x += 1;
- ^".+(1);
+ ^"{dynamic}.+(1);
let final self::C* #t2 = c in invalid-expression "pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart:12:5: Error: The getter 'x' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
c.x ??= 1;
- ^".{core::Object::==}(null) ?{dynamic} #t2.{self::C::x} = 1 : null;
+ ^" == null ?{dynamic} #t2.{self::C::x} = 1 : null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.transformed.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.transformed.expect
index b0b1563..99c4726 100644
--- a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.transformed.expect
@@ -39,11 +39,11 @@
- 'C' is from 'pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
c.x += 1;
- ^".+(1);
+ ^"{dynamic}.+(1);
let final self::C* #t2 = c in invalid-expression "pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart:12:5: Error: The getter 'x' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
c.x ??= 1;
- ^".{core::Object::==}(null) ?{dynamic} #t2.{self::C::x} = 1 : null;
+ ^" == null ?{dynamic} #t2.{self::C::x} = 1 : null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.weak.expect b/pkg/front_end/testcases/general/unsound_promotion.dart.weak.expect
index bf4731f..e5a07f2 100644
--- a/pkg/front_end/testcases/general/unsound_promotion.dart.weak.expect
+++ b/pkg/front_end/testcases/general/unsound_promotion.dart.weak.expect
@@ -52,7 +52,7 @@
static field core::List<self::A*>* list;
static method g<T extends self::A*>(self::g::T* t) → core::List<self::g::T*>* {
self::list = <self::g::T*>[];
- core::print(self::list.{core::Object::runtimeType});
+ core::print(self::list.{core::Object::runtimeType}{core::Type*});
return self::list as{TypeError} core::List<self::g::T*>*;
}
static method f<S extends core::Object* = dynamic>(self::f::S* s) → core::List<self::f::S*>* {
@@ -64,7 +64,7 @@
}
static method main() → dynamic {
self::f<self::B*>(new self::C::•());
- core::print(self::list.{core::Object::runtimeType});
+ core::print(self::list.{core::Object::runtimeType}{core::Type*});
core::List<self::A*>* aList;
aList = self::list;
core::Object* o = aList;
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.weak.expect b/pkg/front_end/testcases/general/unused_methods.dart.weak.expect
index e571d37..060120a 100644
--- a/pkg/front_end/testcases/general/unused_methods.dart.weak.expect
+++ b/pkg/front_end/testcases/general/unused_methods.dart.weak.expect
@@ -26,7 +26,7 @@
core::print("Unused");
}
method calledFromB() → void {
- this.{self::UsedAsBaseClass::calledFromSubclass}();
+ this.{self::UsedAsBaseClass::calledFromSubclass}(){() →* void};
}
method calledFromSubclass() → void {
core::print("Unused");
@@ -92,21 +92,21 @@
;
method usedInSubclass() → void {
core::print("B");
- this.{self::UsedAsBaseClass::calledFromB}();
+ this.{self::UsedAsBaseClass::calledFromB}(){() →* void};
}
method calledFromSubclass() → void {}
}
static method baseClassCall(self::UsedAsBaseClass* object) → void {
- object.{self::UsedAsBaseClass::usedInSubclass}();
+ object.{self::UsedAsBaseClass::usedInSubclass}(){() →* void};
}
static method interfaceCall(self::UsedAsInterface* object) → void {
- object.{self::UsedAsInterface::usedInSubclass}();
+ object.{self::UsedAsInterface::usedInSubclass}(){() →* void};
}
static method exactCallA(self::ClassA* object) → void {
- object.{self::ClassA::usedInSubclass}();
+ object.{self::ClassA::usedInSubclass}(){() →* void};
}
static method exactCallB(self::ClassB* object) → void {
- object.{self::ClassB::usedInSubclass}();
+ object.{self::ClassB::usedInSubclass}(){() →* void};
}
static method unusedTopLevel() → dynamic {
core::print("Unused");
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/general/unused_methods.dart.weak.transformed.expect
index e571d37..060120a 100644
--- a/pkg/front_end/testcases/general/unused_methods.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/unused_methods.dart.weak.transformed.expect
@@ -26,7 +26,7 @@
core::print("Unused");
}
method calledFromB() → void {
- this.{self::UsedAsBaseClass::calledFromSubclass}();
+ this.{self::UsedAsBaseClass::calledFromSubclass}(){() →* void};
}
method calledFromSubclass() → void {
core::print("Unused");
@@ -92,21 +92,21 @@
;
method usedInSubclass() → void {
core::print("B");
- this.{self::UsedAsBaseClass::calledFromB}();
+ this.{self::UsedAsBaseClass::calledFromB}(){() →* void};
}
method calledFromSubclass() → void {}
}
static method baseClassCall(self::UsedAsBaseClass* object) → void {
- object.{self::UsedAsBaseClass::usedInSubclass}();
+ object.{self::UsedAsBaseClass::usedInSubclass}(){() →* void};
}
static method interfaceCall(self::UsedAsInterface* object) → void {
- object.{self::UsedAsInterface::usedInSubclass}();
+ object.{self::UsedAsInterface::usedInSubclass}(){() →* void};
}
static method exactCallA(self::ClassA* object) → void {
- object.{self::ClassA::usedInSubclass}();
+ object.{self::ClassA::usedInSubclass}(){() →* void};
}
static method exactCallB(self::ClassB* object) → void {
- object.{self::ClassB::usedInSubclass}();
+ object.{self::ClassB::usedInSubclass}(){() →* void};
}
static method unusedTopLevel() → dynamic {
core::print("Unused");
diff --git a/pkg/front_end/testcases/general/vm_type_ops.dart.weak.expect b/pkg/front_end/testcases/general/vm_type_ops.dart.weak.expect
index 2091c88..017b651 100644
--- a/pkg/front_end/testcases/general/vm_type_ops.dart.weak.expect
+++ b/pkg/front_end/testcases/general/vm_type_ops.dart.weak.expect
@@ -48,7 +48,7 @@
if(z is self::C<core::Map<self::D::foo3::T1*, self::D::P*>*, core::List<self::D::foo3::T2*>*, self::D::Q*>*) {
core::print("32");
}
- return (z as core::Map<self::D::foo3::T2*, self::D::Q*>*).{core::Map::values};
+ return (z as core::Map<self::D::foo3::T2*, self::D::Q*>*).{core::Map::values}{core::Iterable<self::D::Q*>*};
}
method foo4(dynamic w) → core::Map<self::D::P*, self::D::Q*>* {
core::List<core::Map<self::D::P*, self::D::Q*>*>* list = <core::Map<self::D::P*, self::D::Q*>*>[w as{TypeError,ForDynamic} core::Map<self::D::P*, self::D::Q*>*];
diff --git a/pkg/front_end/testcases/general/vm_type_ops.dart.weak.transformed.expect b/pkg/front_end/testcases/general/vm_type_ops.dart.weak.transformed.expect
index ce44cfa..ace3959 100644
--- a/pkg/front_end/testcases/general/vm_type_ops.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/vm_type_ops.dart.weak.transformed.expect
@@ -48,7 +48,7 @@
if(z is self::C<core::Map<self::D::foo3::T1*, self::D::P*>*, core::List<self::D::foo3::T2*>*, self::D::Q*>*) {
core::print("32");
}
- return (z as core::Map<self::D::foo3::T2*, self::D::Q*>*).{core::Map::values};
+ return (z as core::Map<self::D::foo3::T2*, self::D::Q*>*).{core::Map::values}{core::Iterable<self::D::Q*>*};
}
method foo4(dynamic w) → core::Map<self::D::P*, self::D::Q*>* {
core::List<core::Map<self::D::P*, self::D::Q*>*>* list = core::_GrowableList::_literal1<core::Map<self::D::P*, self::D::Q*>*>(w as{TypeError,ForDynamic} core::Map<self::D::P*, self::D::Q*>*);
diff --git a/pkg/front_end/testcases/general/void_methods.dart.weak.expect b/pkg/front_end/testcases/general/void_methods.dart.weak.expect
index 70705a1..dff46ae 100644
--- a/pkg/front_end/testcases/general/void_methods.dart.weak.expect
+++ b/pkg/front_end/testcases/general/void_methods.dart.weak.expect
@@ -8,11 +8,11 @@
: super core::Object::•()
;
set first(dynamic x) → void
- return let final core::List<dynamic>* #t1 = this.{self::Foo::list} in let final core::int* #t2 = 0 in let final dynamic #t3 = x in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3) in #t3;
+ return let final core::List<dynamic>* #t1 = this.{self::Foo::list}{core::List<dynamic>*} in let final core::int* #t2 = 0 in let final dynamic #t3 = x in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3){(core::int*, dynamic) →* void} in #t3;
operator []=(dynamic x, dynamic y) → void
- return let final core::List<dynamic>* #t5 = this.{self::Foo::list} in let final dynamic #t6 = x as{TypeError,ForDynamic} core::int* in let final dynamic #t7 = y in let final void #t8 = #t5.{core::List::[]=}(#t6, #t7) in #t7;
+ return let final core::List<dynamic>* #t5 = this.{self::Foo::list}{core::List<dynamic>*} in let final dynamic #t6 = x as{TypeError,ForDynamic} core::int* in let final dynamic #t7 = y in let final void #t8 = #t5.{core::List::[]=}(#t6, #t7){(core::int*, dynamic) →* void} in #t7;
method clear() → void
- return this.{self::Foo::list}.{core::List::clear}();
+ return this.{self::Foo::list}{core::List<dynamic>*}.{core::List::clear}(){() →* 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
@@ -26,6 +26,6 @@
}
static method main() → dynamic {
new self::Foo::•().{self::Foo::first} = 4;
- new self::Foo::•().{self::Foo::[]=}(3, 4);
- new self::Foo::•().{self::Foo::clear}();
+ new self::Foo::•().{self::Foo::[]=}(3, 4){(dynamic, dynamic) →* void};
+ new self::Foo::•().{self::Foo::clear}(){() →* void};
}
diff --git a/pkg/front_end/testcases/general/void_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/general/void_methods.dart.weak.transformed.expect
index 8844178..a6dfbf8 100644
--- a/pkg/front_end/testcases/general/void_methods.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/void_methods.dart.weak.transformed.expect
@@ -8,11 +8,11 @@
: super core::Object::•()
;
set first(dynamic x) → void
- return let final core::List<dynamic>* #t1 = this.{self::Foo::list} in let final core::int* #t2 = 0 in let final dynamic #t3 = x in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3) in #t3;
+ return let final core::List<dynamic>* #t1 = this.{self::Foo::list}{core::List<dynamic>*} in let final core::int* #t2 = 0 in let final dynamic #t3 = x in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3){(core::int*, dynamic) →* void} in #t3;
operator []=(dynamic x, dynamic y) → void
- return let final core::List<dynamic>* #t5 = this.{self::Foo::list} in let final core::int* #t6 = x as{TypeError,ForDynamic} core::int* in let final dynamic #t7 = y in let final void #t8 = #t5.{core::List::[]=}(#t6, #t7) in #t7;
+ return let final core::List<dynamic>* #t5 = this.{self::Foo::list}{core::List<dynamic>*} in let final core::int* #t6 = x as{TypeError,ForDynamic} core::int* in let final dynamic #t7 = y in let final void #t8 = #t5.{core::List::[]=}(#t6, #t7){(core::int*, dynamic) →* void} in #t7;
method clear() → void
- return this.{self::Foo::list}.{core::List::clear}();
+ return this.{self::Foo::list}{core::List<dynamic>*}.{core::List::clear}(){() →* 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
@@ -26,8 +26,8 @@
}
static method main() → dynamic {
new self::Foo::•().{self::Foo::first} = 4;
- new self::Foo::•().{self::Foo::[]=}(3, 4);
- new self::Foo::•().{self::Foo::clear}();
+ new self::Foo::•().{self::Foo::[]=}(3, 4){(dynamic, dynamic) →* void};
+ new self::Foo::•().{self::Foo::clear}(){() →* void};
}
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.expect
index 27e3b71..aa48737 100644
--- a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.expect
+++ b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.expect
@@ -74,25 +74,25 @@
return null;
method method() → dynamic {}
method test() → void {
- this.{self::D::field};
- this.{self::C::superField};
+ this.{self::D::field}{dynamic};
+ this.{self::C::superField}{dynamic};
this.{self::D::field} = 0;
this.{self::C::superField} = 0;
- this.{self::D::method}();
- this.{self::C::superMethod}();
- this.{self::C::setterOnly};
+ this.{self::D::method}(){() →* dynamic};
+ this.{self::C::superMethod}(){() →* dynamic};
+ this.{self::C::setterOnly}{dynamic};
this.{self::D::setterOnly} = 0;
- this.{self::D::getterOnly};
+ this.{self::D::getterOnly}{dynamic};
this.{self::C::getterOnly} = 0;
- this.{self::D::field};
- this.{self::C::superField};
+ this.{self::D::field}{dynamic};
+ this.{self::C::superField}{dynamic};
this.{self::D::field} = 0;
this.{self::C::superField} = 0;
- this.{self::D::method}();
- this.{self::C::superMethod}();
- this.{self::C::setterOnly};
+ this.{self::D::method}(){() →* dynamic};
+ this.{self::C::superMethod}(){() →* dynamic};
+ this.{self::C::setterOnly}{dynamic};
this.{self::D::setterOnly} = 0;
- this.{self::D::getterOnly};
+ this.{self::D::getterOnly}{dynamic};
this.{self::C::getterOnly} = 0;
invalid-expression "pkg/front_end/testcases/general/warn_unresolved_sends.dart:48:10: Error: The getter 'missingField' isn't defined for the class 'D'.
- 'D' is from 'pkg/front_end/testcases/general/warn_unresolved_sends.dart'.
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.transformed.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.transformed.expect
index 27e3b71..aa48737 100644
--- a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.transformed.expect
@@ -74,25 +74,25 @@
return null;
method method() → dynamic {}
method test() → void {
- this.{self::D::field};
- this.{self::C::superField};
+ this.{self::D::field}{dynamic};
+ this.{self::C::superField}{dynamic};
this.{self::D::field} = 0;
this.{self::C::superField} = 0;
- this.{self::D::method}();
- this.{self::C::superMethod}();
- this.{self::C::setterOnly};
+ this.{self::D::method}(){() →* dynamic};
+ this.{self::C::superMethod}(){() →* dynamic};
+ this.{self::C::setterOnly}{dynamic};
this.{self::D::setterOnly} = 0;
- this.{self::D::getterOnly};
+ this.{self::D::getterOnly}{dynamic};
this.{self::C::getterOnly} = 0;
- this.{self::D::field};
- this.{self::C::superField};
+ this.{self::D::field}{dynamic};
+ this.{self::C::superField}{dynamic};
this.{self::D::field} = 0;
this.{self::C::superField} = 0;
- this.{self::D::method}();
- this.{self::C::superMethod}();
- this.{self::C::setterOnly};
+ this.{self::D::method}(){() →* dynamic};
+ this.{self::C::superMethod}(){() →* dynamic};
+ this.{self::C::setterOnly}{dynamic};
this.{self::D::setterOnly} = 0;
- this.{self::D::getterOnly};
+ this.{self::D::getterOnly}{dynamic};
this.{self::C::getterOnly} = 0;
invalid-expression "pkg/front_end/testcases/general/warn_unresolved_sends.dart:48:10: Error: The getter 'missingField' isn't defined for the class 'D'.
- 'D' is from 'pkg/front_end/testcases/general/warn_unresolved_sends.dart'.
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect
index 99bdeb7..9c0b260 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect
@@ -7,11 +7,11 @@
static const field con::B* crossModule = #C3;
static method main() → dynamic {
- self::expect(2.71, (#C3).{con::A::d});
- self::expect("default", (#C3).{con::A::s});
+ self::expect(2.71, (#C3).{con::A::d}{core::double*});
+ self::expect("default", (#C3).{con::A::s}{core::String*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect
index 99bdeb7..9c0b260 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect
@@ -7,11 +7,11 @@
static const field con::B* crossModule = #C3;
static method main() → dynamic {
- self::expect(2.71, (#C3).{con::A::d});
- self::expect("default", (#C3).{con::A::s});
+ self::expect(2.71, (#C3).{con::A::d}{core::double*});
+ self::expect("default", (#C3).{con::A::s}{core::String*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect
index 477d3c1..2b8aa68 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect
@@ -8,17 +8,17 @@
static method main() → dynamic {
mix::Foo* foo1 = new mix::Foo::•();
- if(foo1.{mix::_Foo&B&D::==}(null))
+ if(foo1 == null)
throw "what?";
- if(!foo1.{mix::_Foo&B&D::==}(foo1))
+ if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* dart.core::bool*} foo1))
throw "what?";
- foo1.{mix::_Foo&B&D::x}();
+ foo1.{mix::_Foo&B&D::x}(){() →* void};
mix2::Foo* foo2 = new mix2::Foo::•();
- if(foo2.{mix2::_Foo&B&D::==}(null))
+ if(foo2 == null)
throw "what?";
- if(!foo2.{mix2::_Foo&B&D::==}(foo2))
+ if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* dart.core::bool*} foo2))
throw "what?";
- foo2.{mix2::_Foo&B&D::x}();
+ foo2.{mix2::_Foo&B&D::x}(){() →* void};
}
library;
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect
index 82923f0..33fa94c 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect
@@ -8,17 +8,17 @@
static method main() → dynamic {
mix::Foo* foo1 = new mix::Foo::•();
- if(foo1.{mix::_Foo&B&D::==}(null))
+ if(foo1 == null)
throw "what?";
- if(!foo1.{mix::_Foo&B&D::==}(foo1))
+ if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* dart.core::bool*} foo1))
throw "what?";
- foo1.{mix::_Foo&B&D::x}();
+ foo1.{mix::_Foo&B&D::x}(){() →* void};
mix2::Foo* foo2 = new mix2::Foo::•();
- if(foo2.{mix2::_Foo&B&D::==}(null))
+ if(foo2 == null)
throw "what?";
- if(!foo2.{mix2::_Foo&B&D::==}(foo2))
+ if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* dart.core::bool*} foo2))
throw "what?";
- foo2.{mix2::_Foo&B&D::x}();
+ foo2.{mix2::_Foo&B&D::x}(){() →* void};
}
library;
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.expect
index 23b3c5d..9233b38 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.expect
@@ -8,17 +8,17 @@
static method main() → dynamic {
mix::Foo* foo1 = new mix::Foo::•();
- if(foo1.{mix::_Foo&B&D::==}(null))
+ if(foo1 == null)
throw "what?";
- if(!foo1.{mix::_Foo&B&D::==}(foo1))
+ if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* dart.core::bool*} foo1))
throw "what?";
- foo1.{mix::_Foo&B&D::x}();
+ foo1.{mix::_Foo&B&D::x}(){() →* void};
mix2::Foo* foo2 = new mix2::Foo::•();
- if(foo2.{mix2::_Foo&B&D::==}(null))
+ if(foo2 == null)
throw "what?";
- if(!foo2.{mix2::_Foo&B&D::==}(foo2))
+ if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* dart.core::bool*} foo2))
throw "what?";
- foo2.{mix2::_Foo&B&D::x}();
+ foo2.{mix2::_Foo&B&D::x}(){() →* void};
}
library;
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.transformed.expect
index 06efdba..01ffe09 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.no_link.dart.weak.transformed.expect
@@ -8,17 +8,17 @@
static method main() → dynamic {
mix::Foo* foo1 = new mix::Foo::•();
- if(foo1.{mix::_Foo&B&D::==}(null))
+ if(foo1 == null)
throw "what?";
- if(!foo1.{mix::_Foo&B&D::==}(foo1))
+ if(!(foo1 =={mix::_Foo&B&D::==}{(dynamic) →* dart.core::bool*} foo1))
throw "what?";
- foo1.{mix::_Foo&B&D::x}();
+ foo1.{mix::_Foo&B&D::x}(){() →* void};
mix2::Foo* foo2 = new mix2::Foo::•();
- if(foo2.{mix2::_Foo&B&D::==}(null))
+ if(foo2 == null)
throw "what?";
- if(!foo2.{mix2::_Foo&B&D::==}(foo2))
+ if(!(foo2 =={mix2::_Foo&B&D::==}{(dynamic) →* dart.core::bool*} foo2))
throw "what?";
- foo2.{mix2::_Foo&B&D::x}();
+ foo2.{mix2::_Foo&B&D::x}(){() →* void};
}
library;
diff --git a/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.strong.expect b/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.strong.expect
index 189f2c4..80cb97b 100644
--- a/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.strong.expect
+++ b/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.strong.expect
@@ -67,7 +67,7 @@
}
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.strong.transformed.expect b/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.strong.transformed.expect
index 189f2c4..80cb97b 100644
--- a/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.strong.transformed.expect
@@ -67,7 +67,7 @@
}
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.weak.expect b/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.weak.expect
index 941af3f..979b373 100644
--- a/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.weak.expect
+++ b/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.weak.expect
@@ -67,7 +67,7 @@
}
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.weak.transformed.expect b/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.weak.transformed.expect
index 941af3f..979b373 100644
--- a/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/generic_metadata/from_dill/main.dart.weak.transformed.expect
@@ -67,7 +67,7 @@
}
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.strong.expect b/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.strong.expect
index 19d9303..7906e15 100644
--- a/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.strong.expect
+++ b/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.strong.expect
@@ -15,7 +15,7 @@
core::List<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> y = <<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>[#C1];
core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> z = block {
final core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> #t1 = col::LinkedHashSet::•<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>();
- #t1.{core::Set::add}{Invariant}(y.{core::Iterable::first});
+ #t1.{core::Set::add}(y.{core::Iterable::first}{<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>}){(<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>) → core::bool};
} =>#t1;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.strong.transformed.expect b/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.strong.transformed.expect
index 82c52ba..45504ea 100644
--- a/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.strong.transformed.expect
@@ -15,7 +15,7 @@
core::List<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> y = core::_GrowableList::_literal1<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>(#C1);
core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> z = block {
final core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> #t1 = new col::_CompactLinkedHashSet::•<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>();
- #t1.{core::Set::add}{Invariant}(y.{core::Iterable::first});
+ #t1.{core::Set::add}(y.{core::Iterable::first}{<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>}){(<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>) → core::bool};
} =>#t1;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.weak.expect b/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.weak.expect
index 19d9303..7906e15 100644
--- a/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.weak.expect
+++ b/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.weak.expect
@@ -15,7 +15,7 @@
core::List<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> y = <<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>[#C1];
core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> z = block {
final core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> #t1 = col::LinkedHashSet::•<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>();
- #t1.{core::Set::add}{Invariant}(y.{core::Iterable::first});
+ #t1.{core::Set::add}(y.{core::Iterable::first}{<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>}){(<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>) → core::bool};
} =>#t1;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.weak.transformed.expect b/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.weak.transformed.expect
index 82c52ba..45504ea 100644
--- a/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/generic_metadata/inferred_generic_types_in_arguments_and_bounds.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
core::List<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> y = core::_GrowableList::_literal1<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>(#C1);
core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> z = block {
final core::Set<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>> #t1 = new col::_CompactLinkedHashSet::•<<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>>();
- #t1.{core::Set::add}{Invariant}(y.{core::Iterable::first});
+ #t1.{core::Set::add}(y.{core::Iterable::first}{<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>}){(<Y extends core::Object? = dynamic>(Y%) → self::A<Y%>) → core::bool};
} =>#t1;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/incremental/changing_modules_4.yaml.world.1.expect b/pkg/front_end/testcases/incremental/changing_modules_4.yaml.world.1.expect
index 4f177a0..24ffa21 100644
--- a/pkg/front_end/testcases/incremental/changing_modules_4.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/changing_modules_4.yaml.world.1.expect
@@ -4,7 +4,7 @@
import "package:moduleB/b.dart";
static field dart.core::String* foo = c::baz;
- static field dart.core::int* x = b::mya2.{b::A2::bar};
+ static field dart.core::int* x = b::mya2.{b::A2::bar}{dart.core::int*};
}
library from "package:moduleB/b.dart" as b {
additionalExports = (c::baz,
diff --git a/pkg/front_end/testcases/incremental/changing_modules_7.yaml.world.1.expect b/pkg/front_end/testcases/incremental/changing_modules_7.yaml.world.1.expect
index 00db382..a3215f8d 100644
--- a/pkg/front_end/testcases/incremental/changing_modules_7.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/changing_modules_7.yaml.world.1.expect
@@ -10,7 +10,7 @@
;
method class1() → lib1::Class1* {
lib1::Class1* class1 = new lib1::Class1::•();
- class1.{lib1::Class1::c3a}.{lib3::Class3a::c3b}.{lib3::Class3b::str}();
+ class1.{lib1::Class1::c3a}{lib3::Class3a*}.{lib3::Class3a::c3b}{lib3::Class3b*}.{lib3::Class3b::str}(){() →* dart.core::String*};
return class1;
}
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change.yaml.world.1.expect b/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change.yaml.world.1.expect
index e4a08ef..45c9ab4 100644
--- a/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change.yaml.world.1.expect
@@ -83,7 +83,7 @@
get renderObject() → main::Adaptor*
return super.{obj::RenderObject::renderObject} as{TypeError} main::Adaptor*;
method foo() → void {
- dart.core::print(this.{main::AdaptorElement::renderObject}.{main::_Adaptor&RenderFoo&LibMixin::constraints}.{obj::FooConstraints::axis});
+ dart.core::print(this.{main::AdaptorElement::renderObject}{main::Adaptor*}.{main::_Adaptor&RenderFoo&LibMixin::constraints}{obj::FooConstraints*}.{obj::FooConstraints::axis}{dart.core::String*});
}
abstract member-signature get constraints() → obj::Constraints*; -> obj::RenderObject::constraints
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change.yaml.world.2.expect b/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change.yaml.world.2.expect
index e4a08ef..45c9ab4 100644
--- a/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change.yaml.world.2.expect
@@ -83,7 +83,7 @@
get renderObject() → main::Adaptor*
return super.{obj::RenderObject::renderObject} as{TypeError} main::Adaptor*;
method foo() → void {
- dart.core::print(this.{main::AdaptorElement::renderObject}.{main::_Adaptor&RenderFoo&LibMixin::constraints}.{obj::FooConstraints::axis});
+ dart.core::print(this.{main::AdaptorElement::renderObject}{main::Adaptor*}.{main::_Adaptor&RenderFoo&LibMixin::constraints}{obj::FooConstraints*}.{obj::FooConstraints::axis}{dart.core::String*});
}
abstract member-signature get constraints() → obj::Constraints*; -> obj::RenderObject::constraints
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change_02.yaml.world.1.expect b/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change_02.yaml.world.1.expect
index 49289d9..ec1075d 100644
--- a/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change_02.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change_02.yaml.world.1.expect
@@ -89,7 +89,7 @@
get renderObject() → lib1::Adaptor*
return super.{obj::RenderObject::renderObject} as{TypeError} lib1::Adaptor*;
method foo() → void {
- dart.core::print(this.{main::AdaptorElement::renderObject}.{lib1::_Adaptor&RenderFoo&LibMixin::constraints}.{obj::FooConstraints::axis});
+ dart.core::print(this.{main::AdaptorElement::renderObject}{lib1::Adaptor*}.{lib1::_Adaptor&RenderFoo&LibMixin::constraints}{obj::FooConstraints*}.{obj::FooConstraints::axis}{dart.core::String*});
}
abstract member-signature get constraints() → obj::Constraints*; -> obj::RenderObject::constraints
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change_02.yaml.world.2.expect b/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change_02.yaml.world.2.expect
index 49289d9..ec1075d 100644
--- a/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change_02.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/error_on_recompile_with_no_change_02.yaml.world.2.expect
@@ -89,7 +89,7 @@
get renderObject() → lib1::Adaptor*
return super.{obj::RenderObject::renderObject} as{TypeError} lib1::Adaptor*;
method foo() → void {
- dart.core::print(this.{main::AdaptorElement::renderObject}.{lib1::_Adaptor&RenderFoo&LibMixin::constraints}.{obj::FooConstraints::axis});
+ dart.core::print(this.{main::AdaptorElement::renderObject}{lib1::Adaptor*}.{lib1::_Adaptor&RenderFoo&LibMixin::constraints}{obj::FooConstraints*}.{obj::FooConstraints::axis}{dart.core::String*});
}
abstract member-signature get constraints() → obj::Constraints*; -> obj::RenderObject::constraints
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/incremental/experiments_enabled_1.yaml.world.1.expect b/pkg/front_end/testcases/incremental/experiments_enabled_1.yaml.world.1.expect
index 2542952..976a041 100644
--- a/pkg/front_end/testcases/incremental/experiments_enabled_1.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/experiments_enabled_1.yaml.world.1.expect
@@ -8,7 +8,7 @@
}
static method main() → dynamic {
dynamic x;
- dart.core::print(x.>>>(2));
+ dart.core::print(x{dynamic}.>>>(2));
main::Class? c = new main::Class::•();
dart.core::print(c!);
}
diff --git a/pkg/front_end/testcases/incremental/ffi_01.yaml.world.1.expect b/pkg/front_end/testcases/incremental/ffi_01.yaml.world.1.expect
index 481fe3f..ab4cf52 100644
--- a/pkg/front_end/testcases/incremental/ffi_01.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/ffi_01.yaml.world.1.expect
@@ -45,9 +45,9 @@
static method main() → dynamic {
lib::Coordinate* coordinate = lib::Coordinate::allocate(42.0, 42.0, null);
- dart.core::print(coordinate.{lib::Coordinate::x});
- dart.core::print(coordinate.{lib::Coordinate::y});
- dart.core::print(coordinate.{lib::Coordinate::next});
+ dart.core::print(coordinate.{lib::Coordinate::x}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::y}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::next}{dart.ffi::Pointer<lib::Coordinate*>*});
}
}
constants {
diff --git a/pkg/front_end/testcases/incremental/ffi_01.yaml.world.2.expect b/pkg/front_end/testcases/incremental/ffi_01.yaml.world.2.expect
index 751d0a9..ba5c9d3 100644
--- a/pkg/front_end/testcases/incremental/ffi_01.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/ffi_01.yaml.world.2.expect
@@ -45,9 +45,9 @@
static method main() → dynamic {
lib::Coordinate* coordinate = lib::Coordinate::allocate(42.0, 42.0, null);
- dart.core::print(coordinate.{lib::Coordinate::x});
- dart.core::print(coordinate.{lib::Coordinate::y});
- dart.core::print(coordinate.{lib::Coordinate::next});
+ dart.core::print(coordinate.{lib::Coordinate::x}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::y}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::next}{dart.ffi::Pointer<lib::Coordinate*>*});
main::done();
}
static method done() → dynamic {
diff --git a/pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expect b/pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expect
index deb8a44..182ee7a 100644
--- a/pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expect
@@ -46,9 +46,9 @@
static field lib::Coordinate* coordinate;
static method main() → dynamic {
main::coordinate = lib::Coordinate::allocate(42.0, 42.0, null);
- dart.core::print(main::coordinate.{lib::Coordinate::x});
- dart.core::print(main::coordinate.{lib::Coordinate::y});
- dart.core::print(main::coordinate.{lib::Coordinate::next});
+ dart.core::print(main::coordinate.{lib::Coordinate::x}{dart.core::double*});
+ dart.core::print(main::coordinate.{lib::Coordinate::y}{dart.core::double*});
+ dart.core::print(main::coordinate.{lib::Coordinate::next}{dart.ffi::Pointer<lib::Coordinate*>*});
}
}
constants {
diff --git a/pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expression.1.expect b/pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expression.1.expect
index 35a37c6..c3ece07 100644
--- a/pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expression.1.expect
+++ b/pkg/front_end/testcases/incremental/ffi_02.yaml.world.1.expression.1.expect
@@ -1,2 +1,2 @@
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
- return dart.core::print(#lib1::coordinate.{#lib2::Coordinate::x});
+ return dart.core::print(#lib1::coordinate.{#lib2::Coordinate::x}{dart.core::double*});
diff --git a/pkg/front_end/testcases/incremental/initialize_with_file_then_use_type.yaml.world.1.expect b/pkg/front_end/testcases/incremental/initialize_with_file_then_use_type.yaml.world.1.expect
index 559b247..5296948 100644
--- a/pkg/front_end/testcases/incremental/initialize_with_file_then_use_type.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/initialize_with_file_then_use_type.yaml.world.1.expect
@@ -26,6 +26,6 @@
static method main() → dynamic {
foo::Foo* foo = new foo::Foo::•();
- foo.{foo::Foo::foo}();
+ foo.{foo::Foo::foo}(){() →* dynamic};
}
}
diff --git a/pkg/front_end/testcases/incremental/initialize_with_file_then_use_type.yaml.world.3.expect b/pkg/front_end/testcases/incremental/initialize_with_file_then_use_type.yaml.world.3.expect
index 559b247..5296948 100644
--- a/pkg/front_end/testcases/incremental/initialize_with_file_then_use_type.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/initialize_with_file_then_use_type.yaml.world.3.expect
@@ -26,6 +26,6 @@
static method main() → dynamic {
foo::Foo* foo = new foo::Foo::•();
- foo.{foo::Foo::foo}();
+ foo.{foo::Foo::foo}(){() →* dynamic};
}
}
diff --git a/pkg/front_end/testcases/incremental/initialize_with_unused_package_then_use_type.yaml.world.1.expect b/pkg/front_end/testcases/incremental/initialize_with_unused_package_then_use_type.yaml.world.1.expect
index ba7de5d..7f55824 100644
--- a/pkg/front_end/testcases/incremental/initialize_with_unused_package_then_use_type.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/initialize_with_unused_package_then_use_type.yaml.world.1.expect
@@ -5,7 +5,7 @@
static method main() → dynamic {
foo::Foo* foo = new foo::Foo::•();
- foo.{foo::Foo::foo}();
+ foo.{foo::Foo::foo}(){() →* dynamic};
}
}
library from "package:mypackage/foo.dart" as foo {
diff --git a/pkg/front_end/testcases/incremental/initialize_with_unused_package_then_use_type.yaml.world.3.expect b/pkg/front_end/testcases/incremental/initialize_with_unused_package_then_use_type.yaml.world.3.expect
index ba7de5d..7f55824 100644
--- a/pkg/front_end/testcases/incremental/initialize_with_unused_package_then_use_type.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/initialize_with_unused_package_then_use_type.yaml.world.3.expect
@@ -5,7 +5,7 @@
static method main() → dynamic {
foo::Foo* foo = new foo::Foo::•();
- foo.{foo::Foo::foo}();
+ foo.{foo::Foo::foo}(){() →* dynamic};
}
}
library from "package:mypackage/foo.dart" as foo {
diff --git a/pkg/front_end/testcases/incremental/issue_41976.yaml.world.1.expression.2.expect b/pkg/front_end/testcases/incremental/issue_41976.yaml.world.1.expression.2.expect
index 97a108c..caf27dd 100644
--- a/pkg/front_end/testcases/incremental/issue_41976.yaml.world.1.expression.2.expect
+++ b/pkg/front_end/testcases/incremental/issue_41976.yaml.world.1.expression.2.expect
@@ -1,5 +1,5 @@
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr() → dynamic
return (() → dart.core::int* {
#lib1::Key* x = new #lib1::ValueKey::•("t");
- return x.{#lib1::Key::hashCode};
- }).call();
+ return x.{#lib1::Key::hashCode}{dart.core::int*};
+ })(){() →* dart.core::int*};
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.1.expect
index b05ab6a..4843839 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.1.expect
@@ -36,7 +36,7 @@
static method lib3Method(lib1::Foo* foo) → void {
lib1::Foo* bar = new lib2::Bar::•();
- dart.core::bool* equal = foo.{lib1::Foo::==}(bar);
+ dart.core::bool* equal = foo =={lib1::Foo::==}{(dynamic) →* dart.core::bool*} bar;
dart.core::print("foo == bar = ${equal}");
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.2.expect
index 1039ffd..8485011 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.2.expect
@@ -38,7 +38,7 @@
static method lib3Method(lib1::Foo* foo) → void {
lib1::Foo* bar = new lib2::Bar::•();
- dart.core::bool* equal = foo.{lib1::Foo::==}(bar);
+ dart.core::bool* equal = foo =={lib1::Foo::==}{(dynamic) →* dart.core::bool*} bar;
dart.core::print("foo == bar = ${equal}");
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.3.expect b/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.3.expect
index aa0d21e..d8f13774 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_10.yaml.world.3.expect
@@ -38,7 +38,7 @@
static method lib3Method(lib1::Foo* foo) → void {
lib1::Foo* bar = new lib2::Bar::•();
- dart.core::bool* equal = foo.{lib1::Foo::==}(bar);
+ dart.core::bool* equal = foo =={lib1::Foo::==}{(dynamic) →* dart.core::bool*} bar;
dart.core::print("foo == bar = ${equal}");
dart.core::print("Done!");
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_11.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_11.yaml.world.2.expect
index 7eec56c..e289c2a 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_11.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_11.yaml.world.2.expect
@@ -21,7 +21,7 @@
static method libMethod() → void {
lib1::Foo* foo = new lib2::Bar::•();
lib2::Bar* bar = new lib2::Bar::•();
- dart.core::print(foo.{lib1::Foo::==}(bar));
+ dart.core::print(foo =={lib1::Foo::==}{(dynamic) →* dart.core::bool*} bar);
}
}
library from "org-dartlang-test:///lib2.dart" as lib2 {
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_16.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_16.yaml.world.1.expect
index 724237f..9c81633 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_16.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_16.yaml.world.1.expect
@@ -33,11 +33,11 @@
dart.core::print("noSouchMethod!");
}
no-such-method-forwarder get /* from org-dartlang-test:///lib1.dart */ getter() → dart.core::bool*
- return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dart.core::bool*;
+ return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dart.core::bool*;
no-such-method-forwarder method /* from org-dartlang-test:///lib1.dart */ method() → void
- return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-test:///lib1.dart */ setter(dart.core::bool* b) → void
- return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C6, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(b)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C6, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(b)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
}
class Foo2 extends dart.core::Object implements lib1::Bar {
synthetic constructor •() → main::Foo2*
@@ -56,15 +56,15 @@
abstract member-signature method toString() → dart.core::String*; -> dart.core::Object::toString
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
no-such-method-forwarder get /* from org-dartlang-test:///lib1.dart */ getter() → dart.core::bool*
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dart.core::bool*;
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dart.core::bool*;
no-such-method-forwarder get /* from org-dartlang-test:///lib1.dart */ field() → dart.core::bool*
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C7, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dart.core::bool*;
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C7, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dart.core::bool*;
no-such-method-forwarder method /* from org-dartlang-test:///lib1.dart */ method() → void
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-test:///lib1.dart */ setter(dart.core::bool* b) → void
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C6, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(b)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C6, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(b)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-test:///lib1.dart */ field(dart.core::bool* value) → void
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C8, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(value)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C8, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(value)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
}
}
constants {
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_16.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_16.yaml.world.2.expect
index 80df4d2..b2fcdc2 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_16.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_16.yaml.world.2.expect
@@ -33,11 +33,11 @@
dart.core::print("noSouchMethod!!");
}
no-such-method-forwarder get /* from org-dartlang-test:///lib1.dart */ getter() → dart.core::bool*
- return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dart.core::bool*;
+ return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dart.core::bool*;
no-such-method-forwarder method /* from org-dartlang-test:///lib1.dart */ method() → void
- return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-test:///lib1.dart */ setter(dart.core::bool* b) → void
- return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C6, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(b)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo1::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C6, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(b)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
}
class Foo2 extends dart.core::Object implements lib1::Bar {
synthetic constructor •() → main::Foo2*
@@ -56,15 +56,15 @@
abstract member-signature method toString() → dart.core::String*; -> dart.core::Object::toString
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
no-such-method-forwarder get /* from org-dartlang-test:///lib1.dart */ getter() → dart.core::bool*
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dart.core::bool*;
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dart.core::bool*;
no-such-method-forwarder get /* from org-dartlang-test:///lib1.dart */ field() → dart.core::bool*
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C7, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dart.core::bool*;
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C7, 1, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dart.core::bool*;
no-such-method-forwarder method /* from org-dartlang-test:///lib1.dart */ method() → void
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-test:///lib1.dart */ setter(dart.core::bool* b) → void
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C6, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(b)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C6, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(b)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-test:///lib1.dart */ field(dart.core::bool* value) → void
- return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C8, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(value)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4)));
+ return this.{main::Foo2::noSuchMethod}(new dart.core::_InvocationMirror::_withType(#C8, 2, #C2, dart.core::List::unmodifiable<dynamic>(dart.core::_GrowableList::_literal1<dynamic>(value)), dart.core::Map::unmodifiable<dart.core::Symbol*, dynamic>(#C4))){(dart.core::Invocation*) →* dynamic};
}
}
constants {
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_17.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_17.yaml.world.1.expect
index c8ec18e..88cc8e1 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_17.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_17.yaml.world.1.expect
@@ -11,7 +11,7 @@
static method main() → dynamic {
() →* dart.async::Future<dynamic>* f = #C1;
- f.call();
+ f(){() →* dart.async::Future<dynamic>*};
}
static method _#loadLibrary_foo() → dart.async::Future<dynamic>*
return LoadLibrary(foo);
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_17.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_17.yaml.world.2.expect
index 54f989f..8edd69c 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_17.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_17.yaml.world.2.expect
@@ -11,7 +11,7 @@
static method main() → dynamic {
() →* dart.async::Future<dynamic>* f = #C1;
- f.call();
+ f(){() →* dart.async::Future<dynamic>*};
dart.core::print("Done");
}
static method _#loadLibrary_foo() → dart.async::Future<dynamic>*
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_2.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_2.yaml.world.1.expect
index ecaf0eb..4a1cc75 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_2.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_2.yaml.world.1.expect
@@ -18,7 +18,7 @@
;
@#C1
method toString() → dart.core::String* {
- return "${this.{main::Foo::message}}";
+ return "${this.{main::Foo::message}{dynamic}}";
}
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_2.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_2.yaml.world.2.expect
index 3610c0e..dfceb85 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_2.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_2.yaml.world.2.expect
@@ -18,7 +18,7 @@
;
@#C1
method toString() → dart.core::String* {
- return "${this.{main::Foo::message}}!";
+ return "${this.{main::Foo::message}{dynamic}}!";
}
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_22.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_22.yaml.world.1.expect
index 8177839..97bf72f 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_22.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_22.yaml.world.1.expect
@@ -12,143 +12,143 @@
abstract member-signature operator [](dart.core::int* index) → dart.core::int*; -> dart.core::List::[]
abstract member-signature operator []=(dart.core::int* index, generic-covariant-impl dart.core::int* value) → void; -> dart.core::List::[]=
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ first() → dart.core::int* {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- return this.{dart.core::List::[]}(0);
+ return this.{dart.core::List::[]}(0){(dart.core::int) → dart.core::int*};
}
set /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ first(generic-covariant-impl dart.core::int* value) → void {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- this.{dart.core::List::[]=}(0, value);
+ this.{dart.core::List::[]=}(0, value){(dart.core::int, dart.core::int*) → void};
}
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ last() → dart.core::int* {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- return this.{dart.core::List::[]}(this.{dart.core::List::length}.{dart.core::num::-}(1));
+ return this.{dart.core::List::[]}(this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}){(dart.core::int) → dart.core::int*};
}
set /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ last(generic-covariant-impl dart.core::int* value) → void {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- this.{dart.core::List::[]=}(this.{dart.core::List::length}.{dart.core::num::-}(1), value);
+ this.{dart.core::List::[]=}(this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}, value){(dart.core::int, dart.core::int*) → void};
}
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ iterator() → dart.core::Iterator<dart.core::int*>
return new dart._internal::ListIterator::•<dart.core::int*>(this);
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ elementAt(dart.core::int index) → dart.core::int*
- return this.{dart.core::List::[]}(index);
+ return this.{dart.core::List::[]}(index){(dart.core::int) → dart.core::int*};
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ followedBy(generic-covariant-impl dart.core::Iterable<dart.core::int*> other) → dart.core::Iterable<dart.core::int*>
return dart._internal::FollowedByIterable::firstEfficient<dart.core::int*>(this, other);
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ forEach((dart.core::int*) → void action) → void {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- action.call(this.{dart.core::List::[]}(i));
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ action(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → void};
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
}
@#C3
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ isEmpty() → dart.core::bool
- return this.{dart.core::List::length}.{dart.core::num::==}(0);
+ return this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0;
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ isNotEmpty() → dart.core::bool
- return !this.{dart.collection::ListMixin::isEmpty};
+ return !this.{dart.collection::ListMixin::isEmpty}{dart.core::bool};
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ single() → dart.core::int* {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- if(this.{dart.core::List::length}.{dart.core::num::>}(1))
+ if(this.{dart.core::List::length}{dart.core::int}.{dart.core::num::>}(1){(dart.core::num) → dart.core::bool})
throw dart._internal::IterableElementError::tooMany();
- return this.{dart.core::List::[]}(0);
+ return this.{dart.core::List::[]}(0){(dart.core::int) → dart.core::int*};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ contains(dart.core::Object? element) → dart.core::bool {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- if(this.{dart.core::List::[]}(i).{dart.core::Object::==}(element))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} element)
return true;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
return false;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ every((dart.core::int*) → dart.core::bool test) → dart.core::bool {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- if(!test.call(this.{dart.core::List::[]}(i)))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(!test(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool})
return false;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
return true;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ any((dart.core::int*) → dart.core::bool test) → dart.core::bool {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- if(test.call(this.{dart.core::List::[]}(i)))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(test(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool})
return true;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
return false;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ firstWhere((dart.core::int*) → dart.core::bool test, {generic-covariant-impl () →? dart.core::int* orElse = #C2}) → dart.core::int* {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- dart.core::int* element = this.{dart.core::List::[]}(i);
- if(test.call(element))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ dart.core::int* element = this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*};
+ if(test(element){(dart.core::int*) → dart.core::bool})
return element;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
- if(!orElse.{dart.core::Object::==}(null))
- return orElse{() → dart.core::int*}.call();
+ if(!(orElse == null))
+ return orElse{() → dart.core::int*}(){() → dart.core::int*};
throw dart._internal::IterableElementError::noElement();
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ lastWhere((dart.core::int*) → dart.core::bool test, {generic-covariant-impl () →? dart.core::int* orElse = #C2}) → dart.core::int* {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = length.{dart.core::num::-}(1); i.{dart.core::num::>=}(0); i = i.{dart.core::num::-}(1)) {
- dart.core::int* element = this.{dart.core::List::[]}(i);
- if(test.call(element))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = length.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}; i.{dart.core::num::>=}(0){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}) {
+ dart.core::int* element = this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*};
+ if(test(element){(dart.core::int*) → dart.core::bool})
return element;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
- if(!orElse.{dart.core::Object::==}(null))
- return orElse{() → dart.core::int*}.call();
+ if(!(orElse == null))
+ return orElse{() → dart.core::int*}(){() → dart.core::int*};
throw dart._internal::IterableElementError::noElement();
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ singleWhere((dart.core::int*) → dart.core::bool test, {generic-covariant-impl () →? dart.core::int* orElse = #C2}) → dart.core::int* {
- dart.core::int length = this.{dart.core::List::length};
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
late dart.core::int* match;
dart.core::bool matchFound = false;
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- dart.core::int* element = this.{dart.core::List::[]}(i);
- if(test.call(element)) {
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ dart.core::int* element = this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*};
+ if(test(element){(dart.core::int*) → dart.core::bool}) {
if(matchFound) {
throw dart._internal::IterableElementError::tooMany();
}
matchFound = true;
match = element;
}
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
if(matchFound)
return match;
- if(!orElse.{dart.core::Object::==}(null))
- return orElse{() → dart.core::int*}.call();
+ if(!(orElse == null))
+ return orElse{() → dart.core::int*}(){() → dart.core::int*};
throw dart._internal::IterableElementError::noElement();
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ join([dart.core::String separator = #C4]) → dart.core::String {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
return "";
dart.core::StringBuffer buffer = let final dart.core::StringBuffer #t1 = new dart.core::StringBuffer::•() in block {
- #t1.{dart.core::StringBuffer::writeAll}(this, separator);
+ #t1.{dart.core::StringBuffer::writeAll}(this, separator){(dart.core::Iterable<dynamic>, [dart.core::String]) → void};
} =>#t1;
- return buffer.{dart.core::StringBuffer::toString}();
+ return buffer.{dart.core::StringBuffer::toString}(){() → dart.core::String};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ where((dart.core::int*) → dart.core::bool test) → dart.core::Iterable<dart.core::int*>
return new dart._internal::WhereIterable::•<dart.core::int*>(this, test);
@@ -159,13 +159,13 @@
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ expand<T extends dart.core::Object? = dynamic>((dart.core::int*) → dart.core::Iterable<main::_WithListMixin&Object&ListMixin::expand::T%> f) → dart.core::Iterable<main::_WithListMixin&Object&ListMixin::expand::T%>
return new dart._internal::ExpandIterable::•<dart.core::int*, main::_WithListMixin&Object&ListMixin::expand::T%>(this, f);
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ reduce(generic-covariant-impl (dart.core::int*, dart.core::int*) → dart.core::int* combine) → dart.core::int* {
- dart.core::int length = this.{dart.core::List::length};
- if(length.{dart.core::num::==}(0))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ if(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- dart.core::int* value = this.{dart.core::List::[]}(0);
- for (dart.core::int i = 1; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- value = combine.call(value, this.{dart.core::List::[]}(i));
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ dart.core::int* value = this.{dart.core::List::[]}(0){(dart.core::int) → dart.core::int*};
+ for (dart.core::int i = 1; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ value = combine(value, this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*, dart.core::int*) → dart.core::int*};
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
@@ -173,10 +173,10 @@
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ fold<T extends dart.core::Object? = dynamic>(main::_WithListMixin&Object&ListMixin::fold::T% initialValue, (main::_WithListMixin&Object&ListMixin::fold::T%, dart.core::int*) → main::_WithListMixin&Object&ListMixin::fold::T% combine) → main::_WithListMixin&Object&ListMixin::fold::T% {
main::_WithListMixin&Object&ListMixin::fold::T% value = initialValue;
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- value = combine.call(value, this.{dart.core::List::[]}(i));
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ value = combine(value, this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(main::_WithListMixin&Object&ListMixin::fold::T%, dart.core::int*) → main::_WithListMixin&Object&ListMixin::fold::T%};
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
@@ -193,80 +193,80 @@
return new dart._internal::TakeWhileIterable::•<dart.core::int*>(this, test);
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ toList({dart.core::bool growable = #C5}) → dart.core::List<dart.core::int*> {
- if(this.{dart.collection::ListMixin::isEmpty})
+ if(this.{dart.collection::ListMixin::isEmpty}{dart.core::bool})
return dart.core::List::empty<dart.core::int*>(growable: growable);
- dart.core::int* first = this.{dart.core::List::[]}(0);
- dart.core::List<dart.core::int*> result = dart.core::List::filled<dart.core::int*>(this.{dart.core::List::length}, first, growable: growable);
- for (dart.core::int i = 1; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- result.{dart.core::List::[]=}(i, this.{dart.core::List::[]}(i));
+ dart.core::int* first = this.{dart.core::List::[]}(0){(dart.core::int) → dart.core::int*};
+ dart.core::List<dart.core::int*> result = dart.core::List::filled<dart.core::int*>(this.{dart.core::List::length}{dart.core::int}, first, growable: growable);
+ for (dart.core::int i = 1; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ result.{dart.core::List::[]=}(i, this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
}
return result;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ toSet() → dart.core::Set<dart.core::int*> {
dart.core::Set<dart.core::int*> result = new dart.collection::_CompactLinkedHashSet::•<dart.core::int*>();
- for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- result.{dart.core::Set::add}(this.{dart.core::List::[]}(i));
+ for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ result.{dart.core::Set::add}(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool};
}
return result;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ add(generic-covariant-impl dart.core::int* element) → void {
- this.{dart.core::List::[]=}(let final dart.core::int #t2 = this.{dart.core::List::length} in let final dart.core::int #t3 = this.{dart.core::List::length} = #t2.{dart.core::num::+}(1) in #t2, element);
+ this.{dart.core::List::[]=}(let final dart.core::int #t2 = this.{dart.core::List::length}{dart.core::int} in let final dart.core::int #t3 = this.{dart.core::List::length} = #t2.{dart.core::num::+}(1){(dart.core::num) → dart.core::int} in #t2, element){(dart.core::int, dart.core::int*) → void};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ addAll(generic-covariant-impl dart.core::Iterable<dart.core::int*> iterable) → void {
- dart.core::int i = this.{dart.core::List::length};
+ dart.core::int i = this.{dart.core::List::length}{dart.core::int};
{
dart.core::Iterator<dart.core::int*> :sync-for-iterator = iterable.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current};
{
- assert(this.{dart.core::List::length}.{dart.core::num::==}(i) || (throw new dart.core::ConcurrentModificationError::•(this)));
- this.{dart.collection::ListMixin::add}(element);
- i = i.{dart.core::num::+}(1);
+ assert(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} i || (throw new dart.core::ConcurrentModificationError::•(this)));
+ this.{dart.collection::ListMixin::add}(element){(dart.core::int*) → void};
+ i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int};
}
}
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ remove(dart.core::Object? element) → dart.core::bool {
- for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- if(this.{dart.core::List::[]}(i).{dart.core::Object::==}(element)) {
- this.{dart.collection::ListMixin::_closeGap}(i, i.{dart.core::num::+}(1));
+ for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} element) {
+ this.{dart.collection::ListMixin::_closeGap}(i, i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}){(dart.core::int, dart.core::int) → void};
return true;
}
}
return false;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ _closeGap(dart.core::int start, dart.core::int end) → void {
- dart.core::int length = this.{dart.core::List::length};
- assert(0.{dart.core::num::<=}(start));
- assert(start.{dart.core::num::<}(end));
- assert(end.{dart.core::num::<=}(length));
- dart.core::int size = end.{dart.core::num::-}(start);
- for (dart.core::int i = end; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- this.{dart.core::List::[]=}(i.{dart.core::num::-}(size), this.{dart.core::List::[]}(i));
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ assert(0.{dart.core::num::<=}(start){(dart.core::num) → dart.core::bool});
+ assert(start.{dart.core::num::<}(end){(dart.core::num) → dart.core::bool});
+ assert(end.{dart.core::num::<=}(length){(dart.core::num) → dart.core::bool});
+ dart.core::int size = end.{dart.core::num::-}(start){(dart.core::num) → dart.core::int};
+ for (dart.core::int i = end; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.core::List::[]=}(i.{dart.core::num::-}(size){(dart.core::num) → dart.core::int}, this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
}
- this.{dart.core::List::length} = length.{dart.core::num::-}(size);
+ this.{dart.core::List::length} = length.{dart.core::num::-}(size){(dart.core::num) → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ removeWhere((dart.core::int*) → dart.core::bool test) → void {
- this.{dart.collection::ListMixin::_filter}(test, false);
+ this.{dart.collection::ListMixin::_filter}(test, false){((dart.core::int*) → dart.core::bool, dart.core::bool) → void};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ retainWhere((dart.core::int*) → dart.core::bool test) → void {
- this.{dart.collection::ListMixin::_filter}(test, true);
+ this.{dart.collection::ListMixin::_filter}(test, true){((dart.core::int*) → dart.core::bool, dart.core::bool) → void};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ _filter((dart.core::int*) → dart.core::bool test, dart.core::bool retainMatching) → void {
dart.core::List<dart.core::int*> retained = dart.core::_GrowableList::•<dart.core::int*>(0);
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- dart.core::int* element = this.{dart.core::List::[]}(i);
- if(test.call(element).{dart.core::Object::==}(retainMatching)) {
- retained.{dart.core::List::add}(element);
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ dart.core::int* element = this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*};
+ if(test(element){(dart.core::int*) → dart.core::bool} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} retainMatching) {
+ retained.{dart.core::List::add}(element){(dart.core::int*) → void};
}
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
- if(!retained.{dart.core::List::length}.{dart.core::num::==}(this.{dart.core::List::length})) {
- this.{dart.collection::ListMixin::setRange}(0, retained.{dart.core::List::length}, retained);
- this.{dart.core::List::length} = retained.{dart.core::List::length};
+ if(!(retained.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
+ this.{dart.collection::ListMixin::setRange}(0, retained.{dart.core::List::length}{dart.core::int}, retained){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
+ this.{dart.core::List::length} = retained.{dart.core::List::length}{dart.core::int};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ clear() → void {
@@ -275,27 +275,27 @@
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ cast<R extends dart.core::Object? = dynamic>() → dart.core::List<main::_WithListMixin&Object&ListMixin::cast::R%>
return dart.core::List::castFrom<dart.core::int*, main::_WithListMixin&Object&ListMixin::cast::R%>(this);
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ removeLast() → dart.core::int* {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0)) {
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0) {
throw dart._internal::IterableElementError::noElement();
}
- dart.core::int* result = this.{dart.core::List::[]}(this.{dart.core::List::length}.{dart.core::num::-}(1));
- this.{dart.core::List::length} = this.{dart.core::List::length}.{dart.core::num::-}(1);
+ dart.core::int* result = this.{dart.core::List::[]}(this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}){(dart.core::int) → dart.core::int*};
+ this.{dart.core::List::length} = this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int};
return result;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sort([(dart.core::int*, dart.core::int*) →? dart.core::int compare = #C2]) → void {
- dart._internal::Sort::sort<dart.core::int*>(this, let final (dart.core::int*, dart.core::int*) →? dart.core::int #t4 = compare in #t4.{dart.core::Object::==}(null) ?{(dart.core::int*, dart.core::int*) → dart.core::int} #C6 : #t4{(dart.core::int*, dart.core::int*) → dart.core::int});
+ dart._internal::Sort::sort<dart.core::int*>(this, let final (dart.core::int*, dart.core::int*) →? dart.core::int #t4 = compare in #t4 == null ?{(dart.core::int*, dart.core::int*) → dart.core::int} #C6 : #t4{(dart.core::int*, dart.core::int*) → dart.core::int});
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([dart.math::Random? random = #C2]) → void {
- random.{dart.core::Object::==}(null) ?{dart.math::Random} random = dart.math::Random::•() : null;
- if(random{dart.math::Random}.{dart.core::Object::==}(null))
+ random == null ?{dart.math::Random} random = dart.math::Random::•() : null;
+ if(random{dart.math::Random} == null)
throw "!";
- dart.core::int length = this.{dart.core::List::length};
- while (length.{dart.core::num::>}(1)) {
- dart.core::int pos = random{dart.math::Random}.{dart.math::Random::nextInt}(length);
- length = length.{dart.core::num::-}(1);
- dart.core::int* tmp = this.{dart.core::List::[]}(length);
- this.{dart.core::List::[]=}(length, this.{dart.core::List::[]}(pos));
- this.{dart.core::List::[]=}(pos, tmp);
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ while (length.{dart.core::num::>}(1){(dart.core::num) → dart.core::bool}) {
+ dart.core::int pos = random{dart.math::Random}.{dart.math::Random::nextInt}(length){(dart.core::int) → dart.core::int};
+ length = length.{dart.core::num::-}(1){(dart.core::num) → dart.core::int};
+ dart.core::int* tmp = this.{dart.core::List::[]}(length){(dart.core::int) → dart.core::int*};
+ this.{dart.core::List::[]=}(length, this.{dart.core::List::[]}(pos){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
+ this.{dart.core::List::[]=}(pos, tmp){(dart.core::int, dart.core::int*) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ asMap() → dart.core::Map<dart.core::int, dart.core::int*> {
@@ -304,37 +304,37 @@
operator /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ +(generic-covariant-impl dart.core::List<dart.core::int*> other) → dart.core::List<dart.core::int*>
return block {
final dart.core::List<dart.core::int*> #t5 = dart.core::List::of<dart.core::int*>(this);
- #t5.{dart.core::List::addAll}{Invariant}(other);
+ #t5.{dart.core::List::addAll}(other){(dart.core::Iterable<dart.core::int*>) → void};
} =>#t5;
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(dart.core::int start, [dart.core::int? end = #C2]) → dart.core::List<dart.core::int*> {
- dart.core::int listLength = this.{dart.core::List::length};
- end.{dart.core::num::==}(null) ?{dart.core::int} end = listLength : null;
- if(end{dart.core::int}.{dart.core::num::==}(null))
+ dart.core::int listLength = this.{dart.core::List::length}{dart.core::int};
+ end == null ?{dart.core::int} end = listLength : null;
+ if(end{dart.core::int} == null)
throw "!";
dart.core::RangeError::checkValidRange(start, end{dart.core::int}, listLength);
- return dart.core::List::from<dart.core::int*>(this.{dart.collection::ListMixin::getRange}(start, end{dart.core::int}));
+ return dart.core::List::from<dart.core::int*>(this.{dart.collection::ListMixin::getRange}(start, end{dart.core::int}){(dart.core::int, dart.core::int) → dart.core::Iterable<dart.core::int*>});
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ getRange(dart.core::int start, dart.core::int end) → dart.core::Iterable<dart.core::int*> {
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
return new dart._internal::SubListIterable::•<dart.core::int*>(this, start, end);
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ removeRange(dart.core::int start, dart.core::int end) → void {
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
- if(end.{dart.core::num::>}(start)) {
- this.{dart.collection::ListMixin::_closeGap}(start, end);
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
+ if(end.{dart.core::num::>}(start){(dart.core::num) → dart.core::bool}) {
+ this.{dart.collection::ListMixin::_closeGap}(start, end){(dart.core::int, dart.core::int) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ fillRange(dart.core::int start, dart.core::int end, [generic-covariant-impl dart.core::int? fill = #C2]) → void {
dart.core::int* value = let dart.core::int? #t6 = fill in #t6.==(null) ?{dart.core::int*} #t6 : #t6{dart.core::int*};
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
- for (dart.core::int i = start; i.{dart.core::num::<}(end); i = i.{dart.core::num::+}(1)) {
- this.{dart.core::List::[]=}(i, value);
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
+ for (dart.core::int i = start; i.{dart.core::num::<}(end){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.core::List::[]=}(i, value){(dart.core::int, dart.core::int*) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ setRange(dart.core::int start, dart.core::int end, generic-covariant-impl dart.core::Iterable<dart.core::int*> iterable, [dart.core::int skipCount = #C7]) → void {
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
- dart.core::int length = end.{dart.core::num::-}(start);
- if(length.{dart.core::num::==}(0))
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
+ dart.core::int length = end.{dart.core::num::-}(start){(dart.core::num) → dart.core::int};
+ if(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
return;
dart.core::RangeError::checkNotNegative(skipCount, "skipCount");
dart.core::List<dart.core::int*> otherList;
@@ -344,158 +344,158 @@
otherStart = skipCount;
}
else {
- otherList = iterable.{dart.core::Iterable::skip}(skipCount).{dart.core::Iterable::toList}(growable: false);
+ otherList = iterable.{dart.core::Iterable::skip}(skipCount){(dart.core::int) → dart.core::Iterable<dart.core::int*>}.{dart.core::Iterable::toList}(growable: false){({growable: dart.core::bool}) → dart.core::List<dart.core::int*>};
otherStart = 0;
}
- if(otherStart.{dart.core::num::+}(length).{dart.core::num::>}(otherList.{dart.core::List::length})) {
+ if(otherStart.{dart.core::num::+}(length){(dart.core::num) → dart.core::int}.{dart.core::num::>}(otherList.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}) {
throw dart._internal::IterableElementError::tooFew();
}
- if(otherStart.{dart.core::num::<}(start)) {
- for (dart.core::int i = length.{dart.core::num::-}(1); i.{dart.core::num::>=}(0); i = i.{dart.core::num::-}(1)) {
- this.{dart.core::List::[]=}(start.{dart.core::num::+}(i), otherList.{dart.core::List::[]}(otherStart.{dart.core::num::+}(i)));
+ if(otherStart.{dart.core::num::<}(start){(dart.core::num) → dart.core::bool}) {
+ for (dart.core::int i = length.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}; i.{dart.core::num::>=}(0){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.core::List::[]=}(start.{dart.core::num::+}(i){(dart.core::num) → dart.core::int}, otherList.{dart.core::List::[]}(otherStart.{dart.core::num::+}(i){(dart.core::num) → dart.core::int}){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
}
}
else {
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- this.{dart.core::List::[]=}(start.{dart.core::num::+}(i), otherList.{dart.core::List::[]}(otherStart.{dart.core::num::+}(i)));
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.core::List::[]=}(start.{dart.core::num::+}(i){(dart.core::num) → dart.core::int}, otherList.{dart.core::List::[]}(otherStart.{dart.core::num::+}(i){(dart.core::num) → dart.core::int}){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
}
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ replaceRange(dart.core::int start, dart.core::int end, generic-covariant-impl dart.core::Iterable<dart.core::int*> newContents) → void {
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
- if(start.{dart.core::num::==}(this.{dart.core::List::length})) {
- this.{dart.collection::ListMixin::addAll}(newContents);
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
+ if(start =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int}) {
+ this.{dart.collection::ListMixin::addAll}(newContents){(dart.core::Iterable<dart.core::int*>) → void};
return;
}
if(!(newContents is{ForNonNullableByDefault} dart._internal::EfficientLengthIterable<dynamic>)) {
- newContents = newContents.{dart.core::Iterable::toList}();
+ newContents = newContents.{dart.core::Iterable::toList}(){({growable: dart.core::bool}) → dart.core::List<dart.core::int*>};
}
- dart.core::int removeLength = end.{dart.core::num::-}(start);
- dart.core::int insertLength = newContents.{dart.core::Iterable::length};
- if(removeLength.{dart.core::num::>=}(insertLength)) {
- dart.core::int insertEnd = start.{dart.core::num::+}(insertLength);
- this.{dart.collection::ListMixin::setRange}(start, insertEnd, newContents);
- if(removeLength.{dart.core::num::>}(insertLength)) {
- this.{dart.collection::ListMixin::_closeGap}(insertEnd, end);
+ dart.core::int removeLength = end.{dart.core::num::-}(start){(dart.core::num) → dart.core::int};
+ dart.core::int insertLength = newContents.{dart.core::Iterable::length}{dart.core::int};
+ if(removeLength.{dart.core::num::>=}(insertLength){(dart.core::num) → dart.core::bool}) {
+ dart.core::int insertEnd = start.{dart.core::num::+}(insertLength){(dart.core::num) → dart.core::int};
+ this.{dart.collection::ListMixin::setRange}(start, insertEnd, newContents){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
+ if(removeLength.{dart.core::num::>}(insertLength){(dart.core::num) → dart.core::bool}) {
+ this.{dart.collection::ListMixin::_closeGap}(insertEnd, end){(dart.core::int, dart.core::int) → void};
}
}
else
- if(end.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(end =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int}) {
dart.core::int i = start;
{
dart.core::Iterator<dart.core::int*> :sync-for-iterator = newContents.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current};
{
- if(i.{dart.core::num::<}(end)) {
- this.{dart.core::List::[]=}(i, element);
+ if(i.{dart.core::num::<}(end){(dart.core::num) → dart.core::bool}) {
+ this.{dart.core::List::[]=}(i, element){(dart.core::int, dart.core::int*) → void};
}
else {
- this.{dart.collection::ListMixin::add}(element);
+ this.{dart.collection::ListMixin::add}(element){(dart.core::int*) → void};
}
- i = i.{dart.core::num::+}(1);
+ i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int};
}
}
}
}
else {
- dart.core::int delta = insertLength.{dart.core::num::-}(removeLength);
- dart.core::int oldLength = this.{dart.core::List::length};
- dart.core::int insertEnd = start.{dart.core::num::+}(insertLength);
- for (dart.core::int i = oldLength.{dart.core::num::-}(delta); i.{dart.core::num::<}(oldLength); i = i.{dart.core::num::+}(1)) {
- this.{dart.collection::ListMixin::add}(this.{dart.core::List::[]}(i.{dart.core::num::>}(0) ?{dart.core::int} i : 0));
+ dart.core::int delta = insertLength.{dart.core::num::-}(removeLength){(dart.core::num) → dart.core::int};
+ dart.core::int oldLength = this.{dart.core::List::length}{dart.core::int};
+ dart.core::int insertEnd = start.{dart.core::num::+}(insertLength){(dart.core::num) → dart.core::int};
+ for (dart.core::int i = oldLength.{dart.core::num::-}(delta){(dart.core::num) → dart.core::int}; i.{dart.core::num::<}(oldLength){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.collection::ListMixin::add}(this.{dart.core::List::[]}(i.{dart.core::num::>}(0){(dart.core::num) → dart.core::bool} ?{dart.core::int} i : 0){(dart.core::int) → dart.core::int*}){(dart.core::int*) → void};
}
- if(insertEnd.{dart.core::num::<}(oldLength)) {
- this.{dart.collection::ListMixin::setRange}(insertEnd, oldLength, this, end);
+ if(insertEnd.{dart.core::num::<}(oldLength){(dart.core::num) → dart.core::bool}) {
+ this.{dart.collection::ListMixin::setRange}(insertEnd, oldLength, this, end){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
}
- this.{dart.collection::ListMixin::setRange}(start, insertEnd, newContents);
+ this.{dart.collection::ListMixin::setRange}(start, insertEnd, newContents){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ indexOf(generic-covariant-impl dart.core::Object? element, [dart.core::int start = #C7]) → dart.core::int {
- if(start.{dart.core::num::<}(0))
+ if(start.{dart.core::num::<}(0){(dart.core::num) → dart.core::bool})
start = 0;
- for (dart.core::int i = start; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- if(this.{dart.core::List::[]}(i).{dart.core::Object::==}(element))
+ for (dart.core::int i = start; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} element)
return i;
}
- return 1.{dart.core::int::unary-}();
+ return 1.{dart.core::int::unary-}(){() → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ indexWhere((dart.core::int*) → dart.core::bool test, [dart.core::int start = #C7]) → dart.core::int {
- if(start.{dart.core::num::<}(0))
+ if(start.{dart.core::num::<}(0){(dart.core::num) → dart.core::bool})
start = 0;
- for (dart.core::int i = start; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- if(test.call(this.{dart.core::List::[]}(i)))
+ for (dart.core::int i = start; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(test(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool})
return i;
}
- return 1.{dart.core::int::unary-}();
+ return 1.{dart.core::int::unary-}(){() → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ lastIndexOf(generic-covariant-impl dart.core::Object? element, [dart.core::int? start = #C2]) → dart.core::int {
- if(start.{dart.core::num::==}(null) || start{dart.core::int}.{dart.core::num::>=}(this.{dart.core::List::length}))
- start = this.{dart.core::List::length}.{dart.core::num::-}(1);
- if(start{dart.core::int}.{dart.core::num::==}(null))
+ if(start == null || start{dart.core::int}.{dart.core::num::>=}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool})
+ start = this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int};
+ if(start{dart.core::int} == null)
throw "!";
- for (dart.core::int i = start{dart.core::int}; i.{dart.core::num::>=}(0); i = i.{dart.core::num::-}(1)) {
- if(this.{dart.core::List::[]}(i).{dart.core::Object::==}(element))
+ for (dart.core::int i = start{dart.core::int}; i.{dart.core::num::>=}(0){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}) {
+ if(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} element)
return i;
}
- return 1.{dart.core::int::unary-}();
+ return 1.{dart.core::int::unary-}(){() → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ lastIndexWhere((dart.core::int*) → dart.core::bool test, [dart.core::int? start = #C2]) → dart.core::int {
- if(start.{dart.core::num::==}(null) || start{dart.core::int}.{dart.core::num::>=}(this.{dart.core::List::length}))
- start = this.{dart.core::List::length}.{dart.core::num::-}(1);
- if(start{dart.core::int}.{dart.core::num::==}(null))
+ if(start == null || start{dart.core::int}.{dart.core::num::>=}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool})
+ start = this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int};
+ if(start{dart.core::int} == null)
throw "!";
- for (dart.core::int i = start{dart.core::int}; i.{dart.core::num::>=}(0); i = i.{dart.core::num::-}(1)) {
- if(test.call(this.{dart.core::List::[]}(i)))
+ for (dart.core::int i = start{dart.core::int}; i.{dart.core::num::>=}(0){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}) {
+ if(test(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool})
return i;
}
- return 1.{dart.core::int::unary-}();
+ return 1.{dart.core::int::unary-}(){() → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ insert(dart.core::int index, generic-covariant-impl dart.core::int* element) → void {
dart._internal::checkNotNullable<dart.core::int>(index, "index");
- dart.core::int length = this.{dart.core::List::length};
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
dart.core::RangeError::checkValueInInterval(index, 0, length, "index");
- this.{dart.collection::ListMixin::add}(element);
- if(!index.{dart.core::num::==}(length)) {
- this.{dart.collection::ListMixin::setRange}(index.{dart.core::num::+}(1), length.{dart.core::num::+}(1), this, index);
- this.{dart.core::List::[]=}(index, element);
+ this.{dart.collection::ListMixin::add}(element){(dart.core::int*) → void};
+ if(!(index =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} length)) {
+ this.{dart.collection::ListMixin::setRange}(index.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}, length.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}, this, index){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
+ this.{dart.core::List::[]=}(index, element){(dart.core::int, dart.core::int*) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ removeAt(dart.core::int index) → dart.core::int* {
- dart.core::int* result = this.{dart.core::List::[]}(index);
- this.{dart.collection::ListMixin::_closeGap}(index, index.{dart.core::num::+}(1));
+ dart.core::int* result = this.{dart.core::List::[]}(index){(dart.core::int) → dart.core::int*};
+ this.{dart.collection::ListMixin::_closeGap}(index, index.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}){(dart.core::int, dart.core::int) → void};
return result;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ insertAll(dart.core::int index, generic-covariant-impl dart.core::Iterable<dart.core::int*> iterable) → void {
- dart.core::RangeError::checkValueInInterval(index, 0, this.{dart.core::List::length}, "index");
- if(index.{dart.core::num::==}(this.{dart.core::List::length})) {
- this.{dart.collection::ListMixin::addAll}(iterable);
+ dart.core::RangeError::checkValueInInterval(index, 0, this.{dart.core::List::length}{dart.core::int}, "index");
+ if(index =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int}) {
+ this.{dart.collection::ListMixin::addAll}(iterable){(dart.core::Iterable<dart.core::int*>) → void};
return;
}
if(!(iterable is{ForNonNullableByDefault} dart._internal::EfficientLengthIterable<dynamic>) || dart.core::identical(iterable, this)) {
- iterable = iterable.{dart.core::Iterable::toList}();
+ iterable = iterable.{dart.core::Iterable::toList}(){({growable: dart.core::bool}) → dart.core::List<dart.core::int*>};
}
- dart.core::int insertionLength = iterable.{dart.core::Iterable::length};
- if(insertionLength.{dart.core::num::==}(0)) {
+ dart.core::int insertionLength = iterable.{dart.core::Iterable::length}{dart.core::int};
+ if(insertionLength =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0) {
return;
}
- dart.core::int oldLength = this.{dart.core::List::length};
- for (dart.core::int i = oldLength.{dart.core::num::-}(insertionLength); i.{dart.core::num::<}(oldLength); i = i.{dart.core::num::+}(1)) {
- this.{dart.collection::ListMixin::add}(this.{dart.core::List::[]}(i.{dart.core::num::>}(0) ?{dart.core::int} i : 0));
+ dart.core::int oldLength = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = oldLength.{dart.core::num::-}(insertionLength){(dart.core::num) → dart.core::int}; i.{dart.core::num::<}(oldLength){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.collection::ListMixin::add}(this.{dart.core::List::[]}(i.{dart.core::num::>}(0){(dart.core::num) → dart.core::bool} ?{dart.core::int} i : 0){(dart.core::int) → dart.core::int*}){(dart.core::int*) → void};
}
- if(!iterable.{dart.core::Iterable::length}.{dart.core::num::==}(insertionLength)) {
- this.{dart.core::List::length} = this.{dart.core::List::length}.{dart.core::num::-}(insertionLength);
+ if(!(iterable.{dart.core::Iterable::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} insertionLength)) {
+ this.{dart.core::List::length} = this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(insertionLength){(dart.core::num) → dart.core::int};
throw new dart.core::ConcurrentModificationError::•(iterable);
}
- dart.core::int oldCopyStart = index.{dart.core::num::+}(insertionLength);
- if(oldCopyStart.{dart.core::num::<}(oldLength)) {
- this.{dart.collection::ListMixin::setRange}(oldCopyStart, oldLength, this, index);
+ dart.core::int oldCopyStart = index.{dart.core::num::+}(insertionLength){(dart.core::num) → dart.core::int};
+ if(oldCopyStart.{dart.core::num::<}(oldLength){(dart.core::num) → dart.core::bool}) {
+ this.{dart.collection::ListMixin::setRange}(oldCopyStart, oldLength, this, index){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
}
- this.{dart.collection::ListMixin::setAll}(index, iterable);
+ this.{dart.collection::ListMixin::setAll}(index, iterable){(dart.core::int, dart.core::Iterable<dart.core::int*>) → void};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ setAll(dart.core::int index, generic-covariant-impl dart.core::Iterable<dart.core::int*> iterable) → void {
if(iterable is{ForNonNullableByDefault} dart.core::List<dynamic>) {
- this.{dart.collection::ListMixin::setRange}(index, index.{dart.core::num::+}(iterable.{dart.core::Iterable::length}), iterable);
+ this.{dart.collection::ListMixin::setRange}(index, index.{dart.core::num::+}(iterable.{dart.core::Iterable::length}{dart.core::int}){(dart.core::num) → dart.core::int}, iterable){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
}
else {
{
@@ -503,7 +503,7 @@
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current};
{
- this.{dart.core::List::[]=}(let final dart.core::int #t7 = index in let final dart.core::int #t8 = index = #t7.{dart.core::num::+}(1) in #t7, element);
+ this.{dart.core::List::[]=}(let final dart.core::int #t7 = index in let final dart.core::int #t8 = index = #t7.{dart.core::num::+}(1){(dart.core::num) → dart.core::int} in #t7, element){(dart.core::int, dart.core::int*) → void};
}
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_22.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_22.yaml.world.2.expect
index 8177839..97bf72f 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_22.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_22.yaml.world.2.expect
@@ -12,143 +12,143 @@
abstract member-signature operator [](dart.core::int* index) → dart.core::int*; -> dart.core::List::[]
abstract member-signature operator []=(dart.core::int* index, generic-covariant-impl dart.core::int* value) → void; -> dart.core::List::[]=
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ first() → dart.core::int* {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- return this.{dart.core::List::[]}(0);
+ return this.{dart.core::List::[]}(0){(dart.core::int) → dart.core::int*};
}
set /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ first(generic-covariant-impl dart.core::int* value) → void {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- this.{dart.core::List::[]=}(0, value);
+ this.{dart.core::List::[]=}(0, value){(dart.core::int, dart.core::int*) → void};
}
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ last() → dart.core::int* {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- return this.{dart.core::List::[]}(this.{dart.core::List::length}.{dart.core::num::-}(1));
+ return this.{dart.core::List::[]}(this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}){(dart.core::int) → dart.core::int*};
}
set /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ last(generic-covariant-impl dart.core::int* value) → void {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- this.{dart.core::List::[]=}(this.{dart.core::List::length}.{dart.core::num::-}(1), value);
+ this.{dart.core::List::[]=}(this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}, value){(dart.core::int, dart.core::int*) → void};
}
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ iterator() → dart.core::Iterator<dart.core::int*>
return new dart._internal::ListIterator::•<dart.core::int*>(this);
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ elementAt(dart.core::int index) → dart.core::int*
- return this.{dart.core::List::[]}(index);
+ return this.{dart.core::List::[]}(index){(dart.core::int) → dart.core::int*};
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ followedBy(generic-covariant-impl dart.core::Iterable<dart.core::int*> other) → dart.core::Iterable<dart.core::int*>
return dart._internal::FollowedByIterable::firstEfficient<dart.core::int*>(this, other);
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ forEach((dart.core::int*) → void action) → void {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- action.call(this.{dart.core::List::[]}(i));
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ action(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → void};
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
}
@#C3
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ isEmpty() → dart.core::bool
- return this.{dart.core::List::length}.{dart.core::num::==}(0);
+ return this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0;
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ isNotEmpty() → dart.core::bool
- return !this.{dart.collection::ListMixin::isEmpty};
+ return !this.{dart.collection::ListMixin::isEmpty}{dart.core::bool};
get /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ single() → dart.core::int* {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- if(this.{dart.core::List::length}.{dart.core::num::>}(1))
+ if(this.{dart.core::List::length}{dart.core::int}.{dart.core::num::>}(1){(dart.core::num) → dart.core::bool})
throw dart._internal::IterableElementError::tooMany();
- return this.{dart.core::List::[]}(0);
+ return this.{dart.core::List::[]}(0){(dart.core::int) → dart.core::int*};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ contains(dart.core::Object? element) → dart.core::bool {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- if(this.{dart.core::List::[]}(i).{dart.core::Object::==}(element))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} element)
return true;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
return false;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ every((dart.core::int*) → dart.core::bool test) → dart.core::bool {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- if(!test.call(this.{dart.core::List::[]}(i)))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(!test(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool})
return false;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
return true;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ any((dart.core::int*) → dart.core::bool test) → dart.core::bool {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- if(test.call(this.{dart.core::List::[]}(i)))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(test(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool})
return true;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
return false;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ firstWhere((dart.core::int*) → dart.core::bool test, {generic-covariant-impl () →? dart.core::int* orElse = #C2}) → dart.core::int* {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- dart.core::int* element = this.{dart.core::List::[]}(i);
- if(test.call(element))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ dart.core::int* element = this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*};
+ if(test(element){(dart.core::int*) → dart.core::bool})
return element;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
- if(!orElse.{dart.core::Object::==}(null))
- return orElse{() → dart.core::int*}.call();
+ if(!(orElse == null))
+ return orElse{() → dart.core::int*}(){() → dart.core::int*};
throw dart._internal::IterableElementError::noElement();
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ lastWhere((dart.core::int*) → dart.core::bool test, {generic-covariant-impl () →? dart.core::int* orElse = #C2}) → dart.core::int* {
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = length.{dart.core::num::-}(1); i.{dart.core::num::>=}(0); i = i.{dart.core::num::-}(1)) {
- dart.core::int* element = this.{dart.core::List::[]}(i);
- if(test.call(element))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = length.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}; i.{dart.core::num::>=}(0){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}) {
+ dart.core::int* element = this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*};
+ if(test(element){(dart.core::int*) → dart.core::bool})
return element;
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
- if(!orElse.{dart.core::Object::==}(null))
- return orElse{() → dart.core::int*}.call();
+ if(!(orElse == null))
+ return orElse{() → dart.core::int*}(){() → dart.core::int*};
throw dart._internal::IterableElementError::noElement();
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ singleWhere((dart.core::int*) → dart.core::bool test, {generic-covariant-impl () →? dart.core::int* orElse = #C2}) → dart.core::int* {
- dart.core::int length = this.{dart.core::List::length};
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
late dart.core::int* match;
dart.core::bool matchFound = false;
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- dart.core::int* element = this.{dart.core::List::[]}(i);
- if(test.call(element)) {
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ dart.core::int* element = this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*};
+ if(test(element){(dart.core::int*) → dart.core::bool}) {
if(matchFound) {
throw dart._internal::IterableElementError::tooMany();
}
matchFound = true;
match = element;
}
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
if(matchFound)
return match;
- if(!orElse.{dart.core::Object::==}(null))
- return orElse{() → dart.core::int*}.call();
+ if(!(orElse == null))
+ return orElse{() → dart.core::int*}(){() → dart.core::int*};
throw dart._internal::IterableElementError::noElement();
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ join([dart.core::String separator = #C4]) → dart.core::String {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0))
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
return "";
dart.core::StringBuffer buffer = let final dart.core::StringBuffer #t1 = new dart.core::StringBuffer::•() in block {
- #t1.{dart.core::StringBuffer::writeAll}(this, separator);
+ #t1.{dart.core::StringBuffer::writeAll}(this, separator){(dart.core::Iterable<dynamic>, [dart.core::String]) → void};
} =>#t1;
- return buffer.{dart.core::StringBuffer::toString}();
+ return buffer.{dart.core::StringBuffer::toString}(){() → dart.core::String};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ where((dart.core::int*) → dart.core::bool test) → dart.core::Iterable<dart.core::int*>
return new dart._internal::WhereIterable::•<dart.core::int*>(this, test);
@@ -159,13 +159,13 @@
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ expand<T extends dart.core::Object? = dynamic>((dart.core::int*) → dart.core::Iterable<main::_WithListMixin&Object&ListMixin::expand::T%> f) → dart.core::Iterable<main::_WithListMixin&Object&ListMixin::expand::T%>
return new dart._internal::ExpandIterable::•<dart.core::int*, main::_WithListMixin&Object&ListMixin::expand::T%>(this, f);
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ reduce(generic-covariant-impl (dart.core::int*, dart.core::int*) → dart.core::int* combine) → dart.core::int* {
- dart.core::int length = this.{dart.core::List::length};
- if(length.{dart.core::num::==}(0))
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ if(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
throw dart._internal::IterableElementError::noElement();
- dart.core::int* value = this.{dart.core::List::[]}(0);
- for (dart.core::int i = 1; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- value = combine.call(value, this.{dart.core::List::[]}(i));
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ dart.core::int* value = this.{dart.core::List::[]}(0){(dart.core::int) → dart.core::int*};
+ for (dart.core::int i = 1; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ value = combine(value, this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*, dart.core::int*) → dart.core::int*};
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
@@ -173,10 +173,10 @@
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ fold<T extends dart.core::Object? = dynamic>(main::_WithListMixin&Object&ListMixin::fold::T% initialValue, (main::_WithListMixin&Object&ListMixin::fold::T%, dart.core::int*) → main::_WithListMixin&Object&ListMixin::fold::T% combine) → main::_WithListMixin&Object&ListMixin::fold::T% {
main::_WithListMixin&Object&ListMixin::fold::T% value = initialValue;
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- value = combine.call(value, this.{dart.core::List::[]}(i));
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ value = combine(value, this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(main::_WithListMixin&Object&ListMixin::fold::T%, dart.core::int*) → main::_WithListMixin&Object&ListMixin::fold::T%};
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
@@ -193,80 +193,80 @@
return new dart._internal::TakeWhileIterable::•<dart.core::int*>(this, test);
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ toList({dart.core::bool growable = #C5}) → dart.core::List<dart.core::int*> {
- if(this.{dart.collection::ListMixin::isEmpty})
+ if(this.{dart.collection::ListMixin::isEmpty}{dart.core::bool})
return dart.core::List::empty<dart.core::int*>(growable: growable);
- dart.core::int* first = this.{dart.core::List::[]}(0);
- dart.core::List<dart.core::int*> result = dart.core::List::filled<dart.core::int*>(this.{dart.core::List::length}, first, growable: growable);
- for (dart.core::int i = 1; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- result.{dart.core::List::[]=}(i, this.{dart.core::List::[]}(i));
+ dart.core::int* first = this.{dart.core::List::[]}(0){(dart.core::int) → dart.core::int*};
+ dart.core::List<dart.core::int*> result = dart.core::List::filled<dart.core::int*>(this.{dart.core::List::length}{dart.core::int}, first, growable: growable);
+ for (dart.core::int i = 1; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ result.{dart.core::List::[]=}(i, this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
}
return result;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ toSet() → dart.core::Set<dart.core::int*> {
dart.core::Set<dart.core::int*> result = new dart.collection::_CompactLinkedHashSet::•<dart.core::int*>();
- for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- result.{dart.core::Set::add}(this.{dart.core::List::[]}(i));
+ for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ result.{dart.core::Set::add}(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool};
}
return result;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ add(generic-covariant-impl dart.core::int* element) → void {
- this.{dart.core::List::[]=}(let final dart.core::int #t2 = this.{dart.core::List::length} in let final dart.core::int #t3 = this.{dart.core::List::length} = #t2.{dart.core::num::+}(1) in #t2, element);
+ this.{dart.core::List::[]=}(let final dart.core::int #t2 = this.{dart.core::List::length}{dart.core::int} in let final dart.core::int #t3 = this.{dart.core::List::length} = #t2.{dart.core::num::+}(1){(dart.core::num) → dart.core::int} in #t2, element){(dart.core::int, dart.core::int*) → void};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ addAll(generic-covariant-impl dart.core::Iterable<dart.core::int*> iterable) → void {
- dart.core::int i = this.{dart.core::List::length};
+ dart.core::int i = this.{dart.core::List::length}{dart.core::int};
{
dart.core::Iterator<dart.core::int*> :sync-for-iterator = iterable.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current};
{
- assert(this.{dart.core::List::length}.{dart.core::num::==}(i) || (throw new dart.core::ConcurrentModificationError::•(this)));
- this.{dart.collection::ListMixin::add}(element);
- i = i.{dart.core::num::+}(1);
+ assert(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} i || (throw new dart.core::ConcurrentModificationError::•(this)));
+ this.{dart.collection::ListMixin::add}(element){(dart.core::int*) → void};
+ i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int};
}
}
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ remove(dart.core::Object? element) → dart.core::bool {
- for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- if(this.{dart.core::List::[]}(i).{dart.core::Object::==}(element)) {
- this.{dart.collection::ListMixin::_closeGap}(i, i.{dart.core::num::+}(1));
+ for (dart.core::int i = 0; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} element) {
+ this.{dart.collection::ListMixin::_closeGap}(i, i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}){(dart.core::int, dart.core::int) → void};
return true;
}
}
return false;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ _closeGap(dart.core::int start, dart.core::int end) → void {
- dart.core::int length = this.{dart.core::List::length};
- assert(0.{dart.core::num::<=}(start));
- assert(start.{dart.core::num::<}(end));
- assert(end.{dart.core::num::<=}(length));
- dart.core::int size = end.{dart.core::num::-}(start);
- for (dart.core::int i = end; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- this.{dart.core::List::[]=}(i.{dart.core::num::-}(size), this.{dart.core::List::[]}(i));
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ assert(0.{dart.core::num::<=}(start){(dart.core::num) → dart.core::bool});
+ assert(start.{dart.core::num::<}(end){(dart.core::num) → dart.core::bool});
+ assert(end.{dart.core::num::<=}(length){(dart.core::num) → dart.core::bool});
+ dart.core::int size = end.{dart.core::num::-}(start){(dart.core::num) → dart.core::int};
+ for (dart.core::int i = end; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.core::List::[]=}(i.{dart.core::num::-}(size){(dart.core::num) → dart.core::int}, this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
}
- this.{dart.core::List::length} = length.{dart.core::num::-}(size);
+ this.{dart.core::List::length} = length.{dart.core::num::-}(size){(dart.core::num) → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ removeWhere((dart.core::int*) → dart.core::bool test) → void {
- this.{dart.collection::ListMixin::_filter}(test, false);
+ this.{dart.collection::ListMixin::_filter}(test, false){((dart.core::int*) → dart.core::bool, dart.core::bool) → void};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ retainWhere((dart.core::int*) → dart.core::bool test) → void {
- this.{dart.collection::ListMixin::_filter}(test, true);
+ this.{dart.collection::ListMixin::_filter}(test, true){((dart.core::int*) → dart.core::bool, dart.core::bool) → void};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ _filter((dart.core::int*) → dart.core::bool test, dart.core::bool retainMatching) → void {
dart.core::List<dart.core::int*> retained = dart.core::_GrowableList::•<dart.core::int*>(0);
- dart.core::int length = this.{dart.core::List::length};
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- dart.core::int* element = this.{dart.core::List::[]}(i);
- if(test.call(element).{dart.core::Object::==}(retainMatching)) {
- retained.{dart.core::List::add}(element);
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ dart.core::int* element = this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*};
+ if(test(element){(dart.core::int*) → dart.core::bool} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} retainMatching) {
+ retained.{dart.core::List::add}(element){(dart.core::int*) → void};
}
- if(!length.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(!(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
throw new dart.core::ConcurrentModificationError::•(this);
}
}
- if(!retained.{dart.core::List::length}.{dart.core::num::==}(this.{dart.core::List::length})) {
- this.{dart.collection::ListMixin::setRange}(0, retained.{dart.core::List::length}, retained);
- this.{dart.core::List::length} = retained.{dart.core::List::length};
+ if(!(retained.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int})) {
+ this.{dart.collection::ListMixin::setRange}(0, retained.{dart.core::List::length}{dart.core::int}, retained){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
+ this.{dart.core::List::length} = retained.{dart.core::List::length}{dart.core::int};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ clear() → void {
@@ -275,27 +275,27 @@
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ cast<R extends dart.core::Object? = dynamic>() → dart.core::List<main::_WithListMixin&Object&ListMixin::cast::R%>
return dart.core::List::castFrom<dart.core::int*, main::_WithListMixin&Object&ListMixin::cast::R%>(this);
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ removeLast() → dart.core::int* {
- if(this.{dart.core::List::length}.{dart.core::num::==}(0)) {
+ if(this.{dart.core::List::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0) {
throw dart._internal::IterableElementError::noElement();
}
- dart.core::int* result = this.{dart.core::List::[]}(this.{dart.core::List::length}.{dart.core::num::-}(1));
- this.{dart.core::List::length} = this.{dart.core::List::length}.{dart.core::num::-}(1);
+ dart.core::int* result = this.{dart.core::List::[]}(this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}){(dart.core::int) → dart.core::int*};
+ this.{dart.core::List::length} = this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int};
return result;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sort([(dart.core::int*, dart.core::int*) →? dart.core::int compare = #C2]) → void {
- dart._internal::Sort::sort<dart.core::int*>(this, let final (dart.core::int*, dart.core::int*) →? dart.core::int #t4 = compare in #t4.{dart.core::Object::==}(null) ?{(dart.core::int*, dart.core::int*) → dart.core::int} #C6 : #t4{(dart.core::int*, dart.core::int*) → dart.core::int});
+ dart._internal::Sort::sort<dart.core::int*>(this, let final (dart.core::int*, dart.core::int*) →? dart.core::int #t4 = compare in #t4 == null ?{(dart.core::int*, dart.core::int*) → dart.core::int} #C6 : #t4{(dart.core::int*, dart.core::int*) → dart.core::int});
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([dart.math::Random? random = #C2]) → void {
- random.{dart.core::Object::==}(null) ?{dart.math::Random} random = dart.math::Random::•() : null;
- if(random{dart.math::Random}.{dart.core::Object::==}(null))
+ random == null ?{dart.math::Random} random = dart.math::Random::•() : null;
+ if(random{dart.math::Random} == null)
throw "!";
- dart.core::int length = this.{dart.core::List::length};
- while (length.{dart.core::num::>}(1)) {
- dart.core::int pos = random{dart.math::Random}.{dart.math::Random::nextInt}(length);
- length = length.{dart.core::num::-}(1);
- dart.core::int* tmp = this.{dart.core::List::[]}(length);
- this.{dart.core::List::[]=}(length, this.{dart.core::List::[]}(pos));
- this.{dart.core::List::[]=}(pos, tmp);
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
+ while (length.{dart.core::num::>}(1){(dart.core::num) → dart.core::bool}) {
+ dart.core::int pos = random{dart.math::Random}.{dart.math::Random::nextInt}(length){(dart.core::int) → dart.core::int};
+ length = length.{dart.core::num::-}(1){(dart.core::num) → dart.core::int};
+ dart.core::int* tmp = this.{dart.core::List::[]}(length){(dart.core::int) → dart.core::int*};
+ this.{dart.core::List::[]=}(length, this.{dart.core::List::[]}(pos){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
+ this.{dart.core::List::[]=}(pos, tmp){(dart.core::int, dart.core::int*) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ asMap() → dart.core::Map<dart.core::int, dart.core::int*> {
@@ -304,37 +304,37 @@
operator /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ +(generic-covariant-impl dart.core::List<dart.core::int*> other) → dart.core::List<dart.core::int*>
return block {
final dart.core::List<dart.core::int*> #t5 = dart.core::List::of<dart.core::int*>(this);
- #t5.{dart.core::List::addAll}{Invariant}(other);
+ #t5.{dart.core::List::addAll}(other){(dart.core::Iterable<dart.core::int*>) → void};
} =>#t5;
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(dart.core::int start, [dart.core::int? end = #C2]) → dart.core::List<dart.core::int*> {
- dart.core::int listLength = this.{dart.core::List::length};
- end.{dart.core::num::==}(null) ?{dart.core::int} end = listLength : null;
- if(end{dart.core::int}.{dart.core::num::==}(null))
+ dart.core::int listLength = this.{dart.core::List::length}{dart.core::int};
+ end == null ?{dart.core::int} end = listLength : null;
+ if(end{dart.core::int} == null)
throw "!";
dart.core::RangeError::checkValidRange(start, end{dart.core::int}, listLength);
- return dart.core::List::from<dart.core::int*>(this.{dart.collection::ListMixin::getRange}(start, end{dart.core::int}));
+ return dart.core::List::from<dart.core::int*>(this.{dart.collection::ListMixin::getRange}(start, end{dart.core::int}){(dart.core::int, dart.core::int) → dart.core::Iterable<dart.core::int*>});
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ getRange(dart.core::int start, dart.core::int end) → dart.core::Iterable<dart.core::int*> {
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
return new dart._internal::SubListIterable::•<dart.core::int*>(this, start, end);
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ removeRange(dart.core::int start, dart.core::int end) → void {
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
- if(end.{dart.core::num::>}(start)) {
- this.{dart.collection::ListMixin::_closeGap}(start, end);
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
+ if(end.{dart.core::num::>}(start){(dart.core::num) → dart.core::bool}) {
+ this.{dart.collection::ListMixin::_closeGap}(start, end){(dart.core::int, dart.core::int) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ fillRange(dart.core::int start, dart.core::int end, [generic-covariant-impl dart.core::int? fill = #C2]) → void {
dart.core::int* value = let dart.core::int? #t6 = fill in #t6.==(null) ?{dart.core::int*} #t6 : #t6{dart.core::int*};
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
- for (dart.core::int i = start; i.{dart.core::num::<}(end); i = i.{dart.core::num::+}(1)) {
- this.{dart.core::List::[]=}(i, value);
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
+ for (dart.core::int i = start; i.{dart.core::num::<}(end){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.core::List::[]=}(i, value){(dart.core::int, dart.core::int*) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ setRange(dart.core::int start, dart.core::int end, generic-covariant-impl dart.core::Iterable<dart.core::int*> iterable, [dart.core::int skipCount = #C7]) → void {
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
- dart.core::int length = end.{dart.core::num::-}(start);
- if(length.{dart.core::num::==}(0))
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
+ dart.core::int length = end.{dart.core::num::-}(start){(dart.core::num) → dart.core::int};
+ if(length =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0)
return;
dart.core::RangeError::checkNotNegative(skipCount, "skipCount");
dart.core::List<dart.core::int*> otherList;
@@ -344,158 +344,158 @@
otherStart = skipCount;
}
else {
- otherList = iterable.{dart.core::Iterable::skip}(skipCount).{dart.core::Iterable::toList}(growable: false);
+ otherList = iterable.{dart.core::Iterable::skip}(skipCount){(dart.core::int) → dart.core::Iterable<dart.core::int*>}.{dart.core::Iterable::toList}(growable: false){({growable: dart.core::bool}) → dart.core::List<dart.core::int*>};
otherStart = 0;
}
- if(otherStart.{dart.core::num::+}(length).{dart.core::num::>}(otherList.{dart.core::List::length})) {
+ if(otherStart.{dart.core::num::+}(length){(dart.core::num) → dart.core::int}.{dart.core::num::>}(otherList.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}) {
throw dart._internal::IterableElementError::tooFew();
}
- if(otherStart.{dart.core::num::<}(start)) {
- for (dart.core::int i = length.{dart.core::num::-}(1); i.{dart.core::num::>=}(0); i = i.{dart.core::num::-}(1)) {
- this.{dart.core::List::[]=}(start.{dart.core::num::+}(i), otherList.{dart.core::List::[]}(otherStart.{dart.core::num::+}(i)));
+ if(otherStart.{dart.core::num::<}(start){(dart.core::num) → dart.core::bool}) {
+ for (dart.core::int i = length.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}; i.{dart.core::num::>=}(0){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.core::List::[]=}(start.{dart.core::num::+}(i){(dart.core::num) → dart.core::int}, otherList.{dart.core::List::[]}(otherStart.{dart.core::num::+}(i){(dart.core::num) → dart.core::int}){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
}
}
else {
- for (dart.core::int i = 0; i.{dart.core::num::<}(length); i = i.{dart.core::num::+}(1)) {
- this.{dart.core::List::[]=}(start.{dart.core::num::+}(i), otherList.{dart.core::List::[]}(otherStart.{dart.core::num::+}(i)));
+ for (dart.core::int i = 0; i.{dart.core::num::<}(length){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.core::List::[]=}(start.{dart.core::num::+}(i){(dart.core::num) → dart.core::int}, otherList.{dart.core::List::[]}(otherStart.{dart.core::num::+}(i){(dart.core::num) → dart.core::int}){(dart.core::int) → dart.core::int*}){(dart.core::int, dart.core::int*) → void};
}
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ replaceRange(dart.core::int start, dart.core::int end, generic-covariant-impl dart.core::Iterable<dart.core::int*> newContents) → void {
- dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length});
- if(start.{dart.core::num::==}(this.{dart.core::List::length})) {
- this.{dart.collection::ListMixin::addAll}(newContents);
+ dart.core::RangeError::checkValidRange(start, end, this.{dart.core::List::length}{dart.core::int});
+ if(start =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int}) {
+ this.{dart.collection::ListMixin::addAll}(newContents){(dart.core::Iterable<dart.core::int*>) → void};
return;
}
if(!(newContents is{ForNonNullableByDefault} dart._internal::EfficientLengthIterable<dynamic>)) {
- newContents = newContents.{dart.core::Iterable::toList}();
+ newContents = newContents.{dart.core::Iterable::toList}(){({growable: dart.core::bool}) → dart.core::List<dart.core::int*>};
}
- dart.core::int removeLength = end.{dart.core::num::-}(start);
- dart.core::int insertLength = newContents.{dart.core::Iterable::length};
- if(removeLength.{dart.core::num::>=}(insertLength)) {
- dart.core::int insertEnd = start.{dart.core::num::+}(insertLength);
- this.{dart.collection::ListMixin::setRange}(start, insertEnd, newContents);
- if(removeLength.{dart.core::num::>}(insertLength)) {
- this.{dart.collection::ListMixin::_closeGap}(insertEnd, end);
+ dart.core::int removeLength = end.{dart.core::num::-}(start){(dart.core::num) → dart.core::int};
+ dart.core::int insertLength = newContents.{dart.core::Iterable::length}{dart.core::int};
+ if(removeLength.{dart.core::num::>=}(insertLength){(dart.core::num) → dart.core::bool}) {
+ dart.core::int insertEnd = start.{dart.core::num::+}(insertLength){(dart.core::num) → dart.core::int};
+ this.{dart.collection::ListMixin::setRange}(start, insertEnd, newContents){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
+ if(removeLength.{dart.core::num::>}(insertLength){(dart.core::num) → dart.core::bool}) {
+ this.{dart.collection::ListMixin::_closeGap}(insertEnd, end){(dart.core::int, dart.core::int) → void};
}
}
else
- if(end.{dart.core::num::==}(this.{dart.core::List::length})) {
+ if(end =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int}) {
dart.core::int i = start;
{
dart.core::Iterator<dart.core::int*> :sync-for-iterator = newContents.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current};
{
- if(i.{dart.core::num::<}(end)) {
- this.{dart.core::List::[]=}(i, element);
+ if(i.{dart.core::num::<}(end){(dart.core::num) → dart.core::bool}) {
+ this.{dart.core::List::[]=}(i, element){(dart.core::int, dart.core::int*) → void};
}
else {
- this.{dart.collection::ListMixin::add}(element);
+ this.{dart.collection::ListMixin::add}(element){(dart.core::int*) → void};
}
- i = i.{dart.core::num::+}(1);
+ i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int};
}
}
}
}
else {
- dart.core::int delta = insertLength.{dart.core::num::-}(removeLength);
- dart.core::int oldLength = this.{dart.core::List::length};
- dart.core::int insertEnd = start.{dart.core::num::+}(insertLength);
- for (dart.core::int i = oldLength.{dart.core::num::-}(delta); i.{dart.core::num::<}(oldLength); i = i.{dart.core::num::+}(1)) {
- this.{dart.collection::ListMixin::add}(this.{dart.core::List::[]}(i.{dart.core::num::>}(0) ?{dart.core::int} i : 0));
+ dart.core::int delta = insertLength.{dart.core::num::-}(removeLength){(dart.core::num) → dart.core::int};
+ dart.core::int oldLength = this.{dart.core::List::length}{dart.core::int};
+ dart.core::int insertEnd = start.{dart.core::num::+}(insertLength){(dart.core::num) → dart.core::int};
+ for (dart.core::int i = oldLength.{dart.core::num::-}(delta){(dart.core::num) → dart.core::int}; i.{dart.core::num::<}(oldLength){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.collection::ListMixin::add}(this.{dart.core::List::[]}(i.{dart.core::num::>}(0){(dart.core::num) → dart.core::bool} ?{dart.core::int} i : 0){(dart.core::int) → dart.core::int*}){(dart.core::int*) → void};
}
- if(insertEnd.{dart.core::num::<}(oldLength)) {
- this.{dart.collection::ListMixin::setRange}(insertEnd, oldLength, this, end);
+ if(insertEnd.{dart.core::num::<}(oldLength){(dart.core::num) → dart.core::bool}) {
+ this.{dart.collection::ListMixin::setRange}(insertEnd, oldLength, this, end){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
}
- this.{dart.collection::ListMixin::setRange}(start, insertEnd, newContents);
+ this.{dart.collection::ListMixin::setRange}(start, insertEnd, newContents){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ indexOf(generic-covariant-impl dart.core::Object? element, [dart.core::int start = #C7]) → dart.core::int {
- if(start.{dart.core::num::<}(0))
+ if(start.{dart.core::num::<}(0){(dart.core::num) → dart.core::bool})
start = 0;
- for (dart.core::int i = start; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- if(this.{dart.core::List::[]}(i).{dart.core::Object::==}(element))
+ for (dart.core::int i = start; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} element)
return i;
}
- return 1.{dart.core::int::unary-}();
+ return 1.{dart.core::int::unary-}(){() → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ indexWhere((dart.core::int*) → dart.core::bool test, [dart.core::int start = #C7]) → dart.core::int {
- if(start.{dart.core::num::<}(0))
+ if(start.{dart.core::num::<}(0){(dart.core::num) → dart.core::bool})
start = 0;
- for (dart.core::int i = start; i.{dart.core::num::<}(this.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
- if(test.call(this.{dart.core::List::[]}(i)))
+ for (dart.core::int i = start; i.{dart.core::num::<}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ if(test(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool})
return i;
}
- return 1.{dart.core::int::unary-}();
+ return 1.{dart.core::int::unary-}(){() → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ lastIndexOf(generic-covariant-impl dart.core::Object? element, [dart.core::int? start = #C2]) → dart.core::int {
- if(start.{dart.core::num::==}(null) || start{dart.core::int}.{dart.core::num::>=}(this.{dart.core::List::length}))
- start = this.{dart.core::List::length}.{dart.core::num::-}(1);
- if(start{dart.core::int}.{dart.core::num::==}(null))
+ if(start == null || start{dart.core::int}.{dart.core::num::>=}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool})
+ start = this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int};
+ if(start{dart.core::int} == null)
throw "!";
- for (dart.core::int i = start{dart.core::int}; i.{dart.core::num::>=}(0); i = i.{dart.core::num::-}(1)) {
- if(this.{dart.core::List::[]}(i).{dart.core::Object::==}(element))
+ for (dart.core::int i = start{dart.core::int}; i.{dart.core::num::>=}(0){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}) {
+ if(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*} =={dart.core::Object::==}{(dart.core::Object) → dart.core::bool} element)
return i;
}
- return 1.{dart.core::int::unary-}();
+ return 1.{dart.core::int::unary-}(){() → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ lastIndexWhere((dart.core::int*) → dart.core::bool test, [dart.core::int? start = #C2]) → dart.core::int {
- if(start.{dart.core::num::==}(null) || start{dart.core::int}.{dart.core::num::>=}(this.{dart.core::List::length}))
- start = this.{dart.core::List::length}.{dart.core::num::-}(1);
- if(start{dart.core::int}.{dart.core::num::==}(null))
+ if(start == null || start{dart.core::int}.{dart.core::num::>=}(this.{dart.core::List::length}{dart.core::int}){(dart.core::num) → dart.core::bool})
+ start = this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(1){(dart.core::num) → dart.core::int};
+ if(start{dart.core::int} == null)
throw "!";
- for (dart.core::int i = start{dart.core::int}; i.{dart.core::num::>=}(0); i = i.{dart.core::num::-}(1)) {
- if(test.call(this.{dart.core::List::[]}(i)))
+ for (dart.core::int i = start{dart.core::int}; i.{dart.core::num::>=}(0){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::-}(1){(dart.core::num) → dart.core::int}) {
+ if(test(this.{dart.core::List::[]}(i){(dart.core::int) → dart.core::int*}){(dart.core::int*) → dart.core::bool})
return i;
}
- return 1.{dart.core::int::unary-}();
+ return 1.{dart.core::int::unary-}(){() → dart.core::int};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ insert(dart.core::int index, generic-covariant-impl dart.core::int* element) → void {
dart._internal::checkNotNullable<dart.core::int>(index, "index");
- dart.core::int length = this.{dart.core::List::length};
+ dart.core::int length = this.{dart.core::List::length}{dart.core::int};
dart.core::RangeError::checkValueInInterval(index, 0, length, "index");
- this.{dart.collection::ListMixin::add}(element);
- if(!index.{dart.core::num::==}(length)) {
- this.{dart.collection::ListMixin::setRange}(index.{dart.core::num::+}(1), length.{dart.core::num::+}(1), this, index);
- this.{dart.core::List::[]=}(index, element);
+ this.{dart.collection::ListMixin::add}(element){(dart.core::int*) → void};
+ if(!(index =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} length)) {
+ this.{dart.collection::ListMixin::setRange}(index.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}, length.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}, this, index){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
+ this.{dart.core::List::[]=}(index, element){(dart.core::int, dart.core::int*) → void};
}
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ removeAt(dart.core::int index) → dart.core::int* {
- dart.core::int* result = this.{dart.core::List::[]}(index);
- this.{dart.collection::ListMixin::_closeGap}(index, index.{dart.core::num::+}(1));
+ dart.core::int* result = this.{dart.core::List::[]}(index){(dart.core::int) → dart.core::int*};
+ this.{dart.collection::ListMixin::_closeGap}(index, index.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}){(dart.core::int, dart.core::int) → void};
return result;
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ insertAll(dart.core::int index, generic-covariant-impl dart.core::Iterable<dart.core::int*> iterable) → void {
- dart.core::RangeError::checkValueInInterval(index, 0, this.{dart.core::List::length}, "index");
- if(index.{dart.core::num::==}(this.{dart.core::List::length})) {
- this.{dart.collection::ListMixin::addAll}(iterable);
+ dart.core::RangeError::checkValueInInterval(index, 0, this.{dart.core::List::length}{dart.core::int}, "index");
+ if(index =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} this.{dart.core::List::length}{dart.core::int}) {
+ this.{dart.collection::ListMixin::addAll}(iterable){(dart.core::Iterable<dart.core::int*>) → void};
return;
}
if(!(iterable is{ForNonNullableByDefault} dart._internal::EfficientLengthIterable<dynamic>) || dart.core::identical(iterable, this)) {
- iterable = iterable.{dart.core::Iterable::toList}();
+ iterable = iterable.{dart.core::Iterable::toList}(){({growable: dart.core::bool}) → dart.core::List<dart.core::int*>};
}
- dart.core::int insertionLength = iterable.{dart.core::Iterable::length};
- if(insertionLength.{dart.core::num::==}(0)) {
+ dart.core::int insertionLength = iterable.{dart.core::Iterable::length}{dart.core::int};
+ if(insertionLength =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} 0) {
return;
}
- dart.core::int oldLength = this.{dart.core::List::length};
- for (dart.core::int i = oldLength.{dart.core::num::-}(insertionLength); i.{dart.core::num::<}(oldLength); i = i.{dart.core::num::+}(1)) {
- this.{dart.collection::ListMixin::add}(this.{dart.core::List::[]}(i.{dart.core::num::>}(0) ?{dart.core::int} i : 0));
+ dart.core::int oldLength = this.{dart.core::List::length}{dart.core::int};
+ for (dart.core::int i = oldLength.{dart.core::num::-}(insertionLength){(dart.core::num) → dart.core::int}; i.{dart.core::num::<}(oldLength){(dart.core::num) → dart.core::bool}; i = i.{dart.core::num::+}(1){(dart.core::num) → dart.core::int}) {
+ this.{dart.collection::ListMixin::add}(this.{dart.core::List::[]}(i.{dart.core::num::>}(0){(dart.core::num) → dart.core::bool} ?{dart.core::int} i : 0){(dart.core::int) → dart.core::int*}){(dart.core::int*) → void};
}
- if(!iterable.{dart.core::Iterable::length}.{dart.core::num::==}(insertionLength)) {
- this.{dart.core::List::length} = this.{dart.core::List::length}.{dart.core::num::-}(insertionLength);
+ if(!(iterable.{dart.core::Iterable::length}{dart.core::int} =={dart.core::num::==}{(dart.core::Object) → dart.core::bool} insertionLength)) {
+ this.{dart.core::List::length} = this.{dart.core::List::length}{dart.core::int}.{dart.core::num::-}(insertionLength){(dart.core::num) → dart.core::int};
throw new dart.core::ConcurrentModificationError::•(iterable);
}
- dart.core::int oldCopyStart = index.{dart.core::num::+}(insertionLength);
- if(oldCopyStart.{dart.core::num::<}(oldLength)) {
- this.{dart.collection::ListMixin::setRange}(oldCopyStart, oldLength, this, index);
+ dart.core::int oldCopyStart = index.{dart.core::num::+}(insertionLength){(dart.core::num) → dart.core::int};
+ if(oldCopyStart.{dart.core::num::<}(oldLength){(dart.core::num) → dart.core::bool}) {
+ this.{dart.collection::ListMixin::setRange}(oldCopyStart, oldLength, this, index){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
}
- this.{dart.collection::ListMixin::setAll}(index, iterable);
+ this.{dart.collection::ListMixin::setAll}(index, iterable){(dart.core::int, dart.core::Iterable<dart.core::int*>) → void};
}
method /*isNonNullableByDefault, from org-dartlang-sdk:///sdk/lib/collection/list.dart */ setAll(dart.core::int index, generic-covariant-impl dart.core::Iterable<dart.core::int*> iterable) → void {
if(iterable is{ForNonNullableByDefault} dart.core::List<dynamic>) {
- this.{dart.collection::ListMixin::setRange}(index, index.{dart.core::num::+}(iterable.{dart.core::Iterable::length}), iterable);
+ this.{dart.collection::ListMixin::setRange}(index, index.{dart.core::num::+}(iterable.{dart.core::Iterable::length}{dart.core::int}){(dart.core::num) → dart.core::int}, iterable){(dart.core::int, dart.core::int, dart.core::Iterable<dart.core::int*>, [dart.core::int]) → void};
}
else {
{
@@ -503,7 +503,7 @@
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current};
{
- this.{dart.core::List::[]=}(let final dart.core::int #t7 = index in let final dart.core::int #t8 = index = #t7.{dart.core::num::+}(1) in #t7, element);
+ this.{dart.core::List::[]=}(let final dart.core::int #t7 = index in let final dart.core::int #t8 = index = #t7.{dart.core::num::+}(1){(dart.core::num) → dart.core::int} in #t7, element){(dart.core::int, dart.core::int*) → void};
}
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_25.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_25.yaml.world.1.expect
index 1a9acd5..7e300e4 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_25.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_25.yaml.world.1.expect
@@ -23,7 +23,7 @@
dart.core::print("bar 1");
}
method callBar() → void {
- invalid-expression "org-dartlang-test:///main.dart:9:5: Error: Can't use 'bar' because it is declared more than once.\n bar();\n ^".call();
+ invalid-expression "org-dartlang-test:///main.dart:9:5: Error: Can't use 'bar' because it is declared more than once.\n bar();\n ^"{dynamic}.call();
}
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_25.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_25.yaml.world.2.expect
index 1a9acd5..7e300e4 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_25.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_25.yaml.world.2.expect
@@ -23,7 +23,7 @@
dart.core::print("bar 1");
}
method callBar() → void {
- invalid-expression "org-dartlang-test:///main.dart:9:5: Error: Can't use 'bar' because it is declared more than once.\n bar();\n ^".call();
+ invalid-expression "org-dartlang-test:///main.dart:9:5: Error: Can't use 'bar' because it is declared more than once.\n bar();\n ^"{dynamic}.call();
}
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.1.expect
index 481fe3f..ab4cf52 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.1.expect
@@ -45,9 +45,9 @@
static method main() → dynamic {
lib::Coordinate* coordinate = lib::Coordinate::allocate(42.0, 42.0, null);
- dart.core::print(coordinate.{lib::Coordinate::x});
- dart.core::print(coordinate.{lib::Coordinate::y});
- dart.core::print(coordinate.{lib::Coordinate::next});
+ dart.core::print(coordinate.{lib::Coordinate::x}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::y}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::next}{dart.ffi::Pointer<lib::Coordinate*>*});
}
}
constants {
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.2.expect
index aeab1b0..ddd4897 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.2.expect
@@ -45,9 +45,9 @@
static method main() → dynamic {
lib::Coordinate* coordinate = lib::Coordinate::allocate(42.0, 42.0, null);
- dart.core::print(coordinate.{lib::Coordinate::x});
- dart.core::print(coordinate.{lib::Coordinate::y});
- dart.core::print(coordinate.{lib::Coordinate::next});
+ dart.core::print(coordinate.{lib::Coordinate::x}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::y}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::next}{dart.ffi::Pointer<lib::Coordinate*>*});
dart.core::print("Done!");
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.3.expect b/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.3.expect
index 1c8bfde..4e662d6 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_35.yaml.world.3.expect
@@ -46,9 +46,9 @@
static method main() → dynamic {
lib::Coordinate* coordinate = lib::Coordinate::allocate(42.0, 42.0, null);
- dart.core::print(coordinate.{lib::Coordinate::x});
- dart.core::print(coordinate.{lib::Coordinate::y});
- dart.core::print(coordinate.{lib::Coordinate::next});
+ dart.core::print(coordinate.{lib::Coordinate::x}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::y}{dart.core::double*});
+ dart.core::print(coordinate.{lib::Coordinate::next}{dart.ffi::Pointer<lib::Coordinate*>*});
dart.core::print("Done!");
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.1.expect
index beeaf14..f8fa7652b 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.1.expect
@@ -41,6 +41,6 @@
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
}
static method foo(main::X* x) → dart.core::int* {
- return x is lib::Y* ?{dart.core::int*} x{lib::Y*}.{lib::Y::foo} : null;
+ return x is lib::Y* ?{dart.core::int*} x{lib::Y*}.{lib::Y::foo}{dart.core::int*} : null;
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.2.expect
index beeaf14..f8fa7652b 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.2.expect
@@ -41,6 +41,6 @@
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
}
static method foo(main::X* x) → dart.core::int* {
- return x is lib::Y* ?{dart.core::int*} x{lib::Y*}.{lib::Y::foo} : null;
+ return x is lib::Y* ?{dart.core::int*} x{lib::Y*}.{lib::Y::foo}{dart.core::int*} : null;
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.3.expect b/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.3.expect
index beeaf14..f8fa7652b 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_38.yaml.world.3.expect
@@ -41,6 +41,6 @@
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
}
static method foo(main::X* x) → dart.core::int* {
- return x is lib::Y* ?{dart.core::int*} x{lib::Y*}.{lib::Y::foo} : null;
+ return x is lib::Y* ?{dart.core::int*} x{lib::Y*}.{lib::Y::foo}{dart.core::int*} : null;
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_4.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_4.yaml.world.1.expect
index 1bcab1b..a91314f 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_4.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_4.yaml.world.1.expect
@@ -26,7 +26,7 @@
: super libA::_Bar&Object&Foo::•()
;
method method2() → dynamic {
- this.{libA::_Bar&Object&Foo::method}();
+ this.{libA::_Bar&Object&Foo::method}(){() →* dynamic};
}
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_4.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_4.yaml.world.2.expect
index eb76ec5..82880e2 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_4.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_4.yaml.world.2.expect
@@ -26,7 +26,7 @@
: super libA::_Bar&Object&Foo::•()
;
method method2() → dynamic {
- this.{libA::_Bar&Object&Foo::method}();
+ this.{libA::_Bar&Object&Foo::method}(){() →* dynamic};
}
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.1.expect
index 83a60c98..3fa4b88 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.1.expect
@@ -23,6 +23,6 @@
static method foo() → void {
dart.core::int* value = lib::libField;
- lib::libField = value.{dart.core::num::+}(1);
+ lib::libField = value.{dart.core::num::+}(1){(dart.core::num*) →* dart.core::int*};
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.2.expect
index 83a60c98..3fa4b88 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.2.expect
@@ -23,6 +23,6 @@
static method foo() → void {
dart.core::int* value = lib::libField;
- lib::libField = value.{dart.core::num::+}(1);
+ lib::libField = value.{dart.core::num::+}(1){(dart.core::num*) →* dart.core::int*};
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.3.expect b/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.3.expect
index 83a60c98..3fa4b88 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.3.expect
@@ -23,6 +23,6 @@
static method foo() → void {
dart.core::int* value = lib::libField;
- lib::libField = value.{dart.core::num::+}(1);
+ lib::libField = value.{dart.core::num::+}(1){(dart.core::num*) →* dart.core::int*};
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.4.expect b/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.4.expect
index 83a60c98..3fa4b88 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.4.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_43.yaml.world.4.expect
@@ -23,6 +23,6 @@
static method foo() → void {
dart.core::int* value = lib::libField;
- lib::libField = value.{dart.core::num::+}(1);
+ lib::libField = value.{dart.core::num::+}(1){(dart.core::num*) →* dart.core::int*};
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.1.expect
index 9091dbc..8b39b29 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.1.expect
@@ -25,7 +25,7 @@
;
@#C1
method toString() → dart.core::String* {
- return "${this.{main::Foo::message}}";
+ return "${this.{main::Foo::message}{dynamic}}";
}
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.2.expect
index f6720c8..e9d1e54 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.2.expect
@@ -25,7 +25,7 @@
;
@#C1
method toString() → dart.core::String* {
- return "${this.{main::Foo::message}}!!!";
+ return "${this.{main::Foo::message}{dynamic}}!!!";
}
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.3.expect b/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.3.expect
index f8e3bb3..fa30162 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_6.yaml.world.3.expect
@@ -18,7 +18,7 @@
;
@#C1
method toString() → dart.core::String* {
- return "${this.{main::Foo::message}}?!?";
+ return "${this.{main::Foo::message}{dynamic}}?!?";
}
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_7.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_7.yaml.world.1.expect
index 9514f9c..9cb129d 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_7.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_7.yaml.world.1.expect
@@ -38,7 +38,7 @@
;
@#C2
method toString() → dart.core::String* {
- return "${this.{main::Foo::message}}";
+ return "${this.{main::Foo::message}{dynamic}}";
}
}
@#C1
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_7.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_7.yaml.world.2.expect
index 9514f9c..9cb129d 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_7.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_7.yaml.world.2.expect
@@ -38,7 +38,7 @@
;
@#C2
method toString() → dart.core::String* {
- return "${this.{main::Foo::message}}";
+ return "${this.{main::Foo::message}{dynamic}}";
}
}
@#C1
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_8.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_8.yaml.world.1.expect
index 4871eff..e12f28a 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_8.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_8.yaml.world.1.expect
@@ -22,7 +22,7 @@
}
static method main() → dynamic {
main::Foo* foo = new main::Foo::•();
- dart.core::print(foo.{main::Foo::x});
+ dart.core::print(foo.{main::Foo::x}{dart.core::String*});
foo.{main::Foo::x} = "hello";
}
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_8.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_8.yaml.world.2.expect
index 6de6baf..bc1e6cb 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_8.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_8.yaml.world.2.expect
@@ -22,7 +22,7 @@
}
static method main() → dynamic {
main::Foo* foo = new main::Foo::•();
- dart.core::print(foo.{main::Foo::x});
+ dart.core::print(foo.{main::Foo::x}{dart.core::String*});
foo.{main::Foo::x} = "hello";
}
}
diff --git a/pkg/front_end/testcases/incremental/omit_platform_works_3.yaml.world.3.expect b/pkg/front_end/testcases/incremental/omit_platform_works_3.yaml.world.3.expect
index eb9a3f3..6769929 100644
--- a/pkg/front_end/testcases/incremental/omit_platform_works_3.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/omit_platform_works_3.yaml.world.3.expect
@@ -4,6 +4,6 @@
import "org-dartlang-test:///lib.dart";
static method main() → dynamic {
- dart.core::print(#lib1::lib().+("!"));
+ dart.core::print(#lib1::lib(){dynamic}.+("!"));
}
}
diff --git a/pkg/front_end/testcases/incremental/omit_platform_works_3.yaml.world.5.expect b/pkg/front_end/testcases/incremental/omit_platform_works_3.yaml.world.5.expect
index a4d9f55..c3d91f8 100644
--- a/pkg/front_end/testcases/incremental/omit_platform_works_3.yaml.world.5.expect
+++ b/pkg/front_end/testcases/incremental/omit_platform_works_3.yaml.world.5.expect
@@ -10,7 +10,7 @@
import "org-dartlang-test:///lib.dart";
static method main() → dynamic {
- dart.core::print(lib::lib().+("!!"));
+ dart.core::print(lib::lib(){dynamic}.+("!!"));
}
}
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.1.expect b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.1.expect
index 72e701a..a45e928 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.1.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.2.expect b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.2.expect
index 678510c..b7a31e0 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.2.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.3.expect b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.3.expect
index 1f5c8b7..63b9159 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.3.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.4.expect b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.4.expect
index 989f313..a127102 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.4.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.4.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.5.expect b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.5.expect
index 28f7969..2d91ec1 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.5.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_10.yaml.world.5.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.1.expect b/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.1.expect
index 72e701a..a45e928 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.1.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.2.expect b/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.2.expect
index 14ebe65..e13f758 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.2.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.3.expect b/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.3.expect
index 27a3ce0..ae3bfe7 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_11.yaml.world.3.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.1.expect b/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.1.expect
index 72e701a..a45e928 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.1.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.2.expect b/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.2.expect
index b0e7394..72d51f4 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.2.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.3.expect b/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.3.expect
index 72e701a..a45e928 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_8.yaml.world.3.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.1.expect b/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.1.expect
index 72e701a..a45e928 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.1.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.2.expect b/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.2.expect
index d892035..0fd2abb 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.2.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.3.expect b/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.3.expect
index 51df21a..dc713d3 100644
--- a/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/reissue_errors_9.yaml.world.3.expect
@@ -3,7 +3,7 @@
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •(dart.core::int* i) → lib::Foo*
- : assert(i.{dart.core::num::>}(0)), super dart.core::Object::•()
+ : assert(i.{dart.core::num::>}(0){(dart.core::num*) →* dart.core::bool*}), super dart.core::Object::•()
;
abstract member-signature get _identityHashCode() → dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*; -> dart.core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.1.expect b/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.1.expect
index 6c62e4d..71ed943 100644
--- a/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.1.expect
@@ -4,6 +4,6 @@
import "dart:typed_data";
static method setUint8List(dart.typed_data::Uint8List* list, dart.core::int* index, dart.core::int* value) → void {
- list.{dart.core::List::[]=}(index, value);
+ list.{dart.core::List::[]=}(index, value){(dart.core::int*, dart.core::int*) →* void};
}
}
diff --git a/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.2.expect b/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.2.expect
index 543a390..5cb6157 100644
--- a/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.2.expect
@@ -4,6 +4,6 @@
import "dart:typed_data";
static method setInt8List(dart.typed_data::Int8List* list, dart.core::int* index, dart.core::int* value) → void {
- list.{dart.core::List::[]=}(index, value);
+ list.{dart.core::List::[]=}(index, value){(dart.core::int*, dart.core::int*) →* void};
}
}
diff --git a/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.3.expect b/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.3.expect
index 6c62e4d..71ed943 100644
--- a/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/vm_IRTest_TypedDataAOT_FunctionalIndexError.yaml.world.3.expect
@@ -4,6 +4,6 @@
import "dart:typed_data";
static method setUint8List(dart.typed_data::Uint8List* list, dart.core::int* index, dart.core::int* value) → void {
- list.{dart.core::List::[]=}(index, value);
+ list.{dart.core::List::[]=}(index, value){(dart.core::int*, dart.core::int*) →* void};
}
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.expect
index 4637a4f..f19d465 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.expect
@@ -9,14 +9,14 @@
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async {
- if(math::Random::•().{math::Random::nextBool}()) {
+ if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
return asy::Future::value<core::int*>(1);
}
else {
return asy::Future::value<core::double*>(2.0);
}
};
- asy::Future<core::num*>* g = f.call();
- asy::Future<core::int*>* h = f.call() as{TypeError} asy::Future<core::int*>*;
+ asy::Future<core::num*>* g = f(){() →* asy::Future<core::num*>*};
+ asy::Future<core::int*>* h = f(){() →* asy::Future<core::num*>*} as{TypeError} asy::Future<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect
index 5bac272..1f47c71 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
try {
#L1:
{
- if(math::Random::•().{math::Random::nextBool}()) {
+ if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
:return_value = asy::Future::value<core::int*>(1);
break #L1;
}
@@ -41,7 +41,7 @@
:is_sync = true;
return :async_future;
};
- asy::Future<core::num*>* g = f.call();
- asy::Future<core::int*>* h = f.call() as{TypeError} asy::Future<core::int*>*;
+ asy::Future<core::num*>* g = f(){() →* asy::Future<core::num*>*};
+ asy::Future<core::int*>* h = f(){() →* asy::Future<core::num*>*} as{TypeError} asy::Future<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.expect
index 99817a4..419ef81 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.expect
@@ -9,14 +9,14 @@
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async {
- if(math::Random::•().{math::Random::nextBool}()) {
+ if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
return 1;
}
else {
return 2.0;
}
};
- asy::Future<core::num*>* g = f.call();
- asy::Future<core::int*>* h = f.call() as{TypeError} asy::Future<core::int*>*;
+ asy::Future<core::num*>* g = f(){() →* asy::Future<core::num*>*};
+ asy::Future<core::int*>* h = f(){() →* asy::Future<core::num*>*} as{TypeError} asy::Future<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect
index 6d91810..95a5eab 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
try {
#L1:
{
- if(math::Random::•().{math::Random::nextBool}()) {
+ if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
:return_value = 1;
break #L1;
}
@@ -41,7 +41,7 @@
:is_sync = true;
return :async_future;
};
- asy::Future<core::num*>* g = f.call();
- asy::Future<core::int*>* h = f.call() as{TypeError} asy::Future<core::int*>*;
+ asy::Future<core::num*>* g = f(){() →* asy::Future<core::num*>*};
+ asy::Future<core::int*>* h = f(){() →* asy::Future<core::num*>*} as{TypeError} asy::Future<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.expect
index 8bc9037..3af04ad 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.expect
@@ -9,14 +9,14 @@
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async {
- if(math::Random::•().{math::Random::nextBool}()) {
+ if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
return asy::Future::value<core::int*>(1);
}
else {
return 2.0;
}
};
- asy::Future<core::num*>* g = f.call();
- asy::Future<core::int*>* h = f.call() as{TypeError} asy::Future<core::int*>*;
+ asy::Future<core::num*>* g = f(){() →* asy::Future<core::num*>*};
+ asy::Future<core::int*>* h = f(){() →* asy::Future<core::num*>*} as{TypeError} asy::Future<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect
index 5cd44bc..1ce4583 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
try {
#L1:
{
- if(math::Random::•().{math::Random::nextBool}()) {
+ if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
:return_value = asy::Future::value<core::int*>(1);
break #L1;
}
@@ -41,7 +41,7 @@
:is_sync = true;
return :async_future;
};
- asy::Future<core::num*>* g = f.call();
- asy::Future<core::int*>* h = f.call() as{TypeError} asy::Future<core::int*>*;
+ asy::Future<core::num*>* g = f(){() →* asy::Future<core::num*>*};
+ asy::Future<core::int*>* h = f(){() →* asy::Future<core::num*>*} as{TypeError} asy::Future<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.expect
index 056a025..f68b064 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.expect
@@ -11,7 +11,7 @@
asy::Stream<core::double*>* s;
yield* s;
};
- asy::Stream<core::num*>* g = f.call();
- asy::Stream<core::int*>* h = f.call() as{TypeError} asy::Stream<core::int*>*;
+ asy::Stream<core::num*>* g = f(){() →* asy::Stream<core::num*>*};
+ asy::Stream<core::int*>* h = f(){() →* asy::Stream<core::num*>*} as{TypeError} asy::Stream<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect
index adbe951..097e9a3 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect
@@ -44,7 +44,7 @@
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
return :controller_stream;
};
- asy::Stream<core::num*>* g = f.call();
- asy::Stream<core::int*>* h = f.call() as{TypeError} asy::Stream<core::int*>*;
+ asy::Stream<core::num*>* g = f(){() →* asy::Stream<core::num*>*};
+ asy::Stream<core::int*>* h = f(){() →* asy::Stream<core::num*>*} as{TypeError} asy::Stream<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.expect
index 1d59222..add23e8 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.expect
@@ -5,8 +5,8 @@
static method test1() → dynamic {
core::List<core::int*>* o;
core::Iterable<core::int*>* y = o.{core::Iterable::map}<core::int*>((core::int* x) → core::int* {
- return x.{core::num::+}(1);
- });
+ return x.{core::num::+}(1){(core::num*) →* core::int*};
+ }){((core::int*) →* core::int*) →* core::Iterable<core::int*>*};
core::Iterable<core::int*>* z = y;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.transformed.expect
index 1d59222..add23e8 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.transformed.expect
@@ -5,8 +5,8 @@
static method test1() → dynamic {
core::List<core::int*>* o;
core::Iterable<core::int*>* y = o.{core::Iterable::map}<core::int*>((core::int* x) → core::int* {
- return x.{core::num::+}(1);
- });
+ return x.{core::num::+}(1){(core::num*) →* core::int*};
+ }){((core::int*) →* core::int*) →* core::Iterable<core::int*>*};
core::Iterable<core::int*>* z = y;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.expect
index 77b16ea..446c911 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.expect
@@ -5,7 +5,7 @@
static method f() → dynamic {
core::List<core::int*>* o;
o.{core::Iterable::where}((core::int* i) → core::bool* {
- return i.{core::num::==}(0);
- });
+ return i =={core::num::==}{(core::Object*) →* core::bool*} 0;
+ }){((core::int*) →* core::bool*) →* core::Iterable<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.transformed.expect
index 77b16ea..446c911 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
static method f() → dynamic {
core::List<core::int*>* o;
o.{core::Iterable::where}((core::int* i) → core::bool* {
- return i.{core::num::==}(0);
- });
+ return i =={core::num::==}{(core::Object*) →* core::bool*} 0;
+ }){((core::int*) →* core::bool*) →* core::Iterable<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.expect
index 1b41da7..729dbe7 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.expect
@@ -9,7 +9,7 @@
() →* asy::Future<Null>* f = () → asy::Future<Null>* async {
return null;
};
- asy::Future<dynamic>* y = f.call();
- asy::Future<core::String*>* z = f.call();
- core::String* s = await f.call();
+ asy::Future<dynamic>* y = f(){() →* asy::Future<Null>*};
+ asy::Future<core::String*>* z = f(){() →* asy::Future<Null>*};
+ core::String* s = await f(){() →* asy::Future<Null>*};
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect
index bd417fc..1c8b19c 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect
@@ -46,9 +46,9 @@
:is_sync = true;
return :async_future;
};
- asy::Future<dynamic>* y = f.call();
- asy::Future<core::String*>* z = f.call();
- [yield] let dynamic #t1 = asy::_awaitHelper(f.call(), :async_op_then, :async_op_error, :async_op) in null;
+ asy::Future<dynamic>* y = f(){() →* asy::Future<Null>*};
+ asy::Future<core::String*>* z = f(){() →* asy::Future<Null>*};
+ [yield] let dynamic #t1 = asy::_awaitHelper(f(){() →* asy::Future<Null>*}, :async_op_then, :async_op_error, :async_op) in null;
core::String* s = _in::unsafeCast<Null>(:result);
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.expect
index 4f2a9bc..a85a79c 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.expect
@@ -9,7 +9,7 @@
() →* asy::Stream<Null>* f = () → asy::Stream<Null>* async* {
yield null;
};
- asy::Stream<dynamic>* y = f.call();
- asy::Stream<core::String*>* z = f.call();
- core::String* s = await f.call().{asy::Stream::first};
+ asy::Stream<dynamic>* y = f(){() →* asy::Stream<Null>*};
+ asy::Stream<core::String*>* z = f(){() →* asy::Stream<Null>*};
+ core::String* s = await f(){() →* asy::Stream<Null>*}.{asy::Stream::first}{asy::Future<Null>*};
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect
index fa13ae6..236bc34 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect
@@ -52,9 +52,9 @@
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
return :controller_stream;
};
- asy::Stream<dynamic>* y = f.call();
- asy::Stream<core::String*>* z = f.call();
- [yield] let dynamic #t1 = asy::_awaitHelper(f.call().{asy::Stream::first}, :async_op_then, :async_op_error, :async_op) in null;
+ asy::Stream<dynamic>* y = f(){() →* asy::Stream<Null>*};
+ asy::Stream<core::String*>* z = f(){() →* asy::Stream<Null>*};
+ [yield] let dynamic #t1 = asy::_awaitHelper(f(){() →* asy::Stream<Null>*}.{asy::Stream::first}{asy::Future<Null>*}, :async_op_then, :async_op_error, :async_op) in null;
core::String* s = _in::unsafeCast<Null>(:result);
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.expect
index cdf3f6a..4f32533 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.expect
@@ -8,7 +8,7 @@
(core::Object*) →* Null f = (core::Object* x) → Null {
return null;
};
- core::String* y = f.call(42);
+ core::String* y = f(42){(core::Object*) →* Null};
f = (core::Object* x) → Null => "hello" as{TypeError} Null;
self::foo((core::Object* x) → Null {
return null;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.transformed.expect
index cdf3f6a..4f32533 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
(core::Object*) →* Null f = (core::Object* x) → Null {
return null;
};
- core::String* y = f.call(42);
+ core::String* y = f(42){(core::Object*) →* Null};
f = (core::Object* x) → Null => "hello" as{TypeError} Null;
self::foo((core::Object* x) → Null {
return null;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.expect
index 58702d6..579df9a 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.expect
@@ -6,7 +6,7 @@
() →* core::Iterable<Null>* f = () → core::Iterable<Null>* sync* {
yield null;
};
- core::Iterable<dynamic>* y = f.call();
- core::Iterable<core::String*>* z = f.call();
- core::String* s = f.call().{core::Iterable::first};
+ core::Iterable<dynamic>* y = f(){() →* core::Iterable<Null>*};
+ core::Iterable<core::String*>* z = f(){() →* core::Iterable<Null>*};
+ core::String* s = f(){() →* core::Iterable<Null>*}.{core::Iterable::first}{Null};
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.transformed.expect
index a73b655..90ecc1f 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
}
return new core::_SyncIterable::•<Null>(:sync_op_gen);
};
- core::Iterable<dynamic>* y = f.call();
- core::Iterable<core::String*>* z = f.call();
- core::String* s = f.call().{core::Iterable::first};
+ core::Iterable<dynamic>* y = f(){() →* core::Iterable<Null>*};
+ core::Iterable<core::String*>* z = f(){() →* core::Iterable<Null>*};
+ core::String* s = f(){() →* core::Iterable<Null>*}.{core::Iterable::first}{Null};
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.expect
index 3f5499c..314b863 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.expect
@@ -8,13 +8,13 @@
static method test2() → dynamic {
core::List<core::num*>* o;
core::Iterable<core::num*>* y = o.{core::Iterable::map}<core::num*>((core::num* x) → core::num* {
- if(math::Random::•().{math::Random::nextBool}()) {
- return x.{core::num::toInt}().{core::num::+}(1);
+ if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
+ return x.{core::num::toInt}(){() →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
}
else {
- return x.{core::num::toDouble}();
+ return x.{core::num::toDouble}(){() →* core::double*};
}
- });
+ }){((core::num*) →* core::num*) →* core::Iterable<core::num*>*};
core::Iterable<core::num*>* w = y;
core::Iterable<core::int*>* z = y as{TypeError} core::Iterable<core::int*>*;
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.transformed.expect
index 3f5499c..314b863 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.transformed.expect
@@ -8,13 +8,13 @@
static method test2() → dynamic {
core::List<core::num*>* o;
core::Iterable<core::num*>* y = o.{core::Iterable::map}<core::num*>((core::num* x) → core::num* {
- if(math::Random::•().{math::Random::nextBool}()) {
- return x.{core::num::toInt}().{core::num::+}(1);
+ if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
+ return x.{core::num::toInt}(){() →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
}
else {
- return x.{core::num::toDouble}();
+ return x.{core::num::toDouble}(){() →* core::double*};
}
- });
+ }){((core::num*) →* core::num*) →* core::Iterable<core::num*>*};
core::Iterable<core::num*>* w = y;
core::Iterable<core::int*>* z = y as{TypeError} core::Iterable<core::int*>*;
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.expect
index 51f25d2..e9db0d8 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.expect
@@ -5,7 +5,7 @@
static method main() → dynamic {
() →* (core::int*) →* core::double* f = () → (core::int*) →* core::double* {
return (core::int* x) → core::double* {
- return 2.0.{core::double::*}(x);
+ return 2.0.{core::double::*}(x){(core::num*) →* core::double*};
};
};
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.transformed.expect
index 51f25d2..e9db0d8 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
static method main() → dynamic {
() →* (core::int*) →* core::double* f = () → (core::int*) →* core::double* {
return (core::int* x) → core::double* {
- return 2.0.{core::double::*}(x);
+ return 2.0.{core::double::*}(x){(core::num*) →* core::double*};
};
};
}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.expect
index 6a55e9b..f309388 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.expect
@@ -4,7 +4,7 @@
static method test1() → dynamic {
core::List<core::int*>* o;
- core::Iterable<Null>* y = o.{core::Iterable::map}<Null>((core::int* x) → Null {});
+ core::Iterable<Null>* y = o.{core::Iterable::map}<Null>((core::int* x) → Null {}){((core::int*) →* Null) →* core::Iterable<Null>*};
core::Iterable<core::int*>* z = y;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.transformed.expect
index 6a55e9b..f309388 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
static method test1() → dynamic {
core::List<core::int*>* o;
- core::Iterable<Null>* y = o.{core::Iterable::map}<Null>((core::int* x) → Null {});
+ core::Iterable<Null>* y = o.{core::Iterable::map}<Null>((core::int* x) → Null {}){((core::int*) →* Null) →* core::Iterable<Null>*};
core::Iterable<core::int*>* z = y;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.expect
index 58f8c43..09f2baf 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.expect
@@ -7,7 +7,7 @@
yield 1;
yield*<core::num*>[3, 4.0];
};
- core::Iterable<core::num*>* g = f.call();
- core::Iterable<core::int*>* h = f.call() as{TypeError} core::Iterable<core::int*>*;
+ core::Iterable<core::num*>* g = f(){() →* core::Iterable<core::num*>*};
+ core::Iterable<core::int*>* h = f(){() →* core::Iterable<core::num*>*} as{TypeError} core::Iterable<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.transformed.expect
index f79049f..7bdb16ae 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.transformed.expect
@@ -24,7 +24,7 @@
}
return new core::_SyncIterable::•<core::num*>(:sync_op_gen);
};
- core::Iterable<core::num*>* g = f.call();
- core::Iterable<core::int*>* h = f.call() as{TypeError} core::Iterable<core::int*>*;
+ core::Iterable<core::num*>* g = f(){() →* core::Iterable<core::num*>*};
+ core::Iterable<core::int*>* h = f(){() →* core::Iterable<core::num*>*} as{TypeError} core::Iterable<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.expect
index 632c733..246d431 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.expect
@@ -5,7 +5,7 @@
static method f() → dynamic {
core::List<core::int*>* o;
o.{core::Iterable::forEach}((core::int* i) → core::int* {
- return i.{core::num::+}(1);
- });
+ return i.{core::num::+}(1){(core::num*) →* core::int*};
+ }){((core::int*) →* void) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.transformed.expect
index 632c733..246d431 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
static method f() → dynamic {
core::List<core::int*>* o;
o.{core::Iterable::forEach}((core::int* i) → core::int* {
- return i.{core::num::+}(1);
- });
+ return i.{core::num::+}(1){(core::num*) →* core::int*};
+ }){((core::int*) →* void) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.weak.expect b/pkg/front_end/testcases/inference/bug30251.dart.weak.expect
index 8785f07..0622d1c 100644
--- a/pkg/front_end/testcases/inference/bug30251.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug30251.dart.weak.expect
@@ -5,7 +5,7 @@
class C extends core::Object {
final field dynamic x;
constructor •(core::int* p) → self::C*
- : self::C::x = self::f<core::int*>(1.{core::num::+}(p)), super core::Object::•()
+ : self::C::x = self::f<core::int*>(1.{core::num::+}(p){(core::num*) →* core::int*}), 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
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug30251.dart.weak.transformed.expect
index 8785f07..0622d1c 100644
--- a/pkg/front_end/testcases/inference/bug30251.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug30251.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
class C extends core::Object {
final field dynamic x;
constructor •(core::int* p) → self::C*
- : self::C::x = self::f<core::int*>(1.{core::num::+}(p)), super core::Object::•()
+ : self::C::x = self::f<core::int*>(1.{core::num::+}(p){(core::num*) →* core::int*}), 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
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.weak.expect b/pkg/front_end/testcases/inference/bug30620.dart.weak.expect
index 18f6328..e2320e0 100644
--- a/pkg/front_end/testcases/inference/bug30620.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug30620.dart.weak.expect
@@ -8,7 +8,7 @@
: self::A::foo = foo, super core::Object::•()
;
operator ==(core::Object* other) → core::bool*
- return other is self::A* && other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo});
+ return other is self::A* && other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::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
@@ -20,5 +20,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::A::•("hello").{self::A::==}(new self::A::•("hello")));
+ core::print(new self::A::•("hello") =={self::A::==}{(core::Object*) →* core::bool*} new self::A::•("hello"));
}
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug30620.dart.weak.transformed.expect
index 18f6328..e2320e0 100644
--- a/pkg/front_end/testcases/inference/bug30620.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug30620.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
: self::A::foo = foo, super core::Object::•()
;
operator ==(core::Object* other) → core::bool*
- return other is self::A* && other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo});
+ return other is self::A* && other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::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
@@ -20,5 +20,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::A::•("hello").{self::A::==}(new self::A::•("hello")));
+ core::print(new self::A::•("hello") =={self::A::==}{(core::Object*) →* core::bool*} new self::A::•("hello"));
}
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.weak.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.weak.expect
index 498d4b8..bc320a3 100644
--- a/pkg/front_end/testcases/inference/bug30620_b.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug30620_b.dart.weak.expect
@@ -8,7 +8,7 @@
: self::A::foo = foo, super core::Object::•()
;
operator ==(core::Object* other) → core::bool*
- return other is self::A* && other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo}) && other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo});
+ return other is self::A* && other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::String*} && other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::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
@@ -20,5 +20,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::A::•("hello").{self::A::==}(new self::A::•("hello")));
+ core::print(new self::A::•("hello") =={self::A::==}{(core::Object*) →* core::bool*} new self::A::•("hello"));
}
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.weak.transformed.expect
index 498d4b8..bc320a3 100644
--- a/pkg/front_end/testcases/inference/bug30620_b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug30620_b.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
: self::A::foo = foo, super core::Object::•()
;
operator ==(core::Object* other) → core::bool*
- return other is self::A* && other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo}) && other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo});
+ return other is self::A* && other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::String*} && other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::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
@@ -20,5 +20,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::A::•("hello").{self::A::==}(new self::A::•("hello")));
+ core::print(new self::A::•("hello") =={self::A::==}{(core::Object*) →* core::bool*} new self::A::•("hello"));
}
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.weak.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.weak.expect
index 1046cf2..5a1ff19 100644
--- a/pkg/front_end/testcases/inference/bug30620_c.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug30620_c.dart.weak.expect
@@ -8,8 +8,8 @@
: self::A::foo = foo, super core::Object::•()
;
operator ==(core::Object* other) → core::bool* {
- if(other is self::A* && other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo})) {
- if(other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo})) {
+ if(other is self::A* && other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::String*}) {
+ if(other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::String*}) {
}
}
return true;
@@ -25,5 +25,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::A::•("hello").{self::A::==}(new self::A::•("hello")));
+ core::print(new self::A::•("hello") =={self::A::==}{(core::Object*) →* core::bool*} new self::A::•("hello"));
}
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.weak.transformed.expect
index 1046cf2..5a1ff19 100644
--- a/pkg/front_end/testcases/inference/bug30620_c.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug30620_c.dart.weak.transformed.expect
@@ -8,8 +8,8 @@
: self::A::foo = foo, super core::Object::•()
;
operator ==(core::Object* other) → core::bool* {
- if(other is self::A* && other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo})) {
- if(other{self::A*}.{self::A::foo}.{core::String::==}(this.{self::A::foo})) {
+ if(other is self::A* && other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::String*}) {
+ if(other{self::A*}.{self::A::foo}{core::String*} =={core::String::==}{(core::Object*) →* core::bool*} this.{self::A::foo}{core::String*}) {
}
}
return true;
@@ -25,5 +25,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::A::•("hello").{self::A::==}(new self::A::•("hello")));
+ core::print(new self::A::•("hello") =={self::A::==}{(core::Object*) →* core::bool*} new self::A::•("hello"));
}
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart.weak.expect b/pkg/front_end/testcases/inference/bug30620_d.dart.weak.expect
index f8023a0..bfc06da 100644
--- a/pkg/front_end/testcases/inference/bug30620_d.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug30620_d.dart.weak.expect
@@ -3,5 +3,5 @@
import "dart:core" as core;
static method foo(dynamic obj) → core::String*
- return obj is core::String* ?{core::String*} obj{core::String*}.{core::String::toUpperCase}() : null;
+ return obj is core::String* ?{core::String*} obj{core::String*}.{core::String::toUpperCase}(){() →* core::String*} : null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug30620_d.dart.weak.transformed.expect
index f8023a0..bfc06da 100644
--- a/pkg/front_end/testcases/inference/bug30620_d.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug30620_d.dart.weak.transformed.expect
@@ -3,5 +3,5 @@
import "dart:core" as core;
static method foo(dynamic obj) → core::String*
- return obj is core::String* ?{core::String*} obj{core::String*}.{core::String::toUpperCase}() : null;
+ return obj is core::String* ?{core::String*} obj{core::String*}.{core::String::toUpperCase}(){() →* core::String*} : null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug30624.dart b/pkg/front_end/testcases/inference/bug30624.dart
index 123da0a..c074277 100644
--- a/pkg/front_end/testcases/inference/bug30624.dart
+++ b/pkg/front_end/testcases/inference/bug30624.dart
@@ -28,12 +28,12 @@
void barE([int cmp(E a, E b)]) {
/*@ typeArgs=C::E* */ foo(
- this, cmp /*@target=Object.==*/ == null ? _default : cmp);
+ this, cmp == null ? _default : cmp);
}
void barF([int cmp(E a, E b)]) {
/*@ typeArgs=C::E* */ foo(
- this, cmp /*@target=Object.==*/ != null ? cmp : _default);
+ this, cmp != null ? cmp : _default);
}
static int _default(a, b) {
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.weak.expect b/pkg/front_end/testcases/inference/bug30624.dart.weak.expect
index 11fea03..679fdf5 100644
--- a/pkg/front_end/testcases/inference/bug30624.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug30624.dart.weak.expect
@@ -7,26 +7,26 @@
: super core::Object::•()
;
method barA([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t1 = cmp in #t1.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t1);
+ self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t1 = cmp in #t1 == null ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t1);
}
method barB([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t2 = cmp in #t2.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} (#C2) as (self::C::E*, self::C::E*) →* core::int* : #t2);
+ self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t2 = cmp in #t2 == null ?{(self::C::E*, self::C::E*) →* core::int*} (#C2) as (self::C::E*, self::C::E*) →* core::int* : #t2);
}
method barC([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
(self::C::E*, self::C::E*) →* core::int* v = #C2;
- self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t3 = cmp in #t3.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} v : #t3);
+ self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t3 = cmp in #t3 == null ?{(self::C::E*, self::C::E*) →* core::int*} v : #t3);
}
method barD([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t4 = cmp in #t4.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t4);
+ self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t4 = cmp in #t4 == null ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t4);
}
method barE([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, cmp.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : cmp);
+ self::foo<self::C::E*>(this, cmp == null ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : cmp);
}
method barF([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, !cmp.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} cmp : #C2);
+ self::foo<self::C::E*>(this, !(cmp == null) ?{(self::C::E*, self::C::E*) →* core::int*} cmp : #C2);
}
static method _default(dynamic a, dynamic b) → core::int* {
- return 1.{core::int::unary-}();
+ return 1.{core::int::unary-}(){() →* 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
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug30624.dart.weak.transformed.expect
index e985e99..9449aa55 100644
--- a/pkg/front_end/testcases/inference/bug30624.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug30624.dart.weak.transformed.expect
@@ -7,26 +7,26 @@
: super core::Object::•()
;
method barA([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t1 = cmp in #t1.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t1);
+ self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t1 = cmp in #t1 == null ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t1);
}
method barB([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t2 = cmp in #t2.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t2);
+ self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t2 = cmp in #t2 == null ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t2);
}
method barC([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
(self::C::E*, self::C::E*) →* core::int* v = #C2;
- self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t3 = cmp in #t3.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} v : #t3);
+ self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t3 = cmp in #t3 == null ?{(self::C::E*, self::C::E*) →* core::int*} v : #t3);
}
method barD([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t4 = cmp in #t4.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t4);
+ self::foo<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t4 = cmp in #t4 == null ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t4);
}
method barE([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, cmp.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : cmp);
+ self::foo<self::C::E*>(this, cmp == null ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : cmp);
}
method barF([(self::C::E*, self::C::E*) →* core::int* cmp = #C1]) → void {
- self::foo<self::C::E*>(this, !cmp.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} cmp : #C2);
+ self::foo<self::C::E*>(this, !(cmp == null) ?{(self::C::E*, self::C::E*) →* core::int*} cmp : #C2);
}
static method _default(dynamic a, dynamic b) → core::int* {
- return 1.{core::int::unary-}();
+ return 1.{core::int::unary-}(){() →* 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
@@ -48,5 +48,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///bug30624.dart:40:35 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///bug30624.dart:40:35 -> IntConstant(-1)
Extra constant evaluation: evaluated: 47, effectively constant: 1
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.weak.expect b/pkg/front_end/testcases/inference/bug31132.dart.weak.expect
index 2aa019a..135614f 100644
--- a/pkg/front_end/testcases/inference/bug31132.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug31132.dart.weak.expect
@@ -25,6 +25,6 @@
}
static method test(self::B* x) → void {
self::C* y = x is self::C* ?{self::C*} x{self::C*} : new self::C::•();
- core::print(y.{self::C::z});
+ core::print(y.{self::C::z}{dynamic});
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug31132.dart.weak.transformed.expect
index 2aa019a..135614f 100644
--- a/pkg/front_end/testcases/inference/bug31132.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug31132.dart.weak.transformed.expect
@@ -25,6 +25,6 @@
}
static method test(self::B* x) → void {
self::C* y = x is self::C* ?{self::C*} x{self::C*} : new self::C::•();
- core::print(y.{self::C::z});
+ core::print(y.{self::C::z}{dynamic});
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.weak.expect b/pkg/front_end/testcases/inference/bug31133.dart.weak.expect
index 006ace8..46ea8a2 100644
--- a/pkg/front_end/testcases/inference/bug31133.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug31133.dart.weak.expect
@@ -4,13 +4,13 @@
static method test() → void {
core::int* i = 0;
- for (final core::int* #t1 = i = i.{core::num::+}(1); i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (final core::int* #t1 = i = i.{core::num::+}(1){(core::num*) →* core::int*}; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
- for (final core::int* #t2 = i = i.{core::num::+}(1); i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (final core::int* #t2 = i = i.{core::num::+}(1){(core::num*) →* core::int*}; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
- for (final core::int* #t3 = i = i.{core::num::-}(1); i.{core::num::>=}(0); i = i.{core::num::-}(1)) {
+ for (final core::int* #t3 = i = i.{core::num::-}(1){(core::num*) →* core::int*}; i.{core::num::>=}(0){(core::num*) →* core::bool*}; i = i.{core::num::-}(1){(core::num*) →* core::int*}) {
}
- for (final core::int* #t4 = i = i.{core::num::-}(1); i.{core::num::>=}(0); i = i.{core::num::-}(1)) {
+ for (final core::int* #t4 = i = i.{core::num::-}(1){(core::num*) →* core::int*}; i.{core::num::>=}(0){(core::num*) →* core::bool*}; i = i.{core::num::-}(1){(core::num*) →* core::int*}) {
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug31133.dart.weak.transformed.expect
index 006ace8..46ea8a2 100644
--- a/pkg/front_end/testcases/inference/bug31133.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug31133.dart.weak.transformed.expect
@@ -4,13 +4,13 @@
static method test() → void {
core::int* i = 0;
- for (final core::int* #t1 = i = i.{core::num::+}(1); i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (final core::int* #t1 = i = i.{core::num::+}(1){(core::num*) →* core::int*}; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
- for (final core::int* #t2 = i = i.{core::num::+}(1); i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (final core::int* #t2 = i = i.{core::num::+}(1){(core::num*) →* core::int*}; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
- for (final core::int* #t3 = i = i.{core::num::-}(1); i.{core::num::>=}(0); i = i.{core::num::-}(1)) {
+ for (final core::int* #t3 = i = i.{core::num::-}(1){(core::num*) →* core::int*}; i.{core::num::>=}(0){(core::num*) →* core::bool*}; i = i.{core::num::-}(1){(core::num*) →* core::int*}) {
}
- for (final core::int* #t4 = i = i.{core::num::-}(1); i.{core::num::>=}(0); i = i.{core::num::-}(1)) {
+ for (final core::int* #t4 = i = i.{core::num::-}(1){(core::num*) →* core::int*}; i.{core::num::>=}(0){(core::num*) →* core::bool*}; i = i.{core::num::-}(1){(core::num*) →* core::int*}) {
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug31436.dart.weak.expect b/pkg/front_end/testcases/inference/bug31436.dart.weak.expect
index e1194d4..adc6d4a 100644
--- a/pkg/front_end/testcases/inference/bug31436.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug31436.dart.weak.expect
@@ -9,7 +9,7 @@
};
assert(g is () →* core::List<core::Object*>*);
assert(!(g is () →* core::List<core::int*>*));
- g.call().{core::List::add}("hello");
+ g(){() →* core::List<core::Object*>*}.{core::List::add}("hello"){(core::Object*) →* void};
core::List<core::int*>* l = <core::int*>[3];
g = () → core::List<core::int*>* {
return l;
@@ -17,7 +17,7 @@
assert(g is () →* core::List<core::Object*>*);
assert(g is () →* core::List<core::int*>*);
try {
- g.call().{core::List::add}("hello");
+ g(){() →* core::List<core::Object*>*}.{core::List::add}("hello"){(core::Object*) →* void};
throw "expected a runtime error";
}
on core::TypeError* catch(no-exception-var) {
@@ -29,10 +29,10 @@
assert(g is () →* core::List<core::Object*>*);
assert(!(g is () →* core::List<core::int*>*));
assert(!(g is () →* core::Object*));
- g.call();
+ g(){() →* core::List<core::Object*>*};
o = 3;
try {
- g.call();
+ g(){() →* core::List<core::Object*>*};
throw "expected a runtime error";
}
on core::TypeError* catch(no-exception-var) {
@@ -43,13 +43,13 @@
g = () → core::List<core::Object*>* => <core::Object*>[3];
assert(g is () →* core::List<core::Object*>*);
assert(!(g is () →* core::List<core::int*>*));
- g.call().{core::List::add}("hello");
+ g(){() →* core::List<core::Object*>*}.{core::List::add}("hello"){(core::Object*) →* void};
core::List<core::int*>* l = <core::int*>[3];
g = () → core::List<core::int*>* => l;
assert(g is () →* core::List<core::Object*>*);
assert(g is () →* core::List<core::int*>*);
try {
- g.call().{core::List::add}("hello");
+ g(){() →* core::List<core::Object*>*}.{core::List::add}("hello"){(core::Object*) →* void};
throw "expected a runtime error";
}
on core::TypeError* catch(no-exception-var) {
@@ -59,10 +59,10 @@
assert(g is () →* core::List<core::Object*>*);
assert(!(g is () →* core::List<core::int*>*));
assert(!(g is () →* core::Object*));
- g.call();
+ g(){() →* core::List<core::Object*>*};
o = 3;
try {
- g.call();
+ g(){() →* core::List<core::Object*>*};
throw "expected a runtime error";
}
on core::TypeError* catch(no-exception-var) {
diff --git a/pkg/front_end/testcases/inference/bug31436.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug31436.dart.weak.transformed.expect
index 055a113..1fb28d3 100644
--- a/pkg/front_end/testcases/inference/bug31436.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug31436.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
};
assert(g is () →* core::List<core::Object*>*);
assert(!(g is () →* core::List<core::int*>*));
- g.call().{core::List::add}("hello");
+ g(){() →* core::List<core::Object*>*}.{core::List::add}("hello"){(core::Object*) →* void};
core::List<core::int*>* l = core::_GrowableList::_literal1<core::int*>(3);
g = () → core::List<core::int*>* {
return l;
@@ -17,7 +17,7 @@
assert(g is () →* core::List<core::Object*>*);
assert(g is () →* core::List<core::int*>*);
try {
- g.call().{core::List::add}("hello");
+ g(){() →* core::List<core::Object*>*}.{core::List::add}("hello"){(core::Object*) →* void};
throw "expected a runtime error";
}
on core::TypeError* catch(no-exception-var) {
@@ -29,10 +29,10 @@
assert(g is () →* core::List<core::Object*>*);
assert(!(g is () →* core::List<core::int*>*));
assert(!(g is () →* core::Object*));
- g.call();
+ g(){() →* core::List<core::Object*>*};
o = 3;
try {
- g.call();
+ g(){() →* core::List<core::Object*>*};
throw "expected a runtime error";
}
on core::TypeError* catch(no-exception-var) {
@@ -43,13 +43,13 @@
g = () → core::List<core::Object*>* => core::_GrowableList::_literal1<core::Object*>(3);
assert(g is () →* core::List<core::Object*>*);
assert(!(g is () →* core::List<core::int*>*));
- g.call().{core::List::add}("hello");
+ g(){() →* core::List<core::Object*>*}.{core::List::add}("hello"){(core::Object*) →* void};
core::List<core::int*>* l = core::_GrowableList::_literal1<core::int*>(3);
g = () → core::List<core::int*>* => l;
assert(g is () →* core::List<core::Object*>*);
assert(g is () →* core::List<core::int*>*);
try {
- g.call().{core::List::add}("hello");
+ g(){() →* core::List<core::Object*>*}.{core::List::add}("hello"){(core::Object*) →* void};
throw "expected a runtime error";
}
on core::TypeError* catch(no-exception-var) {
@@ -59,10 +59,10 @@
assert(g is () →* core::List<core::Object*>*);
assert(!(g is () →* core::List<core::int*>*));
assert(!(g is () →* core::Object*));
- g.call();
+ g(){() →* core::List<core::Object*>*};
o = 3;
try {
- g.call();
+ g(){() →* core::List<core::Object*>*};
throw "expected a runtime error";
}
on core::TypeError* catch(no-exception-var) {
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.weak.expect b/pkg/front_end/testcases/inference/bug32291.dart.weak.expect
index b8775a7..b473c4f 100644
--- a/pkg/front_end/testcases/inference/bug32291.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug32291.dart.weak.expect
@@ -4,7 +4,7 @@
static method main() → void {
core::List<core::List<core::String*>*>* l = <core::List<core::String*>*>[<core::String*>["hi", "world"]];
- core::Iterable<core::List<core::String*>*>* i1 = l.{core::Iterable::map}<core::List<core::String*>*>((core::List<core::String*>* ll) → core::List<core::String*>* => let final core::List<core::String*>* #t1 = ll in #t1.{core::List::==}(null) ?{core::List<core::String*>*} <core::String*>[] : #t1);
- core::Iterable<core::int*>* i2 = i1.{core::Iterable::map}<core::int*>((core::List<core::String*>* l) → core::int* => l.{core::List::length});
+ core::Iterable<core::List<core::String*>*>* i1 = l.{core::Iterable::map}<core::List<core::String*>*>((core::List<core::String*>* ll) → core::List<core::String*>* => let final core::List<core::String*>* #t1 = ll in #t1 == null ?{core::List<core::String*>*} <core::String*>[] : #t1){((core::List<core::String*>*) →* core::List<core::String*>*) →* core::Iterable<core::List<core::String*>*>*};
+ core::Iterable<core::int*>* i2 = i1.{core::Iterable::map}<core::int*>((core::List<core::String*>* l) → core::int* => l.{core::List::length}{core::int*}){((core::List<core::String*>*) →* core::int*) →* core::Iterable<core::int*>*};
core::print(i2);
}
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug32291.dart.weak.transformed.expect
index 1af625e..6d8c4fe 100644
--- a/pkg/front_end/testcases/inference/bug32291.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug32291.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
static method main() → void {
core::List<core::List<core::String*>*>* l = core::_GrowableList::_literal1<core::List<core::String*>*>(core::_GrowableList::_literal2<core::String*>("hi", "world"));
- core::Iterable<core::List<core::String*>*>* i1 = l.{core::Iterable::map}<core::List<core::String*>*>((core::List<core::String*>* ll) → core::List<core::String*>* => let final core::List<core::String*>* #t1 = ll in #t1.{core::List::==}(null) ?{core::List<core::String*>*} core::_GrowableList::•<core::String*>(0) : #t1);
- core::Iterable<core::int*>* i2 = i1.{core::Iterable::map}<core::int*>((core::List<core::String*>* l) → core::int* => l.{core::List::length});
+ core::Iterable<core::List<core::String*>*>* i1 = l.{core::Iterable::map}<core::List<core::String*>*>((core::List<core::String*>* ll) → core::List<core::String*>* => let final core::List<core::String*>* #t1 = ll in #t1 == null ?{core::List<core::String*>*} core::_GrowableList::•<core::String*>(0) : #t1){((core::List<core::String*>*) →* core::List<core::String*>*) →* core::Iterable<core::List<core::String*>*>*};
+ core::Iterable<core::int*>* i2 = i1.{core::Iterable::map}<core::int*>((core::List<core::String*>* l) → core::int* => l.{core::List::length}{core::int*}){((core::List<core::String*>*) →* core::int*) →* core::Iterable<core::int*>*};
core::print(i2);
}
diff --git a/pkg/front_end/testcases/inference/bug33324.dart.weak.expect b/pkg/front_end/testcases/inference/bug33324.dart.weak.expect
index 74b0bb6..318df8a 100644
--- a/pkg/front_end/testcases/inference/bug33324.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/bug33324.dart.weak.expect
@@ -4,8 +4,8 @@
static method foo() → core::int* {
core::Function* f = (dynamic x) → dynamic => x;
- core::List<dynamic>* l = <core::String*>["bar"].{core::Iterable::map}<dynamic>(f as{TypeError} (core::String*) →* dynamic).{core::Iterable::toList}();
- l.{core::List::add}(42);
- return l.{core::Iterable::first}.length as{TypeError,ForDynamic} core::int*;
+ core::List<dynamic>* l = <core::String*>["bar"].{core::Iterable::map}<dynamic>(f as{TypeError} (core::String*) →* dynamic){((core::String*) →* dynamic) →* core::Iterable<dynamic>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<dynamic>*};
+ l.{core::List::add}(42){(dynamic) →* void};
+ return l.{core::Iterable::first}{dynamic}{dynamic}.length as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/bug33324.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/bug33324.dart.weak.transformed.expect
index f5164b7..7e3530b 100644
--- a/pkg/front_end/testcases/inference/bug33324.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/bug33324.dart.weak.transformed.expect
@@ -4,8 +4,8 @@
static method foo() → core::int* {
core::Function* f = (dynamic x) → dynamic => x;
- core::List<dynamic>* l = core::_GrowableList::_literal1<core::String*>("bar").{core::Iterable::map}<dynamic>(f as{TypeError} (core::String*) →* dynamic).{core::Iterable::toList}();
- l.{core::List::add}(42);
- return l.{core::Iterable::first}.length as{TypeError,ForDynamic} core::int*;
+ core::List<dynamic>* l = core::_GrowableList::_literal1<core::String*>("bar").{core::Iterable::map}<dynamic>(f as{TypeError} (core::String*) →* dynamic){((core::String*) →* dynamic) →* core::Iterable<dynamic>*}.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<dynamic>*};
+ l.{core::List::add}(42){(dynamic) →* void};
+ return l.{core::Iterable::first}{dynamic}{dynamic}.length as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.expect
index c9fa5d1..bc9a2a22 100644
--- a/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.expect
@@ -58,10 +58,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → dynamic {
- core::int* callA = new self::A::•().{self::A::call}();
- core::int* callFieldA = new self::D::•().{self::D::fieldA}.{self::A::call}();
- core::int* callGetA = new self::D::•().{self::D::getA}.{self::A::call}();
- core::int* callFieldB = new self::D::•().{self::D::fieldB}.{self::B::call}.{self::A::call}();
- core::int* callGetB = new self::D::•().{self::D::getB}.{self::B::call}.{self::A::call}();
+ core::int* callA = new self::A::•().{self::A::call}(){() →* core::int*};
+ core::int* callFieldA = new self::D::•().{self::D::fieldA}{self::A*}.{self::A::call}(){() →* core::int*};
+ core::int* callGetA = new self::D::•().{self::D::getA}{self::A*}.{self::A::call}(){() →* core::int*};
+ core::int* callFieldB = new self::D::•().{self::D::fieldB}{self::B*}.{self::B::call}{self::A*}.{self::A::call}(){() →* core::int*};
+ core::int* callGetB = new self::D::•().{self::D::getB}{self::B*}.{self::B::call}{self::A*}.{self::A::call}(){() →* core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.transformed.expect
index c9fa5d1..bc9a2a22 100644
--- a/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.transformed.expect
@@ -58,10 +58,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → dynamic {
- core::int* callA = new self::A::•().{self::A::call}();
- core::int* callFieldA = new self::D::•().{self::D::fieldA}.{self::A::call}();
- core::int* callGetA = new self::D::•().{self::D::getA}.{self::A::call}();
- core::int* callFieldB = new self::D::•().{self::D::fieldB}.{self::B::call}.{self::A::call}();
- core::int* callGetB = new self::D::•().{self::D::getB}.{self::B::call}.{self::A::call}();
+ core::int* callA = new self::A::•().{self::A::call}(){() →* core::int*};
+ core::int* callFieldA = new self::D::•().{self::D::fieldA}{self::A*}.{self::A::call}(){() →* core::int*};
+ core::int* callGetA = new self::D::•().{self::D::getA}{self::A*}.{self::A::call}(){() →* core::int*};
+ core::int* callFieldB = new self::D::•().{self::D::fieldB}{self::B*}.{self::B::call}{self::A*}.{self::A::call}(){() →* core::int*};
+ core::int* callGetB = new self::D::•().{self::D::getB}{self::B*}.{self::B::call}{self::A*}.{self::A::call}(){() →* core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.expect
index e8c4310..4b28fa6 100644
--- a/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.expect
@@ -51,9 +51,9 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void {
- let final self::FooActions* #t1 = new self::FooActions::•() in let final self::Bar* #t2 = new self::Bar::•() in #t1.{self::FooActions::foo}.{self::ActionDispatcher::call}(#t2);
- new self::FooActions::•().{self::FooActions::foo}.{self::ActionDispatcher::call}(new self::Bar::•());
- new self::FooActions::•().{self::FooActions::foo}.{self::ActionDispatcher::call}(new self::Bar::•());
+ let final self::FooActions* #t1 = new self::FooActions::•() in let final self::Bar* #t2 = new self::Bar::•() in #t1.{self::FooActions::foo}{self::ActionDispatcher<self::Bar*>*}.{self::ActionDispatcher::call}(#t2){([self::Bar*]) →* void};
+ new self::FooActions::•().{self::FooActions::foo}{self::ActionDispatcher<self::Bar*>*}.{self::ActionDispatcher::call}(new self::Bar::•()){([self::Bar*]) →* void};
+ new self::FooActions::•().{self::FooActions::foo}{self::ActionDispatcher<self::Bar*>*}.{self::ActionDispatcher::call}(new self::Bar::•()){([self::Bar*]) →* void};
}
constants {
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.transformed.expect
index e8c4310..4b28fa6 100644
--- a/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.transformed.expect
@@ -51,9 +51,9 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void {
- let final self::FooActions* #t1 = new self::FooActions::•() in let final self::Bar* #t2 = new self::Bar::•() in #t1.{self::FooActions::foo}.{self::ActionDispatcher::call}(#t2);
- new self::FooActions::•().{self::FooActions::foo}.{self::ActionDispatcher::call}(new self::Bar::•());
- new self::FooActions::•().{self::FooActions::foo}.{self::ActionDispatcher::call}(new self::Bar::•());
+ let final self::FooActions* #t1 = new self::FooActions::•() in let final self::Bar* #t2 = new self::Bar::•() in #t1.{self::FooActions::foo}{self::ActionDispatcher<self::Bar*>*}.{self::ActionDispatcher::call}(#t2){([self::Bar*]) →* void};
+ new self::FooActions::•().{self::FooActions::foo}{self::ActionDispatcher<self::Bar*>*}.{self::ActionDispatcher::call}(new self::Bar::•()){([self::Bar*]) →* void};
+ new self::FooActions::•().{self::FooActions::foo}{self::ActionDispatcher<self::Bar*>*}.{self::ActionDispatcher::call}(new self::Bar::•()){([self::Bar*]) →* void};
}
constants {
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.expect b/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.expect
index 7008291..a27510a 100644
--- a/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.expect
@@ -4,5 +4,5 @@
static method main() → dynamic {
core::List<core::int*>* foo = <core::int*>[1, 2, 3];
- core::print(let final core::List<core::int*>* #t1 = foo in let final core::int* #t2 = 0 in let final core::int* #t3 = #t1.{core::List::[]}(#t2).{core::num::-}(1) in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3) in #t3);
+ core::print(let final core::List<core::int*>* #t1 = foo in let final core::int* #t2 = 0 in let final core::int* #t3 = #t1.{core::List::[]}(#t2){(core::int*) →* core::int*}.{core::num::-}(1){(core::num*) →* core::int*} in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3){(core::int*, core::int*) →* void} in #t3);
}
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.transformed.expect
index 58d23b5..a3e1f12 100644
--- a/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
static method main() → dynamic {
core::List<core::int*>* foo = core::_GrowableList::_literal3<core::int*>(1, 2, 3);
- core::print(let final core::List<core::int*>* #t1 = foo in let final core::int* #t2 = 0 in let final core::int* #t3 = #t1.{core::List::[]}(#t2).{core::num::-}(1) in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3) in #t3);
+ core::print(let final core::List<core::int*>* #t1 = foo in let final core::int* #t2 = 0 in let final core::int* #t3 = #t1.{core::List::[]}(#t2){(core::int*) →* core::int*}.{core::num::-}(1){(core::num*) →* core::int*} in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3){(core::int*, core::int*) →* void} in #t3);
}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.expect
index 1a362f1..048cb94 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.expect
@@ -8,7 +8,7 @@
: self::C::t = t, super core::Object::•()
;
constructor named(core::List<self::C::T*>* t) → self::C<self::C::T*>*
- : this self::C::•(t.{core::List::[]}(0))
+ : this self::C::•(t.{core::List::[]}(0){(core::int*) →* self::C::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
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.transformed.expect
index fa86723..832cd3f 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.transformed.expect
@@ -8,7 +8,7 @@
: self::C::t = t, super core::Object::•()
;
constructor named(core::List<self::C::T*>* t) → self::C<self::C::T*>*
- : this self::C::•(t.{core::List::[]}(0))
+ : this self::C::•(t.{core::List::[]}(0){(core::int*) →* self::C::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
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.expect
index 556e0d0..4793404 100644
--- a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.expect
@@ -48,7 +48,7 @@
: self::Pair::u = null, self::Pair::t = null, super core::Object::•()
;
get reversed() → self::Pair<self::Pair::U*, self::Pair::T*>*
- return new self::Pair::•<self::Pair::U*, self::Pair::T*>(this.{self::Pair::u}, this.{self::Pair::t});
+ return new self::Pair::•<self::Pair::U*, self::Pair::T*>(this.{self::Pair::u}{self::Pair::U*}, this.{self::Pair::t}{self::Pair::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
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.transformed.expect
index 556e0d0..4793404 100644
--- a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.transformed.expect
@@ -48,7 +48,7 @@
: self::Pair::u = null, self::Pair::t = null, super core::Object::•()
;
get reversed() → self::Pair<self::Pair::U*, self::Pair::T*>*
- return new self::Pair::•<self::Pair::U*, self::Pair::T*>(this.{self::Pair::u}, this.{self::Pair::t});
+ return new self::Pair::•<self::Pair::U*, self::Pair::T*>(this.{self::Pair::u}{self::Pair::U*}, this.{self::Pair::t}{self::Pair::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
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.expect
index e71956d..2fddef8 100644
--- a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.expect
@@ -9,7 +9,7 @@
: self::Pair::t = t, self::Pair::u = u, super core::Object::•()
;
get reversed() → self::Pair<self::Pair::U*, self::Pair::T*>*
- return new self::Pair::•<self::Pair::U*, self::Pair::T*>(this.{self::Pair::u}, this.{self::Pair::t});
+ return new self::Pair::•<self::Pair::U*, self::Pair::T*>(this.{self::Pair::u}{self::Pair::U*}, this.{self::Pair::t}{self::Pair::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
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.transformed.expect
index e71956d..2fddef8 100644
--- a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
: self::Pair::t = t, self::Pair::u = u, super core::Object::•()
;
get reversed() → self::Pair<self::Pair::U*, self::Pair::T*>*
- return new self::Pair::•<self::Pair::U*, self::Pair::T*>(this.{self::Pair::u}, this.{self::Pair::t});
+ return new self::Pair::•<self::Pair::U*, self::Pair::T*>(this.{self::Pair::u}{self::Pair::U*}, this.{self::Pair::t}{self::Pair::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
diff --git a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.weak.expect b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.weak.expect
index 76c7bbb..51015b3 100644
--- a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.weak.expect
@@ -47,8 +47,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::String* y = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::String*;
- core::int* z = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::int*;
+ core::String* y = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {
self::foo();
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.expect
index 41089c5..012a172 100644
--- a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.expect
@@ -25,7 +25,7 @@
core::int* y = 3;
function f(core::List<core::Map<core::int*, core::String*>*>* l) → void {}
;
- f.call(<core::Map<core::int*, core::String*>*>[<core::int*, core::String*>{y: x}]);
+ f(<core::Map<core::int*, core::String*>*>[<core::int*, core::String*>{y: x}]){(core::List<core::Map<core::int*, core::String*>*>*) →* void};
}
{
function f(core::int* x) → core::int*
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.transformed.expect
index 9a82bf3..541ab60 100644
--- a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.transformed.expect
@@ -25,7 +25,7 @@
core::int* y = 3;
function f(core::List<core::Map<core::int*, core::String*>*>* l) → void {}
;
- f.call(core::_GrowableList::_literal1<core::Map<core::int*, core::String*>*>(<core::int*, core::String*>{y: x}));
+ f(core::_GrowableList::_literal1<core::Map<core::int*, core::String*>*>(<core::int*, core::String*>{y: x})){(core::List<core::Map<core::int*, core::String*>*>*) →* void};
}
{
function f(core::int* x) → core::int*
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.expect
index 21d93c9..c56e8ad 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.expect
@@ -18,7 +18,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → void {
- for (@#C1 core::int* i = 0; i.{core::num::<}(1); i = i.{core::num::+}(1)) {
+ for (@#C1 core::int* i = 0; i.{core::num::<}(1){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
for (@#C1 core::int* i in <core::int*>[0]) {
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.transformed.expect
index c63b4f8..3ae57113 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.transformed.expect
@@ -18,7 +18,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → void {
- for (@#C1 core::int* i = 0; i.{core::num::<}(1); i = i.{core::num::+}(1)) {
+ for (@#C1 core::int* i = 0; i.{core::num::<}(1){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
{
core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(0).{core::Iterable::iterator};
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.expect
index 27841f3..750de9c 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.expect
@@ -103,7 +103,7 @@
}
{
(core::int*) →* core::int* l0 = (core::int* x) → core::int* => x;
- (core::int*) →* core::int* l1 = (core::int* x) → core::int* => x.{core::num::+}(1);
+ (core::int*) →* core::int* l1 = (core::int* x) → core::int* => x.{core::num::+}(1){(core::num*) →* core::int*};
(core::int*) →* core::String* l2 = (core::int* x) → core::String* => let final Never* #t10 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:60:13: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
x;
^" in x as{TypeError} core::String*;
@@ -111,7 +111,7 @@
Try correcting the name to the name of an existing method, or defining a method named 'substring'.
.substring(3);
^^^^^^^^^" as{TypeError,ForDynamic} core::String*;
- (core::String*) →* core::String* l4 = (core::String* x) → core::String* => x.{core::String::substring}(3);
+ (core::String*) →* core::String* l4 = (core::String* x) → core::String* => x.{core::String::substring}(3){(core::int*, [core::int*]) →* core::String*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.transformed.expect
index b615c04..6529a86 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.transformed.expect
@@ -103,7 +103,7 @@
}
{
(core::int*) →* core::int* l0 = (core::int* x) → core::int* => x;
- (core::int*) →* core::int* l1 = (core::int* x) → core::int* => x.{core::num::+}(1);
+ (core::int*) →* core::int* l1 = (core::int* x) → core::int* => x.{core::num::+}(1){(core::num*) →* core::int*};
(core::int*) →* core::String* l2 = (core::int* x) → core::String* => let final Never* #t10 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:60:13: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
x;
^" in x as{TypeError} core::String*;
@@ -111,7 +111,7 @@
Try correcting the name to the name of an existing method, or defining a method named 'substring'.
.substring(3);
^^^^^^^^^";
- (core::String*) →* core::String* l4 = (core::String* x) → core::String* => x.{core::String::substring}(3);
+ (core::String*) →* core::String* l4 = (core::String* x) → core::String* => x.{core::String::substring}(3){(core::int*, [core::int*]) →* core::String*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.expect
index 3231434..a686107 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.expect
@@ -14,10 +14,10 @@
return null;
<T extends core::Object* = dynamic>(T*) →* core::List<T*>* v2 = f;
v2 = <S extends core::Object* = dynamic>(S* x) → core::List<S*>* => <S*>[x];
- core::Iterable<core::int*>* r = v2.call<core::int*>(42);
- core::Iterable<core::String*>* s = v2.call<core::String*>("hello");
- core::Iterable<core::List<core::int*>*>* t = v2.call<core::List<core::int*>*>(<core::int*>[]);
- core::Iterable<core::num*>* u = v2.call<core::num*>(42);
- core::Iterable<core::num*>* v = v2.call<core::num*>(42);
+ core::Iterable<core::int*>* r = v2<core::int*>(42){(core::int*) →* core::List<core::int*>*};
+ core::Iterable<core::String*>* s = v2<core::String*>("hello"){(core::String*) →* core::List<core::String*>*};
+ core::Iterable<core::List<core::int*>*>* t = v2<core::List<core::int*>*>(<core::int*>[]){(core::List<core::int*>*) →* core::List<core::List<core::int*>*>*};
+ core::Iterable<core::num*>* u = v2<core::num*>(42){(core::num*) →* core::List<core::num*>*};
+ core::Iterable<core::num*>* v = v2<core::num*>(42){(core::num*) →* core::List<core::num*>*};
}
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.transformed.expect
index b50f945..6660189 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.transformed.expect
@@ -14,10 +14,10 @@
return null;
<T extends core::Object* = dynamic>(T*) →* core::List<T*>* v2 = f;
v2 = <S extends core::Object* = dynamic>(S* x) → core::List<S*>* => core::_GrowableList::_literal1<S*>(x);
- core::Iterable<core::int*>* r = v2.call<core::int*>(42);
- core::Iterable<core::String*>* s = v2.call<core::String*>("hello");
- core::Iterable<core::List<core::int*>*>* t = v2.call<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0));
- core::Iterable<core::num*>* u = v2.call<core::num*>(42);
- core::Iterable<core::num*>* v = v2.call<core::num*>(42);
+ core::Iterable<core::int*>* r = v2<core::int*>(42){(core::int*) →* core::List<core::int*>*};
+ core::Iterable<core::String*>* s = v2<core::String*>("hello"){(core::String*) →* core::List<core::String*>*};
+ core::Iterable<core::List<core::int*>*>* t = v2<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::List<core::List<core::int*>*>*};
+ core::Iterable<core::num*>* u = v2<core::num*>(42){(core::num*) →* core::List<core::num*>*};
+ core::Iterable<core::num*>* v = v2<core::num*>(42){(core::num*) →* core::List<core::num*>*};
}
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.expect
index a2629f9..efa8da0 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.expect
@@ -118,7 +118,7 @@
return null;
<S extends core::Object* = dynamic>(core::int*) →* core::int* x = int2int;
x = <T extends core::Object* = dynamic>(core::int* x) → core::int* => x;
- x = <T extends core::Object* = dynamic>(core::int* x) → core::int* => x.{core::num::+}(1);
+ x = <T extends core::Object* = dynamic>(core::int* x) → core::int* => x.{core::num::+}(1){(core::num*) →* core::int*};
<T extends core::Object* = dynamic>(core::int*) →* core::String* y = int2String;
y = <T extends core::Object* = dynamic>(core::int* x) → core::String* => let final Never* #t10 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart:64:9: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
x;
@@ -128,7 +128,7 @@
.substring(3);
^^^^^^^^^" as{TypeError,ForDynamic} core::String*;
<T extends core::Object* = dynamic>(core::String*) →* core::String* z = string2String;
- z = <T extends core::Object* = dynamic>(core::String* x) → core::String* => x.{core::String::substring}(3);
+ z = <T extends core::Object* = dynamic>(core::String* x) → core::String* => x.{core::String::substring}(3){(core::int*, [core::int*]) →* core::String*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.transformed.expect
index f068ae5..a4b85cb 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.transformed.expect
@@ -118,7 +118,7 @@
return null;
<S extends core::Object* = dynamic>(core::int*) →* core::int* x = int2int;
x = <T extends core::Object* = dynamic>(core::int* x) → core::int* => x;
- x = <T extends core::Object* = dynamic>(core::int* x) → core::int* => x.{core::num::+}(1);
+ x = <T extends core::Object* = dynamic>(core::int* x) → core::int* => x.{core::num::+}(1){(core::num*) →* core::int*};
<T extends core::Object* = dynamic>(core::int*) →* core::String* y = int2String;
y = <T extends core::Object* = dynamic>(core::int* x) → core::String* => let final Never* #t10 = invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart:64:9: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
x;
@@ -128,7 +128,7 @@
.substring(3);
^^^^^^^^^";
<T extends core::Object* = dynamic>(core::String*) →* core::String* z = string2String;
- z = <T extends core::Object* = dynamic>(core::String* x) → core::String* => x.{core::String::substring}(3);
+ z = <T extends core::Object* = dynamic>(core::String* x) → core::String* => x.{core::String::substring}(3){(core::int*, [core::int*]) →* core::String*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.expect
index e16a1a8..c0dae24 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.expect
@@ -29,11 +29,11 @@
return null;
abstract get assertDOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void;
method method((core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertEOf) → dynamic {
- let final core::List<(self::DartType*) →* void>* #t1 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::C::assertAOf}.call(#t1);
- self::C::assertBOf.call(<(self::DartType*) →* void>[self::_isInt, self::_isString]);
- self::C::assertCOf.call(<(self::DartType*) →* void>[self::_isInt, self::_isString]);
- let final core::List<(self::DartType*) →* void>* #t2 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::C::assertDOf}.call(#t2);
- assertEOf.call(<(self::DartType*) →* void>[self::_isInt, self::_isString]);
+ let final core::List<(self::DartType*) →* void>* #t1 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::C::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t1){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::C::assertBOf(<(self::DartType*) →* void>[self::_isInt, self::_isString]){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::C::assertCOf(<(self::DartType*) →* void>[self::_isInt, self::_isString]){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final core::List<(self::DartType*) →* void>* #t2 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::C::assertDOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t2){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ assertEOf(<(self::DartType*) →* void>[self::_isInt, self::_isString]){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* 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
@@ -53,10 +53,10 @@
;
abstract get assertDOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void;
method method((core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertEOf) → dynamic {
- let final core::List<(self::DartType*) →* void>* #t3 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::G::assertAOf}.call(#t3);
- let final core::List<(self::DartType*) →* void>* #t4 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::G::assertAOf}.call(#t4);
- let final core::List<(self::DartType*) →* void>* #t5 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::G::assertDOf}.call(#t5);
- assertEOf.call(<(self::DartType*) →* void>[self::_isInt, self::_isString]);
+ let final core::List<(self::DartType*) →* void>* #t3 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::G::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t3){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final core::List<(self::DartType*) →* void>* #t4 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::G::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t4){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final core::List<(self::DartType*) →* void>* #t5 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in this.{self::G::assertDOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t5){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ assertEOf(<(self::DartType*) →* void>[self::_isInt, self::_isString]){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* 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
@@ -76,16 +76,16 @@
return null;
static method test() → dynamic {
(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertAOf;
- assertAOf.call(<(self::DartType*) →* void>[self::_isInt, self::_isString]);
- self::assertBOf.call(<(self::DartType*) →* void>[self::_isInt, self::_isString]);
- self::assertCOf.call(<(self::DartType*) →* void>[self::_isInt, self::_isString]);
- self::C::assertBOf.call(<(self::DartType*) →* void>[self::_isInt, self::_isString]);
- self::C::assertCOf.call(<(self::DartType*) →* void>[self::_isInt, self::_isString]);
+ assertAOf(<(self::DartType*) →* void>[self::_isInt, self::_isString]){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::assertBOf(<(self::DartType*) →* void>[self::_isInt, self::_isString]){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::assertCOf(<(self::DartType*) →* void>[self::_isInt, self::_isString]){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::C::assertBOf(<(self::DartType*) →* void>[self::_isInt, self::_isString]){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::C::assertCOf(<(self::DartType*) →* void>[self::_isInt, self::_isString]){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
self::C* c;
- let final self::C* #t6 = c in let final core::List<(self::DartType*) →* void>* #t7 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in #t6.{self::C::assertAOf}.call(#t7);
- let final self::C* #t8 = c in let final core::List<(self::DartType*) →* void>* #t9 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in #t8.{self::C::assertDOf}.call(#t9);
+ let final self::C* #t6 = c in let final core::List<(self::DartType*) →* void>* #t7 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in #t6.{self::C::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t7){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final self::C* #t8 = c in let final core::List<(self::DartType*) →* void>* #t9 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in #t8.{self::C::assertDOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t9){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
self::G<core::int*>* g;
- let final self::G<core::int*>* #t10 = g in let final core::List<(self::DartType*) →* void>* #t11 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in #t10.{self::G::assertAOf}.call(#t11);
- let final self::G<core::int*>* #t12 = g in let final core::List<(self::DartType*) →* void>* #t13 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in #t12.{self::G::assertDOf}.call(#t13);
+ let final self::G<core::int*>* #t10 = g in let final core::List<(self::DartType*) →* void>* #t11 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in #t10.{self::G::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t11){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final self::G<core::int*>* #t12 = g in let final core::List<(self::DartType*) →* void>* #t13 = <(self::DartType*) →* void>[self::_isInt, self::_isString] in #t12.{self::G::assertDOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t13){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.transformed.expect
index 660139a..26ec6f6 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.transformed.expect
@@ -29,11 +29,11 @@
return null;
abstract get assertDOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void;
method method((core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertEOf) → dynamic {
- let final core::List<(self::DartType*) →* void>* #t1 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::C::assertAOf}.call(#t1);
- self::C::assertBOf.call(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString));
- self::C::assertCOf.call(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString));
- let final core::List<(self::DartType*) →* void>* #t2 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::C::assertDOf}.call(#t2);
- assertEOf.call(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString));
+ let final core::List<(self::DartType*) →* void>* #t1 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::C::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t1){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::C::assertBOf(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString)){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::C::assertCOf(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString)){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final core::List<(self::DartType*) →* void>* #t2 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::C::assertDOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t2){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ assertEOf(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString)){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* 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
@@ -53,10 +53,10 @@
;
abstract get assertDOf() → (core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void;
method method((core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertEOf) → dynamic {
- let final core::List<(self::DartType*) →* void>* #t3 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::G::assertAOf}.call(#t3);
- let final core::List<(self::DartType*) →* void>* #t4 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::G::assertAOf}.call(#t4);
- let final core::List<(self::DartType*) →* void>* #t5 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::G::assertDOf}.call(#t5);
- assertEOf.call(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString));
+ let final core::List<(self::DartType*) →* void>* #t3 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::G::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t3){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final core::List<(self::DartType*) →* void>* #t4 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::G::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t4){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final core::List<(self::DartType*) →* void>* #t5 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in this.{self::G::assertDOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t5){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ assertEOf(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString)){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* 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
@@ -76,16 +76,16 @@
return null;
static method test() → dynamic {
(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void assertAOf;
- assertAOf.call(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString));
- self::assertBOf.call(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString));
- self::assertCOf.call(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString));
- self::C::assertBOf.call(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString));
- self::C::assertCOf.call(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString));
+ assertAOf(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString)){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::assertBOf(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString)){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::assertCOf(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString)){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::C::assertBOf(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString)){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ self::C::assertCOf(core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString)){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
self::C* c;
- let final self::C* #t6 = c in let final core::List<(self::DartType*) →* void>* #t7 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in #t6.{self::C::assertAOf}.call(#t7);
- let final self::C* #t8 = c in let final core::List<(self::DartType*) →* void>* #t9 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in #t8.{self::C::assertDOf}.call(#t9);
+ let final self::C* #t6 = c in let final core::List<(self::DartType*) →* void>* #t7 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in #t6.{self::C::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t7){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final self::C* #t8 = c in let final core::List<(self::DartType*) →* void>* #t9 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in #t8.{self::C::assertDOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t9){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
self::G<core::int*>* g;
- let final self::G<core::int*>* #t10 = g in let final core::List<(self::DartType*) →* void>* #t11 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in #t10.{self::G::assertAOf}.call(#t11);
- let final self::G<core::int*>* #t12 = g in let final core::List<(self::DartType*) →* void>* #t13 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in #t12.{self::G::assertDOf}.call(#t13);
+ let final self::G<core::int*>* #t10 = g in let final core::List<(self::DartType*) →* void>* #t11 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in #t10.{self::G::assertAOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t11){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
+ let final self::G<core::int*>* #t12 = g in let final core::List<(self::DartType*) →* void>* #t13 = core::_GrowableList::_literal2<(self::DartType*) →* void>(self::_isInt, self::_isString) in #t12.{self::G::assertDOf}{(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void}(#t13){(core::List<(self::DartType*) →* void>*) →* (self::DartType*) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart b/pkg/front_end/testcases/inference/dynamic_methods.dart
index f7b1e2b..a381658 100644
--- a/pkg/front_end/testcases/inference/dynamic_methods.dart
+++ b/pkg/front_end/testcases/inference/dynamic_methods.dart
@@ -25,11 +25,11 @@
d. /*@target=Object.noSuchMethod*/ noSuchMethod(null);
var /*@ type=dynamic */ call_nsm2 = d.noSuchMethod(null, null);
var /*@ type=bool* */ equals_self = d /*@target=Object.==*/ == d;
- var /*@ type=bool* */ equals_null = d /*@target=Object.==*/ == null;
- var /*@ type=bool* */ null_equals = null /*@target=Object.==*/ == d;
+ var /*@ type=bool* */ equals_null = d == null;
+ var /*@ type=bool* */ null_equals = null == d;
var /*@ type=bool* */ not_equals_self = d /*@target=Object.==*/ != d;
- var /*@ type=bool* */ not_equals_null = d /*@target=Object.==*/ != null;
- var /*@ type=bool* */ null_not_equals = null /*@target=Object.==*/ != d;
+ var /*@ type=bool* */ not_equals_null = d != null;
+ var /*@ type=bool* */ null_not_equals = null != d;
}
main() {}
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.expect
index af56742..d86a1ff 100644
--- a/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.expect
@@ -28,23 +28,23 @@
}
static method test() → dynamic {
dynamic d = new self::Foo::•();
- core::int* get_hashCode = d.{core::Object::hashCode};
+ core::int* get_hashCode = d.{core::Object::hashCode}{core::int*};
dynamic call_hashCode = invalid-expression "pkg/front_end/testcases/inference/dynamic_methods.dart:16:46: Error: 'hashCode' isn't a function or method and can't be invoked.
d. /*@target=Object.hashCode*/ hashCode();
^^^^...";
- core::String* call_toString = d.{core::Object::toString}();
- dynamic call_toStringArg = d.toString(color: "pink");
- dynamic call_foo0 = d.foo();
- dynamic call_foo1 = d.foo(1);
- dynamic call_foo2 = d.foo(1, 2);
- dynamic call_nsm0 = d.noSuchMethod();
- dynamic call_nsm1 = d.{core::Object::noSuchMethod}(null);
- dynamic call_nsm2 = d.noSuchMethod(null, null);
- core::bool* equals_self = d.{core::Object::==}(d);
- core::bool* equals_null = d.{core::Object::==}(null);
- core::bool* null_equals = null.{core::Object::==}(d);
- core::bool* not_equals_self = !d.{core::Object::==}(d);
- core::bool* not_equals_null = !d.{core::Object::==}(null);
- core::bool* null_not_equals = !null.{core::Object::==}(d);
+ core::String* call_toString = d.{core::Object::toString}(){() →* core::String*};
+ dynamic call_toStringArg = d{dynamic}.toString(color: "pink");
+ dynamic call_foo0 = d{dynamic}.foo();
+ dynamic call_foo1 = d{dynamic}.foo(1);
+ dynamic call_foo2 = d{dynamic}.foo(1, 2);
+ dynamic call_nsm0 = d{dynamic}.noSuchMethod();
+ dynamic call_nsm1 = d.{core::Object::noSuchMethod}(null){(core::Invocation*) →* dynamic};
+ dynamic call_nsm2 = d{dynamic}.noSuchMethod(null, null);
+ core::bool* equals_self = d =={core::Object::==}{(core::Object*) →* core::bool*} d;
+ core::bool* equals_null = d == null;
+ core::bool* null_equals = d == null;
+ core::bool* not_equals_self = !(d =={core::Object::==}{(core::Object*) →* core::bool*} d);
+ core::bool* not_equals_null = !(d == null);
+ core::bool* null_not_equals = !(d == null);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.transformed.expect
index af56742..d86a1ff 100644
--- a/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.transformed.expect
@@ -28,23 +28,23 @@
}
static method test() → dynamic {
dynamic d = new self::Foo::•();
- core::int* get_hashCode = d.{core::Object::hashCode};
+ core::int* get_hashCode = d.{core::Object::hashCode}{core::int*};
dynamic call_hashCode = invalid-expression "pkg/front_end/testcases/inference/dynamic_methods.dart:16:46: Error: 'hashCode' isn't a function or method and can't be invoked.
d. /*@target=Object.hashCode*/ hashCode();
^^^^...";
- core::String* call_toString = d.{core::Object::toString}();
- dynamic call_toStringArg = d.toString(color: "pink");
- dynamic call_foo0 = d.foo();
- dynamic call_foo1 = d.foo(1);
- dynamic call_foo2 = d.foo(1, 2);
- dynamic call_nsm0 = d.noSuchMethod();
- dynamic call_nsm1 = d.{core::Object::noSuchMethod}(null);
- dynamic call_nsm2 = d.noSuchMethod(null, null);
- core::bool* equals_self = d.{core::Object::==}(d);
- core::bool* equals_null = d.{core::Object::==}(null);
- core::bool* null_equals = null.{core::Object::==}(d);
- core::bool* not_equals_self = !d.{core::Object::==}(d);
- core::bool* not_equals_null = !d.{core::Object::==}(null);
- core::bool* null_not_equals = !null.{core::Object::==}(d);
+ core::String* call_toString = d.{core::Object::toString}(){() →* core::String*};
+ dynamic call_toStringArg = d{dynamic}.toString(color: "pink");
+ dynamic call_foo0 = d{dynamic}.foo();
+ dynamic call_foo1 = d{dynamic}.foo(1);
+ dynamic call_foo2 = d{dynamic}.foo(1, 2);
+ dynamic call_nsm0 = d{dynamic}.noSuchMethod();
+ dynamic call_nsm1 = d.{core::Object::noSuchMethod}(null){(core::Invocation*) →* dynamic};
+ dynamic call_nsm2 = d{dynamic}.noSuchMethod(null, null);
+ core::bool* equals_self = d =={core::Object::==}{(core::Object*) →* core::bool*} d;
+ core::bool* equals_null = d == null;
+ core::bool* null_equals = d == null;
+ core::bool* not_equals_self = !(d =={core::Object::==}{(core::Object*) →* core::bool*} d);
+ core::bool* not_equals_null = !(d == null);
+ core::bool* null_not_equals = !(d == null);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.expect
index be5533f..f17816f 100644
--- a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.expect
@@ -4,8 +4,8 @@
static method test() → void {
#L1:
- for (core::num* x = 0; ; x = x.{core::num::+}(1)) {
- if(x.{core::num::>=}(10))
+ for (core::num* x = 0; ; x = x.{core::num::+}(1){(core::num*) →* core::num*}) {
+ if(x.{core::num::>=}(10){(core::num*) →* core::bool*})
break #L1;
if(x is core::int*) {
core::int* y = x{core::int*};
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.transformed.expect
index be5533f..f17816f 100644
--- a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.transformed.expect
@@ -4,8 +4,8 @@
static method test() → void {
#L1:
- for (core::num* x = 0; ; x = x.{core::num::+}(1)) {
- if(x.{core::num::>=}(10))
+ for (core::num* x = 0; ; x = x.{core::num::+}(1){(core::num*) →* core::num*}) {
+ if(x.{core::num::>=}(10){(core::num*) →* core::bool*})
break #L1;
if(x is core::int*) {
core::int* y = x{core::int*};
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.expect
index e03cca6..8f36a9c 100644
--- a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.expect
@@ -4,7 +4,7 @@
static method test() → void {
core::num* x;
- for (final core::int* #t1 = x = 0; x.{core::num::<}(10); x = x.{core::num::+}(1)) {
+ for (final core::int* #t1 = x = 0; x.{core::num::<}(10){(core::num*) →* core::bool*}; x = x.{core::num::+}(1){(core::num*) →* core::num*}) {
if(x is core::int*) {
core::int* y = x{core::int*};
}
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.transformed.expect
index e03cca6..8f36a9c 100644
--- a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
static method test() → void {
core::num* x;
- for (final core::int* #t1 = x = 0; x.{core::num::<}(10); x = x.{core::num::+}(1)) {
+ for (final core::int* #t1 = x = 0; x.{core::num::<}(10){(core::num*) →* core::bool*}; x = x.{core::num::+}(1){(core::num*) →* core::num*}) {
if(x is core::int*) {
core::int* y = x{core::int*};
}
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.expect
index de8249b..6cecf17 100644
--- a/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method test() → void {
- for (core::num* x = 0; x.{core::num::<}(10); x = x.{core::num::+}(1)) {
+ for (core::num* x = 0; x.{core::num::<}(10){(core::num*) →* core::bool*}; x = x.{core::num::+}(1){(core::num*) →* core::num*}) {
if(x is core::int*) {
core::int* y = x{core::int*};
}
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.transformed.expect
index de8249b..6cecf17 100644
--- a/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.transformed.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method test() → void {
- for (core::num* x = 0; x.{core::num::<}(10); x = x.{core::num::+}(1)) {
+ for (core::num* x = 0; x.{core::num::<}(10){(core::num*) →* core::bool*}; x = x.{core::num::+}(1){(core::num*) →* core::num*}) {
if(x is core::int*) {
core::int* y = x{core::int*};
}
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.expect b/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.expect
index 17f4b19..656a85c 100644
--- a/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.expect
@@ -9,8 +9,8 @@
static method add2(core::int* y) → dynamic {}
static method test() → dynamic {
asy::Future<core::int*>* f;
- asy::Future<void>* a = f.{asy::Future::then}<void>(#C1);
- asy::Future<dynamic>* b = f.{asy::Future::then}<dynamic>(#C2);
+ asy::Future<void>* a = f.{asy::Future::then}<void>(#C1){((core::int*) →* FutureOr<void>*, {onError: core::Function*}) →* asy::Future<void>*};
+ asy::Future<dynamic>* b = f.{asy::Future::then}<dynamic>(#C2){((core::int*) →* FutureOr<dynamic>*, {onError: core::Function*}) →* asy::Future<dynamic>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.transformed.expect
index 17f4b19..656a85c 100644
--- a/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.transformed.expect
@@ -9,8 +9,8 @@
static method add2(core::int* y) → dynamic {}
static method test() → dynamic {
asy::Future<core::int*>* f;
- asy::Future<void>* a = f.{asy::Future::then}<void>(#C1);
- asy::Future<dynamic>* b = f.{asy::Future::then}<dynamic>(#C2);
+ asy::Future<void>* a = f.{asy::Future::then}<void>(#C1){((core::int*) →* FutureOr<void>*, {onError: core::Function*}) →* asy::Future<void>*};
+ asy::Future<dynamic>* b = f.{asy::Future::then}<dynamic>(#C2){((core::int*) →* FutureOr<dynamic>*, {onError: core::Function*}) →* asy::Future<dynamic>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then.dart.weak.expect b/pkg/front_end/testcases/inference/future_then.dart.weak.expect
index 2d476b4..43b73f6 100644
--- a/pkg/front_end/testcases/inference/future_then.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then.dart.weak.expect
@@ -24,32 +24,32 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<dynamic>* f;
- asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3));
+ asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return await asy::Future::value<core::int*>(3);
- });
- asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3);
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return 3;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
- });
- asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return asy::Future::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then.dart.weak.outline.expect
index 903b67e..29a6f55 100644
--- a/pkg/front_end/testcases/inference/future_then.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect
index 31f36c1..6f7152b 100644
--- a/pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<dynamic>* f;
@@ -63,7 +63,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -92,7 +92,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -119,7 +119,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -146,11 +146,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -177,7 +177,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -204,7 +204,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_2.dart.weak.expect
index 9755c88..251ec40 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_2.dart.weak.expect
@@ -24,32 +24,32 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<dynamic>* f;
- asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3));
+ asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return await new self::MyFuture::value<core::int*>(3);
- });
- asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3);
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return 3;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
- });
- asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return new self::MyFuture::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_2.dart.weak.outline.expect
index 590e815..36ab6a8 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_2.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect
index 5e4f03c..fe6cbd2 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<dynamic>* f;
@@ -63,7 +63,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -92,7 +92,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -119,7 +119,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -146,11 +146,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -177,7 +177,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -204,7 +204,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_3.dart.weak.expect
index 79fbdd6..7eca3d0 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_3.dart.weak.expect
@@ -24,32 +24,32 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<dynamic>* f;
- self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3));
+ self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return await asy::Future::value<core::int*>(3);
- });
- self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3);
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return 3;
- });
- self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
- });
- self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return asy::Future::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_3.dart.weak.outline.expect
index 127f049..e35da6b 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_3.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect
index b811bc8..2cce0d4 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<dynamic>* f;
@@ -63,7 +63,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -92,7 +92,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -119,7 +119,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -146,11 +146,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -177,7 +177,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -204,7 +204,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_4.dart.weak.expect
index 090effe..37e0e62 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_4.dart.weak.expect
@@ -24,32 +24,32 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<dynamic>* f;
- self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3));
+ self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return await new self::MyFuture::value<core::int*>(3);
- });
- self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3);
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return 3;
- });
- self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
- });
- self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return new self::MyFuture::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_4.dart.weak.outline.expect
index c3a7845..5908716 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_4.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect
index dfb8161..d90c9e6 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<dynamic>* f;
@@ -63,7 +63,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -92,7 +92,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -119,7 +119,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -146,11 +146,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -177,7 +177,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -204,7 +204,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_5.dart.weak.expect
index 9988e76..1917e07 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_5.dart.weak.expect
@@ -24,32 +24,32 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
asy::Future<dynamic>* f;
- asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3));
+ asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return await new self::MyFuture::value<core::int*>(3);
- });
- asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3);
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return 3;
- });
- asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
- });
- asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return new self::MyFuture::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_5.dart.weak.outline.expect
index 9bddbcd..b699b6c 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_5.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect
index 2e741e8..79e4838 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
asy::Future<dynamic>* f;
@@ -63,7 +63,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -92,7 +92,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -119,7 +119,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -146,11 +146,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -177,7 +177,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -204,7 +204,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_6.dart.weak.expect
index 7df4804..fa683c126 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_6.dart.weak.expect
@@ -24,32 +24,32 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
asy::Future<dynamic>* f;
- asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3));
+ asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return await asy::Future::value<core::int*>(3);
- });
- asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3);
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return 3;
- });
- asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
- });
- asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
return asy::Future::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_6.dart.weak.outline.expect
index 908df9c..d9c4871 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_6.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect
index b0315bb..e796209 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
asy::Future<dynamic>* f;
@@ -63,7 +63,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -92,7 +92,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -119,7 +119,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -146,11 +146,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3));
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -177,7 +177,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -204,7 +204,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.expect
index 7bbdb21..484270e 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.expect
@@ -24,24 +24,24 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::bool*>* f;
- asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3));
+ asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async {
return (await x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.outline.expect
index f0c10fb..cfacce7 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect
index d191f4c..e243878 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::bool*>* f;
@@ -70,7 +70,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -99,11 +99,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.expect
index ac6c2b0..5052927 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.expect
@@ -24,24 +24,24 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::bool*>* f;
- asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await new self::MyFuture::value<core::int*>(3));
+ asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await new self::MyFuture::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async {
return (await x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.outline.expect
index 6d7ac2e..7eb99be 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect
index 43a3960..57a5fe1 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::bool*>* f;
@@ -70,7 +70,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -99,11 +99,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.expect
index cf29dae..01ac303 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.expect
@@ -24,24 +24,24 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::bool*>* f;
- self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3));
+ self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async {
return (await x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
- self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.outline.expect
index 5942aa9..3b812af 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect
index 5f3d17d..dd49882 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::bool*>* f;
@@ -70,7 +70,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -99,11 +99,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.expect
index a3755b3..9f0633d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.expect
@@ -24,24 +24,24 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::bool*>* f;
- self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await new self::MyFuture::value<core::int*>(3));
+ self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await new self::MyFuture::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async {
return (await x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
- self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.outline.expect
index e3979f7..2d775ff 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect
index 91d19c76..0dc6739 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::bool*>* f;
@@ -70,7 +70,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -99,11 +99,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.expect
index 52b58db..41958f4 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.expect
@@ -24,24 +24,24 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
asy::Future<core::bool*>* f;
- asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await new self::MyFuture::value<core::int*>(3));
+ asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await new self::MyFuture::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async {
return (await x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
- asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.outline.expect
index a52e25c..3026114 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect
index 09ebce0..528b319 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
asy::Future<core::bool*>* f;
@@ -70,7 +70,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -99,11 +99,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.expect
index 3603d46..8446ce804 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.expect
@@ -24,24 +24,24 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
asy::Future<core::bool*>* f;
- asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3));
+ asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async {
return (await x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
- asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.outline.expect
index 7b0d48e..cd341f3 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect
index de83970..d783f2d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
asy::Future<core::bool*>* f;
@@ -70,7 +70,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -99,11 +99,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*);
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* {
return (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
- });
+ }){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.expect
index fb4af0a..7024c62 100644
--- a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.expect
@@ -7,7 +7,7 @@
static method test() → dynamic {
asy::Future<core::int*>* f;
- asy::Future<core::List<core::int*>*>* b = f.{asy::Future::then}<core::List<dynamic>*>((core::int* x) → core::List<dynamic>* => <dynamic>[]).{asy::Future::whenComplete}(() → Null {}) as{TypeError} asy::Future<core::List<core::int*>*>*;
- b = f.{asy::Future::then}<core::List<core::int*>*>((core::int* x) → core::List<core::int*>* => <core::int*>[]);
+ asy::Future<core::List<core::int*>*>* b = f.{asy::Future::then}<core::List<dynamic>*>((core::int* x) → core::List<dynamic>* => <dynamic>[]){((core::int*) →* FutureOr<core::List<dynamic>*>*, {onError: core::Function*}) →* asy::Future<core::List<dynamic>*>*}.{asy::Future::whenComplete}(() → Null {}){(() →* FutureOr<void>*) →* asy::Future<core::List<dynamic>*>*} as{TypeError} asy::Future<core::List<core::int*>*>*;
+ b = f.{asy::Future::then}<core::List<core::int*>*>((core::int* x) → core::List<core::int*>* => <core::int*>[]){((core::int*) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* asy::Future<core::List<core::int*>*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.transformed.expect
index 53eb93c..947395c 100644
--- a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
static method test() → dynamic {
asy::Future<core::int*>* f;
- asy::Future<core::List<core::int*>*>* b = f.{asy::Future::then}<core::List<dynamic>*>((core::int* x) → core::List<dynamic>* => core::_GrowableList::•<dynamic>(0)).{asy::Future::whenComplete}(() → Null {}) as{TypeError} asy::Future<core::List<core::int*>*>*;
- b = f.{asy::Future::then}<core::List<core::int*>*>((core::int* x) → core::List<core::int*>* => core::_GrowableList::•<core::int*>(0));
+ asy::Future<core::List<core::int*>*>* b = f.{asy::Future::then}<core::List<dynamic>*>((core::int* x) → core::List<dynamic>* => core::_GrowableList::•<dynamic>(0)){((core::int*) →* FutureOr<core::List<dynamic>*>*, {onError: core::Function*}) →* asy::Future<core::List<dynamic>*>*}.{asy::Future::whenComplete}(() → Null {}){(() →* FutureOr<void>*) →* asy::Future<core::List<dynamic>*>*} as{TypeError} asy::Future<core::List<core::int*>*>*;
+ b = f.{asy::Future::then}<core::List<core::int*>*>((core::int* x) → core::List<core::int*>* => core::_GrowableList::•<core::int*>(0)){((core::int*) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* asy::Future<core::List<core::int*>*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.expect
index 7876e51..354eb47 100644
--- a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.expect
@@ -26,7 +26,7 @@
- 'List' is from 'dart:core'.
- 'Future' is from 'dart:async'.
/*@returnType=FutureOr<Future<List<int*>*>*>**/ (/*@type=int**/ x) => /*@typeArgs=dynamic*/ []);
- ^" in <dynamic>[] as{TypeError} FutureOr<asy::Future<core::List<core::int*>*>*>*);
+ ^" in <dynamic>[] as{TypeError} FutureOr<asy::Future<core::List<core::int*>*>*>*){((core::int*) →* FutureOr<asy::Future<core::List<core::int*>*>*>*, {onError: core::Function*}) →* asy::Future<asy::Future<core::List<core::int*>*>*>*};
asy::Future<core::List<core::int*>*>* y = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/future_then_explicit_future.dart:16:25: Error: A value of type 'Future<Future<List<int>>>' can't be assigned to a variable of type 'Future<List<int>>'.
- 'Future' is from 'dart:async'.
- 'List' is from 'dart:core'.
@@ -35,7 +35,7 @@
}
static method m2() → dynamic {
asy::Future<core::int*>* f;
- asy::Future<core::List<core::int*>*>* x = f.{asy::Future::then}<core::List<core::int*>*>((core::int* x) → core::List<core::int*>* => <core::int*>[]);
+ asy::Future<core::List<core::int*>*>* x = f.{asy::Future::then}<core::List<core::int*>*>((core::int* x) → core::List<core::int*>* => <core::int*>[]){((core::int*) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* asy::Future<core::List<core::int*>*>*};
asy::Future<core::List<core::int*>*>* y = x;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.transformed.expect
index 980a154..008d899 100644
--- a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.transformed.expect
@@ -26,7 +26,7 @@
- 'List' is from 'dart:core'.
- 'Future' is from 'dart:async'.
/*@returnType=FutureOr<Future<List<int*>*>*>**/ (/*@type=int**/ x) => /*@typeArgs=dynamic*/ []);
- ^" in core::_GrowableList::•<dynamic>(0) as{TypeError} FutureOr<asy::Future<core::List<core::int*>*>*>*);
+ ^" in core::_GrowableList::•<dynamic>(0) as{TypeError} FutureOr<asy::Future<core::List<core::int*>*>*>*){((core::int*) →* FutureOr<asy::Future<core::List<core::int*>*>*>*, {onError: core::Function*}) →* asy::Future<asy::Future<core::List<core::int*>*>*>*};
asy::Future<core::List<core::int*>*>* y = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/future_then_explicit_future.dart:16:25: Error: A value of type 'Future<Future<List<int>>>' can't be assigned to a variable of type 'Future<List<int>>'.
- 'Future' is from 'dart:async'.
- 'List' is from 'dart:core'.
@@ -35,7 +35,7 @@
}
static method m2() → dynamic {
asy::Future<core::int*>* f;
- asy::Future<core::List<core::int*>*>* x = f.{asy::Future::then}<core::List<core::int*>*>((core::int* x) → core::List<core::int*>* => core::_GrowableList::•<core::int*>(0));
+ asy::Future<core::List<core::int*>*>* x = f.{asy::Future::then}<core::List<core::int*>*>((core::int* x) → core::List<core::int*>* => core::_GrowableList::•<core::int*>(0)){((core::int*) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* asy::Future<core::List<core::int*>*>*};
asy::Future<core::List<core::int*>*>* y = x;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.expect
index 4771d6d..da7400e 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.expect
@@ -24,24 +24,24 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::int*>* f;
- asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::int* x) → asy::Future<core::int*>* async => let final core::int* #t1 = x in #t1.{core::num::==}(null) ?{core::int*} await asy::Future::value<core::int*>(3) : #t1);
+ asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::int* x) → asy::Future<core::int*>* async => let final core::int* #t1 = x in #t1 == null ?{core::int*} await asy::Future::value<core::int*>(3) : #t1){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::int* x) → FutureOr<core::int*>* async {
- return (let final core::int* #t2 = await x in #t2.{core::num::==}(null) ?{core::Object*} asy::Future::value<core::int*>(3) : #t2) as{TypeError} FutureOr<core::int*>*;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::int* x) → FutureOr<core::int*>* => (let final core::int* #t3 = x in #t3.{core::num::==}(null) ?{core::Object*} asy::Future::value<core::int*>(3) : #t3) as{TypeError} FutureOr<core::int*>*);
+ return (let final core::int* #t2 = await x in #t2 == null ?{core::Object*} asy::Future::value<core::int*>(3) : #t2) as{TypeError} FutureOr<core::int*>*;
+ }){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::int* x) → FutureOr<core::int*>* => (let final core::int* #t3 = x in #t3 == null ?{core::Object*} asy::Future::value<core::int*>(3) : #t3) as{TypeError} FutureOr<core::int*>*){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::int* x) → FutureOr<core::int*>* {
- return (let final core::int* #t4 = x in #t4.{core::num::==}(null) ?{core::Object*} asy::Future::value<core::int*>(3) : #t4) as{TypeError} FutureOr<core::int*>*;
- });
+ return (let final core::int* #t4 = x in #t4 == null ?{core::Object*} asy::Future::value<core::int*>(3) : #t4) as{TypeError} FutureOr<core::int*>*;
+ }){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.outline.expect
index e4600c3..ffd3fdd 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect
index ecd8f2b..061b526 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect
@@ -25,13 +25,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
self::MyFuture<core::int*>* f;
@@ -50,7 +50,7 @@
#L1:
{
final core::int* #t1 = x;
- if(#t1.{core::num::==}(null)) {
+ if(#t1 == null) {
[yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
:async_temporary_0 = _in::unsafeCast<core::int*>(:result);
}
@@ -71,7 +71,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
+ }){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::int* x) → FutureOr<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
@@ -86,7 +86,7 @@
#L2:
{
[yield] let dynamic #t3 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = (let final core::int* #t4 = _in::unsafeCast<core::int*>(:result) in #t4.{core::num::==}(null) ?{core::Object*} asy::Future::value<core::int*>(3) : #t4) as{TypeError} FutureOr<core::int*>*;
+ :return_value = (let final core::int* #t4 = _in::unsafeCast<core::int*>(:result) in #t4 == null ?{core::Object*} asy::Future::value<core::int*>(3) : #t4) as{TypeError} FutureOr<core::int*>*;
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -100,11 +100,11 @@
:async_op.call();
:is_sync = true;
return :async_future;
- });
- asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::int* x) → FutureOr<core::int*>* => (let final core::int* #t5 = x in #t5.{core::num::==}(null) ?{core::Object*} asy::Future::value<core::int*>(3) : #t5) as{TypeError} FutureOr<core::int*>*);
+ }){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+ asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::int* x) → FutureOr<core::int*>* => (let final core::int* #t5 = x in #t5 == null ?{core::Object*} asy::Future::value<core::int*>(3) : #t5) as{TypeError} FutureOr<core::int*>*){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((core::int* x) → FutureOr<core::int*>* {
- return (let final core::int* #t6 = x in #t6.{core::num::==}(null) ?{core::Object*} asy::Future::value<core::int*>(3) : #t6) as{TypeError} FutureOr<core::int*>*;
- });
+ return (let final core::int* #t6 = x in #t6 == null ?{core::Object*} asy::Future::value<core::int*>(3) : #t6) as{TypeError} FutureOr<core::int*>*;
+ }){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.expect
index 704d5e9..9d407d0 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.expect
@@ -33,22 +33,22 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method main() → void {
- self::MyFuture<core::double*>* f = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3);
+ self::MyFuture<core::double*>* f = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* self::MyFuture<core::double*>*};
asy::Future<core::int*>* f2 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_then_upwards.dart:21:49: Error: A value of type 'MyFuture<double>' can't be assigned to a variable of type 'Future<int>'.
- 'MyFuture' is from 'pkg/front_end/testcases/inference/future_then_upwards.dart'.
- 'Future' is from 'dart:async'.
Future<int> f2 = /*error:INVALID_ASSIGNMENT*/ f;
^" in f as{TypeError} asy::Future<core::int*>*;
- asy::Future<core::num*>* f3 = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3) as asy::Future<core::double*>*;
+ asy::Future<core::num*>* f3 = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* self::MyFuture<core::double*>*} as asy::Future<core::double*>*;
}
static method foo() → self::MyFuture<dynamic>*
return new self::MyFuture::value<core::int*>(1);
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.outline.expect
index 5309f49..64672a6 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.transformed.expect
index 10805f0..9e8fc77 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.transformed.expect
@@ -33,22 +33,22 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method main() → void {
- self::MyFuture<core::double*>* f = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3);
+ self::MyFuture<core::double*>* f = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* self::MyFuture<core::double*>*};
asy::Future<core::int*>* f2 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_then_upwards.dart:21:49: Error: A value of type 'MyFuture<double>' can't be assigned to a variable of type 'Future<int>'.
- 'MyFuture' is from 'pkg/front_end/testcases/inference/future_then_upwards.dart'.
- 'Future' is from 'dart:async'.
Future<int> f2 = /*error:INVALID_ASSIGNMENT*/ f;
^" in f as{TypeError} asy::Future<core::int*>*;
- asy::Future<core::num*>* f3 = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3);
+ asy::Future<core::num*>* f3 = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* self::MyFuture<core::double*>*};
}
static method foo() → self::MyFuture<dynamic>*
return new self::MyFuture::value<core::int*>(1);
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.expect
index 8a122aa..b6b8c88 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.expect
@@ -32,21 +32,21 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method main() → void {
- self::MyFuture<core::double*>* f = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3);
+ self::MyFuture<core::double*>* f = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* self::MyFuture<core::double*>*};
self::MyFuture<core::int*>* f2 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_then_upwards_2.dart:21:51: Error: A value of type 'MyFuture<double>' can't be assigned to a variable of type 'MyFuture<int>'.
- 'MyFuture' is from 'pkg/front_end/testcases/inference/future_then_upwards_2.dart'.
MyFuture<int> f2 = /*error:INVALID_ASSIGNMENT*/ f;
^" in f as{TypeError} self::MyFuture<core::int*>*;
- self::MyFuture<core::num*>* f3 = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3) as self::MyFuture<core::double*>*;
+ self::MyFuture<core::num*>* f3 = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* self::MyFuture<core::double*>*} as self::MyFuture<core::double*>*;
}
static method foo() → self::MyFuture<dynamic>*
return new self::MyFuture::value<core::int*>(1);
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.outline.expect
index 6b301eb..cc0154e 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.transformed.expect
index 754b3a9..2811c31 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.transformed.expect
@@ -32,21 +32,21 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method main() → void {
- self::MyFuture<core::double*>* f = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3);
+ self::MyFuture<core::double*>* f = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* self::MyFuture<core::double*>*};
self::MyFuture<core::int*>* f2 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_then_upwards_2.dart:21:51: Error: A value of type 'MyFuture<double>' can't be assigned to a variable of type 'MyFuture<int>'.
- 'MyFuture' is from 'pkg/front_end/testcases/inference/future_then_upwards_2.dart'.
MyFuture<int> f2 = /*error:INVALID_ASSIGNMENT*/ f;
^" in f as{TypeError} self::MyFuture<core::int*>*;
- self::MyFuture<core::num*>* f3 = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3);
+ self::MyFuture<core::num*>* f3 = self::foo().{self::MyFuture::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* self::MyFuture<core::double*>*};
}
static method foo() → self::MyFuture<dynamic>*
return new self::MyFuture::value<core::int*>(1);
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.expect
index db196c2..ca5d863 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.expect
@@ -32,21 +32,21 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
- asy::Future<core::double*>* f = self::foo().{asy::Future::then}<core::double*>((dynamic _) → core::double* => 2.3);
+ asy::Future<core::double*>* f = self::foo().{asy::Future::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* asy::Future<core::double*>*};
asy::Future<core::int*>* f2 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_then_upwards_3.dart:21:49: Error: A value of type 'Future<double>' can't be assigned to a variable of type 'Future<int>'.
- 'Future' is from 'dart:async'.
Future<int> f2 = /*error:INVALID_ASSIGNMENT*/ f;
^" in f as{TypeError} asy::Future<core::int*>*;
- asy::Future<core::num*>* f3 = self::foo().{asy::Future::then}<core::double*>((dynamic _) → core::double* => 2.3) as asy::Future<core::double*>*;
+ asy::Future<core::num*>* f3 = self::foo().{asy::Future::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* asy::Future<core::double*>*} as asy::Future<core::double*>*;
}
static method foo() → asy::Future<dynamic>*
return asy::Future::value<core::int*>(1);
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.outline.expect
index 0085139..0108d81 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void
;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.transformed.expect
index e3d9eb4..5cff642 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.transformed.expect
@@ -32,21 +32,21 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method test() → void {
- asy::Future<core::double*>* f = self::foo().{asy::Future::then}<core::double*>((dynamic _) → core::double* => 2.3);
+ asy::Future<core::double*>* f = self::foo().{asy::Future::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* asy::Future<core::double*>*};
asy::Future<core::int*>* f2 = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_then_upwards_3.dart:21:49: Error: A value of type 'Future<double>' can't be assigned to a variable of type 'Future<int>'.
- 'Future' is from 'dart:async'.
Future<int> f2 = /*error:INVALID_ASSIGNMENT*/ f;
^" in f as{TypeError} asy::Future<core::int*>*;
- asy::Future<core::num*>* f3 = self::foo().{asy::Future::then}<core::double*>((dynamic _) → core::double* => 2.3);
+ asy::Future<core::num*>* f3 = self::foo().{asy::Future::then}<core::double*>((dynamic _) → core::double* => 2.3){((dynamic) →* FutureOr<core::double*>*, {onError: core::Function*}) →* asy::Future<core::double*>*};
}
static method foo() → asy::Future<dynamic>*
return asy::Future::value<core::int*>(1);
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.expect
index a8c0b46..3acce35 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.expect
@@ -8,9 +8,9 @@
static method test() → dynamic {
asy::Future<core::int*>* base;
asy::Future<core::bool*>* f = base.{asy::Future::then}<core::bool*>((core::int* x) → core::bool* {
- return x.{core::num::==}(0);
- });
- asy::Future<core::bool*>* g = base.{asy::Future::then}<core::bool*>((core::int* x) → core::bool* => x.{core::num::==}(0));
+ return x =={core::num::==}{(core::Object*) →* core::bool*} 0;
+ }){((core::int*) →* FutureOr<core::bool*>*, {onError: core::Function*}) →* asy::Future<core::bool*>*};
+ asy::Future<core::bool*>* g = base.{asy::Future::then}<core::bool*>((core::int* x) → core::bool* => x =={core::num::==}{(core::Object*) →* core::bool*} 0){((core::int*) →* FutureOr<core::bool*>*, {onError: core::Function*}) →* asy::Future<core::bool*>*};
asy::Future<core::bool*>* b = f;
b = g;
}
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.transformed.expect
index a8c0b46..3acce35 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.transformed.expect
@@ -8,9 +8,9 @@
static method test() → dynamic {
asy::Future<core::int*>* base;
asy::Future<core::bool*>* f = base.{asy::Future::then}<core::bool*>((core::int* x) → core::bool* {
- return x.{core::num::==}(0);
- });
- asy::Future<core::bool*>* g = base.{asy::Future::then}<core::bool*>((core::int* x) → core::bool* => x.{core::num::==}(0));
+ return x =={core::num::==}{(core::Object*) →* core::bool*} 0;
+ }){((core::int*) →* FutureOr<core::bool*>*, {onError: core::Function*}) →* asy::Future<core::bool*>*};
+ asy::Future<core::bool*>* g = base.{asy::Future::then}<core::bool*>((core::int* x) → core::bool* => x =={core::num::==}{(core::Object*) →* core::bool*} 0){((core::int*) →* FutureOr<core::bool*>*, {onError: core::Function*}) →* asy::Future<core::bool*>*};
asy::Future<core::bool*>* b = f;
b = g;
}
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.expect
index ea9473b..aacd7bb 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method g1(core::bool* x) → asy::Future<core::int*>* async {
return (x ?{core::Object*} 42 : asy::Future::value<core::int*>(42)) as{TypeError} FutureOr<core::int*>*;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.outline.expect
index 739558d..2a73d70 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method g1(core::bool* x) → asy::Future<core::int*>* async
;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect
index 5fc430a..8f744f7 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method g1(core::bool* x) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.expect
index 6ee66d9..dbfb2e6 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method g1(core::bool* x) → asy::Future<core::int*>* async {
return (x ?{core::Object*} 42 : new self::MyFuture::value<core::int*>(42)) as{TypeError} FutureOr<core::int*>*;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.outline.expect
index 04c973a..547c415 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method g1(core::bool* x) → asy::Future<core::int*>* async
;
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect
index 2ba5916..81ffcf6 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static method g1(core::bool* x) → asy::Future<core::int*>* /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.expect
index 5746283..2ac9820 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.expect
@@ -31,19 +31,19 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field self::MyFuture<dynamic>* f;
static field asy::Future<core::int*>* t1 = self::f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_union_downwards.dart:21:47: Error: The argument type 'String' can't be assigned to the parameter type 'FutureOr<int>'.
new /*@ typeArgs=int* */ Future.value('hi'));
- ^" in "hi" as{TypeError} FutureOr<core::int*>?));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.{self::MyFuture::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => <core::int*>[3]);
+ ^" in "hi" as{TypeError} FutureOr<core::int*>?)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+static field asy::Future<core::List<core::int*>*>* t2 = self::f.{self::MyFuture::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => <core::int*>[3]){((dynamic) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* self::MyFuture<core::List<core::int*>*>*};
static method g2() → asy::Future<core::List<core::int*>*>* async {
return <core::int*>[3];
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.outline.expect
index ef0889f..2a918af 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field self::MyFuture<dynamic>* f;
static field asy::Future<core::int*>* t1;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect
index f91a82c..bbe0213 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect
@@ -31,19 +31,19 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field self::MyFuture<dynamic>* f;
static field asy::Future<core::int*>* t1 = self::f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_union_downwards.dart:21:47: Error: The argument type 'String' can't be assigned to the parameter type 'FutureOr<int>'.
new /*@ typeArgs=int* */ Future.value('hi'));
- ^" in "hi" as{TypeError} FutureOr<core::int*>?));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.{self::MyFuture::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => core::_GrowableList::_literal1<core::int*>(3));
+ ^" in "hi" as{TypeError} FutureOr<core::int*>?)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+static field asy::Future<core::List<core::int*>*>* t2 = self::f.{self::MyFuture::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => core::_GrowableList::_literal1<core::int*>(3)){((dynamic) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* self::MyFuture<core::List<core::int*>*>*};
static method g2() → asy::Future<core::List<core::int*>*>* /* originally async */ {
final asy::_Future<core::List<core::int*>*>* :async_future = new asy::_Future::•<core::List<core::int*>*>();
core::bool* :is_sync = false;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.expect
index bf4fd10..10efb8a 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.expect
@@ -24,17 +24,17 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field self::MyFuture<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.{self::MyFuture::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => <core::int*>[3]);
+static field asy::Future<core::int*>* t1 = self::f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>("hi")){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+static field asy::Future<core::List<core::int*>*>* t2 = self::f.{self::MyFuture::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => <core::int*>[3]){((dynamic) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* self::MyFuture<core::List<core::int*>*>*};
static method g2() → asy::Future<core::List<core::int*>*>* async {
return <core::int*>[3];
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.outline.expect
index 8471c54..cf32cfb 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field self::MyFuture<dynamic>* f;
static field asy::Future<core::int*>* t1;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect
index 3e5228e..191e1c8 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect
@@ -24,17 +24,17 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field self::MyFuture<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.{self::MyFuture::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => core::_GrowableList::_literal1<core::int*>(3));
+static field asy::Future<core::int*>* t1 = self::f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>("hi")){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
+static field asy::Future<core::List<core::int*>*>* t2 = self::f.{self::MyFuture::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => core::_GrowableList::_literal1<core::int*>(3)){((dynamic) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* self::MyFuture<core::List<core::int*>*>*};
static method g2() → asy::Future<core::List<core::int*>*>* /* originally async */ {
final asy::_Future<core::List<core::int*>*>* :async_future = new asy::_Future::•<core::List<core::int*>*>();
core::bool* :is_sync = false;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.expect
index 5811c28..ec1e7dc 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.expect
@@ -31,19 +31,19 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field asy::Future<dynamic>* f;
static field asy::Future<core::int*>* t1 = self::f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_union_downwards_3.dart:21:47: Error: The argument type 'String' can't be assigned to the parameter type 'FutureOr<int>'.
new /*@ typeArgs=int* */ Future.value('hi'));
- ^" in "hi" as{TypeError} FutureOr<core::int*>?));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.{asy::Future::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => <core::int*>[3]);
+ ^" in "hi" as{TypeError} FutureOr<core::int*>?)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+static field asy::Future<core::List<core::int*>*>* t2 = self::f.{asy::Future::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => <core::int*>[3]){((dynamic) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* asy::Future<core::List<core::int*>*>*};
static method g2() → asy::Future<core::List<core::int*>*>* async {
return <core::int*>[3];
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.outline.expect
index d14c4a7..e4e19d0 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field asy::Future<dynamic>* f;
static field asy::Future<core::int*>* t1;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect
index c3a836e..536aaad 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect
@@ -31,19 +31,19 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field asy::Future<dynamic>* f;
static field asy::Future<core::int*>* t1 = self::f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/future_union_downwards_3.dart:21:47: Error: The argument type 'String' can't be assigned to the parameter type 'FutureOr<int>'.
new /*@ typeArgs=int* */ Future.value('hi'));
- ^" in "hi" as{TypeError} FutureOr<core::int*>?));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.{asy::Future::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => core::_GrowableList::_literal1<core::int*>(3));
+ ^" in "hi" as{TypeError} FutureOr<core::int*>?)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+static field asy::Future<core::List<core::int*>*>* t2 = self::f.{asy::Future::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => core::_GrowableList::_literal1<core::int*>(3)){((dynamic) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* asy::Future<core::List<core::int*>*>*};
static method g2() → asy::Future<core::List<core::int*>*>* /* originally async */ {
final asy::_Future<core::List<core::int*>*>* :async_future = new asy::_Future::•<core::List<core::int*>*>();
core::bool* :is_sync = false;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.expect
index 8ce0d07..4ab8890 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.expect
@@ -24,17 +24,17 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field asy::Future<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.{asy::Future::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => <core::int*>[3]);
+static field asy::Future<core::int*>* t1 = self::f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>("hi")){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+static field asy::Future<core::List<core::int*>*>* t2 = self::f.{asy::Future::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => <core::int*>[3]){((dynamic) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* asy::Future<core::List<core::int*>*>*};
static method g2() → asy::Future<core::List<core::int*>*>* async {
return <core::int*>[3];
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.outline.expect
index 3853e42..7a5d3d7 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.outline.expect
@@ -24,13 +24,13 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field asy::Future<dynamic>* f;
static field asy::Future<core::int*>* t1;
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect
index 82d9f9b..55d6d31 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect
@@ -24,17 +24,17 @@
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 catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(onError)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method asStream() → asy::Stream<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Stream<self::MyFuture::T*>*;
no-such-method-forwarder method timeout(core::Duration* timeLimit, {generic-covariant-impl () →* FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
- return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))) as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
+ return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(timeLimit)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C10: onTimeout}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::MyFuture::T*>*;
}
static field asy::Future<dynamic>* f;
-static field asy::Future<core::int*>* t1 = self::f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>("hi"));
-static field asy::Future<core::List<core::int*>*>* t2 = self::f.{asy::Future::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => core::_GrowableList::_literal1<core::int*>(3));
+static field asy::Future<core::int*>* t1 = self::f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>("hi")){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
+static field asy::Future<core::List<core::int*>*>* t2 = self::f.{asy::Future::then}<core::List<core::int*>*>((dynamic _) → core::List<core::int*>* => core::_GrowableList::_literal1<core::int*>(3)){((dynamic) →* FutureOr<core::List<core::int*>*>*, {onError: core::Function*}) →* asy::Future<core::List<core::int*>*>*};
static method g2() → asy::Future<core::List<core::int*>*>* /* originally async */ {
final asy::_Future<core::List<core::int*>*>* :async_future = new asy::_Future::•<core::List<core::int*>*>();
core::bool* :is_sync = false;
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.expect b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.expect
index 1f60cfe..b6875d1 100644
--- a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.expect
@@ -6,8 +6,8 @@
static method main() → dynamic {
function f<T extends core::Object* = dynamic>(T* x) → (T*) →* void
return null;
- (core::int*) →* void x = f.call<core::int*>(42);
- (core::int*) →* void y = f.call<core::int*>(42);
+ (core::int*) →* void x = f<core::int*>(42){(core::int*) →* (core::int*) →* void};
+ (core::int*) →* void y = f<core::int*>(42){(core::int*) →* (core::int*) →* void};
(core::int*) →* void takesInt = x;
takesInt = y;
}
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.transformed.expect
index 1f60cfe..b6875d1 100644
--- a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.transformed.expect
@@ -6,8 +6,8 @@
static method main() → dynamic {
function f<T extends core::Object* = dynamic>(T* x) → (T*) →* void
return null;
- (core::int*) →* void x = f.call<core::int*>(42);
- (core::int*) →* void y = f.call<core::int*>(42);
+ (core::int*) →* void x = f<core::int*>(42){(core::int*) →* (core::int*) →* void};
+ (core::int*) →* void y = f<core::int*>(42){(core::int*) →* (core::int*) →* void};
(core::int*) →* void takesInt = x;
takesInt = y;
}
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.expect
index 3d831a4..19380c0 100644
--- a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.expect
@@ -6,7 +6,7 @@
return null;
static method main() → dynamic {
core::String* x = self::f<core::int*, core::String*>(42);
- core::String* y = (#C1).call<core::int*, core::String*>(42);
+ core::String* y = (#C1)<core::int*, core::String*>(42){(core::int*) →* core::String*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.transformed.expect
index 3d831a4..19380c0 100644
--- a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.transformed.expect
@@ -6,7 +6,7 @@
return null;
static method main() → dynamic {
core::String* x = self::f<core::int*, core::String*>(42);
- core::String* y = (#C1).call<core::int*, core::String*>(42);
+ core::String* y = (#C1)<core::int*, core::String*>(42){(core::int*) →* core::String*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.weak.expect
index 3569bc6..fc573b1 100644
--- a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.weak.expect
@@ -29,5 +29,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::Foo::•<core::String*>().{self::Foo::method}<core::int*>(42);
+ new self::Foo::•<core::String*>().{self::Foo::method}<core::int*>(42){(core::int*) →* core::int*};
}
diff --git a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.weak.expect
index 233b1cc..c42f670 100644
--- a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.weak.expect
@@ -51,6 +51,6 @@
static method main() → dynamic {
core::int* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart:18:73: Error: Expected 0 type arguments.
. /*error:WRONG_NUMBER_OF_TYPE_ARGUMENTS_METHOD*/ /*@target=D.m*/ m<int>(
- ^" in new self::D::•().{self::D::m}<core::int*>(42);
+ ^" in new self::D::•().{self::D::m}{<inapplicable>}.<core::int*>(42){(invalid-type) →* invalid-type};
core::print(y);
}
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.expect
index dcb7d1d..b0966cb 100644
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.expect
@@ -4,14 +4,14 @@
static method test() → void {
core::List<core::int*>* o;
- core::int* y = o.{core::Iterable::fold}<core::int*>(0, (core::int* x, core::int* y) → core::int* => x.{core::num::+}(y));
- dynamic z = o.{core::Iterable::fold}<dynamic>(0, (dynamic x, core::int* y) → dynamic => x.+(y));
+ core::int* y = o.{core::Iterable::fold}<core::int*>(0, (core::int* x, core::int* y) → core::int* => x.{core::num::+}(y){(core::num*) →* core::int*}){(core::int*, (core::int*, core::int*) →* core::int*) →* core::int*};
+ dynamic z = o.{core::Iterable::fold}<dynamic>(0, (dynamic x, core::int* y) → dynamic => x{dynamic}.+(y)){(dynamic, (dynamic, core::int*) →* dynamic) →* dynamic};
y = z as{TypeError,ForDynamic} core::int*;
}
static method functionExpressionInvocation() → void {
core::List<core::int*>* o;
- core::int* y = o.{core::Iterable::fold}.call<core::int*>(0, (core::int* x, core::int* y) → core::int* => x.{core::num::+}(y));
- dynamic z = o.{core::Iterable::fold}.call<dynamic>(0, (dynamic x, core::int* y) → dynamic => x.+(y));
+ core::int* y = o.{core::Iterable::fold}{<T extends core::Object* = dynamic>(T*, (T*, core::int*) →* T*) →* T*}<core::int*>(0, (core::int* x, core::int* y) → core::int* => x.{core::num::+}(y){(core::num*) →* core::int*}){(core::int*, (core::int*, core::int*) →* core::int*) →* core::int*};
+ dynamic z = o.{core::Iterable::fold}{<T extends core::Object* = dynamic>(T*, (T*, core::int*) →* T*) →* T*}<dynamic>(0, (dynamic x, core::int* y) → dynamic => x{dynamic}.+(y)){(dynamic, (dynamic, core::int*) →* dynamic) →* dynamic};
y = z as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.transformed.expect
index dcb7d1d..b0966cb 100644
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.transformed.expect
@@ -4,14 +4,14 @@
static method test() → void {
core::List<core::int*>* o;
- core::int* y = o.{core::Iterable::fold}<core::int*>(0, (core::int* x, core::int* y) → core::int* => x.{core::num::+}(y));
- dynamic z = o.{core::Iterable::fold}<dynamic>(0, (dynamic x, core::int* y) → dynamic => x.+(y));
+ core::int* y = o.{core::Iterable::fold}<core::int*>(0, (core::int* x, core::int* y) → core::int* => x.{core::num::+}(y){(core::num*) →* core::int*}){(core::int*, (core::int*, core::int*) →* core::int*) →* core::int*};
+ dynamic z = o.{core::Iterable::fold}<dynamic>(0, (dynamic x, core::int* y) → dynamic => x{dynamic}.+(y)){(dynamic, (dynamic, core::int*) →* dynamic) →* dynamic};
y = z as{TypeError,ForDynamic} core::int*;
}
static method functionExpressionInvocation() → void {
core::List<core::int*>* o;
- core::int* y = o.{core::Iterable::fold}.call<core::int*>(0, (core::int* x, core::int* y) → core::int* => x.{core::num::+}(y));
- dynamic z = o.{core::Iterable::fold}.call<dynamic>(0, (dynamic x, core::int* y) → dynamic => x.+(y));
+ core::int* y = o.{core::Iterable::fold}{<T extends core::Object* = dynamic>(T*, (T*, core::int*) →* T*) →* T*}<core::int*>(0, (core::int* x, core::int* y) → core::int* => x.{core::num::+}(y){(core::num*) →* core::int*}){(core::int*, (core::int*, core::int*) →* core::int*) →* core::int*};
+ dynamic z = o.{core::Iterable::fold}{<T extends core::Object* = dynamic>(T*, (T*, core::int*) →* T*) →* T*}<dynamic>(0, (dynamic x, core::int* y) → dynamic => x{dynamic}.+(y)){(dynamic, (dynamic, core::int*) →* dynamic) →* dynamic};
y = z as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.weak.expect
index 454ab90..7241ba2 100644
--- a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.weak.expect
@@ -64,6 +64,6 @@
return x;
}
static method main() → dynamic {
- core::int* y = (new self::D::•() as self::C*).{self::C::m}(42) as{TypeError,ForDynamic} core::int*;
+ core::int* y = (new self::D::•() as self::C*).{self::C::m}(42){(dynamic) →* dynamic} as{TypeError,ForDynamic} core::int*;
core::print(y);
}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.expect
index 527c4b0..22921fb 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.expect
@@ -86,24 +86,24 @@
^" in (#C2<core::num*>) as{TypeError} (core::int*, core::double*) →* core::double*);
self::takeOON((#C2<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
self::takeOOO((#C2<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
- self::takeIII(new self::C::•().{self::C::m}<core::int*>);
- self::takeDDD(new self::C::•().{self::C::m}<core::double*>);
- self::takeNNN(new self::C::•().{self::C::m}<core::num*>);
- self::takeIDN(new self::C::•().{self::C::m}<core::num*>);
- self::takeDIN(new self::C::•().{self::C::m}<core::num*>);
- self::takeIIN(new self::C::•().{self::C::m}<core::int*>);
- self::takeDDN(new self::C::•().{self::C::m}<core::double*>);
- self::takeIIO(new self::C::•().{self::C::m}<core::int*>);
- self::takeDDO(new self::C::•().{self::C::m}<core::double*>);
- self::takeOON((new self::C::•().{self::C::m}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
- self::takeOOO((new self::C::•().{self::C::m}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
- self::takeOOI((new self::C::•().{self::C::m}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::int*);
+ self::takeIII(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::int*>);
+ self::takeDDD(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::double*>);
+ self::takeNNN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>);
+ self::takeIDN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>);
+ self::takeDIN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>);
+ self::takeIIN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::int*>);
+ self::takeDDN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::double*>);
+ self::takeIIO(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::int*>);
+ self::takeDDO(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::double*>);
+ self::takeOON((new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
+ self::takeOOO((new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
+ self::takeOOI((new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::int*);
self::takeIDI(let final Never* #t5 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart:86:29: Error: The argument type 'num Function(num, num)' can't be assigned to the parameter type 'int Function(double, int)'.
. /*@target=C.m*/ m);
- ^" in (new self::C::•().{self::C::m}<core::num*>) as{TypeError} (core::double*, core::int*) →* core::int*);
+ ^" in (new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>) as{TypeError} (core::double*, core::int*) →* core::int*);
self::takeDID(let final Never* #t6 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart:89:29: Error: The argument type 'num Function(num, num)' can't be assigned to the parameter type 'double Function(int, double)'.
. /*@target=C.m*/ m);
- ^" in (new self::C::•().{self::C::m}<core::num*>) as{TypeError} (core::int*, core::double*) →* core::double*);
+ ^" in (new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>) as{TypeError} (core::int*, core::double*) →* core::double*);
}
static method takeIII((core::int*, core::int*) →* core::int* fn) → void {}
static method takeDDD((core::double*, core::double*) →* core::double* fn) → void {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.transformed.expect
index 3783f0e..5857dad 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.transformed.expect
@@ -86,24 +86,24 @@
^" in (#C2<core::num*>) as{TypeError} (core::int*, core::double*) →* core::double*);
self::takeOON((#C2<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
self::takeOOO((#C2<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
- self::takeIII(new self::C::•().{self::C::m}<core::int*>);
- self::takeDDD(new self::C::•().{self::C::m}<core::double*>);
- self::takeNNN(new self::C::•().{self::C::m}<core::num*>);
- self::takeIDN(new self::C::•().{self::C::m}<core::num*>);
- self::takeDIN(new self::C::•().{self::C::m}<core::num*>);
- self::takeIIN(new self::C::•().{self::C::m}<core::int*>);
- self::takeDDN(new self::C::•().{self::C::m}<core::double*>);
- self::takeIIO(new self::C::•().{self::C::m}<core::int*>);
- self::takeDDO(new self::C::•().{self::C::m}<core::double*>);
- self::takeOON((new self::C::•().{self::C::m}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
- self::takeOOO((new self::C::•().{self::C::m}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
- self::takeOOI((new self::C::•().{self::C::m}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::int*);
+ self::takeIII(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::int*>);
+ self::takeDDD(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::double*>);
+ self::takeNNN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>);
+ self::takeIDN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>);
+ self::takeDIN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>);
+ self::takeIIN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::int*>);
+ self::takeDDN(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::double*>);
+ self::takeIIO(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::int*>);
+ self::takeDDO(new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::double*>);
+ self::takeOON((new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
+ self::takeOOO((new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::num*);
+ self::takeOOI((new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::Object*>) as{TypeError} (core::Object*, core::Object*) →* core::int*);
self::takeIDI(let final Never* #t5 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart:86:29: Error: The argument type 'num Function(num, num)' can't be assigned to the parameter type 'int Function(double, int)'.
. /*@target=C.m*/ m);
- ^" in (new self::C::•().{self::C::m}<core::num*>) as{TypeError} (core::double*, core::int*) →* core::int*);
+ ^" in (new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>) as{TypeError} (core::double*, core::int*) →* core::int*);
self::takeDID(let final Never* #t6 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart:89:29: Error: The argument type 'num Function(num, num)' can't be assigned to the parameter type 'double Function(int, double)'.
. /*@target=C.m*/ m);
- ^" in (new self::C::•().{self::C::m}<core::num*>) as{TypeError} (core::int*, core::double*) →* core::double*);
+ ^" in (new self::C::•().{self::C::m}{<T extends core::num*>(T*, T*) →* T*}<core::num*>) as{TypeError} (core::int*, core::double*) →* core::double*);
}
static method takeIII((core::int*, core::int*) →* core::int* fn) → void {}
static method takeDDD((core::double*, core::double*) →* core::double* fn) → void {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.expect
index 3d4db6d..530ec6a 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.expect
@@ -27,6 +27,6 @@
return x;
}
static method main() → dynamic {
- core::int* y = new self::D::•().{self::D::m}<core::int*>(42);
+ core::int* y = new self::D::•().{self::D::m}<core::int*>(42){(core::int*) →* core::int*};
core::print(y);
}
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.transformed.expect
index 3d4db6d..530ec6a 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.transformed.expect
@@ -27,6 +27,6 @@
return x;
}
static method main() → dynamic {
- core::int* y = new self::D::•().{self::D::m}<core::int*>(42);
+ core::int* y = new self::D::•().{self::D::m}<core::int*>(42){(core::int*) →* core::int*};
core::print(y);
}
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.expect
index 7ee3084..fedd32d 100644
--- a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.expect
@@ -13,6 +13,6 @@
core::List<core::String*>* y;
core::Iterable<core::String*>* x = y.{core::Iterable::map}<core::String*>((core::String* z) → core::String* => let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_inference_error.dart:13:11: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
1.0);
- ^" in 1.0 as{TypeError} core::String*);
+ ^" in 1.0 as{TypeError} core::String*){((core::String*) →* core::String*) →* core::Iterable<core::String*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.transformed.expect
index 7ee3084..fedd32d 100644
--- a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.transformed.expect
@@ -13,6 +13,6 @@
core::List<core::String*>* y;
core::Iterable<core::String*>* x = y.{core::Iterable::map}<core::String*>((core::String* z) → core::String* => let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_inference_error.dart:13:11: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
1.0);
- ^" in 1.0 as{TypeError} core::String*);
+ ^" in 1.0 as{TypeError} core::String*){((core::String*) →* core::String*) →* core::Iterable<core::String*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.expect
index 6523782..860faf4 100644
--- a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.expect
@@ -20,16 +20,16 @@
static method make(core::int* x) → asy::Future<core::int*>*
return asy::Future::•<core::int*>(() → core::int* => x);
static method test() → dynamic {
- core::Iterable<asy::Future<core::int*>*>* list = <core::int*>[1, 2, 3].{core::Iterable::map}<asy::Future<core::int*>*>(#C1);
+ core::Iterable<asy::Future<core::int*>*>* list = <core::int*>[1, 2, 3].{core::Iterable::map}<asy::Future<core::int*>*>(#C1){((core::int*) →* asy::Future<core::int*>*) →* core::Iterable<asy::Future<core::int*>*>*};
asy::Future<core::List<core::int*>*>* results = asy::Future::wait<core::int*>(list);
asy::Future<core::String*>* results2 = results.{asy::Future::then}<core::String*>((core::List<core::int*>* list) → FutureOr<core::String*>* => list.{core::Iterable::fold}<FutureOr<core::String*>*>("", (FutureOr<core::String*>* x, core::int* y) → FutureOr<core::String*>* => invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:23:123: Error: The operator '+' isn't defined for the class 'FutureOr<String>'.
Try correcting the operator to an existing operator, or defining a '+' operator.
/*@ type=int* */ y) => /*info:DYNAMIC_CAST,info:DYNAMIC_INVOKE*/ x /*error:UNDEFINED_OPERATOR*/ +
- ^" as{TypeError,ForDynamic} FutureOr<core::String*>*));
+ ^" as{TypeError,ForDynamic} FutureOr<core::String*>*){(FutureOr<core::String*>*, (FutureOr<core::String*>*, core::int*) →* FutureOr<core::String*>*) →* FutureOr<core::String*>*}){((core::List<core::int*>*) →* FutureOr<core::String*>*, {onError: core::Function*}) →* asy::Future<core::String*>*};
asy::Future<core::String*>* results3 = results.{asy::Future::then}<core::String*>((core::List<core::int*>* list) → FutureOr<core::String*>* => list.{core::Iterable::fold}<FutureOr<core::String*>*>("", let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:31:111: Error: The argument type 'String Function(String, int)' can't be assigned to the parameter type 'FutureOr<String> Function(FutureOr<String>, int)'.
/*info:INFERRED_TYPE_CLOSURE,error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ /*@ returnType=String* */ (String
- ^" in ((core::String* x, core::int* y) → core::String* => x.{core::String::+}(y.{core::int::toString}())) as{TypeError} (FutureOr<core::String*>*, core::int*) →* FutureOr<core::String*>*));
- asy::Future<core::String*>* results4 = results.{asy::Future::then}<core::String*>((core::List<core::int*>* list) → core::String* => list.{core::Iterable::fold}<core::String*>("", (core::String* x, core::int* y) → core::String* => x.{core::String::+}(y.{core::int::toString}())));
+ ^" in ((core::String* x, core::int* y) → core::String* => x.{core::String::+}(y.{core::int::toString}(){() →* core::String*}){(core::String*) →* core::String*}) as{TypeError} (FutureOr<core::String*>*, core::int*) →* FutureOr<core::String*>*){(FutureOr<core::String*>*, (FutureOr<core::String*>*, core::int*) →* FutureOr<core::String*>*) →* FutureOr<core::String*>*}){((core::List<core::int*>*) →* FutureOr<core::String*>*, {onError: core::Function*}) →* asy::Future<core::String*>*};
+ asy::Future<core::String*>* results4 = results.{asy::Future::then}<core::String*>((core::List<core::int*>* list) → core::String* => list.{core::Iterable::fold}<core::String*>("", (core::String* x, core::int* y) → core::String* => x.{core::String::+}(y.{core::int::toString}(){() →* core::String*}){(core::String*) →* core::String*}){(core::String*, (core::String*, core::int*) →* core::String*) →* core::String*}){((core::List<core::int*>*) →* FutureOr<core::String*>*, {onError: core::Function*}) →* asy::Future<core::String*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.transformed.expect
index c25406f..99dc822 100644
--- a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.transformed.expect
@@ -20,16 +20,16 @@
static method make(core::int* x) → asy::Future<core::int*>*
return asy::Future::•<core::int*>(() → core::int* => x);
static method test() → dynamic {
- core::Iterable<asy::Future<core::int*>*>* list = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::map}<asy::Future<core::int*>*>(#C1);
+ core::Iterable<asy::Future<core::int*>*>* list = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::map}<asy::Future<core::int*>*>(#C1){((core::int*) →* asy::Future<core::int*>*) →* core::Iterable<asy::Future<core::int*>*>*};
asy::Future<core::List<core::int*>*>* results = asy::Future::wait<core::int*>(list);
asy::Future<core::String*>* results2 = results.{asy::Future::then}<core::String*>((core::List<core::int*>* list) → FutureOr<core::String*>* => list.{core::Iterable::fold}<FutureOr<core::String*>*>("", (FutureOr<core::String*>* x, core::int* y) → FutureOr<core::String*>* => invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:23:123: Error: The operator '+' isn't defined for the class 'FutureOr<String>'.
Try correcting the operator to an existing operator, or defining a '+' operator.
/*@ type=int* */ y) => /*info:DYNAMIC_CAST,info:DYNAMIC_INVOKE*/ x /*error:UNDEFINED_OPERATOR*/ +
- ^"));
+ ^"){(FutureOr<core::String*>*, (FutureOr<core::String*>*, core::int*) →* FutureOr<core::String*>*) →* FutureOr<core::String*>*}){((core::List<core::int*>*) →* FutureOr<core::String*>*, {onError: core::Function*}) →* asy::Future<core::String*>*};
asy::Future<core::String*>* results3 = results.{asy::Future::then}<core::String*>((core::List<core::int*>* list) → FutureOr<core::String*>* => list.{core::Iterable::fold}<FutureOr<core::String*>*>("", let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:31:111: Error: The argument type 'String Function(String, int)' can't be assigned to the parameter type 'FutureOr<String> Function(FutureOr<String>, int)'.
/*info:INFERRED_TYPE_CLOSURE,error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ /*@ returnType=String* */ (String
- ^" in ((core::String* x, core::int* y) → core::String* => x.{core::String::+}(y.{core::int::toString}())) as{TypeError} (FutureOr<core::String*>*, core::int*) →* FutureOr<core::String*>*));
- asy::Future<core::String*>* results4 = results.{asy::Future::then}<core::String*>((core::List<core::int*>* list) → core::String* => list.{core::Iterable::fold}<core::String*>("", (core::String* x, core::int* y) → core::String* => x.{core::String::+}(y.{core::int::toString}())));
+ ^" in ((core::String* x, core::int* y) → core::String* => x.{core::String::+}(y.{core::int::toString}(){() →* core::String*}){(core::String*) →* core::String*}) as{TypeError} (FutureOr<core::String*>*, core::int*) →* FutureOr<core::String*>*){(FutureOr<core::String*>*, (FutureOr<core::String*>*, core::int*) →* FutureOr<core::String*>*) →* FutureOr<core::String*>*}){((core::List<core::int*>*) →* FutureOr<core::String*>*, {onError: core::Function*}) →* asy::Future<core::String*>*};
+ asy::Future<core::String*>* results4 = results.{asy::Future::then}<core::String*>((core::List<core::int*>* list) → core::String* => list.{core::Iterable::fold}<core::String*>("", (core::String* x, core::int* y) → core::String* => x.{core::String::+}(y.{core::int::toString}(){() →* core::String*}){(core::String*) →* core::String*}){(core::String*, (core::String*, core::int*) →* core::String*) →* core::String*}){((core::List<core::int*>*) →* FutureOr<core::String*>*, {onError: core::Function*}) →* asy::Future<core::String*>*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.expect
index 76dfdff..34108a8 100644
--- a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.expect
@@ -39,8 +39,8 @@
static method main() → dynamic {
core::List<self::Trace*>* traces = <self::Trace*>[];
core::int* longest = traces.{core::Iterable::map}<core::int*>((self::Trace* trace) → core::int* {
- return trace.{self::Trace::frames}.{core::Iterable::map}<core::int*>((self::Frame* frame) → core::int* => frame.{self::Frame::location}.{core::String::length}).{core::Iterable::fold}<core::int*>(0, #C1<core::int*>);
- }).{core::Iterable::fold}<core::int*>(0, #C1<core::int*>);
+ return trace.{self::Trace::frames}{core::List<self::Frame*>*}.{core::Iterable::map}<core::int*>((self::Frame* frame) → core::int* => frame.{self::Frame::location}{core::String*}.{core::String::length}{core::int*}){((self::Frame*) →* core::int*) →* core::Iterable<core::int*>*}.{core::Iterable::fold}<core::int*>(0, #C1<core::int*>){(core::int*, (core::int*, core::int*) →* core::int*) →* core::int*};
+ }){((self::Trace*) →* core::int*) →* core::Iterable<core::int*>*}.{core::Iterable::fold}<core::int*>(0, #C1<core::int*>){(core::int*, (core::int*, core::int*) →* core::int*) →* core::int*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.transformed.expect
index 944df3a..947bd81 100644
--- a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.transformed.expect
@@ -39,8 +39,8 @@
static method main() → dynamic {
core::List<self::Trace*>* traces = core::_GrowableList::•<self::Trace*>(0);
core::int* longest = traces.{core::Iterable::map}<core::int*>((self::Trace* trace) → core::int* {
- return trace.{self::Trace::frames}.{core::Iterable::map}<core::int*>((self::Frame* frame) → core::int* => frame.{self::Frame::location}.{core::String::length}).{core::Iterable::fold}<core::int*>(0, #C1<core::int*>);
- }).{core::Iterable::fold}<core::int*>(0, #C1<core::int*>);
+ return trace.{self::Trace::frames}{core::List<self::Frame*>*}.{core::Iterable::map}<core::int*>((self::Frame* frame) → core::int* => frame.{self::Frame::location}{core::String*}.{core::String::length}{core::int*}){((self::Frame*) →* core::int*) →* core::Iterable<core::int*>*}.{core::Iterable::fold}<core::int*>(0, #C1<core::int*>){(core::int*, (core::int*, core::int*) →* core::int*) →* core::int*};
+ }){((self::Trace*) →* core::int*) →* core::Iterable<core::int*>*}.{core::Iterable::fold}<core::int*>(0, #C1<core::int*>){(core::int*, (core::int*, core::int*) →* core::int*) →* core::int*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.expect
index f3664a9..5f6e2e6 100644
--- a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method sort([(self::C::E*, self::C::E*) →* core::int* compare = #C1]) → void {
- self::C::sort2<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t1 = compare in #t1.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t1);
+ self::C::sort2<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t1 = compare in #t1 == null ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t1);
}
static method _compareAny(dynamic a, dynamic b) → core::int* {
throw "unimplemented";
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.transformed.expect
index f3664a9..5f6e2e6 100644
--- a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method sort([(self::C::E*, self::C::E*) →* core::int* compare = #C1]) → void {
- self::C::sort2<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t1 = compare in #t1.{core::Object::==}(null) ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t1);
+ self::C::sort2<self::C::E*>(this, let final (self::C::E*, self::C::E*) →* core::int* #t1 = compare in #t1 == null ?{(self::C::E*, self::C::E*) →* core::int*} #C2 : #t1);
}
static method _compareAny(dynamic a, dynamic b) → core::int* {
throw "unimplemented";
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.expect
index a36e492..43a39ef 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.expect
@@ -42,19 +42,19 @@
;
method test() → void {
this.{self::Test::member} = self::f<self::B*>();
- this.{self::Test::member}.{self::A::==}(null) ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : null;
- this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
- this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
+ this.{self::Test::member}{self::B*} == null ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : null;
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = this.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = this.{self::Test::member} in #t1.{self::A::==}(null) ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : #t1;
- self::A* v3 = this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = this.{self::Test::member} in let final self::B* #t3 = this.{self::Test::member} = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = this.{self::Test::member}{self::B*} in #t1 == null ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : #t1;
+ self::A* v3 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = this.{self::Test::member}{self::B*} in let final self::B* #t3 = this.{self::Test::member} = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.transformed.expect
index a36e492..43a39ef 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.transformed.expect
@@ -42,19 +42,19 @@
;
method test() → void {
this.{self::Test::member} = self::f<self::B*>();
- this.{self::Test::member}.{self::A::==}(null) ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : null;
- this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
- this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
+ this.{self::Test::member}{self::B*} == null ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : null;
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = this.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = this.{self::Test::member} in #t1.{self::A::==}(null) ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : #t1;
- self::A* v3 = this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = this.{self::Test::member} in let final self::B* #t3 = this.{self::Test::member} = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = this.{self::Test::member}{self::B*} in #t1 == null ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : #t1;
+ self::A* v3 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = this.{self::Test::member}{self::B*} in let final self::B* #t3 = this.{self::Test::member} = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.expect
index 0ae22f6..af067f3 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.expect
@@ -9,10 +9,10 @@
;
method test() → void {
core::int* v1 = this.{self::Test1::t} = self::getInt();
- core::int* v4 = let final core::int* #t1 = this.{self::Test1::t} in #t1.{core::num::==}(null) ?{core::int*} this.{self::Test1::t} = self::getInt() : #t1;
- core::int* v7 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(self::getInt());
- core::int* v10 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(1);
- core::int* v11 = let final core::int* #t2 = this.{self::Test1::t} in let final core::int* #t3 = this.{self::Test1::t} = #t2.{core::num::+}(1) in #t2;
+ core::int* v4 = let final core::int* #t1 = this.{self::Test1::t}{core::int*} in #t1 == null ?{core::int*} this.{self::Test1::t} = self::getInt() : #t1;
+ core::int* v7 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t2 = this.{self::Test1::t}{core::int*} in let final core::int* #t3 = this.{self::Test1::t} = #t2.{core::num::+}(1){(core::num*) →* core::int*} in #t2;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -34,14 +34,14 @@
core::int* v1 = this.{self::Test2::t} = self::getInt();
core::num* v2 = this.{self::Test2::t} = self::getNum();
core::double* v3 = this.{self::Test2::t} = self::getDouble();
- core::num* v4 = let final core::num* #t4 = this.{self::Test2::t} in #t4.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getInt() : #t4;
- core::num* v5 = let final core::num* #t5 = this.{self::Test2::t} in #t5.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getNum() : #t5;
- core::num* v6 = let final core::num* #t6 = this.{self::Test2::t} in #t6.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getDouble() : #t6;
- core::num* v7 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getInt());
- core::num* v8 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getNum());
- core::num* v9 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getDouble());
- core::num* v10 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(1);
- core::num* v11 = let final core::num* #t7 = this.{self::Test2::t} in let final core::num* #t8 = this.{self::Test2::t} = #t7.{core::num::+}(1) in #t7;
+ core::num* v4 = let final core::num* #t4 = this.{self::Test2::t}{core::num*} in #t4 == null ?{core::num*} this.{self::Test2::t} = self::getInt() : #t4;
+ core::num* v5 = let final core::num* #t5 = this.{self::Test2::t}{core::num*} in #t5 == null ?{core::num*} this.{self::Test2::t} = self::getNum() : #t5;
+ core::num* v6 = let final core::num* #t6 = this.{self::Test2::t}{core::num*} in #t6 == null ?{core::num*} this.{self::Test2::t} = self::getDouble() : #t6;
+ core::num* v7 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t7 = this.{self::Test2::t}{core::num*} in let final core::num* #t8 = this.{self::Test2::t} = #t7.{core::num::+}(1){(core::num*) →* core::num*} in #t7;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -61,12 +61,12 @@
;
method test3() → void {
core::double* v3 = this.{self::Test3::t} = self::getDouble();
- core::double* v6 = let final core::double* #t9 = this.{self::Test3::t} in #t9.{core::num::==}(null) ?{core::double*} this.{self::Test3::t} = self::getDouble() : #t9;
- core::double* v7 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getInt());
- core::double* v8 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getNum());
- core::double* v9 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getDouble());
- core::double* v10 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(1);
- core::double* v11 = let final core::double* #t10 = this.{self::Test3::t} in let final core::double* #t11 = this.{self::Test3::t} = #t10.{core::double::+}(1) in #t10;
+ core::double* v6 = let final core::double* #t9 = this.{self::Test3::t}{core::double*} in #t9 == null ?{core::double*} this.{self::Test3::t} = self::getDouble() : #t9;
+ core::double* v7 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t10 = this.{self::Test3::t}{core::double*} in let final core::double* #t11 = this.{self::Test3::t} = #t10.{core::double::+}(1){(core::num*) →* core::double*} in #t10;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
index 0ae22f6..af067f3 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
@@ -9,10 +9,10 @@
;
method test() → void {
core::int* v1 = this.{self::Test1::t} = self::getInt();
- core::int* v4 = let final core::int* #t1 = this.{self::Test1::t} in #t1.{core::num::==}(null) ?{core::int*} this.{self::Test1::t} = self::getInt() : #t1;
- core::int* v7 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(self::getInt());
- core::int* v10 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(1);
- core::int* v11 = let final core::int* #t2 = this.{self::Test1::t} in let final core::int* #t3 = this.{self::Test1::t} = #t2.{core::num::+}(1) in #t2;
+ core::int* v4 = let final core::int* #t1 = this.{self::Test1::t}{core::int*} in #t1 == null ?{core::int*} this.{self::Test1::t} = self::getInt() : #t1;
+ core::int* v7 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t2 = this.{self::Test1::t}{core::int*} in let final core::int* #t3 = this.{self::Test1::t} = #t2.{core::num::+}(1){(core::num*) →* core::int*} in #t2;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -34,14 +34,14 @@
core::int* v1 = this.{self::Test2::t} = self::getInt();
core::num* v2 = this.{self::Test2::t} = self::getNum();
core::double* v3 = this.{self::Test2::t} = self::getDouble();
- core::num* v4 = let final core::num* #t4 = this.{self::Test2::t} in #t4.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getInt() : #t4;
- core::num* v5 = let final core::num* #t5 = this.{self::Test2::t} in #t5.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getNum() : #t5;
- core::num* v6 = let final core::num* #t6 = this.{self::Test2::t} in #t6.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getDouble() : #t6;
- core::num* v7 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getInt());
- core::num* v8 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getNum());
- core::num* v9 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getDouble());
- core::num* v10 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(1);
- core::num* v11 = let final core::num* #t7 = this.{self::Test2::t} in let final core::num* #t8 = this.{self::Test2::t} = #t7.{core::num::+}(1) in #t7;
+ core::num* v4 = let final core::num* #t4 = this.{self::Test2::t}{core::num*} in #t4 == null ?{core::num*} this.{self::Test2::t} = self::getInt() : #t4;
+ core::num* v5 = let final core::num* #t5 = this.{self::Test2::t}{core::num*} in #t5 == null ?{core::num*} this.{self::Test2::t} = self::getNum() : #t5;
+ core::num* v6 = let final core::num* #t6 = this.{self::Test2::t}{core::num*} in #t6 == null ?{core::num*} this.{self::Test2::t} = self::getDouble() : #t6;
+ core::num* v7 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t7 = this.{self::Test2::t}{core::num*} in let final core::num* #t8 = this.{self::Test2::t} = #t7.{core::num::+}(1){(core::num*) →* core::num*} in #t7;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -61,12 +61,12 @@
;
method test3() → void {
core::double* v3 = this.{self::Test3::t} = self::getDouble();
- core::double* v6 = let final core::double* #t9 = this.{self::Test3::t} in #t9.{core::num::==}(null) ?{core::double*} this.{self::Test3::t} = self::getDouble() : #t9;
- core::double* v7 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getInt());
- core::double* v8 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getNum());
- core::double* v9 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getDouble());
- core::double* v10 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(1);
- core::double* v11 = let final core::double* #t10 = this.{self::Test3::t} in let final core::double* #t11 = this.{self::Test3::t} = #t10.{core::double::+}(1) in #t10;
+ core::double* v6 = let final core::double* #t9 = this.{self::Test3::t}{core::double*} in #t9 == null ?{core::double*} this.{self::Test3::t} = self::getDouble() : #t9;
+ core::double* v7 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t10 = this.{self::Test3::t}{core::double*} in let final core::double* #t11 = this.{self::Test3::t} = #t10.{core::double::+}(1){(core::num*) →* core::double*} in #t10;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.expect
index b9de2fb..446a6ee 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.expect
@@ -59,21 +59,21 @@
operator []=(self::Index* i, self::B* v) → void {}
method test() → void {
self::Test* t = self::f<self::Test*>();
- t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2).{self::A::==}(null) ?{self::B*} #t1.{self::Test::[]=}(#t2, self::f<self::B*>()) : null;
- let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6).{self::B::*}(self::f<self::B*>()));
- let final self::Test* #t7 = t in let final self::Index* #t8 = self::f<self::Index*>() in #t7.{self::Test::[]=}(#t8, #t7.{self::Test::[]}(#t8).{self::B::&}(self::f<self::A*>()));
- t.{self::Test::[]}(self::f<self::Index*>());
- let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in let final self::B* #t11 = #t9.{self::Test::[]}(#t10).{self::B::-}(1) in let final void #t12 = #t9.{self::Test::[]=}(#t10, #t11) in #t11;
- let final self::Test* #t13 = t in let final self::Index* #t14 = self::f<self::Index*>() in #t13.{self::Test::[]=}(#t14, #t13.{self::Test::[]}(#t14).{self::B::-}(1));
- self::B* v1 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = self::f<self::B*>() in let final void #t18 = #t15.{self::Test::[]=}(#t16, #t17) in #t17;
- self::B* v2 = let final self::Test* #t19 = t in let final self::Index* #t20 = self::f<self::Index*>() in let final self::B* #t21 = #t19.{self::Test::[]}(#t20) in #t21.{self::A::==}(null) ?{self::B*} let final self::B* #t22 = self::f<self::B*>() in let final void #t23 = #t19.{self::Test::[]=}(#t20, #t22) in #t22 : #t21;
- self::B* v4 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = #t24.{self::Test::[]}(#t25).{self::B::*}(self::f<self::B*>()) in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26) in #t26;
- self::C* v5 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::C* #t30 = #t28.{self::Test::[]}(#t29).{self::B::&}(self::f<self::A*>()) in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30) in #t30;
- self::B* v6 = t.{self::Test::[]}(self::f<self::Index*>());
- self::B* v7 = let final self::Test* #t32 = t in let final self::Index* #t33 = self::f<self::Index*>() in let final self::B* #t34 = #t32.{self::Test::[]}(#t33).{self::B::-}(1) in let final void #t35 = #t32.{self::Test::[]=}(#t33, #t34) in #t34;
- self::B* v8 = let final self::Test* #t36 = t in let final self::Index* #t37 = self::f<self::Index*>() in let final self::B* #t38 = #t36.{self::Test::[]}(#t37) in let final void #t39 = #t36.{self::Test::[]=}(#t37, #t38.{self::B::-}(1)) in #t38;
+ t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>()){(self::Index*, self::B*) →* void};
+ let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2){(self::Index*) →* self::B*} == null ?{self::B*} #t1.{self::Test::[]=}(#t2, self::f<self::B*>()){(self::Index*, self::B*) →* void} : null;
+ let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*){(self::Index*, self::B*) →* void};
+ let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*}){(self::Index*, self::B*) →* void};
+ let final self::Test* #t7 = t in let final self::Index* #t8 = self::f<self::Index*>() in #t7.{self::Test::[]=}(#t8, #t7.{self::Test::[]}(#t8){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*}){(self::Index*, self::B*) →* void};
+ t.{self::Test::[]}(self::f<self::Index*>()){(self::Index*) →* self::B*};
+ let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in let final self::B* #t11 = #t9.{self::Test::[]}(#t10){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t12 = #t9.{self::Test::[]=}(#t10, #t11){(self::Index*, self::B*) →* void} in #t11;
+ let final self::Test* #t13 = t in let final self::Index* #t14 = self::f<self::Index*>() in #t13.{self::Test::[]=}(#t14, #t13.{self::Test::[]}(#t14){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void};
+ self::B* v1 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = self::f<self::B*>() in let final void #t18 = #t15.{self::Test::[]=}(#t16, #t17){(self::Index*, self::B*) →* void} in #t17;
+ self::B* v2 = let final self::Test* #t19 = t in let final self::Index* #t20 = self::f<self::Index*>() in let final self::B* #t21 = #t19.{self::Test::[]}(#t20){(self::Index*) →* self::B*} in #t21 == null ?{self::B*} let final self::B* #t22 = self::f<self::B*>() in let final void #t23 = #t19.{self::Test::[]=}(#t20, #t22){(self::Index*, self::B*) →* void} in #t22 : #t21;
+ self::B* v4 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = #t24.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26){(self::Index*, self::B*) →* void} in #t26;
+ self::C* v5 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::C* #t30 = #t28.{self::Test::[]}(#t29){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30){(self::Index*, self::B*) →* void} in #t30;
+ self::B* v6 = t.{self::Test::[]}(self::f<self::Index*>()){(self::Index*) →* self::B*};
+ self::B* v7 = let final self::Test* #t32 = t in let final self::Index* #t33 = self::f<self::Index*>() in let final self::B* #t34 = #t32.{self::Test::[]}(#t33){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t35 = #t32.{self::Test::[]=}(#t33, #t34){(self::Index*, self::B*) →* void} in #t34;
+ self::B* v8 = let final self::Test* #t36 = t in let final self::Index* #t37 = self::f<self::Index*>() in let final self::B* #t38 = #t36.{self::Test::[]}(#t37){(self::Index*) →* self::B*} in let final void #t39 = #t36.{self::Test::[]=}(#t37, #t38.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void} in #t38;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.transformed.expect
index b9de2fb..446a6ee 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.transformed.expect
@@ -59,21 +59,21 @@
operator []=(self::Index* i, self::B* v) → void {}
method test() → void {
self::Test* t = self::f<self::Test*>();
- t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2).{self::A::==}(null) ?{self::B*} #t1.{self::Test::[]=}(#t2, self::f<self::B*>()) : null;
- let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6).{self::B::*}(self::f<self::B*>()));
- let final self::Test* #t7 = t in let final self::Index* #t8 = self::f<self::Index*>() in #t7.{self::Test::[]=}(#t8, #t7.{self::Test::[]}(#t8).{self::B::&}(self::f<self::A*>()));
- t.{self::Test::[]}(self::f<self::Index*>());
- let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in let final self::B* #t11 = #t9.{self::Test::[]}(#t10).{self::B::-}(1) in let final void #t12 = #t9.{self::Test::[]=}(#t10, #t11) in #t11;
- let final self::Test* #t13 = t in let final self::Index* #t14 = self::f<self::Index*>() in #t13.{self::Test::[]=}(#t14, #t13.{self::Test::[]}(#t14).{self::B::-}(1));
- self::B* v1 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = self::f<self::B*>() in let final void #t18 = #t15.{self::Test::[]=}(#t16, #t17) in #t17;
- self::B* v2 = let final self::Test* #t19 = t in let final self::Index* #t20 = self::f<self::Index*>() in let final self::B* #t21 = #t19.{self::Test::[]}(#t20) in #t21.{self::A::==}(null) ?{self::B*} let final self::B* #t22 = self::f<self::B*>() in let final void #t23 = #t19.{self::Test::[]=}(#t20, #t22) in #t22 : #t21;
- self::B* v4 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = #t24.{self::Test::[]}(#t25).{self::B::*}(self::f<self::B*>()) in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26) in #t26;
- self::C* v5 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::C* #t30 = #t28.{self::Test::[]}(#t29).{self::B::&}(self::f<self::A*>()) in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30) in #t30;
- self::B* v6 = t.{self::Test::[]}(self::f<self::Index*>());
- self::B* v7 = let final self::Test* #t32 = t in let final self::Index* #t33 = self::f<self::Index*>() in let final self::B* #t34 = #t32.{self::Test::[]}(#t33).{self::B::-}(1) in let final void #t35 = #t32.{self::Test::[]=}(#t33, #t34) in #t34;
- self::B* v8 = let final self::Test* #t36 = t in let final self::Index* #t37 = self::f<self::Index*>() in let final self::B* #t38 = #t36.{self::Test::[]}(#t37) in let final void #t39 = #t36.{self::Test::[]=}(#t37, #t38.{self::B::-}(1)) in #t38;
+ t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>()){(self::Index*, self::B*) →* void};
+ let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2){(self::Index*) →* self::B*} == null ?{self::B*} #t1.{self::Test::[]=}(#t2, self::f<self::B*>()){(self::Index*, self::B*) →* void} : null;
+ let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*){(self::Index*, self::B*) →* void};
+ let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*}){(self::Index*, self::B*) →* void};
+ let final self::Test* #t7 = t in let final self::Index* #t8 = self::f<self::Index*>() in #t7.{self::Test::[]=}(#t8, #t7.{self::Test::[]}(#t8){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*}){(self::Index*, self::B*) →* void};
+ t.{self::Test::[]}(self::f<self::Index*>()){(self::Index*) →* self::B*};
+ let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in let final self::B* #t11 = #t9.{self::Test::[]}(#t10){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t12 = #t9.{self::Test::[]=}(#t10, #t11){(self::Index*, self::B*) →* void} in #t11;
+ let final self::Test* #t13 = t in let final self::Index* #t14 = self::f<self::Index*>() in #t13.{self::Test::[]=}(#t14, #t13.{self::Test::[]}(#t14){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void};
+ self::B* v1 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = self::f<self::B*>() in let final void #t18 = #t15.{self::Test::[]=}(#t16, #t17){(self::Index*, self::B*) →* void} in #t17;
+ self::B* v2 = let final self::Test* #t19 = t in let final self::Index* #t20 = self::f<self::Index*>() in let final self::B* #t21 = #t19.{self::Test::[]}(#t20){(self::Index*) →* self::B*} in #t21 == null ?{self::B*} let final self::B* #t22 = self::f<self::B*>() in let final void #t23 = #t19.{self::Test::[]=}(#t20, #t22){(self::Index*, self::B*) →* void} in #t22 : #t21;
+ self::B* v4 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = #t24.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26){(self::Index*, self::B*) →* void} in #t26;
+ self::C* v5 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::C* #t30 = #t28.{self::Test::[]}(#t29){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30){(self::Index*, self::B*) →* void} in #t30;
+ self::B* v6 = t.{self::Test::[]}(self::f<self::Index*>()){(self::Index*) →* self::B*};
+ self::B* v7 = let final self::Test* #t32 = t in let final self::Index* #t33 = self::f<self::Index*>() in let final self::B* #t34 = #t32.{self::Test::[]}(#t33){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t35 = #t32.{self::Test::[]=}(#t33, #t34){(self::Index*, self::B*) →* void} in #t34;
+ self::B* v8 = let final self::Test* #t36 = t in let final self::Index* #t37 = self::f<self::Index*>() in let final self::B* #t38 = #t36.{self::Test::[]}(#t37){(self::Index*) →* self::B*} in let final void #t39 = #t36.{self::Test::[]=}(#t37, #t38.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void} in #t38;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.expect
index 96b0328..3a7a814 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.expect
@@ -74,19 +74,19 @@
;
method test() → void {
super.{self::Base::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Index* #t1 = self::f<self::Index*>() in super.{self::Base::[]}(#t1).{self::A::==}(null) ?{self::B*} super.{self::Base::[]=}(#t1, self::f<self::B*>()) : null;
- let final self::Index* #t2 = self::f<self::Index*>() in super.{self::Base::[]=}(#t2, super.{self::Base::[]}(#t2).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Index* #t3 = self::f<self::Index*>() in super.{self::Base::[]=}(#t3, super.{self::Base::[]}(#t3).{self::B::*}(self::f<self::B*>()));
- let final self::Index* #t4 = self::f<self::Index*>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).{self::B::&}(self::f<self::A*>()));
- let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = super.{self::Base::[]}(#t5).{self::B::-}(1) in let final void #t7 = super.{self::Base::[]=}(#t5, #t6) in #t6;
- let final self::Index* #t8 = self::f<self::Index*>() in super.{self::Base::[]=}(#t8, super.{self::Base::[]}(#t8).{self::B::-}(1));
+ let final self::Index* #t1 = self::f<self::Index*>() in super.{self::Base::[]}(#t1) == null ?{self::B*} super.{self::Base::[]=}(#t1, self::f<self::B*>()) : null;
+ let final self::Index* #t2 = self::f<self::Index*>() in super.{self::Base::[]=}(#t2, super.{self::Base::[]}(#t2).{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*);
+ let final self::Index* #t3 = self::f<self::Index*>() in super.{self::Base::[]=}(#t3, super.{self::Base::[]}(#t3).{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*});
+ let final self::Index* #t4 = self::f<self::Index*>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*});
+ let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = super.{self::Base::[]}(#t5).{self::B::-}(1){(core::int*) →* self::B*} in let final void #t7 = super.{self::Base::[]=}(#t5, #t6) in #t6;
+ let final self::Index* #t8 = self::f<self::Index*>() in super.{self::Base::[]=}(#t8, super.{self::Base::[]}(#t8).{self::B::-}(1){(core::int*) →* self::B*});
self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = super.{self::Base::[]=}(#t9, #t10) in #t10;
- self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = super.{self::Base::[]}(#t12) in #t13.{self::A::==}(null) ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = super.{self::Base::[]=}(#t12, #t14) in #t14 : #t13;
- self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = super.{self::Base::[]}(#t16).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t18 = super.{self::Base::[]=}(#t16, #t17) in #t17;
- self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = super.{self::Base::[]}(#t19).{self::B::*}(self::f<self::B*>()) in let final void #t21 = super.{self::Base::[]=}(#t19, #t20) in #t20;
- self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = super.{self::Base::[]}(#t22).{self::B::&}(self::f<self::A*>()) in let final void #t24 = super.{self::Base::[]=}(#t22, #t23) in #t23;
- self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = super.{self::Base::[]}(#t25).{self::B::-}(1) in let final void #t27 = super.{self::Base::[]=}(#t25, #t26) in #t26;
- self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = super.{self::Base::[]}(#t28) in let final void #t30 = super.{self::Base::[]=}(#t28, #t29.{self::B::-}(1)) in #t29;
+ self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = super.{self::Base::[]}(#t12) in #t13 == null ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = super.{self::Base::[]=}(#t12, #t14) in #t14 : #t13;
+ self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = super.{self::Base::[]}(#t16).{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t18 = super.{self::Base::[]=}(#t16, #t17) in #t17;
+ self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = super.{self::Base::[]}(#t19).{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t21 = super.{self::Base::[]=}(#t19, #t20) in #t20;
+ self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = super.{self::Base::[]}(#t22).{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t24 = super.{self::Base::[]=}(#t22, #t23) in #t23;
+ self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = super.{self::Base::[]}(#t25).{self::B::-}(1){(core::int*) →* self::B*} in let final void #t27 = super.{self::Base::[]=}(#t25, #t26) in #t26;
+ self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = super.{self::Base::[]}(#t28) in let final void #t30 = super.{self::Base::[]=}(#t28, #t29.{self::B::-}(1){(core::int*) →* self::B*}) in #t29;
}
}
static method f<T extends core::Object* = dynamic>() → self::f::T*
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.transformed.expect
index 96b0328..3a7a814 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.transformed.expect
@@ -74,19 +74,19 @@
;
method test() → void {
super.{self::Base::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Index* #t1 = self::f<self::Index*>() in super.{self::Base::[]}(#t1).{self::A::==}(null) ?{self::B*} super.{self::Base::[]=}(#t1, self::f<self::B*>()) : null;
- let final self::Index* #t2 = self::f<self::Index*>() in super.{self::Base::[]=}(#t2, super.{self::Base::[]}(#t2).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Index* #t3 = self::f<self::Index*>() in super.{self::Base::[]=}(#t3, super.{self::Base::[]}(#t3).{self::B::*}(self::f<self::B*>()));
- let final self::Index* #t4 = self::f<self::Index*>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).{self::B::&}(self::f<self::A*>()));
- let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = super.{self::Base::[]}(#t5).{self::B::-}(1) in let final void #t7 = super.{self::Base::[]=}(#t5, #t6) in #t6;
- let final self::Index* #t8 = self::f<self::Index*>() in super.{self::Base::[]=}(#t8, super.{self::Base::[]}(#t8).{self::B::-}(1));
+ let final self::Index* #t1 = self::f<self::Index*>() in super.{self::Base::[]}(#t1) == null ?{self::B*} super.{self::Base::[]=}(#t1, self::f<self::B*>()) : null;
+ let final self::Index* #t2 = self::f<self::Index*>() in super.{self::Base::[]=}(#t2, super.{self::Base::[]}(#t2).{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*);
+ let final self::Index* #t3 = self::f<self::Index*>() in super.{self::Base::[]=}(#t3, super.{self::Base::[]}(#t3).{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*});
+ let final self::Index* #t4 = self::f<self::Index*>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*});
+ let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = super.{self::Base::[]}(#t5).{self::B::-}(1){(core::int*) →* self::B*} in let final void #t7 = super.{self::Base::[]=}(#t5, #t6) in #t6;
+ let final self::Index* #t8 = self::f<self::Index*>() in super.{self::Base::[]=}(#t8, super.{self::Base::[]}(#t8).{self::B::-}(1){(core::int*) →* self::B*});
self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = super.{self::Base::[]=}(#t9, #t10) in #t10;
- self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = super.{self::Base::[]}(#t12) in #t13.{self::A::==}(null) ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = super.{self::Base::[]=}(#t12, #t14) in #t14 : #t13;
- self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = super.{self::Base::[]}(#t16).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t18 = super.{self::Base::[]=}(#t16, #t17) in #t17;
- self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = super.{self::Base::[]}(#t19).{self::B::*}(self::f<self::B*>()) in let final void #t21 = super.{self::Base::[]=}(#t19, #t20) in #t20;
- self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = super.{self::Base::[]}(#t22).{self::B::&}(self::f<self::A*>()) in let final void #t24 = super.{self::Base::[]=}(#t22, #t23) in #t23;
- self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = super.{self::Base::[]}(#t25).{self::B::-}(1) in let final void #t27 = super.{self::Base::[]=}(#t25, #t26) in #t26;
- self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = super.{self::Base::[]}(#t28) in let final void #t30 = super.{self::Base::[]=}(#t28, #t29.{self::B::-}(1)) in #t29;
+ self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = super.{self::Base::[]}(#t12) in #t13 == null ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = super.{self::Base::[]=}(#t12, #t14) in #t14 : #t13;
+ self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = super.{self::Base::[]}(#t16).{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t18 = super.{self::Base::[]=}(#t16, #t17) in #t17;
+ self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = super.{self::Base::[]}(#t19).{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t21 = super.{self::Base::[]=}(#t19, #t20) in #t20;
+ self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = super.{self::Base::[]}(#t22).{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t24 = super.{self::Base::[]=}(#t22, #t23) in #t23;
+ self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = super.{self::Base::[]}(#t25).{self::B::-}(1){(core::int*) →* self::B*} in let final void #t27 = super.{self::Base::[]=}(#t25, #t26) in #t26;
+ self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = super.{self::Base::[]}(#t28) in let final void #t30 = super.{self::Base::[]=}(#t28, #t29.{self::B::-}(1){(core::int*) →* self::B*}) in #t29;
}
}
static method f<T extends core::Object* = dynamic>() → self::f::T*
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.expect
index 15bd0f2..d61e224 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.expect
@@ -58,20 +58,20 @@
return null;
operator []=(self::Index* i, self::B* v) → void {}
method test() → void {
- this.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Index* #t1 = self::f<self::Index*>() in this.{self::Test::[]}(#t1).{self::A::==}(null) ?{self::B*} this.{self::Test::[]=}(#t1, self::f<self::B*>()) : null;
- let final self::Index* #t2 = self::f<self::Index*>() in this.{self::Test::[]=}(#t2, this.{self::Test::[]}(#t2).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Index* #t3 = self::f<self::Index*>() in this.{self::Test::[]=}(#t3, this.{self::Test::[]}(#t3).{self::B::*}(self::f<self::B*>()));
- let final self::Index* #t4 = self::f<self::Index*>() in this.{self::Test::[]=}(#t4, this.{self::Test::[]}(#t4).{self::B::&}(self::f<self::A*>()));
- let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = this.{self::Test::[]}(#t5).{self::B::-}(1) in let final void #t7 = this.{self::Test::[]=}(#t5, #t6) in #t6;
- let final self::Index* #t8 = self::f<self::Index*>() in this.{self::Test::[]=}(#t8, this.{self::Test::[]}(#t8).{self::B::-}(1));
- self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = this.{self::Test::[]=}(#t9, #t10) in #t10;
- self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = this.{self::Test::[]}(#t12) in #t13.{self::A::==}(null) ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = this.{self::Test::[]=}(#t12, #t14) in #t14 : #t13;
- self::A* v4 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = this.{self::Test::[]}(#t16).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t18 = this.{self::Test::[]=}(#t16, #t17) in #t17;
- self::B* v3 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = this.{self::Test::[]}(#t19).{self::B::*}(self::f<self::B*>()) in let final void #t21 = this.{self::Test::[]=}(#t19, #t20) in #t20;
- self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = this.{self::Test::[]}(#t22).{self::B::&}(self::f<self::A*>()) in let final void #t24 = this.{self::Test::[]=}(#t22, #t23) in #t23;
- self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = this.{self::Test::[]}(#t25).{self::B::-}(1) in let final void #t27 = this.{self::Test::[]=}(#t25, #t26) in #t26;
- self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = this.{self::Test::[]}(#t28) in let final void #t30 = this.{self::Test::[]=}(#t28, #t29.{self::B::-}(1)) in #t29;
+ this.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>()){(self::Index*, self::B*) →* void};
+ let final self::Index* #t1 = self::f<self::Index*>() in this.{self::Test::[]}(#t1){(self::Index*) →* self::B*} == null ?{self::B*} this.{self::Test::[]=}(#t1, self::f<self::B*>()){(self::Index*, self::B*) →* void} : null;
+ let final self::Index* #t2 = self::f<self::Index*>() in this.{self::Test::[]=}(#t2, this.{self::Test::[]}(#t2){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*){(self::Index*, self::B*) →* void};
+ let final self::Index* #t3 = self::f<self::Index*>() in this.{self::Test::[]=}(#t3, this.{self::Test::[]}(#t3){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*}){(self::Index*, self::B*) →* void};
+ let final self::Index* #t4 = self::f<self::Index*>() in this.{self::Test::[]=}(#t4, this.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*}){(self::Index*, self::B*) →* void};
+ let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = this.{self::Test::[]}(#t5){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t7 = this.{self::Test::[]=}(#t5, #t6){(self::Index*, self::B*) →* void} in #t6;
+ let final self::Index* #t8 = self::f<self::Index*>() in this.{self::Test::[]=}(#t8, this.{self::Test::[]}(#t8){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void};
+ self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = this.{self::Test::[]=}(#t9, #t10){(self::Index*, self::B*) →* void} in #t10;
+ self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = this.{self::Test::[]}(#t12){(self::Index*) →* self::B*} in #t13 == null ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = this.{self::Test::[]=}(#t12, #t14){(self::Index*, self::B*) →* void} in #t14 : #t13;
+ self::A* v4 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = this.{self::Test::[]}(#t16){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t18 = this.{self::Test::[]=}(#t16, #t17){(self::Index*, self::B*) →* void} in #t17;
+ self::B* v3 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = this.{self::Test::[]}(#t19){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t21 = this.{self::Test::[]=}(#t19, #t20){(self::Index*, self::B*) →* void} in #t20;
+ self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = this.{self::Test::[]}(#t22){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t24 = this.{self::Test::[]=}(#t22, #t23){(self::Index*, self::B*) →* void} in #t23;
+ self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = this.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t27 = this.{self::Test::[]=}(#t25, #t26){(self::Index*, self::B*) →* void} in #t26;
+ self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = this.{self::Test::[]}(#t28){(self::Index*) →* self::B*} in let final void #t30 = this.{self::Test::[]=}(#t28, #t29.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void} in #t29;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.transformed.expect
index 15bd0f2..d61e224 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.transformed.expect
@@ -58,20 +58,20 @@
return null;
operator []=(self::Index* i, self::B* v) → void {}
method test() → void {
- this.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Index* #t1 = self::f<self::Index*>() in this.{self::Test::[]}(#t1).{self::A::==}(null) ?{self::B*} this.{self::Test::[]=}(#t1, self::f<self::B*>()) : null;
- let final self::Index* #t2 = self::f<self::Index*>() in this.{self::Test::[]=}(#t2, this.{self::Test::[]}(#t2).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Index* #t3 = self::f<self::Index*>() in this.{self::Test::[]=}(#t3, this.{self::Test::[]}(#t3).{self::B::*}(self::f<self::B*>()));
- let final self::Index* #t4 = self::f<self::Index*>() in this.{self::Test::[]=}(#t4, this.{self::Test::[]}(#t4).{self::B::&}(self::f<self::A*>()));
- let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = this.{self::Test::[]}(#t5).{self::B::-}(1) in let final void #t7 = this.{self::Test::[]=}(#t5, #t6) in #t6;
- let final self::Index* #t8 = self::f<self::Index*>() in this.{self::Test::[]=}(#t8, this.{self::Test::[]}(#t8).{self::B::-}(1));
- self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = this.{self::Test::[]=}(#t9, #t10) in #t10;
- self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = this.{self::Test::[]}(#t12) in #t13.{self::A::==}(null) ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = this.{self::Test::[]=}(#t12, #t14) in #t14 : #t13;
- self::A* v4 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = this.{self::Test::[]}(#t16).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t18 = this.{self::Test::[]=}(#t16, #t17) in #t17;
- self::B* v3 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = this.{self::Test::[]}(#t19).{self::B::*}(self::f<self::B*>()) in let final void #t21 = this.{self::Test::[]=}(#t19, #t20) in #t20;
- self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = this.{self::Test::[]}(#t22).{self::B::&}(self::f<self::A*>()) in let final void #t24 = this.{self::Test::[]=}(#t22, #t23) in #t23;
- self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = this.{self::Test::[]}(#t25).{self::B::-}(1) in let final void #t27 = this.{self::Test::[]=}(#t25, #t26) in #t26;
- self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = this.{self::Test::[]}(#t28) in let final void #t30 = this.{self::Test::[]=}(#t28, #t29.{self::B::-}(1)) in #t29;
+ this.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>()){(self::Index*, self::B*) →* void};
+ let final self::Index* #t1 = self::f<self::Index*>() in this.{self::Test::[]}(#t1){(self::Index*) →* self::B*} == null ?{self::B*} this.{self::Test::[]=}(#t1, self::f<self::B*>()){(self::Index*, self::B*) →* void} : null;
+ let final self::Index* #t2 = self::f<self::Index*>() in this.{self::Test::[]=}(#t2, this.{self::Test::[]}(#t2){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*){(self::Index*, self::B*) →* void};
+ let final self::Index* #t3 = self::f<self::Index*>() in this.{self::Test::[]=}(#t3, this.{self::Test::[]}(#t3){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*}){(self::Index*, self::B*) →* void};
+ let final self::Index* #t4 = self::f<self::Index*>() in this.{self::Test::[]=}(#t4, this.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*}){(self::Index*, self::B*) →* void};
+ let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = this.{self::Test::[]}(#t5){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t7 = this.{self::Test::[]=}(#t5, #t6){(self::Index*, self::B*) →* void} in #t6;
+ let final self::Index* #t8 = self::f<self::Index*>() in this.{self::Test::[]=}(#t8, this.{self::Test::[]}(#t8){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void};
+ self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = this.{self::Test::[]=}(#t9, #t10){(self::Index*, self::B*) →* void} in #t10;
+ self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = this.{self::Test::[]}(#t12){(self::Index*) →* self::B*} in #t13 == null ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = this.{self::Test::[]=}(#t12, #t14){(self::Index*, self::B*) →* void} in #t14 : #t13;
+ self::A* v4 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = this.{self::Test::[]}(#t16){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t18 = this.{self::Test::[]=}(#t16, #t17){(self::Index*, self::B*) →* void} in #t17;
+ self::B* v3 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = this.{self::Test::[]}(#t19){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t21 = this.{self::Test::[]=}(#t19, #t20){(self::Index*, self::B*) →* void} in #t20;
+ self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = this.{self::Test::[]}(#t22){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t24 = this.{self::Test::[]=}(#t22, #t23){(self::Index*, self::B*) →* void} in #t23;
+ self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = this.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t27 = this.{self::Test::[]=}(#t25, #t26){(self::Index*, self::B*) →* void} in #t26;
+ self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = this.{self::Test::[]}(#t28){(self::Index*) →* self::B*} in let final void #t30 = this.{self::Test::[]=}(#t28, #t29.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void} in #t29;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.expect
index cacec2e..5bdc052 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.expect
@@ -40,18 +40,18 @@
static method test() → void {
self::B* local;
local = self::f<self::B*>();
- local.{self::A::==}(null) ?{self::B*} local = self::f<self::B*>() : null;
- local = local.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- local = local.{self::B::*}(self::f<self::B*>());
- local = local.{self::B::&}(self::f<self::A*>());
- local = local.{self::B::-}(1);
- local = local.{self::B::-}(1);
+ local == null ?{self::B*} local = self::f<self::B*>() : null;
+ local = local.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ local = local.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ local = local.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ local = local.{self::B::-}(1){(core::int*) →* self::B*};
+ local = local.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = local = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = local in #t1.{self::A::==}(null) ?{self::B*} local = self::f<self::B*>() : #t1;
- self::A* v3 = local = local.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = local = local.{self::B::*}(self::f<self::B*>());
- self::C* v5 = local = local.{self::B::&}(self::f<self::A*>());
- self::B* v6 = local = local.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = local in let final self::B* #t3 = local = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = local in #t1 == null ?{self::B*} local = self::f<self::B*>() : #t1;
+ self::A* v3 = local = local.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = local = local.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = local = local.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = local = local.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = local in let final self::B* #t3 = local = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.transformed.expect
index cacec2e..5bdc052 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.transformed.expect
@@ -40,18 +40,18 @@
static method test() → void {
self::B* local;
local = self::f<self::B*>();
- local.{self::A::==}(null) ?{self::B*} local = self::f<self::B*>() : null;
- local = local.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- local = local.{self::B::*}(self::f<self::B*>());
- local = local.{self::B::&}(self::f<self::A*>());
- local = local.{self::B::-}(1);
- local = local.{self::B::-}(1);
+ local == null ?{self::B*} local = self::f<self::B*>() : null;
+ local = local.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ local = local.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ local = local.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ local = local.{self::B::-}(1){(core::int*) →* self::B*};
+ local = local.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = local = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = local in #t1.{self::A::==}(null) ?{self::B*} local = self::f<self::B*>() : #t1;
- self::A* v3 = local = local.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = local = local.{self::B::*}(self::f<self::B*>());
- self::C* v5 = local = local.{self::B::&}(self::f<self::A*>());
- self::B* v6 = local = local.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = local in let final self::B* #t3 = local = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = local in #t1 == null ?{self::B*} local = self::f<self::B*>() : #t1;
+ self::A* v3 = local = local.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = local = local.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = local = local.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = local = local.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = local in let final self::B* #t3 = local = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.expect
index 2f274dc..eda9415 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.expect
@@ -10,31 +10,31 @@
return 0.0;
static method test1(core::int* t) → void {
core::int* v1 = t = self::getInt();
- core::int* v4 = let final core::int* #t1 = t in #t1.{core::num::==}(null) ?{core::int*} t = self::getInt() : #t1;
- core::int* v7 = t = t.{core::num::+}(self::getInt());
- core::int* v10 = t = t.{core::num::+}(1);
- core::int* v11 = let final core::int* #t2 = t in let final core::int* #t3 = t = #t2.{core::num::+}(1) in #t2;
+ core::int* v4 = let final core::int* #t1 = t in #t1 == null ?{core::int*} t = self::getInt() : #t1;
+ core::int* v7 = t = t.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = t = t.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t2 = t in let final core::int* #t3 = t = #t2.{core::num::+}(1){(core::num*) →* core::int*} in #t2;
}
static method test2(core::num* t) → void {
core::int* v1 = t = self::getInt();
core::num* v2 = t = self::getNum();
core::double* v3 = t = self::getDouble();
- core::num* v4 = let final core::num* #t4 = t in #t4.{core::num::==}(null) ?{core::num*} t = self::getInt() : #t4;
- core::num* v5 = let final core::num* #t5 = t in #t5.{core::num::==}(null) ?{core::num*} t = self::getNum() : #t5;
- core::num* v6 = let final core::num* #t6 = t in #t6.{core::num::==}(null) ?{core::num*} t = self::getDouble() : #t6;
- core::num* v7 = t = t.{core::num::+}(self::getInt());
- core::num* v8 = t = t.{core::num::+}(self::getNum());
- core::num* v9 = t = t.{core::num::+}(self::getDouble());
- core::num* v10 = t = t.{core::num::+}(1);
- core::num* v11 = let final core::num* #t7 = t in let final core::num* #t8 = t = #t7.{core::num::+}(1) in #t7;
+ core::num* v4 = let final core::num* #t4 = t in #t4 == null ?{core::num*} t = self::getInt() : #t4;
+ core::num* v5 = let final core::num* #t5 = t in #t5 == null ?{core::num*} t = self::getNum() : #t5;
+ core::num* v6 = let final core::num* #t6 = t in #t6 == null ?{core::num*} t = self::getDouble() : #t6;
+ core::num* v7 = t = t.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = t = t.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = t = t.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = t = t.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t7 = t in let final core::num* #t8 = t = #t7.{core::num::+}(1){(core::num*) →* core::num*} in #t7;
}
static method test3(core::double* t) → void {
core::double* v3 = t = self::getDouble();
- core::double* v6 = let final core::double* #t9 = t in #t9.{core::num::==}(null) ?{core::double*} t = self::getDouble() : #t9;
- core::double* v7 = t = t.{core::double::+}(self::getInt());
- core::double* v8 = t = t.{core::double::+}(self::getNum());
- core::double* v9 = t = t.{core::double::+}(self::getDouble());
- core::double* v10 = t = t.{core::double::+}(1);
- core::double* v11 = let final core::double* #t10 = t in let final core::double* #t11 = t = #t10.{core::double::+}(1) in #t10;
+ core::double* v6 = let final core::double* #t9 = t in #t9 == null ?{core::double*} t = self::getDouble() : #t9;
+ core::double* v7 = t = t.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = t = t.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = t = t.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = t = t.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t10 = t in let final core::double* #t11 = t = #t10.{core::double::+}(1){(core::num*) →* core::double*} in #t10;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.transformed.expect
index 2f274dc..eda9415 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.transformed.expect
@@ -10,31 +10,31 @@
return 0.0;
static method test1(core::int* t) → void {
core::int* v1 = t = self::getInt();
- core::int* v4 = let final core::int* #t1 = t in #t1.{core::num::==}(null) ?{core::int*} t = self::getInt() : #t1;
- core::int* v7 = t = t.{core::num::+}(self::getInt());
- core::int* v10 = t = t.{core::num::+}(1);
- core::int* v11 = let final core::int* #t2 = t in let final core::int* #t3 = t = #t2.{core::num::+}(1) in #t2;
+ core::int* v4 = let final core::int* #t1 = t in #t1 == null ?{core::int*} t = self::getInt() : #t1;
+ core::int* v7 = t = t.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = t = t.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t2 = t in let final core::int* #t3 = t = #t2.{core::num::+}(1){(core::num*) →* core::int*} in #t2;
}
static method test2(core::num* t) → void {
core::int* v1 = t = self::getInt();
core::num* v2 = t = self::getNum();
core::double* v3 = t = self::getDouble();
- core::num* v4 = let final core::num* #t4 = t in #t4.{core::num::==}(null) ?{core::num*} t = self::getInt() : #t4;
- core::num* v5 = let final core::num* #t5 = t in #t5.{core::num::==}(null) ?{core::num*} t = self::getNum() : #t5;
- core::num* v6 = let final core::num* #t6 = t in #t6.{core::num::==}(null) ?{core::num*} t = self::getDouble() : #t6;
- core::num* v7 = t = t.{core::num::+}(self::getInt());
- core::num* v8 = t = t.{core::num::+}(self::getNum());
- core::num* v9 = t = t.{core::num::+}(self::getDouble());
- core::num* v10 = t = t.{core::num::+}(1);
- core::num* v11 = let final core::num* #t7 = t in let final core::num* #t8 = t = #t7.{core::num::+}(1) in #t7;
+ core::num* v4 = let final core::num* #t4 = t in #t4 == null ?{core::num*} t = self::getInt() : #t4;
+ core::num* v5 = let final core::num* #t5 = t in #t5 == null ?{core::num*} t = self::getNum() : #t5;
+ core::num* v6 = let final core::num* #t6 = t in #t6 == null ?{core::num*} t = self::getDouble() : #t6;
+ core::num* v7 = t = t.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = t = t.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = t = t.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = t = t.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t7 = t in let final core::num* #t8 = t = #t7.{core::num::+}(1){(core::num*) →* core::num*} in #t7;
}
static method test3(core::double* t) → void {
core::double* v3 = t = self::getDouble();
- core::double* v6 = let final core::double* #t9 = t in #t9.{core::num::==}(null) ?{core::double*} t = self::getDouble() : #t9;
- core::double* v7 = t = t.{core::double::+}(self::getInt());
- core::double* v8 = t = t.{core::double::+}(self::getNum());
- core::double* v9 = t = t.{core::double::+}(self::getDouble());
- core::double* v10 = t = t.{core::double::+}(1);
- core::double* v11 = let final core::double* #t10 = t in let final core::double* #t11 = t = #t10.{core::double::+}(1) in #t10;
+ core::double* v6 = let final core::double* #t9 = t in #t9 == null ?{core::double*} t = self::getDouble() : #t9;
+ core::double* v7 = t = t.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = t = t.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = t = t.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = t = t.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t10 = t in let final core::double* #t11 = t = #t10.{core::double::+}(1){(core::num*) →* core::double*} in #t10;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.expect
index 63ae5bb..2e41284 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.expect
@@ -42,19 +42,19 @@
;
static method test(self::Test* t) → void {
t.{self::Test::member} = self::f<self::B*>();
- let final self::Test* #t1 = t in #t1.{self::Test::member}.{self::A::==}(null) ?{self::B*} #t1.{self::Test::member} = self::f<self::B*>() : null;
- let final self::Test* #t2 = t in #t2.{self::Test::member} = #t2.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- let final self::Test* #t3 = t in #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- let final self::Test* #t4 = t in #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- let final self::Test* #t5 = t in #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::-}(1);
- let final self::Test* #t6 = t in #t6.{self::Test::member} = #t6.{self::Test::member}.{self::B::-}(1);
+ let final self::Test* #t1 = t in #t1.{self::Test::member}{self::B*} == null ?{self::B*} #t1.{self::Test::member} = self::f<self::B*>() : null;
+ let final self::Test* #t2 = t in #t2.{self::Test::member} = #t2.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ let final self::Test* #t3 = t in #t3.{self::Test::member} = #t3.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ let final self::Test* #t4 = t in #t4.{self::Test::member} = #t4.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ let final self::Test* #t5 = t in #t5.{self::Test::member} = #t5.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ let final self::Test* #t6 = t in #t6.{self::Test::member} = #t6.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = t.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::Test* #t7 = t in let final self::B* #t8 = #t7.{self::Test::member} in #t8.{self::A::==}(null) ?{self::B*} #t7.{self::Test::member} = self::f<self::B*>() : #t8;
- self::A* v3 = let final self::Test* #t9 = t in #t9.{self::Test::member} = #t9.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = let final self::Test* #t10 = t in #t10.{self::Test::member} = #t10.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = let final self::Test* #t11 = t in #t11.{self::Test::member} = #t11.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = let final self::Test* #t12 = t in #t12.{self::Test::member} = #t12.{self::Test::member}.{self::B::-}(1);
- self::B* v7 = let final self::Test* #t13 = t in let final self::B* #t14 = #t13.{self::Test::member} in let final self::B* #t15 = #t13.{self::Test::member} = #t14.{self::B::-}(1) in #t14;
+ self::B* v2 = let final self::Test* #t7 = t in let final self::B* #t8 = #t7.{self::Test::member}{self::B*} in #t8 == null ?{self::B*} #t7.{self::Test::member} = self::f<self::B*>() : #t8;
+ self::A* v3 = let final self::Test* #t9 = t in #t9.{self::Test::member} = #t9.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = let final self::Test* #t10 = t in #t10.{self::Test::member} = #t10.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = let final self::Test* #t11 = t in #t11.{self::Test::member} = #t11.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = let final self::Test* #t12 = t in #t12.{self::Test::member} = #t12.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::Test* #t13 = t in let final self::B* #t14 = #t13.{self::Test::member}{self::B*} in let final self::B* #t15 = #t13.{self::Test::member} = #t14.{self::B::-}(1){(core::int*) →* self::B*} in #t14;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.transformed.expect
index 63ae5bb..2e41284 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.transformed.expect
@@ -42,19 +42,19 @@
;
static method test(self::Test* t) → void {
t.{self::Test::member} = self::f<self::B*>();
- let final self::Test* #t1 = t in #t1.{self::Test::member}.{self::A::==}(null) ?{self::B*} #t1.{self::Test::member} = self::f<self::B*>() : null;
- let final self::Test* #t2 = t in #t2.{self::Test::member} = #t2.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- let final self::Test* #t3 = t in #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- let final self::Test* #t4 = t in #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- let final self::Test* #t5 = t in #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::-}(1);
- let final self::Test* #t6 = t in #t6.{self::Test::member} = #t6.{self::Test::member}.{self::B::-}(1);
+ let final self::Test* #t1 = t in #t1.{self::Test::member}{self::B*} == null ?{self::B*} #t1.{self::Test::member} = self::f<self::B*>() : null;
+ let final self::Test* #t2 = t in #t2.{self::Test::member} = #t2.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ let final self::Test* #t3 = t in #t3.{self::Test::member} = #t3.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ let final self::Test* #t4 = t in #t4.{self::Test::member} = #t4.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ let final self::Test* #t5 = t in #t5.{self::Test::member} = #t5.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ let final self::Test* #t6 = t in #t6.{self::Test::member} = #t6.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = t.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::Test* #t7 = t in let final self::B* #t8 = #t7.{self::Test::member} in #t8.{self::A::==}(null) ?{self::B*} #t7.{self::Test::member} = self::f<self::B*>() : #t8;
- self::A* v3 = let final self::Test* #t9 = t in #t9.{self::Test::member} = #t9.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = let final self::Test* #t10 = t in #t10.{self::Test::member} = #t10.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = let final self::Test* #t11 = t in #t11.{self::Test::member} = #t11.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = let final self::Test* #t12 = t in #t12.{self::Test::member} = #t12.{self::Test::member}.{self::B::-}(1);
- self::B* v7 = let final self::Test* #t13 = t in let final self::B* #t14 = #t13.{self::Test::member} in let final self::B* #t15 = #t13.{self::Test::member} = #t14.{self::B::-}(1) in #t14;
+ self::B* v2 = let final self::Test* #t7 = t in let final self::B* #t8 = #t7.{self::Test::member}{self::B*} in #t8 == null ?{self::B*} #t7.{self::Test::member} = self::f<self::B*>() : #t8;
+ self::A* v3 = let final self::Test* #t9 = t in #t9.{self::Test::member} = #t9.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = let final self::Test* #t10 = t in #t10.{self::Test::member} = #t10.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = let final self::Test* #t11 = t in #t11.{self::Test::member} = #t11.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = let final self::Test* #t12 = t in #t12.{self::Test::member} = #t12.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::Test* #t13 = t in let final self::B* #t14 = #t13.{self::Test::member}{self::B*} in let final self::B* #t15 = #t13.{self::Test::member} = #t14.{self::B::-}(1){(core::int*) →* self::B*} in #t14;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.expect
index 189fd9a..681f9aa 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.expect
@@ -41,20 +41,20 @@
: super core::Object::•()
;
static method test(self::Test* t) → void {
- let final self::Test* #t1 = t in #t1.{self::Test::==}(null) ?{self::B*} null : #t1.{self::Test::member} = self::f<self::B*>();
- let final self::Test* #t2 = t in #t2.{self::Test::==}(null) ?{self::B*} null : #t2.{self::Test::member}.{self::A::==}(null) ?{self::B*} #t2.{self::Test::member} = self::f<self::B*>() : null;
- let final self::Test* #t3 = t in #t3.{self::Test::==}(null) ?{self::A*} null : #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- let final self::Test* #t4 = t in #t4.{self::Test::==}(null) ?{self::B*} null : #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- let final self::Test* #t5 = t in #t5.{self::Test::==}(null) ?{self::C*} null : #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- let final self::Test* #t6 = t in #t6.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t7 = #t6.{self::Test::member}.{self::B::-}(1) in let final void #t8 = #t6.{self::Test::member} = #t7 in #t7;
- let final self::Test* #t9 = t in #t9.{self::Test::==}(null) ?{self::B*} null : #t9.{self::Test::member} = #t9.{self::Test::member}.{self::B::-}(1);
- self::B* v1 = let final self::Test* #t10 = t in #t10.{self::Test::==}(null) ?{self::B*} null : #t10.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::Test* #t11 = t in #t11.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t12 = #t11.{self::Test::member} in #t12.{self::A::==}(null) ?{self::B*} #t11.{self::Test::member} = self::f<self::B*>() : #t12;
- self::A* v3 = let final self::Test* #t13 = t in #t13.{self::Test::==}(null) ?{self::A*} null : let final self::A* #t14 = #t13.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t15 = #t13.{self::Test::member} = #t14 in #t14;
- self::B* v4 = let final self::Test* #t16 = t in #t16.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t17 = #t16.{self::Test::member}.{self::B::*}(self::f<self::B*>()) in let final void #t18 = #t16.{self::Test::member} = #t17 in #t17;
- self::C* v5 = let final self::Test* #t19 = t in #t19.{self::Test::==}(null) ?{self::C*} null : let final self::C* #t20 = #t19.{self::Test::member}.{self::B::&}(self::f<self::A*>()) in let final void #t21 = #t19.{self::Test::member} = #t20 in #t20;
- self::B* v6 = let final self::Test* #t22 = t in #t22.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t23 = #t22.{self::Test::member}.{self::B::-}(1) in let final void #t24 = #t22.{self::Test::member} = #t23 in #t23;
- self::B* v7 = let final self::Test* #t25 = t in #t25.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t26 = #t25.{self::Test::member} in let final void #t27 = #t25.{self::Test::member} = #t26.{self::B::-}(1) in #t26;
+ let final self::Test* #t1 = t in #t1 == null ?{self::B*} null : #t1.{self::Test::member} = self::f<self::B*>();
+ let final self::Test* #t2 = t in #t2 == null ?{self::B*} null : #t2.{self::Test::member}{self::B*} == null ?{self::B*} #t2.{self::Test::member} = self::f<self::B*>() : null;
+ let final self::Test* #t3 = t in #t3 == null ?{self::A*} null : #t3.{self::Test::member} = #t3.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ let final self::Test* #t4 = t in #t4 == null ?{self::B*} null : #t4.{self::Test::member} = #t4.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ let final self::Test* #t5 = t in #t5 == null ?{self::C*} null : #t5.{self::Test::member} = #t5.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ let final self::Test* #t6 = t in #t6 == null ?{self::B*} null : let final self::B* #t7 = #t6.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t8 = #t6.{self::Test::member} = #t7 in #t7;
+ let final self::Test* #t9 = t in #t9 == null ?{self::B*} null : #t9.{self::Test::member} = #t9.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v1 = let final self::Test* #t10 = t in #t10 == null ?{self::B*} null : #t10.{self::Test::member} = self::f<self::B*>();
+ self::B* v2 = let final self::Test* #t11 = t in #t11 == null ?{self::B*} null : let final self::B* #t12 = #t11.{self::Test::member}{self::B*} in #t12 == null ?{self::B*} #t11.{self::Test::member} = self::f<self::B*>() : #t12;
+ self::A* v3 = let final self::Test* #t13 = t in #t13 == null ?{self::A*} null : let final self::A* #t14 = #t13.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t15 = #t13.{self::Test::member} = #t14 in #t14;
+ self::B* v4 = let final self::Test* #t16 = t in #t16 == null ?{self::B*} null : let final self::B* #t17 = #t16.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t18 = #t16.{self::Test::member} = #t17 in #t17;
+ self::C* v5 = let final self::Test* #t19 = t in #t19 == null ?{self::C*} null : let final self::C* #t20 = #t19.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t21 = #t19.{self::Test::member} = #t20 in #t20;
+ self::B* v6 = let final self::Test* #t22 = t in #t22 == null ?{self::B*} null : let final self::B* #t23 = #t22.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t24 = #t22.{self::Test::member} = #t23 in #t23;
+ self::B* v7 = let final self::Test* #t25 = t in #t25 == null ?{self::B*} null : let final self::B* #t26 = #t25.{self::Test::member}{self::B*} in let final void #t27 = #t25.{self::Test::member} = #t26.{self::B::-}(1){(core::int*) →* self::B*} in #t26;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.transformed.expect
index 189fd9a..681f9aa 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.transformed.expect
@@ -41,20 +41,20 @@
: super core::Object::•()
;
static method test(self::Test* t) → void {
- let final self::Test* #t1 = t in #t1.{self::Test::==}(null) ?{self::B*} null : #t1.{self::Test::member} = self::f<self::B*>();
- let final self::Test* #t2 = t in #t2.{self::Test::==}(null) ?{self::B*} null : #t2.{self::Test::member}.{self::A::==}(null) ?{self::B*} #t2.{self::Test::member} = self::f<self::B*>() : null;
- let final self::Test* #t3 = t in #t3.{self::Test::==}(null) ?{self::A*} null : #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- let final self::Test* #t4 = t in #t4.{self::Test::==}(null) ?{self::B*} null : #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- let final self::Test* #t5 = t in #t5.{self::Test::==}(null) ?{self::C*} null : #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- let final self::Test* #t6 = t in #t6.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t7 = #t6.{self::Test::member}.{self::B::-}(1) in let final void #t8 = #t6.{self::Test::member} = #t7 in #t7;
- let final self::Test* #t9 = t in #t9.{self::Test::==}(null) ?{self::B*} null : #t9.{self::Test::member} = #t9.{self::Test::member}.{self::B::-}(1);
- self::B* v1 = let final self::Test* #t10 = t in #t10.{self::Test::==}(null) ?{self::B*} null : #t10.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::Test* #t11 = t in #t11.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t12 = #t11.{self::Test::member} in #t12.{self::A::==}(null) ?{self::B*} #t11.{self::Test::member} = self::f<self::B*>() : #t12;
- self::A* v3 = let final self::Test* #t13 = t in #t13.{self::Test::==}(null) ?{self::A*} null : let final self::A* #t14 = #t13.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t15 = #t13.{self::Test::member} = #t14 in #t14;
- self::B* v4 = let final self::Test* #t16 = t in #t16.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t17 = #t16.{self::Test::member}.{self::B::*}(self::f<self::B*>()) in let final void #t18 = #t16.{self::Test::member} = #t17 in #t17;
- self::C* v5 = let final self::Test* #t19 = t in #t19.{self::Test::==}(null) ?{self::C*} null : let final self::C* #t20 = #t19.{self::Test::member}.{self::B::&}(self::f<self::A*>()) in let final void #t21 = #t19.{self::Test::member} = #t20 in #t20;
- self::B* v6 = let final self::Test* #t22 = t in #t22.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t23 = #t22.{self::Test::member}.{self::B::-}(1) in let final void #t24 = #t22.{self::Test::member} = #t23 in #t23;
- self::B* v7 = let final self::Test* #t25 = t in #t25.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t26 = #t25.{self::Test::member} in let final void #t27 = #t25.{self::Test::member} = #t26.{self::B::-}(1) in #t26;
+ let final self::Test* #t1 = t in #t1 == null ?{self::B*} null : #t1.{self::Test::member} = self::f<self::B*>();
+ let final self::Test* #t2 = t in #t2 == null ?{self::B*} null : #t2.{self::Test::member}{self::B*} == null ?{self::B*} #t2.{self::Test::member} = self::f<self::B*>() : null;
+ let final self::Test* #t3 = t in #t3 == null ?{self::A*} null : #t3.{self::Test::member} = #t3.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ let final self::Test* #t4 = t in #t4 == null ?{self::B*} null : #t4.{self::Test::member} = #t4.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ let final self::Test* #t5 = t in #t5 == null ?{self::C*} null : #t5.{self::Test::member} = #t5.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ let final self::Test* #t6 = t in #t6 == null ?{self::B*} null : let final self::B* #t7 = #t6.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t8 = #t6.{self::Test::member} = #t7 in #t7;
+ let final self::Test* #t9 = t in #t9 == null ?{self::B*} null : #t9.{self::Test::member} = #t9.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v1 = let final self::Test* #t10 = t in #t10 == null ?{self::B*} null : #t10.{self::Test::member} = self::f<self::B*>();
+ self::B* v2 = let final self::Test* #t11 = t in #t11 == null ?{self::B*} null : let final self::B* #t12 = #t11.{self::Test::member}{self::B*} in #t12 == null ?{self::B*} #t11.{self::Test::member} = self::f<self::B*>() : #t12;
+ self::A* v3 = let final self::Test* #t13 = t in #t13 == null ?{self::A*} null : let final self::A* #t14 = #t13.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t15 = #t13.{self::Test::member} = #t14 in #t14;
+ self::B* v4 = let final self::Test* #t16 = t in #t16 == null ?{self::B*} null : let final self::B* #t17 = #t16.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t18 = #t16.{self::Test::member} = #t17 in #t17;
+ self::C* v5 = let final self::Test* #t19 = t in #t19 == null ?{self::C*} null : let final self::C* #t20 = #t19.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t21 = #t19.{self::Test::member} = #t20 in #t20;
+ self::B* v6 = let final self::Test* #t22 = t in #t22 == null ?{self::B*} null : let final self::B* #t23 = #t22.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t24 = #t22.{self::Test::member} = #t23 in #t23;
+ self::B* v7 = let final self::Test* #t25 = t in #t25 == null ?{self::B*} null : let final self::B* #t26 = #t25.{self::Test::member}{self::B*} in let final void #t27 = #t25.{self::Test::member} = #t26.{self::B::-}(1){(core::int*) →* self::B*} in #t26;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.expect
index b435efb..defcb5a 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.expect
@@ -8,11 +8,11 @@
: super core::Object::•()
;
static method test(self::Test1* t) → void {
- core::int* v1 = let final self::Test1* #t1 = t in #t1.{self::Test1::==}(null) ?{core::int*} null : #t1.{self::Test1::prop} = self::getInt();
- core::int* v4 = let final self::Test1* #t2 = t in #t2.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t3 = #t2.{self::Test1::prop} in #t3.{core::num::==}(null) ?{core::int*} #t2.{self::Test1::prop} = self::getInt() : #t3;
- core::int* v7 = let final self::Test1* #t4 = t in #t4.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t5 = #t4.{self::Test1::prop}.{core::num::+}(self::getInt()) in let final void #t6 = #t4.{self::Test1::prop} = #t5 in #t5;
- core::int* v10 = let final self::Test1* #t7 = t in #t7.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t8 = #t7.{self::Test1::prop}.{core::num::+}(1) in let final void #t9 = #t7.{self::Test1::prop} = #t8 in #t8;
- core::int* v11 = let final self::Test1* #t10 = t in #t10.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t11 = #t10.{self::Test1::prop} in let final void #t12 = #t10.{self::Test1::prop} = #t11.{core::num::+}(1) in #t11;
+ core::int* v1 = let final self::Test1* #t1 = t in #t1 == null ?{core::int*} null : #t1.{self::Test1::prop} = self::getInt();
+ core::int* v4 = let final self::Test1* #t2 = t in #t2 == null ?{core::int*} null : let final core::int* #t3 = #t2.{self::Test1::prop}{core::int*} in #t3 == null ?{core::int*} #t2.{self::Test1::prop} = self::getInt() : #t3;
+ core::int* v7 = let final self::Test1* #t4 = t in #t4 == null ?{core::int*} null : let final core::int* #t5 = #t4.{self::Test1::prop}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t6 = #t4.{self::Test1::prop} = #t5 in #t5;
+ core::int* v10 = let final self::Test1* #t7 = t in #t7 == null ?{core::int*} null : let final core::int* #t8 = #t7.{self::Test1::prop}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t9 = #t7.{self::Test1::prop} = #t8 in #t8;
+ core::int* v11 = let final self::Test1* #t10 = t in #t10 == null ?{core::int*} null : let final core::int* #t11 = #t10.{self::Test1::prop}{core::int*} in let final void #t12 = #t10.{self::Test1::prop} = #t11.{core::num::+}(1){(core::num*) →* core::int*} in #t11;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -31,17 +31,17 @@
: super core::Object::•()
;
static method test(self::Test2* t) → void {
- core::int* v1 = let final self::Test2* #t13 = t in #t13.{self::Test2::==}(null) ?{core::int*} null : #t13.{self::Test2::prop} = self::getInt();
- core::num* v2 = let final self::Test2* #t14 = t in #t14.{self::Test2::==}(null) ?{core::num*} null : #t14.{self::Test2::prop} = self::getNum();
- core::double* v3 = let final self::Test2* #t15 = t in #t15.{self::Test2::==}(null) ?{core::double*} null : #t15.{self::Test2::prop} = self::getDouble();
- core::num* v4 = let final self::Test2* #t16 = t in #t16.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t17 = #t16.{self::Test2::prop} in #t17.{core::num::==}(null) ?{core::num*} #t16.{self::Test2::prop} = self::getInt() : #t17;
- core::num* v5 = let final self::Test2* #t18 = t in #t18.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t19 = #t18.{self::Test2::prop} in #t19.{core::num::==}(null) ?{core::num*} #t18.{self::Test2::prop} = self::getNum() : #t19;
- core::num* v6 = let final self::Test2* #t20 = t in #t20.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t21 = #t20.{self::Test2::prop} in #t21.{core::num::==}(null) ?{core::num*} #t20.{self::Test2::prop} = self::getDouble() : #t21;
- core::num* v7 = let final self::Test2* #t22 = t in #t22.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t23 = #t22.{self::Test2::prop}.{core::num::+}(self::getInt()) in let final void #t24 = #t22.{self::Test2::prop} = #t23 in #t23;
- core::num* v8 = let final self::Test2* #t25 = t in #t25.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t26 = #t25.{self::Test2::prop}.{core::num::+}(self::getNum()) in let final void #t27 = #t25.{self::Test2::prop} = #t26 in #t26;
- core::num* v9 = let final self::Test2* #t28 = t in #t28.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t29 = #t28.{self::Test2::prop}.{core::num::+}(self::getDouble()) in let final void #t30 = #t28.{self::Test2::prop} = #t29 in #t29;
- core::num* v10 = let final self::Test2* #t31 = t in #t31.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t32 = #t31.{self::Test2::prop}.{core::num::+}(1) in let final void #t33 = #t31.{self::Test2::prop} = #t32 in #t32;
- core::num* v11 = let final self::Test2* #t34 = t in #t34.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t35 = #t34.{self::Test2::prop} in let final void #t36 = #t34.{self::Test2::prop} = #t35.{core::num::+}(1) in #t35;
+ core::int* v1 = let final self::Test2* #t13 = t in #t13 == null ?{core::int*} null : #t13.{self::Test2::prop} = self::getInt();
+ core::num* v2 = let final self::Test2* #t14 = t in #t14 == null ?{core::num*} null : #t14.{self::Test2::prop} = self::getNum();
+ core::double* v3 = let final self::Test2* #t15 = t in #t15 == null ?{core::double*} null : #t15.{self::Test2::prop} = self::getDouble();
+ core::num* v4 = let final self::Test2* #t16 = t in #t16 == null ?{core::num*} null : let final core::num* #t17 = #t16.{self::Test2::prop}{core::num*} in #t17 == null ?{core::num*} #t16.{self::Test2::prop} = self::getInt() : #t17;
+ core::num* v5 = let final self::Test2* #t18 = t in #t18 == null ?{core::num*} null : let final core::num* #t19 = #t18.{self::Test2::prop}{core::num*} in #t19 == null ?{core::num*} #t18.{self::Test2::prop} = self::getNum() : #t19;
+ core::num* v6 = let final self::Test2* #t20 = t in #t20 == null ?{core::num*} null : let final core::num* #t21 = #t20.{self::Test2::prop}{core::num*} in #t21 == null ?{core::num*} #t20.{self::Test2::prop} = self::getDouble() : #t21;
+ core::num* v7 = let final self::Test2* #t22 = t in #t22 == null ?{core::num*} null : let final core::num* #t23 = #t22.{self::Test2::prop}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} in let final void #t24 = #t22.{self::Test2::prop} = #t23 in #t23;
+ core::num* v8 = let final self::Test2* #t25 = t in #t25 == null ?{core::num*} null : let final core::num* #t26 = #t25.{self::Test2::prop}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t27 = #t25.{self::Test2::prop} = #t26 in #t26;
+ core::num* v9 = let final self::Test2* #t28 = t in #t28 == null ?{core::num*} null : let final core::num* #t29 = #t28.{self::Test2::prop}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*} in let final void #t30 = #t28.{self::Test2::prop} = #t29 in #t29;
+ core::num* v10 = let final self::Test2* #t31 = t in #t31 == null ?{core::num*} null : let final core::num* #t32 = #t31.{self::Test2::prop}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*} in let final void #t33 = #t31.{self::Test2::prop} = #t32 in #t32;
+ core::num* v11 = let final self::Test2* #t34 = t in #t34 == null ?{core::num*} null : let final core::num* #t35 = #t34.{self::Test2::prop}{core::num*} in let final void #t36 = #t34.{self::Test2::prop} = #t35.{core::num::+}(1){(core::num*) →* core::num*} in #t35;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -60,13 +60,13 @@
: super core::Object::•()
;
static method test3(self::Test3* t) → void {
- core::double* v3 = let final self::Test3* #t37 = t in #t37.{self::Test3::==}(null) ?{core::double*} null : #t37.{self::Test3::prop} = self::getDouble();
- core::double* v6 = let final self::Test3* #t38 = t in #t38.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t39 = #t38.{self::Test3::prop} in #t39.{core::num::==}(null) ?{core::double*} #t38.{self::Test3::prop} = self::getDouble() : #t39;
- core::double* v7 = let final self::Test3* #t40 = t in #t40.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t41 = #t40.{self::Test3::prop}.{core::double::+}(self::getInt()) in let final void #t42 = #t40.{self::Test3::prop} = #t41 in #t41;
- core::double* v8 = let final self::Test3* #t43 = t in #t43.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t44 = #t43.{self::Test3::prop}.{core::double::+}(self::getNum()) in let final void #t45 = #t43.{self::Test3::prop} = #t44 in #t44;
- core::double* v9 = let final self::Test3* #t46 = t in #t46.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t47 = #t46.{self::Test3::prop}.{core::double::+}(self::getDouble()) in let final void #t48 = #t46.{self::Test3::prop} = #t47 in #t47;
- core::double* v10 = let final self::Test3* #t49 = t in #t49.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t50 = #t49.{self::Test3::prop}.{core::double::+}(1) in let final void #t51 = #t49.{self::Test3::prop} = #t50 in #t50;
- core::double* v11 = let final self::Test3* #t52 = t in #t52.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t53 = #t52.{self::Test3::prop} in let final void #t54 = #t52.{self::Test3::prop} = #t53.{core::double::+}(1) in #t53;
+ core::double* v3 = let final self::Test3* #t37 = t in #t37 == null ?{core::double*} null : #t37.{self::Test3::prop} = self::getDouble();
+ core::double* v6 = let final self::Test3* #t38 = t in #t38 == null ?{core::double*} null : let final core::double* #t39 = #t38.{self::Test3::prop}{core::double*} in #t39 == null ?{core::double*} #t38.{self::Test3::prop} = self::getDouble() : #t39;
+ core::double* v7 = let final self::Test3* #t40 = t in #t40 == null ?{core::double*} null : let final core::double* #t41 = #t40.{self::Test3::prop}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t42 = #t40.{self::Test3::prop} = #t41 in #t41;
+ core::double* v8 = let final self::Test3* #t43 = t in #t43 == null ?{core::double*} null : let final core::double* #t44 = #t43.{self::Test3::prop}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t45 = #t43.{self::Test3::prop} = #t44 in #t44;
+ core::double* v9 = let final self::Test3* #t46 = t in #t46 == null ?{core::double*} null : let final core::double* #t47 = #t46.{self::Test3::prop}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t48 = #t46.{self::Test3::prop} = #t47 in #t47;
+ core::double* v10 = let final self::Test3* #t49 = t in #t49 == null ?{core::double*} null : let final core::double* #t50 = #t49.{self::Test3::prop}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*} in let final void #t51 = #t49.{self::Test3::prop} = #t50 in #t50;
+ core::double* v11 = let final self::Test3* #t52 = t in #t52 == null ?{core::double*} null : let final core::double* #t53 = #t52.{self::Test3::prop}{core::double*} in let final void #t54 = #t52.{self::Test3::prop} = #t53.{core::double::+}(1){(core::num*) →* core::double*} in #t53;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
index b435efb..defcb5a 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
@@ -8,11 +8,11 @@
: super core::Object::•()
;
static method test(self::Test1* t) → void {
- core::int* v1 = let final self::Test1* #t1 = t in #t1.{self::Test1::==}(null) ?{core::int*} null : #t1.{self::Test1::prop} = self::getInt();
- core::int* v4 = let final self::Test1* #t2 = t in #t2.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t3 = #t2.{self::Test1::prop} in #t3.{core::num::==}(null) ?{core::int*} #t2.{self::Test1::prop} = self::getInt() : #t3;
- core::int* v7 = let final self::Test1* #t4 = t in #t4.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t5 = #t4.{self::Test1::prop}.{core::num::+}(self::getInt()) in let final void #t6 = #t4.{self::Test1::prop} = #t5 in #t5;
- core::int* v10 = let final self::Test1* #t7 = t in #t7.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t8 = #t7.{self::Test1::prop}.{core::num::+}(1) in let final void #t9 = #t7.{self::Test1::prop} = #t8 in #t8;
- core::int* v11 = let final self::Test1* #t10 = t in #t10.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t11 = #t10.{self::Test1::prop} in let final void #t12 = #t10.{self::Test1::prop} = #t11.{core::num::+}(1) in #t11;
+ core::int* v1 = let final self::Test1* #t1 = t in #t1 == null ?{core::int*} null : #t1.{self::Test1::prop} = self::getInt();
+ core::int* v4 = let final self::Test1* #t2 = t in #t2 == null ?{core::int*} null : let final core::int* #t3 = #t2.{self::Test1::prop}{core::int*} in #t3 == null ?{core::int*} #t2.{self::Test1::prop} = self::getInt() : #t3;
+ core::int* v7 = let final self::Test1* #t4 = t in #t4 == null ?{core::int*} null : let final core::int* #t5 = #t4.{self::Test1::prop}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t6 = #t4.{self::Test1::prop} = #t5 in #t5;
+ core::int* v10 = let final self::Test1* #t7 = t in #t7 == null ?{core::int*} null : let final core::int* #t8 = #t7.{self::Test1::prop}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t9 = #t7.{self::Test1::prop} = #t8 in #t8;
+ core::int* v11 = let final self::Test1* #t10 = t in #t10 == null ?{core::int*} null : let final core::int* #t11 = #t10.{self::Test1::prop}{core::int*} in let final void #t12 = #t10.{self::Test1::prop} = #t11.{core::num::+}(1){(core::num*) →* core::int*} in #t11;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -31,17 +31,17 @@
: super core::Object::•()
;
static method test(self::Test2* t) → void {
- core::int* v1 = let final self::Test2* #t13 = t in #t13.{self::Test2::==}(null) ?{core::int*} null : #t13.{self::Test2::prop} = self::getInt();
- core::num* v2 = let final self::Test2* #t14 = t in #t14.{self::Test2::==}(null) ?{core::num*} null : #t14.{self::Test2::prop} = self::getNum();
- core::double* v3 = let final self::Test2* #t15 = t in #t15.{self::Test2::==}(null) ?{core::double*} null : #t15.{self::Test2::prop} = self::getDouble();
- core::num* v4 = let final self::Test2* #t16 = t in #t16.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t17 = #t16.{self::Test2::prop} in #t17.{core::num::==}(null) ?{core::num*} #t16.{self::Test2::prop} = self::getInt() : #t17;
- core::num* v5 = let final self::Test2* #t18 = t in #t18.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t19 = #t18.{self::Test2::prop} in #t19.{core::num::==}(null) ?{core::num*} #t18.{self::Test2::prop} = self::getNum() : #t19;
- core::num* v6 = let final self::Test2* #t20 = t in #t20.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t21 = #t20.{self::Test2::prop} in #t21.{core::num::==}(null) ?{core::num*} #t20.{self::Test2::prop} = self::getDouble() : #t21;
- core::num* v7 = let final self::Test2* #t22 = t in #t22.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t23 = #t22.{self::Test2::prop}.{core::num::+}(self::getInt()) in let final void #t24 = #t22.{self::Test2::prop} = #t23 in #t23;
- core::num* v8 = let final self::Test2* #t25 = t in #t25.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t26 = #t25.{self::Test2::prop}.{core::num::+}(self::getNum()) in let final void #t27 = #t25.{self::Test2::prop} = #t26 in #t26;
- core::num* v9 = let final self::Test2* #t28 = t in #t28.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t29 = #t28.{self::Test2::prop}.{core::num::+}(self::getDouble()) in let final void #t30 = #t28.{self::Test2::prop} = #t29 in #t29;
- core::num* v10 = let final self::Test2* #t31 = t in #t31.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t32 = #t31.{self::Test2::prop}.{core::num::+}(1) in let final void #t33 = #t31.{self::Test2::prop} = #t32 in #t32;
- core::num* v11 = let final self::Test2* #t34 = t in #t34.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t35 = #t34.{self::Test2::prop} in let final void #t36 = #t34.{self::Test2::prop} = #t35.{core::num::+}(1) in #t35;
+ core::int* v1 = let final self::Test2* #t13 = t in #t13 == null ?{core::int*} null : #t13.{self::Test2::prop} = self::getInt();
+ core::num* v2 = let final self::Test2* #t14 = t in #t14 == null ?{core::num*} null : #t14.{self::Test2::prop} = self::getNum();
+ core::double* v3 = let final self::Test2* #t15 = t in #t15 == null ?{core::double*} null : #t15.{self::Test2::prop} = self::getDouble();
+ core::num* v4 = let final self::Test2* #t16 = t in #t16 == null ?{core::num*} null : let final core::num* #t17 = #t16.{self::Test2::prop}{core::num*} in #t17 == null ?{core::num*} #t16.{self::Test2::prop} = self::getInt() : #t17;
+ core::num* v5 = let final self::Test2* #t18 = t in #t18 == null ?{core::num*} null : let final core::num* #t19 = #t18.{self::Test2::prop}{core::num*} in #t19 == null ?{core::num*} #t18.{self::Test2::prop} = self::getNum() : #t19;
+ core::num* v6 = let final self::Test2* #t20 = t in #t20 == null ?{core::num*} null : let final core::num* #t21 = #t20.{self::Test2::prop}{core::num*} in #t21 == null ?{core::num*} #t20.{self::Test2::prop} = self::getDouble() : #t21;
+ core::num* v7 = let final self::Test2* #t22 = t in #t22 == null ?{core::num*} null : let final core::num* #t23 = #t22.{self::Test2::prop}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} in let final void #t24 = #t22.{self::Test2::prop} = #t23 in #t23;
+ core::num* v8 = let final self::Test2* #t25 = t in #t25 == null ?{core::num*} null : let final core::num* #t26 = #t25.{self::Test2::prop}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t27 = #t25.{self::Test2::prop} = #t26 in #t26;
+ core::num* v9 = let final self::Test2* #t28 = t in #t28 == null ?{core::num*} null : let final core::num* #t29 = #t28.{self::Test2::prop}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*} in let final void #t30 = #t28.{self::Test2::prop} = #t29 in #t29;
+ core::num* v10 = let final self::Test2* #t31 = t in #t31 == null ?{core::num*} null : let final core::num* #t32 = #t31.{self::Test2::prop}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*} in let final void #t33 = #t31.{self::Test2::prop} = #t32 in #t32;
+ core::num* v11 = let final self::Test2* #t34 = t in #t34 == null ?{core::num*} null : let final core::num* #t35 = #t34.{self::Test2::prop}{core::num*} in let final void #t36 = #t34.{self::Test2::prop} = #t35.{core::num::+}(1){(core::num*) →* core::num*} in #t35;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -60,13 +60,13 @@
: super core::Object::•()
;
static method test3(self::Test3* t) → void {
- core::double* v3 = let final self::Test3* #t37 = t in #t37.{self::Test3::==}(null) ?{core::double*} null : #t37.{self::Test3::prop} = self::getDouble();
- core::double* v6 = let final self::Test3* #t38 = t in #t38.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t39 = #t38.{self::Test3::prop} in #t39.{core::num::==}(null) ?{core::double*} #t38.{self::Test3::prop} = self::getDouble() : #t39;
- core::double* v7 = let final self::Test3* #t40 = t in #t40.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t41 = #t40.{self::Test3::prop}.{core::double::+}(self::getInt()) in let final void #t42 = #t40.{self::Test3::prop} = #t41 in #t41;
- core::double* v8 = let final self::Test3* #t43 = t in #t43.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t44 = #t43.{self::Test3::prop}.{core::double::+}(self::getNum()) in let final void #t45 = #t43.{self::Test3::prop} = #t44 in #t44;
- core::double* v9 = let final self::Test3* #t46 = t in #t46.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t47 = #t46.{self::Test3::prop}.{core::double::+}(self::getDouble()) in let final void #t48 = #t46.{self::Test3::prop} = #t47 in #t47;
- core::double* v10 = let final self::Test3* #t49 = t in #t49.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t50 = #t49.{self::Test3::prop}.{core::double::+}(1) in let final void #t51 = #t49.{self::Test3::prop} = #t50 in #t50;
- core::double* v11 = let final self::Test3* #t52 = t in #t52.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t53 = #t52.{self::Test3::prop} in let final void #t54 = #t52.{self::Test3::prop} = #t53.{core::double::+}(1) in #t53;
+ core::double* v3 = let final self::Test3* #t37 = t in #t37 == null ?{core::double*} null : #t37.{self::Test3::prop} = self::getDouble();
+ core::double* v6 = let final self::Test3* #t38 = t in #t38 == null ?{core::double*} null : let final core::double* #t39 = #t38.{self::Test3::prop}{core::double*} in #t39 == null ?{core::double*} #t38.{self::Test3::prop} = self::getDouble() : #t39;
+ core::double* v7 = let final self::Test3* #t40 = t in #t40 == null ?{core::double*} null : let final core::double* #t41 = #t40.{self::Test3::prop}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t42 = #t40.{self::Test3::prop} = #t41 in #t41;
+ core::double* v8 = let final self::Test3* #t43 = t in #t43 == null ?{core::double*} null : let final core::double* #t44 = #t43.{self::Test3::prop}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t45 = #t43.{self::Test3::prop} = #t44 in #t44;
+ core::double* v9 = let final self::Test3* #t46 = t in #t46 == null ?{core::double*} null : let final core::double* #t47 = #t46.{self::Test3::prop}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t48 = #t46.{self::Test3::prop} = #t47 in #t47;
+ core::double* v10 = let final self::Test3* #t49 = t in #t49 == null ?{core::double*} null : let final core::double* #t50 = #t49.{self::Test3::prop}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*} in let final void #t51 = #t49.{self::Test3::prop} = #t50 in #t50;
+ core::double* v11 = let final self::Test3* #t52 = t in #t52 == null ?{core::double*} null : let final core::double* #t53 = #t52.{self::Test3::prop}{core::double*} in let final void #t54 = #t52.{self::Test3::prop} = #t53.{core::double::+}(1){(core::num*) →* core::double*} in #t53;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.expect
index fe71ec5..28b3433 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.expect
@@ -57,19 +57,19 @@
;
method test() → void {
super.{self::Base::member} = self::f<self::B*>();
- super.{self::Base::member}.{self::A::==}(null) ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : null;
- super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>());
- super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>());
- super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
- super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
+ super.{self::Base::member} == null ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : null;
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = super.{self::Base::member} = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = super.{self::Base::member} in #t1.{self::A::==}(null) ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : #t1;
- self::A* v3 = super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = super.{self::Base::member} in let final self::B* #t3 = super.{self::Base::member} = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = super.{self::Base::member} in #t1 == null ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : #t1;
+ self::A* v3 = super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = super.{self::Base::member} in let final self::B* #t3 = super.{self::Base::member} = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
}
static method f<T extends core::Object* = dynamic>() → self::f::T*
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.transformed.expect
index fe71ec5..28b3433 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.transformed.expect
@@ -57,19 +57,19 @@
;
method test() → void {
super.{self::Base::member} = self::f<self::B*>();
- super.{self::Base::member}.{self::A::==}(null) ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : null;
- super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>());
- super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>());
- super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
- super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
+ super.{self::Base::member} == null ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : null;
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = super.{self::Base::member} = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = super.{self::Base::member} in #t1.{self::A::==}(null) ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : #t1;
- self::A* v3 = super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = super.{self::Base::member} in let final self::B* #t3 = super.{self::Base::member} = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = super.{self::Base::member} in #t1 == null ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : #t1;
+ self::A* v3 = super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = super.{self::Base::member} in let final self::B* #t3 = super.{self::Base::member} = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
}
static method f<T extends core::Object* = dynamic>() → self::f::T*
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.expect
index 70a957e..15883a8 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.expect
@@ -26,10 +26,10 @@
;
method test() → void {
core::int* v1 = super.{self::Base::intProp} = self::getInt();
- core::int* v4 = let final core::int* #t1 = super.{self::Base::intProp} in #t1.{core::num::==}(null) ?{core::int*} super.{self::Base::intProp} = self::getInt() : #t1;
- core::int* v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getInt());
- core::int* v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(1);
- core::int* v11 = let final core::int* #t2 = super.{self::Base::intProp} in let final core::int* #t3 = super.{self::Base::intProp} = #t2.{core::num::+}(1) in #t2;
+ core::int* v4 = let final core::int* #t1 = super.{self::Base::intProp} in #t1 == null ?{core::int*} super.{self::Base::intProp} = self::getInt() : #t1;
+ core::int* v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t2 = super.{self::Base::intProp} in let final core::int* #t3 = super.{self::Base::intProp} = #t2.{core::num::+}(1){(core::num*) →* core::int*} in #t2;
}
}
class Test2 extends self::Base {
@@ -40,14 +40,14 @@
core::int* v1 = super.{self::Base::numProp} = self::getInt();
core::num* v2 = super.{self::Base::numProp} = self::getNum();
core::double* v3 = super.{self::Base::numProp} = self::getDouble();
- core::num* v4 = let final core::num* #t4 = super.{self::Base::numProp} in #t4.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getInt() : #t4;
- core::num* v5 = let final core::num* #t5 = super.{self::Base::numProp} in #t5.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getNum() : #t5;
- core::num* v6 = let final core::num* #t6 = super.{self::Base::numProp} in #t6.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getDouble() : #t6;
- core::num* v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getInt());
- core::num* v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getNum());
- core::num* v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getDouble());
- core::num* v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(1);
- core::num* v11 = let final core::num* #t7 = super.{self::Base::numProp} in let final core::num* #t8 = super.{self::Base::numProp} = #t7.{core::num::+}(1) in #t7;
+ core::num* v4 = let final core::num* #t4 = super.{self::Base::numProp} in #t4 == null ?{core::num*} super.{self::Base::numProp} = self::getInt() : #t4;
+ core::num* v5 = let final core::num* #t5 = super.{self::Base::numProp} in #t5 == null ?{core::num*} super.{self::Base::numProp} = self::getNum() : #t5;
+ core::num* v6 = let final core::num* #t6 = super.{self::Base::numProp} in #t6 == null ?{core::num*} super.{self::Base::numProp} = self::getDouble() : #t6;
+ core::num* v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t7 = super.{self::Base::numProp} in let final core::num* #t8 = super.{self::Base::numProp} = #t7.{core::num::+}(1){(core::num*) →* core::num*} in #t7;
}
}
class Test3 extends self::Base {
@@ -56,12 +56,12 @@
;
method test3() → void {
core::double* v3 = super.{self::Base::doubleProp} = self::getDouble();
- core::double* v6 = let final core::double* #t9 = super.{self::Base::doubleProp} in #t9.{core::num::==}(null) ?{core::double*} super.{self::Base::doubleProp} = self::getDouble() : #t9;
- core::double* v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getInt());
- core::double* v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getNum());
- core::double* v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getDouble());
- core::double* v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(1);
- core::double* v11 = let final core::double* #t10 = super.{self::Base::doubleProp} in let final core::double* #t11 = super.{self::Base::doubleProp} = #t10.{core::double::+}(1) in #t10;
+ core::double* v6 = let final core::double* #t9 = super.{self::Base::doubleProp} in #t9 == null ?{core::double*} super.{self::Base::doubleProp} = self::getDouble() : #t9;
+ core::double* v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t10 = super.{self::Base::doubleProp} in let final core::double* #t11 = super.{self::Base::doubleProp} = #t10.{core::double::+}(1){(core::num*) →* core::double*} in #t10;
}
}
static method getInt() → core::int*
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
index 70a957e..15883a8 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
@@ -26,10 +26,10 @@
;
method test() → void {
core::int* v1 = super.{self::Base::intProp} = self::getInt();
- core::int* v4 = let final core::int* #t1 = super.{self::Base::intProp} in #t1.{core::num::==}(null) ?{core::int*} super.{self::Base::intProp} = self::getInt() : #t1;
- core::int* v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getInt());
- core::int* v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(1);
- core::int* v11 = let final core::int* #t2 = super.{self::Base::intProp} in let final core::int* #t3 = super.{self::Base::intProp} = #t2.{core::num::+}(1) in #t2;
+ core::int* v4 = let final core::int* #t1 = super.{self::Base::intProp} in #t1 == null ?{core::int*} super.{self::Base::intProp} = self::getInt() : #t1;
+ core::int* v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t2 = super.{self::Base::intProp} in let final core::int* #t3 = super.{self::Base::intProp} = #t2.{core::num::+}(1){(core::num*) →* core::int*} in #t2;
}
}
class Test2 extends self::Base {
@@ -40,14 +40,14 @@
core::int* v1 = super.{self::Base::numProp} = self::getInt();
core::num* v2 = super.{self::Base::numProp} = self::getNum();
core::double* v3 = super.{self::Base::numProp} = self::getDouble();
- core::num* v4 = let final core::num* #t4 = super.{self::Base::numProp} in #t4.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getInt() : #t4;
- core::num* v5 = let final core::num* #t5 = super.{self::Base::numProp} in #t5.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getNum() : #t5;
- core::num* v6 = let final core::num* #t6 = super.{self::Base::numProp} in #t6.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getDouble() : #t6;
- core::num* v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getInt());
- core::num* v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getNum());
- core::num* v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getDouble());
- core::num* v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(1);
- core::num* v11 = let final core::num* #t7 = super.{self::Base::numProp} in let final core::num* #t8 = super.{self::Base::numProp} = #t7.{core::num::+}(1) in #t7;
+ core::num* v4 = let final core::num* #t4 = super.{self::Base::numProp} in #t4 == null ?{core::num*} super.{self::Base::numProp} = self::getInt() : #t4;
+ core::num* v5 = let final core::num* #t5 = super.{self::Base::numProp} in #t5 == null ?{core::num*} super.{self::Base::numProp} = self::getNum() : #t5;
+ core::num* v6 = let final core::num* #t6 = super.{self::Base::numProp} in #t6 == null ?{core::num*} super.{self::Base::numProp} = self::getDouble() : #t6;
+ core::num* v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t7 = super.{self::Base::numProp} in let final core::num* #t8 = super.{self::Base::numProp} = #t7.{core::num::+}(1){(core::num*) →* core::num*} in #t7;
}
}
class Test3 extends self::Base {
@@ -56,12 +56,12 @@
;
method test3() → void {
core::double* v3 = super.{self::Base::doubleProp} = self::getDouble();
- core::double* v6 = let final core::double* #t9 = super.{self::Base::doubleProp} in #t9.{core::num::==}(null) ?{core::double*} super.{self::Base::doubleProp} = self::getDouble() : #t9;
- core::double* v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getInt());
- core::double* v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getNum());
- core::double* v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getDouble());
- core::double* v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(1);
- core::double* v11 = let final core::double* #t10 = super.{self::Base::doubleProp} in let final core::double* #t11 = super.{self::Base::doubleProp} = #t10.{core::double::+}(1) in #t10;
+ core::double* v6 = let final core::double* #t9 = super.{self::Base::doubleProp} in #t9 == null ?{core::double*} super.{self::Base::doubleProp} = self::getDouble() : #t9;
+ core::double* v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t10 = super.{self::Base::doubleProp} in let final core::double* #t11 = super.{self::Base::doubleProp} = #t10.{core::double::+}(1){(core::num*) →* core::double*} in #t10;
}
}
static method getInt() → core::int*
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.expect
index 00c3f25..1e03234 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.expect
@@ -9,10 +9,10 @@
;
static method test(self::Test1* t) → void {
core::int* v1 = t.{self::Test1::prop} = self::getInt();
- core::int* v4 = let final self::Test1* #t1 = t in let final core::int* #t2 = #t1.{self::Test1::prop} in #t2.{core::num::==}(null) ?{core::int*} #t1.{self::Test1::prop} = self::getInt() : #t2;
- core::int* v7 = let final self::Test1* #t3 = t in #t3.{self::Test1::prop} = #t3.{self::Test1::prop}.{core::num::+}(self::getInt());
- core::int* v10 = let final self::Test1* #t4 = t in #t4.{self::Test1::prop} = #t4.{self::Test1::prop}.{core::num::+}(1);
- core::int* v11 = let final self::Test1* #t5 = t in let final core::int* #t6 = #t5.{self::Test1::prop} in let final core::int* #t7 = #t5.{self::Test1::prop} = #t6.{core::num::+}(1) in #t6;
+ core::int* v4 = let final self::Test1* #t1 = t in let final core::int* #t2 = #t1.{self::Test1::prop}{core::int*} in #t2 == null ?{core::int*} #t1.{self::Test1::prop} = self::getInt() : #t2;
+ core::int* v7 = let final self::Test1* #t3 = t in #t3.{self::Test1::prop} = #t3.{self::Test1::prop}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = let final self::Test1* #t4 = t in #t4.{self::Test1::prop} = #t4.{self::Test1::prop}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final self::Test1* #t5 = t in let final core::int* #t6 = #t5.{self::Test1::prop}{core::int*} in let final core::int* #t7 = #t5.{self::Test1::prop} = #t6.{core::num::+}(1){(core::num*) →* core::int*} in #t6;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -34,14 +34,14 @@
core::int* v1 = t.{self::Test2::prop} = self::getInt();
core::num* v2 = t.{self::Test2::prop} = self::getNum();
core::double* v3 = t.{self::Test2::prop} = self::getDouble();
- core::num* v4 = let final self::Test2* #t8 = t in let final core::num* #t9 = #t8.{self::Test2::prop} in #t9.{core::num::==}(null) ?{core::num*} #t8.{self::Test2::prop} = self::getInt() : #t9;
- core::num* v5 = let final self::Test2* #t10 = t in let final core::num* #t11 = #t10.{self::Test2::prop} in #t11.{core::num::==}(null) ?{core::num*} #t10.{self::Test2::prop} = self::getNum() : #t11;
- core::num* v6 = let final self::Test2* #t12 = t in let final core::num* #t13 = #t12.{self::Test2::prop} in #t13.{core::num::==}(null) ?{core::num*} #t12.{self::Test2::prop} = self::getDouble() : #t13;
- core::num* v7 = let final self::Test2* #t14 = t in #t14.{self::Test2::prop} = #t14.{self::Test2::prop}.{core::num::+}(self::getInt());
- core::num* v8 = let final self::Test2* #t15 = t in #t15.{self::Test2::prop} = #t15.{self::Test2::prop}.{core::num::+}(self::getNum());
- core::num* v9 = let final self::Test2* #t16 = t in #t16.{self::Test2::prop} = #t16.{self::Test2::prop}.{core::num::+}(self::getDouble());
- core::num* v10 = let final self::Test2* #t17 = t in #t17.{self::Test2::prop} = #t17.{self::Test2::prop}.{core::num::+}(1);
- core::num* v11 = let final self::Test2* #t18 = t in let final core::num* #t19 = #t18.{self::Test2::prop} in let final core::num* #t20 = #t18.{self::Test2::prop} = #t19.{core::num::+}(1) in #t19;
+ core::num* v4 = let final self::Test2* #t8 = t in let final core::num* #t9 = #t8.{self::Test2::prop}{core::num*} in #t9 == null ?{core::num*} #t8.{self::Test2::prop} = self::getInt() : #t9;
+ core::num* v5 = let final self::Test2* #t10 = t in let final core::num* #t11 = #t10.{self::Test2::prop}{core::num*} in #t11 == null ?{core::num*} #t10.{self::Test2::prop} = self::getNum() : #t11;
+ core::num* v6 = let final self::Test2* #t12 = t in let final core::num* #t13 = #t12.{self::Test2::prop}{core::num*} in #t13 == null ?{core::num*} #t12.{self::Test2::prop} = self::getDouble() : #t13;
+ core::num* v7 = let final self::Test2* #t14 = t in #t14.{self::Test2::prop} = #t14.{self::Test2::prop}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = let final self::Test2* #t15 = t in #t15.{self::Test2::prop} = #t15.{self::Test2::prop}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = let final self::Test2* #t16 = t in #t16.{self::Test2::prop} = #t16.{self::Test2::prop}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = let final self::Test2* #t17 = t in #t17.{self::Test2::prop} = #t17.{self::Test2::prop}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final self::Test2* #t18 = t in let final core::num* #t19 = #t18.{self::Test2::prop}{core::num*} in let final core::num* #t20 = #t18.{self::Test2::prop} = #t19.{core::num::+}(1){(core::num*) →* core::num*} in #t19;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -61,12 +61,12 @@
;
static method test3(self::Test3* t) → void {
core::double* v3 = t.{self::Test3::prop} = self::getDouble();
- core::double* v6 = let final self::Test3* #t21 = t in let final core::double* #t22 = #t21.{self::Test3::prop} in #t22.{core::num::==}(null) ?{core::double*} #t21.{self::Test3::prop} = self::getDouble() : #t22;
- core::double* v7 = let final self::Test3* #t23 = t in #t23.{self::Test3::prop} = #t23.{self::Test3::prop}.{core::double::+}(self::getInt());
- core::double* v8 = let final self::Test3* #t24 = t in #t24.{self::Test3::prop} = #t24.{self::Test3::prop}.{core::double::+}(self::getNum());
- core::double* v9 = let final self::Test3* #t25 = t in #t25.{self::Test3::prop} = #t25.{self::Test3::prop}.{core::double::+}(self::getDouble());
- core::double* v10 = let final self::Test3* #t26 = t in #t26.{self::Test3::prop} = #t26.{self::Test3::prop}.{core::double::+}(1);
- core::double* v11 = let final self::Test3* #t27 = t in let final core::double* #t28 = #t27.{self::Test3::prop} in let final core::double* #t29 = #t27.{self::Test3::prop} = #t28.{core::double::+}(1) in #t28;
+ core::double* v6 = let final self::Test3* #t21 = t in let final core::double* #t22 = #t21.{self::Test3::prop}{core::double*} in #t22 == null ?{core::double*} #t21.{self::Test3::prop} = self::getDouble() : #t22;
+ core::double* v7 = let final self::Test3* #t23 = t in #t23.{self::Test3::prop} = #t23.{self::Test3::prop}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = let final self::Test3* #t24 = t in #t24.{self::Test3::prop} = #t24.{self::Test3::prop}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = let final self::Test3* #t25 = t in #t25.{self::Test3::prop} = #t25.{self::Test3::prop}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = let final self::Test3* #t26 = t in #t26.{self::Test3::prop} = #t26.{self::Test3::prop}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final self::Test3* #t27 = t in let final core::double* #t28 = #t27.{self::Test3::prop}{core::double*} in let final core::double* #t29 = #t27.{self::Test3::prop} = #t28.{core::double::+}(1){(core::num*) →* core::double*} in #t28;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.transformed.expect
index 00c3f25..1e03234 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.transformed.expect
@@ -9,10 +9,10 @@
;
static method test(self::Test1* t) → void {
core::int* v1 = t.{self::Test1::prop} = self::getInt();
- core::int* v4 = let final self::Test1* #t1 = t in let final core::int* #t2 = #t1.{self::Test1::prop} in #t2.{core::num::==}(null) ?{core::int*} #t1.{self::Test1::prop} = self::getInt() : #t2;
- core::int* v7 = let final self::Test1* #t3 = t in #t3.{self::Test1::prop} = #t3.{self::Test1::prop}.{core::num::+}(self::getInt());
- core::int* v10 = let final self::Test1* #t4 = t in #t4.{self::Test1::prop} = #t4.{self::Test1::prop}.{core::num::+}(1);
- core::int* v11 = let final self::Test1* #t5 = t in let final core::int* #t6 = #t5.{self::Test1::prop} in let final core::int* #t7 = #t5.{self::Test1::prop} = #t6.{core::num::+}(1) in #t6;
+ core::int* v4 = let final self::Test1* #t1 = t in let final core::int* #t2 = #t1.{self::Test1::prop}{core::int*} in #t2 == null ?{core::int*} #t1.{self::Test1::prop} = self::getInt() : #t2;
+ core::int* v7 = let final self::Test1* #t3 = t in #t3.{self::Test1::prop} = #t3.{self::Test1::prop}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = let final self::Test1* #t4 = t in #t4.{self::Test1::prop} = #t4.{self::Test1::prop}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final self::Test1* #t5 = t in let final core::int* #t6 = #t5.{self::Test1::prop}{core::int*} in let final core::int* #t7 = #t5.{self::Test1::prop} = #t6.{core::num::+}(1){(core::num*) →* core::int*} in #t6;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -34,14 +34,14 @@
core::int* v1 = t.{self::Test2::prop} = self::getInt();
core::num* v2 = t.{self::Test2::prop} = self::getNum();
core::double* v3 = t.{self::Test2::prop} = self::getDouble();
- core::num* v4 = let final self::Test2* #t8 = t in let final core::num* #t9 = #t8.{self::Test2::prop} in #t9.{core::num::==}(null) ?{core::num*} #t8.{self::Test2::prop} = self::getInt() : #t9;
- core::num* v5 = let final self::Test2* #t10 = t in let final core::num* #t11 = #t10.{self::Test2::prop} in #t11.{core::num::==}(null) ?{core::num*} #t10.{self::Test2::prop} = self::getNum() : #t11;
- core::num* v6 = let final self::Test2* #t12 = t in let final core::num* #t13 = #t12.{self::Test2::prop} in #t13.{core::num::==}(null) ?{core::num*} #t12.{self::Test2::prop} = self::getDouble() : #t13;
- core::num* v7 = let final self::Test2* #t14 = t in #t14.{self::Test2::prop} = #t14.{self::Test2::prop}.{core::num::+}(self::getInt());
- core::num* v8 = let final self::Test2* #t15 = t in #t15.{self::Test2::prop} = #t15.{self::Test2::prop}.{core::num::+}(self::getNum());
- core::num* v9 = let final self::Test2* #t16 = t in #t16.{self::Test2::prop} = #t16.{self::Test2::prop}.{core::num::+}(self::getDouble());
- core::num* v10 = let final self::Test2* #t17 = t in #t17.{self::Test2::prop} = #t17.{self::Test2::prop}.{core::num::+}(1);
- core::num* v11 = let final self::Test2* #t18 = t in let final core::num* #t19 = #t18.{self::Test2::prop} in let final core::num* #t20 = #t18.{self::Test2::prop} = #t19.{core::num::+}(1) in #t19;
+ core::num* v4 = let final self::Test2* #t8 = t in let final core::num* #t9 = #t8.{self::Test2::prop}{core::num*} in #t9 == null ?{core::num*} #t8.{self::Test2::prop} = self::getInt() : #t9;
+ core::num* v5 = let final self::Test2* #t10 = t in let final core::num* #t11 = #t10.{self::Test2::prop}{core::num*} in #t11 == null ?{core::num*} #t10.{self::Test2::prop} = self::getNum() : #t11;
+ core::num* v6 = let final self::Test2* #t12 = t in let final core::num* #t13 = #t12.{self::Test2::prop}{core::num*} in #t13 == null ?{core::num*} #t12.{self::Test2::prop} = self::getDouble() : #t13;
+ core::num* v7 = let final self::Test2* #t14 = t in #t14.{self::Test2::prop} = #t14.{self::Test2::prop}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = let final self::Test2* #t15 = t in #t15.{self::Test2::prop} = #t15.{self::Test2::prop}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = let final self::Test2* #t16 = t in #t16.{self::Test2::prop} = #t16.{self::Test2::prop}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = let final self::Test2* #t17 = t in #t17.{self::Test2::prop} = #t17.{self::Test2::prop}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final self::Test2* #t18 = t in let final core::num* #t19 = #t18.{self::Test2::prop}{core::num*} in let final core::num* #t20 = #t18.{self::Test2::prop} = #t19.{core::num::+}(1){(core::num*) →* core::num*} in #t19;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -61,12 +61,12 @@
;
static method test3(self::Test3* t) → void {
core::double* v3 = t.{self::Test3::prop} = self::getDouble();
- core::double* v6 = let final self::Test3* #t21 = t in let final core::double* #t22 = #t21.{self::Test3::prop} in #t22.{core::num::==}(null) ?{core::double*} #t21.{self::Test3::prop} = self::getDouble() : #t22;
- core::double* v7 = let final self::Test3* #t23 = t in #t23.{self::Test3::prop} = #t23.{self::Test3::prop}.{core::double::+}(self::getInt());
- core::double* v8 = let final self::Test3* #t24 = t in #t24.{self::Test3::prop} = #t24.{self::Test3::prop}.{core::double::+}(self::getNum());
- core::double* v9 = let final self::Test3* #t25 = t in #t25.{self::Test3::prop} = #t25.{self::Test3::prop}.{core::double::+}(self::getDouble());
- core::double* v10 = let final self::Test3* #t26 = t in #t26.{self::Test3::prop} = #t26.{self::Test3::prop}.{core::double::+}(1);
- core::double* v11 = let final self::Test3* #t27 = t in let final core::double* #t28 = #t27.{self::Test3::prop} in let final core::double* #t29 = #t27.{self::Test3::prop} = #t28.{core::double::+}(1) in #t28;
+ core::double* v6 = let final self::Test3* #t21 = t in let final core::double* #t22 = #t21.{self::Test3::prop}{core::double*} in #t22 == null ?{core::double*} #t21.{self::Test3::prop} = self::getDouble() : #t22;
+ core::double* v7 = let final self::Test3* #t23 = t in #t23.{self::Test3::prop} = #t23.{self::Test3::prop}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = let final self::Test3* #t24 = t in #t24.{self::Test3::prop} = #t24.{self::Test3::prop}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = let final self::Test3* #t25 = t in #t25.{self::Test3::prop} = #t25.{self::Test3::prop}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = let final self::Test3* #t26 = t in #t26.{self::Test3::prop} = #t26.{self::Test3::prop}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final self::Test3* #t27 = t in let final core::double* #t28 = #t27.{self::Test3::prop}{core::double*} in let final core::double* #t29 = #t27.{self::Test3::prop} = #t28.{core::double::+}(1){(core::num*) →* core::double*} in #t28;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.expect
index cd7e710..090413f 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.expect
@@ -41,34 +41,34 @@
return null;
static method test_topLevelVariable() → void {
self::topLevelVariable = self::f<self::B*>();
- self::topLevelVariable.{self::A::==}(null) ?{self::B*} self::topLevelVariable = self::f<self::B*>() : null;
- self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>());
- self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>());
- self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
- self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
+ self::topLevelVariable == null ?{self::B*} self::topLevelVariable = self::f<self::B*>() : null;
+ self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = self::topLevelVariable = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = self::topLevelVariable in #t1.{self::A::==}(null) ?{self::B*} self::topLevelVariable = self::f<self::B*>() : #t1;
- self::A* v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>());
- self::C* v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>());
- self::B* v6 = self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = self::topLevelVariable in let final self::B* #t3 = self::topLevelVariable = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = self::topLevelVariable in #t1 == null ?{self::B*} self::topLevelVariable = self::f<self::B*>() : #t1;
+ self::A* v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = self::topLevelVariable in let final self::B* #t3 = self::topLevelVariable = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
static method test_staticVariable() → void {
self::B::staticVariable = self::f<self::B*>();
- self::B::staticVariable.{self::A::==}(null) ?{self::B*} self::B::staticVariable = self::f<self::B*>() : null;
- self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>());
- self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>());
- self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
- self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
+ self::B::staticVariable == null ?{self::B*} self::B::staticVariable = self::f<self::B*>() : null;
+ self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = self::B::staticVariable = self::f<self::B*>();
- self::B* v2 = let final self::B* #t4 = self::B::staticVariable in #t4.{self::A::==}(null) ?{self::B*} self::B::staticVariable = self::f<self::B*>() : #t4;
- self::A* v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>());
- self::C* v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>());
- self::B* v6 = self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
- self::B* v7 = let final self::B* #t5 = self::B::staticVariable in let final self::B* #t6 = self::B::staticVariable = #t5.{self::B::-}(1) in #t5;
+ self::B* v2 = let final self::B* #t4 = self::B::staticVariable in #t4 == null ?{self::B*} self::B::staticVariable = self::f<self::B*>() : #t4;
+ self::A* v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t5 = self::B::staticVariable in let final self::B* #t6 = self::B::staticVariable = #t5.{self::B::-}(1){(core::int*) →* self::B*} in #t5;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.transformed.expect
index cd7e710..090413f 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.transformed.expect
@@ -41,34 +41,34 @@
return null;
static method test_topLevelVariable() → void {
self::topLevelVariable = self::f<self::B*>();
- self::topLevelVariable.{self::A::==}(null) ?{self::B*} self::topLevelVariable = self::f<self::B*>() : null;
- self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>());
- self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>());
- self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
- self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
+ self::topLevelVariable == null ?{self::B*} self::topLevelVariable = self::f<self::B*>() : null;
+ self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = self::topLevelVariable = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = self::topLevelVariable in #t1.{self::A::==}(null) ?{self::B*} self::topLevelVariable = self::f<self::B*>() : #t1;
- self::A* v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>());
- self::C* v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>());
- self::B* v6 = self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = self::topLevelVariable in let final self::B* #t3 = self::topLevelVariable = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = self::topLevelVariable in #t1 == null ?{self::B*} self::topLevelVariable = self::f<self::B*>() : #t1;
+ self::A* v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = self::topLevelVariable in let final self::B* #t3 = self::topLevelVariable = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
static method test_staticVariable() → void {
self::B::staticVariable = self::f<self::B*>();
- self::B::staticVariable.{self::A::==}(null) ?{self::B*} self::B::staticVariable = self::f<self::B*>() : null;
- self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>());
- self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>());
- self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
- self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
+ self::B::staticVariable == null ?{self::B*} self::B::staticVariable = self::f<self::B*>() : null;
+ self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = self::B::staticVariable = self::f<self::B*>();
- self::B* v2 = let final self::B* #t4 = self::B::staticVariable in #t4.{self::A::==}(null) ?{self::B*} self::B::staticVariable = self::f<self::B*>() : #t4;
- self::A* v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>());
- self::C* v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>());
- self::B* v6 = self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
- self::B* v7 = let final self::B* #t5 = self::B::staticVariable in let final self::B* #t6 = self::B::staticVariable = #t5.{self::B::-}(1) in #t5;
+ self::B* v2 = let final self::B* #t4 = self::B::staticVariable in #t4 == null ?{self::B*} self::B::staticVariable = self::f<self::B*>() : #t4;
+ self::A* v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t5 = self::B::staticVariable in let final self::B* #t6 = self::B::staticVariable = #t5.{self::B::-}(1){(core::int*) →* self::B*} in #t5;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.expect b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.expect
index 109c102..4130e63 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.expect
@@ -13,31 +13,31 @@
return 0.0;
static method test1() → void {
core::int* v1 = self::topLevelInt = self::getInt();
- core::int* v4 = let final core::int* #t1 = self::topLevelInt in #t1.{core::num::==}(null) ?{core::int*} self::topLevelInt = self::getInt() : #t1;
- core::int* v7 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getInt());
- core::int* v10 = self::topLevelInt = self::topLevelInt.{core::num::+}(1);
- core::int* v11 = let final core::int* #t2 = self::topLevelInt in let final core::int* #t3 = self::topLevelInt = #t2.{core::num::+}(1) in #t2;
+ core::int* v4 = let final core::int* #t1 = self::topLevelInt in #t1 == null ?{core::int*} self::topLevelInt = self::getInt() : #t1;
+ core::int* v7 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = self::topLevelInt = self::topLevelInt.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t2 = self::topLevelInt in let final core::int* #t3 = self::topLevelInt = #t2.{core::num::+}(1){(core::num*) →* core::int*} in #t2;
}
static method test2() → void {
core::int* v1 = self::topLevelNum = self::getInt();
core::num* v2 = self::topLevelNum = self::getNum();
core::double* v3 = self::topLevelNum = self::getDouble();
- core::num* v4 = let final core::num* #t4 = self::topLevelNum in #t4.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getInt() : #t4;
- core::num* v5 = let final core::num* #t5 = self::topLevelNum in #t5.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getNum() : #t5;
- core::num* v6 = let final core::num* #t6 = self::topLevelNum in #t6.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getDouble() : #t6;
- core::num* v7 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getInt());
- core::num* v8 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getNum());
- core::num* v9 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getDouble());
- core::num* v10 = self::topLevelNum = self::topLevelNum.{core::num::+}(1);
- core::num* v11 = let final core::num* #t7 = self::topLevelNum in let final core::num* #t8 = self::topLevelNum = #t7.{core::num::+}(1) in #t7;
+ core::num* v4 = let final core::num* #t4 = self::topLevelNum in #t4 == null ?{core::num*} self::topLevelNum = self::getInt() : #t4;
+ core::num* v5 = let final core::num* #t5 = self::topLevelNum in #t5 == null ?{core::num*} self::topLevelNum = self::getNum() : #t5;
+ core::num* v6 = let final core::num* #t6 = self::topLevelNum in #t6 == null ?{core::num*} self::topLevelNum = self::getDouble() : #t6;
+ core::num* v7 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = self::topLevelNum = self::topLevelNum.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t7 = self::topLevelNum in let final core::num* #t8 = self::topLevelNum = #t7.{core::num::+}(1){(core::num*) →* core::num*} in #t7;
}
static method test3() → void {
core::double* v3 = self::topLevelDouble = self::getDouble();
- core::double* v6 = let final core::double* #t9 = self::topLevelDouble in #t9.{core::num::==}(null) ?{core::double*} self::topLevelDouble = self::getDouble() : #t9;
- core::double* v7 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getInt());
- core::double* v8 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getNum());
- core::double* v9 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getDouble());
- core::double* v10 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(1);
- core::double* v11 = let final core::double* #t10 = self::topLevelDouble in let final core::double* #t11 = self::topLevelDouble = #t10.{core::double::+}(1) in #t10;
+ core::double* v6 = let final core::double* #t9 = self::topLevelDouble in #t9 == null ?{core::double*} self::topLevelDouble = self::getDouble() : #t9;
+ core::double* v7 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t10 = self::topLevelDouble in let final core::double* #t11 = self::topLevelDouble = #t10.{core::double::+}(1){(core::num*) →* core::double*} in #t10;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.transformed.expect
index 109c102..4130e63 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.transformed.expect
@@ -13,31 +13,31 @@
return 0.0;
static method test1() → void {
core::int* v1 = self::topLevelInt = self::getInt();
- core::int* v4 = let final core::int* #t1 = self::topLevelInt in #t1.{core::num::==}(null) ?{core::int*} self::topLevelInt = self::getInt() : #t1;
- core::int* v7 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getInt());
- core::int* v10 = self::topLevelInt = self::topLevelInt.{core::num::+}(1);
- core::int* v11 = let final core::int* #t2 = self::topLevelInt in let final core::int* #t3 = self::topLevelInt = #t2.{core::num::+}(1) in #t2;
+ core::int* v4 = let final core::int* #t1 = self::topLevelInt in #t1 == null ?{core::int*} self::topLevelInt = self::getInt() : #t1;
+ core::int* v7 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::int* v10 = self::topLevelInt = self::topLevelInt.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t2 = self::topLevelInt in let final core::int* #t3 = self::topLevelInt = #t2.{core::num::+}(1){(core::num*) →* core::int*} in #t2;
}
static method test2() → void {
core::int* v1 = self::topLevelNum = self::getInt();
core::num* v2 = self::topLevelNum = self::getNum();
core::double* v3 = self::topLevelNum = self::getDouble();
- core::num* v4 = let final core::num* #t4 = self::topLevelNum in #t4.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getInt() : #t4;
- core::num* v5 = let final core::num* #t5 = self::topLevelNum in #t5.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getNum() : #t5;
- core::num* v6 = let final core::num* #t6 = self::topLevelNum in #t6.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getDouble() : #t6;
- core::num* v7 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getInt());
- core::num* v8 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getNum());
- core::num* v9 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getDouble());
- core::num* v10 = self::topLevelNum = self::topLevelNum.{core::num::+}(1);
- core::num* v11 = let final core::num* #t7 = self::topLevelNum in let final core::num* #t8 = self::topLevelNum = #t7.{core::num::+}(1) in #t7;
+ core::num* v4 = let final core::num* #t4 = self::topLevelNum in #t4 == null ?{core::num*} self::topLevelNum = self::getInt() : #t4;
+ core::num* v5 = let final core::num* #t5 = self::topLevelNum in #t5 == null ?{core::num*} self::topLevelNum = self::getNum() : #t5;
+ core::num* v6 = let final core::num* #t6 = self::topLevelNum in #t6 == null ?{core::num*} self::topLevelNum = self::getDouble() : #t6;
+ core::num* v7 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = self::topLevelNum = self::topLevelNum.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t7 = self::topLevelNum in let final core::num* #t8 = self::topLevelNum = #t7.{core::num::+}(1){(core::num*) →* core::num*} in #t7;
}
static method test3() → void {
core::double* v3 = self::topLevelDouble = self::getDouble();
- core::double* v6 = let final core::double* #t9 = self::topLevelDouble in #t9.{core::num::==}(null) ?{core::double*} self::topLevelDouble = self::getDouble() : #t9;
- core::double* v7 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getInt());
- core::double* v8 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getNum());
- core::double* v9 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getDouble());
- core::double* v10 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(1);
- core::double* v11 = let final core::double* #t10 = self::topLevelDouble in let final core::double* #t11 = self::topLevelDouble = #t10.{core::double::+}(1) in #t10;
+ core::double* v6 = let final core::double* #t9 = self::topLevelDouble in #t9 == null ?{core::double*} self::topLevelDouble = self::getDouble() : #t9;
+ core::double* v7 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t10 = self::topLevelDouble in let final core::double* #t11 = self::topLevelDouble = #t10.{core::double::+}(1){(core::num*) →* core::double*} in #t10;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.expect
index 3797db6..2fd7b9e 100644
--- a/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.expect
@@ -21,8 +21,8 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::int* v_add = new self::A::•().{self::A::+}("foo");
-static field core::double* v_minus = new self::A::•().{self::A::-}("bar");
+static field core::int* v_add = new self::A::•().{self::A::+}("foo"){(dynamic) →* core::int*};
+static field core::double* v_minus = new self::A::•().{self::A::-}("bar"){(dynamic) →* core::double*};
static method main() → dynamic {
self::v_add;
self::v_minus;
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.transformed.expect
index 3797db6..2fd7b9e 100644
--- a/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.transformed.expect
@@ -21,8 +21,8 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::int* v_add = new self::A::•().{self::A::+}("foo");
-static field core::double* v_minus = new self::A::•().{self::A::-}("bar");
+static field core::int* v_add = new self::A::•().{self::A::+}("foo"){(dynamic) →* core::int*};
+static field core::double* v_minus = new self::A::•().{self::A::-}("bar"){(dynamic) →* core::double*};
static method main() → dynamic {
self::v_add;
self::v_minus;
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.expect b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.expect
index ce38bb7..38be484 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.expect
@@ -2,18 +2,18 @@
import self as self;
import "dart:core" as core;
-static field core::bool* a_equal = 1.0.{core::num::==}(2.0);
-static field core::bool* a_notEqual = !1.0.{core::num::==}(2.0);
-static field core::double* a_add = 1.0.{core::double::+}(2.0);
-static field core::double* a_subtract = 1.0.{core::double::-}(2.0);
-static field core::double* a_multiply = 1.0.{core::double::*}(2.0);
-static field core::double* a_divide = 1.0.{core::double::/}(2.0);
-static field core::int* a_floorDivide = 1.0.{core::double::~/}(2.0);
-static field core::bool* a_greater = 1.0.{core::num::>}(2.0);
-static field core::bool* a_less = 1.0.{core::num::<}(2.0);
-static field core::bool* a_greaterEqual = 1.0.{core::num::>=}(2.0);
-static field core::bool* a_lessEqual = 1.0.{core::num::<=}(2.0);
-static field core::double* a_modulo = 1.0.{core::double::%}(2.0);
+static field core::bool* a_equal = 1.0 =={core::num::==}{(core::Object*) →* core::bool*} 2.0;
+static field core::bool* a_notEqual = !(1.0 =={core::num::==}{(core::Object*) →* core::bool*} 2.0);
+static field core::double* a_add = 1.0.{core::double::+}(2.0){(core::num*) →* core::double*};
+static field core::double* a_subtract = 1.0.{core::double::-}(2.0){(core::num*) →* core::double*};
+static field core::double* a_multiply = 1.0.{core::double::*}(2.0){(core::num*) →* core::double*};
+static field core::double* a_divide = 1.0.{core::double::/}(2.0){(core::num*) →* core::double*};
+static field core::int* a_floorDivide = 1.0.{core::double::~/}(2.0){(core::num*) →* core::int*};
+static field core::bool* a_greater = 1.0.{core::num::>}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_less = 1.0.{core::num::<}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_greaterEqual = 1.0.{core::num::>=}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_lessEqual = 1.0.{core::num::<=}(2.0){(core::num*) →* core::bool*};
+static field core::double* a_modulo = 1.0.{core::double::%}(2.0){(core::num*) →* core::double*};
static method main() → dynamic {
self::a_equal;
self::a_notEqual;
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.transformed.expect
index 944c9ba..b96f167 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.transformed.expect
@@ -2,18 +2,18 @@
import self as self;
import "dart:core" as core;
-static field core::bool* a_equal = 1.0.{core::num::==}(2.0);
-static field core::bool* a_notEqual = !1.0.{core::num::==}(2.0);
-static field core::double* a_add = 1.0.{core::double::+}(2.0);
-static field core::double* a_subtract = 1.0.{core::double::-}(2.0);
-static field core::double* a_multiply = 1.0.{core::double::*}(2.0);
-static field core::double* a_divide = 1.0.{core::double::/}(2.0);
-static field core::int* a_floorDivide = 1.0.{core::double::~/}(2.0);
-static field core::bool* a_greater = 1.0.{core::num::>}(2.0);
-static field core::bool* a_less = 1.0.{core::num::<}(2.0);
-static field core::bool* a_greaterEqual = 1.0.{core::num::>=}(2.0);
-static field core::bool* a_lessEqual = 1.0.{core::num::<=}(2.0);
-static field core::double* a_modulo = 1.0.{core::double::%}(2.0);
+static field core::bool* a_equal = 1.0 =={core::num::==}{(core::Object*) →* core::bool*} 2.0;
+static field core::bool* a_notEqual = !(1.0 =={core::num::==}{(core::Object*) →* core::bool*} 2.0);
+static field core::double* a_add = 1.0.{core::double::+}(2.0){(core::num*) →* core::double*};
+static field core::double* a_subtract = 1.0.{core::double::-}(2.0){(core::num*) →* core::double*};
+static field core::double* a_multiply = 1.0.{core::double::*}(2.0){(core::num*) →* core::double*};
+static field core::double* a_divide = 1.0.{core::double::/}(2.0){(core::num*) →* core::double*};
+static field core::int* a_floorDivide = 1.0.{core::double::~/}(2.0){(core::num*) →* core::int*};
+static field core::bool* a_greater = 1.0.{core::num::>}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_less = 1.0.{core::num::<}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_greaterEqual = 1.0.{core::num::>=}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_lessEqual = 1.0.{core::num::<=}(2.0){(core::num*) →* core::bool*};
+static field core::double* a_modulo = 1.0.{core::double::%}(2.0){(core::num*) →* core::double*};
static method main() → dynamic {
self::a_equal;
self::a_notEqual;
@@ -31,16 +31,16 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:8:38 -> BoolConstant(false)
+Evaluated: EqualsCall @ org-dartlang-testcase:///infer_binary_double_double.dart:8:38 -> BoolConstant(false)
Evaluated: Not @ org-dartlang-testcase:///infer_binary_double_double.dart:9:41 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:10:38 -> DoubleConstant(3.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:11:43 -> DoubleConstant(-1.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:12:43 -> DoubleConstant(2.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:13:42 -> DoubleConstant(0.5)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:14:48 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:15:39 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:16:36 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:17:45 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:18:42 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:19:41 -> DoubleConstant(1.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:10:38 -> DoubleConstant(3.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:11:43 -> DoubleConstant(-1.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:12:43 -> DoubleConstant(2.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:13:42 -> DoubleConstant(0.5)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:14:48 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:15:39 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:16:36 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:17:45 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:18:42 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_double.dart:19:41 -> DoubleConstant(1.0)
Extra constant evaluation: evaluated: 24, effectively constant: 12
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.expect
index 4fb5e69..1f62c1e 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.expect
@@ -2,18 +2,18 @@
import self as self;
import "dart:core" as core;
-static field core::bool* a_equal = 1.0.{core::num::==}(2);
-static field core::bool* a_notEqual = !1.0.{core::num::==}(2);
-static field core::double* a_add = 1.0.{core::double::+}(2);
-static field core::double* a_subtract = 1.0.{core::double::-}(2);
-static field core::double* a_multiply = 1.0.{core::double::*}(2);
-static field core::double* a_divide = 1.0.{core::double::/}(2);
-static field core::int* a_floorDivide = 1.0.{core::double::~/}(2);
-static field core::bool* a_greater = 1.0.{core::num::>}(2);
-static field core::bool* a_less = 1.0.{core::num::<}(2);
-static field core::bool* a_greaterEqual = 1.0.{core::num::>=}(2);
-static field core::bool* a_lessEqual = 1.0.{core::num::<=}(2);
-static field core::double* a_modulo = 1.0.{core::double::%}(2);
+static field core::bool* a_equal = 1.0 =={core::num::==}{(core::Object*) →* core::bool*} 2;
+static field core::bool* a_notEqual = !(1.0 =={core::num::==}{(core::Object*) →* core::bool*} 2);
+static field core::double* a_add = 1.0.{core::double::+}(2){(core::num*) →* core::double*};
+static field core::double* a_subtract = 1.0.{core::double::-}(2){(core::num*) →* core::double*};
+static field core::double* a_multiply = 1.0.{core::double::*}(2){(core::num*) →* core::double*};
+static field core::double* a_divide = 1.0.{core::double::/}(2){(core::num*) →* core::double*};
+static field core::int* a_floorDivide = 1.0.{core::double::~/}(2){(core::num*) →* core::int*};
+static field core::bool* a_greater = 1.0.{core::num::>}(2){(core::num*) →* core::bool*};
+static field core::bool* a_less = 1.0.{core::num::<}(2){(core::num*) →* core::bool*};
+static field core::bool* a_greaterEqual = 1.0.{core::num::>=}(2){(core::num*) →* core::bool*};
+static field core::bool* a_lessEqual = 1.0.{core::num::<=}(2){(core::num*) →* core::bool*};
+static field core::double* a_modulo = 1.0.{core::double::%}(2){(core::num*) →* core::double*};
static method main() → dynamic {
self::a_equal;
self::a_notEqual;
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.transformed.expect
index c3d3a34..046802e 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.transformed.expect
@@ -2,18 +2,18 @@
import self as self;
import "dart:core" as core;
-static field core::bool* a_equal = 1.0.{core::num::==}(2);
-static field core::bool* a_notEqual = !1.0.{core::num::==}(2);
-static field core::double* a_add = 1.0.{core::double::+}(2);
-static field core::double* a_subtract = 1.0.{core::double::-}(2);
-static field core::double* a_multiply = 1.0.{core::double::*}(2);
-static field core::double* a_divide = 1.0.{core::double::/}(2);
-static field core::int* a_floorDivide = 1.0.{core::double::~/}(2);
-static field core::bool* a_greater = 1.0.{core::num::>}(2);
-static field core::bool* a_less = 1.0.{core::num::<}(2);
-static field core::bool* a_greaterEqual = 1.0.{core::num::>=}(2);
-static field core::bool* a_lessEqual = 1.0.{core::num::<=}(2);
-static field core::double* a_modulo = 1.0.{core::double::%}(2);
+static field core::bool* a_equal = 1.0 =={core::num::==}{(core::Object*) →* core::bool*} 2;
+static field core::bool* a_notEqual = !(1.0 =={core::num::==}{(core::Object*) →* core::bool*} 2);
+static field core::double* a_add = 1.0.{core::double::+}(2){(core::num*) →* core::double*};
+static field core::double* a_subtract = 1.0.{core::double::-}(2){(core::num*) →* core::double*};
+static field core::double* a_multiply = 1.0.{core::double::*}(2){(core::num*) →* core::double*};
+static field core::double* a_divide = 1.0.{core::double::/}(2){(core::num*) →* core::double*};
+static field core::int* a_floorDivide = 1.0.{core::double::~/}(2){(core::num*) →* core::int*};
+static field core::bool* a_greater = 1.0.{core::num::>}(2){(core::num*) →* core::bool*};
+static field core::bool* a_less = 1.0.{core::num::<}(2){(core::num*) →* core::bool*};
+static field core::bool* a_greaterEqual = 1.0.{core::num::>=}(2){(core::num*) →* core::bool*};
+static field core::bool* a_lessEqual = 1.0.{core::num::<=}(2){(core::num*) →* core::bool*};
+static field core::double* a_modulo = 1.0.{core::double::%}(2){(core::num*) →* core::double*};
static method main() → dynamic {
self::a_equal;
self::a_notEqual;
@@ -31,16 +31,16 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:8:38 -> BoolConstant(false)
+Evaluated: EqualsCall @ org-dartlang-testcase:///infer_binary_double_int.dart:8:38 -> BoolConstant(false)
Evaluated: Not @ org-dartlang-testcase:///infer_binary_double_int.dart:9:41 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:10:38 -> DoubleConstant(3.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:11:43 -> DoubleConstant(-1.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:12:43 -> DoubleConstant(2.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:13:42 -> DoubleConstant(0.5)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:14:48 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:15:39 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:16:36 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:17:45 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:18:42 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:19:41 -> DoubleConstant(1.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:10:38 -> DoubleConstant(3.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:11:43 -> DoubleConstant(-1.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:12:43 -> DoubleConstant(2.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:13:42 -> DoubleConstant(0.5)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:14:48 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:15:39 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:16:36 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:17:45 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:18:42 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_double_int.dart:19:41 -> DoubleConstant(1.0)
Extra constant evaluation: evaluated: 24, effectively constant: 12
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.expect
index 29ba83c..1e26a3e 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.expect
@@ -2,18 +2,18 @@
import self as self;
import "dart:core" as core;
-static field core::bool* a_equal = 1.{core::num::==}(2.0);
-static field core::bool* a_notEqual = !1.{core::num::==}(2.0);
-static field core::double* a_add = 1.{core::num::+}(2.0);
-static field core::double* a_subtract = 1.{core::num::-}(2.0);
-static field core::double* a_multiply = 1.{core::num::*}(2.0);
-static field core::double* a_divide = 1.{core::num::/}(2.0);
-static field core::int* a_floorDivide = 1.{core::num::~/}(2.0);
-static field core::bool* a_greater = 1.{core::num::>}(2.0);
-static field core::bool* a_less = 1.{core::num::<}(2.0);
-static field core::bool* a_greaterEqual = 1.{core::num::>=}(2.0);
-static field core::bool* a_lessEqual = 1.{core::num::<=}(2.0);
-static field core::double* a_modulo = 1.{core::num::%}(2.0);
+static field core::bool* a_equal = 1 =={core::num::==}{(core::Object*) →* core::bool*} 2.0;
+static field core::bool* a_notEqual = !(1 =={core::num::==}{(core::Object*) →* core::bool*} 2.0);
+static field core::double* a_add = 1.{core::num::+}(2.0){(core::num*) →* core::double*};
+static field core::double* a_subtract = 1.{core::num::-}(2.0){(core::num*) →* core::double*};
+static field core::double* a_multiply = 1.{core::num::*}(2.0){(core::num*) →* core::double*};
+static field core::double* a_divide = 1.{core::num::/}(2.0){(core::num*) →* core::double*};
+static field core::int* a_floorDivide = 1.{core::num::~/}(2.0){(core::num*) →* core::int*};
+static field core::bool* a_greater = 1.{core::num::>}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_less = 1.{core::num::<}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_greaterEqual = 1.{core::num::>=}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_lessEqual = 1.{core::num::<=}(2.0){(core::num*) →* core::bool*};
+static field core::double* a_modulo = 1.{core::num::%}(2.0){(core::num*) →* core::double*};
static method main() → dynamic {
self::a_equal;
self::a_notEqual;
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.transformed.expect
index c9a0c95..85e2e66 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.transformed.expect
@@ -2,18 +2,18 @@
import self as self;
import "dart:core" as core;
-static field core::bool* a_equal = 1.{core::num::==}(2.0);
-static field core::bool* a_notEqual = !1.{core::num::==}(2.0);
-static field core::double* a_add = 1.{core::num::+}(2.0);
-static field core::double* a_subtract = 1.{core::num::-}(2.0);
-static field core::double* a_multiply = 1.{core::num::*}(2.0);
-static field core::double* a_divide = 1.{core::num::/}(2.0);
-static field core::int* a_floorDivide = 1.{core::num::~/}(2.0);
-static field core::bool* a_greater = 1.{core::num::>}(2.0);
-static field core::bool* a_less = 1.{core::num::<}(2.0);
-static field core::bool* a_greaterEqual = 1.{core::num::>=}(2.0);
-static field core::bool* a_lessEqual = 1.{core::num::<=}(2.0);
-static field core::double* a_modulo = 1.{core::num::%}(2.0);
+static field core::bool* a_equal = 1 =={core::num::==}{(core::Object*) →* core::bool*} 2.0;
+static field core::bool* a_notEqual = !(1 =={core::num::==}{(core::Object*) →* core::bool*} 2.0);
+static field core::double* a_add = 1.{core::num::+}(2.0){(core::num*) →* core::double*};
+static field core::double* a_subtract = 1.{core::num::-}(2.0){(core::num*) →* core::double*};
+static field core::double* a_multiply = 1.{core::num::*}(2.0){(core::num*) →* core::double*};
+static field core::double* a_divide = 1.{core::num::/}(2.0){(core::num*) →* core::double*};
+static field core::int* a_floorDivide = 1.{core::num::~/}(2.0){(core::num*) →* core::int*};
+static field core::bool* a_greater = 1.{core::num::>}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_less = 1.{core::num::<}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_greaterEqual = 1.{core::num::>=}(2.0){(core::num*) →* core::bool*};
+static field core::bool* a_lessEqual = 1.{core::num::<=}(2.0){(core::num*) →* core::bool*};
+static field core::double* a_modulo = 1.{core::num::%}(2.0){(core::num*) →* core::double*};
static method main() → dynamic {
self::a_equal;
self::a_notEqual;
@@ -31,16 +31,16 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:8:36 -> BoolConstant(false)
+Evaluated: EqualsCall @ org-dartlang-testcase:///infer_binary_int_double.dart:8:36 -> BoolConstant(false)
Evaluated: Not @ org-dartlang-testcase:///infer_binary_int_double.dart:9:39 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:10:33 -> DoubleConstant(3.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:11:38 -> DoubleConstant(-1.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:12:38 -> DoubleConstant(2.0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:13:37 -> DoubleConstant(0.5)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:14:43 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:15:37 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:16:34 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:17:43 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:18:40 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:19:36 -> DoubleConstant(1.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:10:33 -> DoubleConstant(3.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:11:38 -> DoubleConstant(-1.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:12:38 -> DoubleConstant(2.0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:13:37 -> DoubleConstant(0.5)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:14:43 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:15:37 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:16:34 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:17:43 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:18:40 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_double.dart:19:36 -> DoubleConstant(1.0)
Extra constant evaluation: evaluated: 24, effectively constant: 12
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.expect b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.expect
index bee4a3d..883662f 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.expect
@@ -2,23 +2,23 @@
import self as self;
import "dart:core" as core;
-static field core::bool* a_equal = 1.{core::num::==}(2);
-static field core::bool* a_notEqual = !1.{core::num::==}(2);
-static field core::int* a_bitXor = 1.{core::int::^}(2);
-static field core::int* a_bitAnd = 1.{core::int::&}(2);
-static field core::int* a_bitOr = 1.{core::int::|}(2);
-static field core::int* a_bitShiftRight = 1.{core::int::>>}(2);
-static field core::int* a_bitShiftLeft = 1.{core::int::<<}(2);
-static field core::int* a_add = 1.{core::num::+}(2);
-static field core::int* a_subtract = 1.{core::num::-}(2);
-static field core::int* a_multiply = 1.{core::num::*}(2);
-static field core::double* a_divide = 1.{core::num::/}(2);
-static field core::int* a_floorDivide = 1.{core::num::~/}(2);
-static field core::bool* a_greater = 1.{core::num::>}(2);
-static field core::bool* a_less = 1.{core::num::<}(2);
-static field core::bool* a_greaterEqual = 1.{core::num::>=}(2);
-static field core::bool* a_lessEqual = 1.{core::num::<=}(2);
-static field core::int* a_modulo = 1.{core::num::%}(2);
+static field core::bool* a_equal = 1 =={core::num::==}{(core::Object*) →* core::bool*} 2;
+static field core::bool* a_notEqual = !(1 =={core::num::==}{(core::Object*) →* core::bool*} 2);
+static field core::int* a_bitXor = 1.{core::int::^}(2){(core::int*) →* core::int*};
+static field core::int* a_bitAnd = 1.{core::int::&}(2){(core::int*) →* core::int*};
+static field core::int* a_bitOr = 1.{core::int::|}(2){(core::int*) →* core::int*};
+static field core::int* a_bitShiftRight = 1.{core::int::>>}(2){(core::int*) →* core::int*};
+static field core::int* a_bitShiftLeft = 1.{core::int::<<}(2){(core::int*) →* core::int*};
+static field core::int* a_add = 1.{core::num::+}(2){(core::num*) →* core::int*};
+static field core::int* a_subtract = 1.{core::num::-}(2){(core::num*) →* core::int*};
+static field core::int* a_multiply = 1.{core::num::*}(2){(core::num*) →* core::int*};
+static field core::double* a_divide = 1.{core::num::/}(2){(core::num*) →* core::double*};
+static field core::int* a_floorDivide = 1.{core::num::~/}(2){(core::num*) →* core::int*};
+static field core::bool* a_greater = 1.{core::num::>}(2){(core::num*) →* core::bool*};
+static field core::bool* a_less = 1.{core::num::<}(2){(core::num*) →* core::bool*};
+static field core::bool* a_greaterEqual = 1.{core::num::>=}(2){(core::num*) →* core::bool*};
+static field core::bool* a_lessEqual = 1.{core::num::<=}(2){(core::num*) →* core::bool*};
+static field core::int* a_modulo = 1.{core::num::%}(2){(core::num*) →* core::int*};
static method main() → dynamic {
self::a_equal;
self::a_notEqual;
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.transformed.expect
index e0f1ccf..650dde3 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.transformed.expect
@@ -2,23 +2,23 @@
import self as self;
import "dart:core" as core;
-static field core::bool* a_equal = 1.{core::num::==}(2);
-static field core::bool* a_notEqual = !1.{core::num::==}(2);
-static field core::int* a_bitXor = 1.{core::int::^}(2);
-static field core::int* a_bitAnd = 1.{core::int::&}(2);
-static field core::int* a_bitOr = 1.{core::int::|}(2);
-static field core::int* a_bitShiftRight = 1.{core::int::>>}(2);
-static field core::int* a_bitShiftLeft = 1.{core::int::<<}(2);
-static field core::int* a_add = 1.{core::num::+}(2);
-static field core::int* a_subtract = 1.{core::num::-}(2);
-static field core::int* a_multiply = 1.{core::num::*}(2);
-static field core::double* a_divide = 1.{core::num::/}(2);
-static field core::int* a_floorDivide = 1.{core::num::~/}(2);
-static field core::bool* a_greater = 1.{core::num::>}(2);
-static field core::bool* a_less = 1.{core::num::<}(2);
-static field core::bool* a_greaterEqual = 1.{core::num::>=}(2);
-static field core::bool* a_lessEqual = 1.{core::num::<=}(2);
-static field core::int* a_modulo = 1.{core::num::%}(2);
+static field core::bool* a_equal = 1 =={core::num::==}{(core::Object*) →* core::bool*} 2;
+static field core::bool* a_notEqual = !(1 =={core::num::==}{(core::Object*) →* core::bool*} 2);
+static field core::int* a_bitXor = 1.{core::int::^}(2){(core::int*) →* core::int*};
+static field core::int* a_bitAnd = 1.{core::int::&}(2){(core::int*) →* core::int*};
+static field core::int* a_bitOr = 1.{core::int::|}(2){(core::int*) →* core::int*};
+static field core::int* a_bitShiftRight = 1.{core::int::>>}(2){(core::int*) →* core::int*};
+static field core::int* a_bitShiftLeft = 1.{core::int::<<}(2){(core::int*) →* core::int*};
+static field core::int* a_add = 1.{core::num::+}(2){(core::num*) →* core::int*};
+static field core::int* a_subtract = 1.{core::num::-}(2){(core::num*) →* core::int*};
+static field core::int* a_multiply = 1.{core::num::*}(2){(core::num*) →* core::int*};
+static field core::double* a_divide = 1.{core::num::/}(2){(core::num*) →* core::double*};
+static field core::int* a_floorDivide = 1.{core::num::~/}(2){(core::num*) →* core::int*};
+static field core::bool* a_greater = 1.{core::num::>}(2){(core::num*) →* core::bool*};
+static field core::bool* a_less = 1.{core::num::<}(2){(core::num*) →* core::bool*};
+static field core::bool* a_greaterEqual = 1.{core::num::>=}(2){(core::num*) →* core::bool*};
+static field core::bool* a_lessEqual = 1.{core::num::<=}(2){(core::num*) →* core::bool*};
+static field core::int* a_modulo = 1.{core::num::%}(2){(core::num*) →* core::int*};
static method main() → dynamic {
self::a_equal;
self::a_notEqual;
@@ -41,21 +41,21 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:8:36 -> BoolConstant(false)
+Evaluated: EqualsCall @ org-dartlang-testcase:///infer_binary_int_int.dart:8:36 -> BoolConstant(false)
Evaluated: Not @ org-dartlang-testcase:///infer_binary_int_int.dart:9:39 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:10:36 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:11:36 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:12:35 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:13:44 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:14:43 -> IntConstant(4)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:15:33 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:16:38 -> IntConstant(-1)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:17:38 -> IntConstant(2)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:18:37 -> DoubleConstant(0.5)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:19:43 -> IntConstant(0)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:20:37 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:21:34 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:22:43 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:23:40 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:24:36 -> IntConstant(1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:10:36 -> IntConstant(3)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:11:36 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:12:35 -> IntConstant(3)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:13:44 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:14:43 -> IntConstant(4)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:15:33 -> IntConstant(3)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:16:38 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:17:38 -> IntConstant(2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:18:37 -> DoubleConstant(0.5)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:19:43 -> IntConstant(0)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:20:37 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:21:34 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:22:43 -> BoolConstant(false)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:23:40 -> BoolConstant(true)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_binary_int_int.dart:24:36 -> IntConstant(1)
Extra constant evaluation: evaluated: 34, effectively constant: 17
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart.weak.expect b/pkg/front_end/testcases/inference/infer_conditional.dart.weak.expect
index d539e95..b2128b8 100644
--- a/pkg/front_end/testcases/inference/infer_conditional.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_conditional.dart.weak.expect
@@ -2,8 +2,8 @@
import self as self;
import "dart:core" as core;
-static field core::num* a = 1.{core::num::==}(2) ?{core::num*} 1 : 2.0;
-static field core::num* b = 1.{core::num::==}(2) ?{core::num*} 1.0 : 2;
+static field core::num* a = 1 =={core::num::==}{(core::Object*) →* core::bool*} 2 ?{core::num*} 1 : 2.0;
+static field core::num* b = 1 =={core::num::==}{(core::Object*) →* core::bool*} 2 ?{core::num*} 1.0 : 2;
static method main() → dynamic {
self::a;
self::b;
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_conditional.dart.weak.transformed.expect
index c348897..cf7cb3e 100644
--- a/pkg/front_end/testcases/inference/infer_conditional.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_conditional.dart.weak.transformed.expect
@@ -2,8 +2,8 @@
import self as self;
import "dart:core" as core;
-static field core::num* a = 1.{core::num::==}(2) ?{core::num*} 1 : 2.0;
-static field core::num* b = 1.{core::num::==}(2) ?{core::num*} 1.0 : 2;
+static field core::num* a = 1 =={core::num::==}{(core::Object*) →* core::bool*} 2 ?{core::num*} 1 : 2.0;
+static field core::num* b = 1 =={core::num::==}{(core::Object*) →* core::bool*} 2 ?{core::num*} 1.0 : 2;
static method main() → dynamic {
self::a;
self::b;
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.expect
index 252bf92..c0c88a8 100644
--- a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.expect
@@ -57,19 +57,19 @@
static method foo() → dynamic {
core::String* s;
core::int* i;
- s = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::String*;
+ s = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::String*;
s = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart:21:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
s = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.y*/ y;
- ^" in new self::B::•().{self::B::y} as{TypeError} core::String*;
- s = new self::B::•().{self::B::z};
+ ^" in new self::B::•().{self::B::y}{core::int*} as{TypeError} core::String*;
+ s = new self::B::•().{self::B::z}{core::String*};
s = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart:23:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
s = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.w*/ w;
- ^" in new self::B::•().{self::B::w} as{TypeError} core::String*;
- i = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::int*;
- i = new self::B::•().{self::B::y};
+ ^" in new self::B::•().{self::B::w}{core::int*} as{TypeError} core::String*;
+ i = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::int*;
+ i = new self::B::•().{self::B::y}{core::int*};
i = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart:27:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
i = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.z*/ z;
- ^" in new self::B::•().{self::B::z} as{TypeError} core::int*;
- i = new self::B::•().{self::B::w};
+ ^" in new self::B::•().{self::B::z}{core::String*} as{TypeError} core::int*;
+ i = new self::B::•().{self::B::w}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.transformed.expect
index 252bf92..c0c88a8 100644
--- a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.transformed.expect
@@ -57,19 +57,19 @@
static method foo() → dynamic {
core::String* s;
core::int* i;
- s = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::String*;
+ s = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::String*;
s = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart:21:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
s = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.y*/ y;
- ^" in new self::B::•().{self::B::y} as{TypeError} core::String*;
- s = new self::B::•().{self::B::z};
+ ^" in new self::B::•().{self::B::y}{core::int*} as{TypeError} core::String*;
+ s = new self::B::•().{self::B::z}{core::String*};
s = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart:23:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
s = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.w*/ w;
- ^" in new self::B::•().{self::B::w} as{TypeError} core::String*;
- i = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::int*;
- i = new self::B::•().{self::B::y};
+ ^" in new self::B::•().{self::B::w}{core::int*} as{TypeError} core::String*;
+ i = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::int*;
+ i = new self::B::•().{self::B::y}{core::int*};
i = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart:27:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
i = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.z*/ z;
- ^" in new self::B::•().{self::B::z} as{TypeError} core::int*;
- i = new self::B::•().{self::B::w};
+ ^" in new self::B::•().{self::B::z}{core::String*} as{TypeError} core::int*;
+ i = new self::B::•().{self::B::w}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.expect
index fef4a0f..1e12aec 100644
--- a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.expect
@@ -112,9 +112,9 @@
static field self::A* e = let final self::A* #t1 = new self::A::•() in block {
#t1.{self::A::x} = 3;
} =>#t1;
-static field core::int* f = 2.{core::num::+}(3);
-static field core::int* g = 3.{core::int::unary-}();
-static field self::B* h = new self::A::•().{self::A::+}(3);
+static field core::int* f = 2.{core::num::+}(3){(core::num*) →* core::int*};
+static field core::int* g = 3.{core::int::unary-}(){() →* core::int*};
+static field self::B* h = new self::A::•().{self::A::+}(3){(dynamic) →* self::B*};
static field dynamic i = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:32:58: Error: The operator 'unary-' isn't defined for the class 'A'.
- 'A' is from 'pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart'.
Try correcting the operator to an existing operator, or defining a 'unary-' operator.
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.transformed.expect
index 57cf06b..0cc2a2f 100644
--- a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.transformed.expect
@@ -112,9 +112,9 @@
static field self::A* e = let final self::A* #t1 = new self::A::•() in block {
#t1.{self::A::x} = 3;
} =>#t1;
-static field core::int* f = 2.{core::num::+}(3);
-static field core::int* g = 3.{core::int::unary-}();
-static field self::B* h = new self::A::•().{self::A::+}(3);
+static field core::int* f = 2.{core::num::+}(3){(core::num*) →* core::int*};
+static field core::int* g = 3.{core::int::unary-}(){() →* core::int*};
+static field self::B* h = new self::A::•().{self::A::+}(3){(dynamic) →* self::B*};
static field dynamic i = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:32:58: Error: The operator 'unary-' isn't defined for the class 'A'.
- 'A' is from 'pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart'.
Try correcting the operator to an existing operator, or defining a 'unary-' operator.
@@ -191,6 +191,6 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_from_complex_expressions_if_outer_most_value_is_precise.dart:27:25 -> IntConstant(5)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_from_complex_expressions_if_outer_most_value_is_precise.dart:30:32 -> IntConstant(-3)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_from_complex_expressions_if_outer_most_value_is_precise.dart:27:25 -> IntConstant(5)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_from_complex_expressions_if_outer_most_value_is_precise.dart:30:32 -> IntConstant(-3)
Extra constant evaluation: evaluated: 74, effectively constant: 2
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.expect
index 71aa0dc..8b4fa52 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.expect
@@ -35,7 +35,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::String* y = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::String*;
- core::int* z = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::int*;
+ core::String* y = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.transformed.expect
index 71aa0dc..8b4fa52 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.transformed.expect
@@ -35,7 +35,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::String* y = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::String*;
- core::int* z = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::int*;
+ core::String* y = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.expect
index 009838f..d5127a5 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.expect
@@ -35,7 +35,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::String* y = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::String*;
- core::int* z = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::int*;
+ core::String* y = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.transformed.expect
index 009838f..d5127a5 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.transformed.expect
@@ -35,7 +35,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::String* y = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::String*;
- core::int* z = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::int*;
+ core::String* y = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.expect
index 7d80c98..6d31625 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::double* y = new self::C::•().{self::C::m}<core::double*>(1, b: "bbb", c: 2.0);
+ core::double* y = new self::C::•().{self::C::m}<core::double*>(1, b: "bbb", c: 2.0){(core::int*, {b: core::String*, c: core::double*}) →* core::double*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.transformed.expect
index 7d80c98..6d31625 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::double* y = new self::C::•().{self::C::m}<core::double*>(1, b: "bbb", c: 2.0);
+ core::double* y = new self::C::•().{self::C::m}<core::double*>(1, b: "bbb", c: 2.0){(core::int*, {b: core::String*, c: core::double*}) →* core::double*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.expect
index db66ee8..5c86982 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::double* y = new self::C::•().{self::C::m}<core::double*>(1, 2.0);
+ core::double* y = new self::C::•().{self::C::m}<core::double*>(1, 2.0){(core::int*, [core::double*]) →* core::double*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.transformed.expect
index db66ee8..5c86982 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::double* y = new self::C::•().{self::C::m}<core::double*>(1, 2.0);
+ core::double* y = new self::C::•().{self::C::m}<core::double*>(1, 2.0){(core::int*, [core::double*]) →* core::double*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.expect
index 3f647fc..7af5aa7 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::double* y = new self::C::•().{self::C::m}<core::double*>(1, "bbb", 2.0);
+ core::double* y = new self::C::•().{self::C::m}<core::double*>(1, "bbb", 2.0){(core::int*, [core::String*, core::double*]) →* core::double*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.transformed.expect
index 3f647fc..7af5aa7 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::double* y = new self::C::•().{self::C::m}<core::double*>(1, "bbb", 2.0);
+ core::double* y = new self::C::•().{self::C::m}<core::double*>(1, "bbb", 2.0){(core::int*, [core::String*, core::double*]) →* core::double*};
}
constants {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.expect
index 83c7b4f..4435be3 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.expect
@@ -20,5 +20,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::int* y = new self::C::•().{self::C::m}<core::int*>(42);
+ core::int* y = new self::C::•().{self::C::m}<core::int*>(42){(core::int*) →* core::int*};
}
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.transformed.expect
index 83c7b4f..4435be3 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.transformed.expect
@@ -20,5 +20,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::int* y = new self::C::•().{self::C::m}<core::int*>(42);
+ core::int* y = new self::C::•().{self::C::m}<core::int*>(42){(core::int*) →* core::int*};
}
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.expect
index 1f0c1f2..eb05a20 100644
--- a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.expect
@@ -23,9 +23,9 @@
function f6() → core::num*
return 42;
function f7() → dynamic
- return f7.call();
+ return f7(){() →* dynamic};
function f8() → asy::Stream<core::int*>*
- return f5.call();
+ return f5(){() →* asy::Stream<core::int*>*};
() →* core::int* v0 = f0;
() →* asy::Future<core::int*>* v1 = f1;
() →* core::int* v2 = f2;
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect
index eeeccd2..618d97a 100644
--- a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect
@@ -116,9 +116,9 @@
function f6() → core::num*
return 42;
function f7() → dynamic
- return f7.call();
+ return f7(){() →* dynamic};
function f8() → asy::Stream<core::int*>*
- return f5.call();
+ return f5(){() →* asy::Stream<core::int*>*};
() →* core::int* v0 = f0;
() →* asy::Future<core::int*>* v1 = f1;
() →* core::int* v2 = f2;
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.expect
index d6e4379..abae228 100644
--- a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.expect
@@ -28,6 +28,6 @@
static method f<T extends core::Object* = dynamic>() → self::f::T*
return null;
static method g(self::B* b) → dynamic {
- b.{self::B::x}(self::f<() →* dynamic>());
+ b.{self::B::x}(self::f<() →* dynamic>()){(() →* dynamic) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.transformed.expect
index d6e4379..abae228 100644
--- a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.transformed.expect
@@ -28,6 +28,6 @@
static method f<T extends core::Object* = dynamic>() → self::f::T*
return null;
static method g(self::B* b) → dynamic {
- b.{self::B::x}(self::f<() →* dynamic>());
+ b.{self::B::x}(self::f<() →* dynamic>()){(() →* dynamic) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.expect b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.expect
index 4d5f369..ec7b742 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.expect
@@ -3,8 +3,8 @@
import "dart:core" as core;
static field core::bool* a_not = !true;
-static field core::int* a_complement = 1.{core::int::~}();
-static field core::int* a_negate = 1.{core::int::unary-}();
+static field core::int* a_complement = 1.{core::int::~}(){() →* core::int*};
+static field core::int* a_negate = 1.{core::int::unary-}(){() →* core::int*};
static method main() → dynamic {
self::a_not;
self::a_complement;
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.transformed.expect
index d0e0ac7..23ef7a8 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.transformed.expect
@@ -3,8 +3,8 @@
import "dart:core" as core;
static field core::bool* a_not = !true;
-static field core::int* a_complement = 1.{core::int::~}();
-static field core::int* a_negate = 1.{core::int::unary-}();
+static field core::int* a_complement = 1.{core::int::~}(){() →* core::int*};
+static field core::int* a_negate = 1.{core::int::unary-}(){() →* core::int*};
static method main() → dynamic {
self::a_not;
self::a_complement;
@@ -14,6 +14,6 @@
Extra constant evaluation status:
Evaluated: Not @ org-dartlang-testcase:///infer_prefix_expression.dart:8:13 -> BoolConstant(false)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_prefix_expression.dart:9:38 -> IntConstant(-2)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///infer_prefix_expression.dart:10:39 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_prefix_expression.dart:9:38 -> IntConstant(-2)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///infer_prefix_expression.dart:10:39 -> IntConstant(-1)
Extra constant evaluation: evaluated: 6, effectively constant: 3
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.expect
index 0e5d070..2c6f832 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.expect
@@ -22,8 +22,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::A* a = new self::A::•();
-static field core::int* v_complement = self::a.{self::A::~}();
-static field core::double* v_negate = self::a.{self::A::unary-}();
+static field core::int* v_complement = self::a.{self::A::~}(){() →* core::int*};
+static field core::double* v_negate = self::a.{self::A::unary-}(){() →* core::double*};
static method main() → dynamic {
self::a;
self::v_complement;
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.transformed.expect
index 0e5d070..2c6f832 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.transformed.expect
@@ -22,8 +22,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::A* a = new self::A::•();
-static field core::int* v_complement = self::a.{self::A::~}();
-static field core::double* v_negate = self::a.{self::A::unary-}();
+static field core::int* v_complement = self::a.{self::A::~}(){() →* core::int*};
+static field core::double* v_negate = self::a.{self::A::unary-}(){() →* core::double*};
static method main() → dynamic {
self::a;
self::v_complement;
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.expect b/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.expect
index b45d3019..32fec4b 100644
--- a/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.expect
@@ -3,10 +3,10 @@
static method test(() →* dynamic f, () →* dynamic g) → dynamic {
try {
- f.call();
+ f();
}
on dynamic catch(final dynamic _) {
- g.call();
+ g();
rethrow;
}
}
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.transformed.expect
index b45d3019..32fec4b 100644
--- a/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.transformed.expect
@@ -3,10 +3,10 @@
static method test(() →* dynamic f, () →* dynamic g) → dynamic {
try {
- f.call();
+ f();
}
on dynamic catch(final dynamic _) {
- g.call();
+ g();
rethrow;
}
}
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.expect b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.expect
index e547269..cdbf9e5 100644
--- a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.expect
@@ -5,8 +5,8 @@
static method strings() → core::List<core::String*>* {
core::Iterable<core::String*>* stuff = <dynamic>[].{core::Iterable::expand}<core::String*>((dynamic i) → core::List<core::String*>* {
return <core::String*>[];
- });
- return stuff.{core::Iterable::toList}();
+ }){((dynamic) →* core::Iterable<core::String*>*) →* core::Iterable<core::String*>*};
+ return stuff.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
}
static method main() → dynamic {
self::strings();
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.transformed.expect
index e0d92ec..02da645 100644
--- a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.transformed.expect
@@ -5,8 +5,8 @@
static method strings() → core::List<core::String*>* {
core::Iterable<core::String*>* stuff = core::_GrowableList::•<dynamic>(0).{core::Iterable::expand}<core::String*>((dynamic i) → core::List<core::String*>* {
return core::_GrowableList::•<core::String*>(0);
- });
- return stuff.{core::Iterable::toList}();
+ }){((dynamic) →* core::Iterable<core::String*>*) →* core::Iterable<core::String*>*};
+ return stuff.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
}
static method main() → dynamic {
self::strings();
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.expect
index e76572a..7306671 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.expect
@@ -35,7 +35,7 @@
static method foo() → dynamic {
core::String* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart:17:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String y = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.x*/ x;
- ^" in new self::B::•().{self::B::x} as{TypeError} core::String*;
- core::int* z = new self::B::•().{self::B::x};
+ ^" in new self::B::•().{self::B::x}{core::int*} as{TypeError} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.transformed.expect
index e76572a..7306671 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.transformed.expect
@@ -35,7 +35,7 @@
static method foo() → dynamic {
core::String* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart:17:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String y = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.x*/ x;
- ^" in new self::B::•().{self::B::x} as{TypeError} core::String*;
- core::int* z = new self::B::•().{self::B::x};
+ ^" in new self::B::•().{self::B::x}{core::int*} as{TypeError} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.expect
index d06646f..357a311 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.expect
@@ -45,7 +45,7 @@
static method foo() → dynamic {
core::String* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart:17:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String y = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.x*/ x;
- ^" in new self::B::•().{self::B::x} as{TypeError} core::String*;
- core::int* z = new self::B::•().{self::B::x};
+ ^" in new self::B::•().{self::B::x}{core::int*} as{TypeError} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.transformed.expect
index d06646f..357a311 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
static method foo() → dynamic {
core::String* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart:17:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String y = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.x*/ x;
- ^" in new self::B::•().{self::B::x} as{TypeError} core::String*;
- core::int* z = new self::B::•().{self::B::x};
+ ^" in new self::B::•().{self::B::x}{core::int*} as{TypeError} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.expect
index ab91a2b..8674afe 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.expect
@@ -25,17 +25,17 @@
: super core::Object::•()
;
method test1() → dynamic {
- core::int* a = this.{self::A::x};
+ core::int* a = this.{self::A::x}{core::int*};
a = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart:13:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
a = /*error:INVALID_ASSIGNMENT*/ \"hi\";
^" in "hi" as{TypeError} core::int*;
a = 3;
- core::int* b = this.{self::A::y};
+ core::int* b = this.{self::A::y}{core::int*};
b = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart:16:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
b = /*error:INVALID_ASSIGNMENT*/ \"hi\";
^" in "hi" as{TypeError} core::int*;
b = 4;
- core::int* c = this.{self::A::z};
+ core::int* c = this.{self::A::z}{core::int*};
c = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart:19:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
c = /*error:INVALID_ASSIGNMENT*/ \"hi\";
^" in "hi" as{TypeError} core::int*;
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.transformed.expect
index ab91a2b..8674afe 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.transformed.expect
@@ -25,17 +25,17 @@
: super core::Object::•()
;
method test1() → dynamic {
- core::int* a = this.{self::A::x};
+ core::int* a = this.{self::A::x}{core::int*};
a = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart:13:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
a = /*error:INVALID_ASSIGNMENT*/ \"hi\";
^" in "hi" as{TypeError} core::int*;
a = 3;
- core::int* b = this.{self::A::y};
+ core::int* b = this.{self::A::y}{core::int*};
b = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart:16:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
b = /*error:INVALID_ASSIGNMENT*/ \"hi\";
^" in "hi" as{TypeError} core::int*;
b = 4;
- core::int* c = this.{self::A::z};
+ core::int* c = this.{self::A::z}{core::int*};
c = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart:19:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
c = /*error:INVALID_ASSIGNMENT*/ \"hi\";
^" in "hi" as{TypeError} core::int*;
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.expect
index 7f0fd1d..247bcf0 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.expect
@@ -37,10 +37,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::int* y = new self::C::•().{self::C::x};
+ core::int* y = new self::C::•().{self::C::x}{core::int*};
core::String* z = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart:20:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String z = /*error:INVALID_ASSIGNMENT*/ new C(). /*@target=C.x*/ x;
- ^" in new self::C::•().{self::C::x} as{TypeError} core::String*;
+ ^" in new self::C::•().{self::C::x}{core::int*} as{TypeError} core::String*;
}
static method main() → dynamic {
self::foo();
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.transformed.expect
index 7f0fd1d..247bcf0 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.transformed.expect
@@ -37,10 +37,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::int* y = new self::C::•().{self::C::x};
+ core::int* y = new self::C::•().{self::C::x}{core::int*};
core::String* z = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart:20:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String z = /*error:INVALID_ASSIGNMENT*/ new C(). /*@target=C.x*/ x;
- ^" in new self::C::•().{self::C::x} as{TypeError} core::String*;
+ ^" in new self::C::•().{self::C::x}{core::int*} as{TypeError} core::String*;
}
static method main() → dynamic {
self::foo();
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.expect
index c34888f..ebbcf90 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.expect
@@ -50,10 +50,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::int* y = new test::C::•().{test::C::x};
+ core::int* y = new test::C::•().{test::C::x}{core::int*};
core::String* z = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart:20:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String z = /*error:INVALID_ASSIGNMENT*/ new C(). /*@target=C.x*/ x;
- ^" in new test::C::•().{test::C::x} as{TypeError} core::String*;
+ ^" in new test::C::•().{test::C::x}{core::int*} as{TypeError} core::String*;
}
static method main() → dynamic {
test::foo();
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.transformed.expect
index c34888f..ebbcf90 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.transformed.expect
@@ -50,10 +50,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::int* y = new test::C::•().{test::C::x};
+ core::int* y = new test::C::•().{test::C::x}{core::int*};
core::String* z = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart:20:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String z = /*error:INVALID_ASSIGNMENT*/ new C(). /*@target=C.x*/ x;
- ^" in new test::C::•().{test::C::x} as{TypeError} core::String*;
+ ^" in new test::C::•().{test::C::x}{core::int*} as{TypeError} core::String*;
}
static method main() → dynamic {
test::foo();
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.expect
index 2395853..0dfdff3 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.expect
@@ -54,7 +54,7 @@
static method foo() → dynamic {
core::String* y = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart:19:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String y = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.x*/ x;
- ^" in new self::B::•().{self::B::x} as{TypeError} core::String*;
- core::int* z = new self::B::•().{self::B::x};
+ ^" in new self::B::•().{self::B::x}{core::int*} as{TypeError} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.transformed.expect
index 2395853..0dfdff3 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.transformed.expect
@@ -54,7 +54,7 @@
static method foo() → dynamic {
core::String* y = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart:19:68: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
String y = /*error:INVALID_ASSIGNMENT*/ new B(). /*@target=B.x*/ x;
- ^" in new self::B::•().{self::B::x} as{TypeError} core::String*;
- core::int* z = new self::B::•().{self::B::x};
+ ^" in new self::B::•().{self::B::x}{core::int*} as{TypeError} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.expect
index b8c9b32..4c24549 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.expect
@@ -31,13 +31,13 @@
: super self::A::•()
;
get x() → self::B::E*
- return this.{self::B::y};
+ return this.{self::B::y}{self::B::E*};
}
static method foo() → dynamic {
core::int* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart:18:73: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
int y = /*error:INVALID_ASSIGNMENT*/ new B<String>(). /*@target=B.x*/ x;
- ^" in new self::B::•<core::String*>().{self::B::x} as{TypeError} core::int*;
- core::String* z = new self::B::•<core::String*>().{self::B::x};
+ ^" in new self::B::•<core::String*>().{self::B::x}{core::String*} as{TypeError} core::int*;
+ core::String* z = new self::B::•<core::String*>().{self::B::x}{core::String*};
}
static method main() → dynamic {
self::foo();
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.transformed.expect
index b8c9b32..4c24549 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.transformed.expect
@@ -31,13 +31,13 @@
: super self::A::•()
;
get x() → self::B::E*
- return this.{self::B::y};
+ return this.{self::B::y}{self::B::E*};
}
static method foo() → dynamic {
core::int* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart:18:73: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
int y = /*error:INVALID_ASSIGNMENT*/ new B<String>(). /*@target=B.x*/ x;
- ^" in new self::B::•<core::String*>().{self::B::x} as{TypeError} core::int*;
- core::String* z = new self::B::•<core::String*>().{self::B::x};
+ ^" in new self::B::•<core::String*>().{self::B::x}{core::String*} as{TypeError} core::int*;
+ core::String* z = new self::B::•<core::String*>().{self::B::x}{core::String*};
}
static method main() → dynamic {
self::foo();
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.expect
index 191aea3..f76b260 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.expect
@@ -68,7 +68,7 @@
static method foo() → dynamic {
core::int* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart:30:25: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
. /*@target=B.m*/ m(null, null);
- ^" in new self::B::•<dynamic>().{self::B::m}(null, null) as{TypeError} core::int*;
- core::String* z = new self::B::•<dynamic>().{self::B::m}(null, null);
+ ^" in new self::B::•<dynamic>().{self::B::m}(null, null){(dynamic, (dynamic, dynamic) →* dynamic) →* core::String*} as{TypeError} core::int*;
+ core::String* z = new self::B::•<dynamic>().{self::B::m}(null, null){(dynamic, (dynamic, dynamic) →* dynamic) →* core::String*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.transformed.expect
index 191aea3..f76b260 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.transformed.expect
@@ -68,7 +68,7 @@
static method foo() → dynamic {
core::int* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart:30:25: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
. /*@target=B.m*/ m(null, null);
- ^" in new self::B::•<dynamic>().{self::B::m}(null, null) as{TypeError} core::int*;
- core::String* z = new self::B::•<dynamic>().{self::B::m}(null, null);
+ ^" in new self::B::•<dynamic>().{self::B::m}(null, null){(dynamic, (dynamic, dynamic) →* dynamic) →* core::String*} as{TypeError} core::int*;
+ core::String* z = new self::B::•<dynamic>().{self::B::m}(null, null){(dynamic, (dynamic, dynamic) →* dynamic) →* core::String*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.expect
index 4bbdc0c..b156e85 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.expect
@@ -55,8 +55,8 @@
static method foo() → dynamic {
core::int* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart:30:29: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
. /*@target=A.value*/ value;
- ^" in new self::B::•<core::String*>().{self::B::m}(null, null).{self::A::value} as{TypeError} core::int*;
- core::String* z = new self::B::•<core::String*>().{self::B::m}(null, null).{self::A::value};
+ ^" in new self::B::•<core::String*>().{self::B::m}(null, null){(dynamic, (dynamic, core::int*) →* dynamic) →* self::A<core::String*>*}.{self::A::value}{core::String*} as{TypeError} core::int*;
+ core::String* z = new self::B::•<core::String*>().{self::B::m}(null, null){(dynamic, (dynamic, core::int*) →* dynamic) →* self::A<core::String*>*}.{self::A::value}{core::String*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.transformed.expect
index 4bbdc0c..b156e85 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.transformed.expect
@@ -55,8 +55,8 @@
static method foo() → dynamic {
core::int* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart:30:29: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
. /*@target=A.value*/ value;
- ^" in new self::B::•<core::String*>().{self::B::m}(null, null).{self::A::value} as{TypeError} core::int*;
- core::String* z = new self::B::•<core::String*>().{self::B::m}(null, null).{self::A::value};
+ ^" in new self::B::•<core::String*>().{self::B::m}(null, null){(dynamic, (dynamic, core::int*) →* dynamic) →* self::A<core::String*>*}.{self::A::value}{core::String*} as{TypeError} core::int*;
+ core::String* z = new self::B::•<core::String*>().{self::B::m}(null, null){(dynamic, (dynamic, core::int*) →* dynamic) →* self::A<core::String*>*}.{self::A::value}{core::String*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.expect
index a65779d..5764bd1 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.expect
@@ -80,7 +80,7 @@
static method foo() → dynamic {
core::int* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart:30:29: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
. /*@target=A.value*/ value;
- ^" in new test::B::•<core::String*>().{test::B::m}(null, null).{test::A::value} as{TypeError} core::int*;
- core::String* z = new test::B::•<core::String*>().{test::B::m}(null, null).{test::A::value};
+ ^" in new test::B::•<core::String*>().{test::B::m}(null, null){(dynamic, (dynamic, core::int*) →* dynamic) →* test::A<core::String*>*}.{test::A::value}{core::String*} as{TypeError} core::int*;
+ core::String* z = new test::B::•<core::String*>().{test::B::m}(null, null){(dynamic, (dynamic, core::int*) →* dynamic) →* test::A<core::String*>*}.{test::A::value}{core::String*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.transformed.expect
index a65779d..5764bd1 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.transformed.expect
@@ -80,7 +80,7 @@
static method foo() → dynamic {
core::int* y = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart:30:29: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
. /*@target=A.value*/ value;
- ^" in new test::B::•<core::String*>().{test::B::m}(null, null).{test::A::value} as{TypeError} core::int*;
- core::String* z = new test::B::•<core::String*>().{test::B::m}(null, null).{test::A::value};
+ ^" in new test::B::•<core::String*>().{test::B::m}(null, null){(dynamic, (dynamic, core::int*) →* dynamic) →* test::A<core::String*>*}.{test::A::value}{core::String*} as{TypeError} core::int*;
+ core::String* z = new test::B::•<core::String*>().{test::B::m}(null, null){(dynamic, (dynamic, core::int*) →* dynamic) →* test::A<core::String*>*}.{test::A::value}{core::String*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.weak.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.weak.expect
index 5d3812b..bd1fcf0 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.weak.expect
@@ -47,8 +47,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo() → dynamic {
- core::String* y = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::String*;
- core::int* z = new self::B::•().{self::B::x} as{TypeError,ForDynamic} core::int*;
+ core::String* y = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::String*;
+ core::int* z = new self::B::•().{self::B::x}{dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {
self::foo();
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.expect
index 0b511ab..086fb1f690 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.expect
@@ -135,7 +135,7 @@
^" in map as{TypeError} core::Iterable<dynamic>*) {
core::String* y = x as{TypeError,ForDynamic} core::String*;
}
- for (core::String* x in map.{core::Map::keys}) {
+ for (core::String* x in map.{core::Map::keys}{core::Iterable<core::String*>*}) {
core::String* y = x;
}
}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.transformed.expect
index 37f2947..06bfe90 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.transformed.expect
@@ -190,7 +190,7 @@
}
}
{
- core::Iterator<core::String*>* :sync-for-iterator = map.{core::Map::keys}.{core::Iterable::iterator};
+ core::Iterator<core::String*>* :sync-for-iterator = map.{core::Map::keys}{core::Iterable<core::String*>*}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::String* x = :sync-for-iterator.{core::Iterator::current};
{
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.expect
index 2dd29d2..22c972f 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.expect
@@ -3,8 +3,8 @@
import "dart:core" as core;
static method test() → dynamic {
- for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
- core::int* j = i.{core::num::+}(1);
+ for (core::int* i = 0; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ core::int* j = i.{core::num::+}(1){(core::num*) →* core::int*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.transformed.expect
index 2dd29d2..22c972f 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.transformed.expect
@@ -3,8 +3,8 @@
import "dart:core" as core;
static method test() → dynamic {
- for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
- core::int* j = i.{core::num::+}(1);
+ for (core::int* i = 0; i.{core::num::<}(10){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ core::int* j = i.{core::num::+}(1){(core::num*) →* core::int*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.expect
index 60680eb..e5b98d2 100644
--- a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.expect
@@ -22,7 +22,7 @@
}
static field self::A* v = let final self::A* #t1 = new self::A::•() in block {
#t1.{self::A::a} = 1;
- #t1.{self::A::b}.{core::List::add}(2);
- #t1.{self::A::m}();
+ #t1.{self::A::b}{core::List<core::int*>*}.{core::List::add}(2){(core::int*) →* void};
+ #t1.{self::A::m}(){() →* void};
} =>#t1;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.transformed.expect
index 60680eb..e5b98d2 100644
--- a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.transformed.expect
@@ -22,7 +22,7 @@
}
static field self::A* v = let final self::A* #t1 = new self::A::•() in block {
#t1.{self::A::a} = 1;
- #t1.{self::A::b}.{core::List::add}(2);
- #t1.{self::A::m}();
+ #t1.{self::A::b}{core::List<core::int*>*}.{core::List::add}(2){(core::int*) →* void};
+ #t1.{self::A::m}(){() →* void};
} =>#t1;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.expect
index 7aed2ea..83b4e3b 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c = new self::C::•();
-static field core::bool* x = self::c.{self::C::*}(self::c);
+static field core::bool* x = self::c.{self::C::*}(self::c){(self::C*) →* core::bool*};
static method main() → dynamic {
self::c;
self::x;
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.transformed.expect
index 7aed2ea..83b4e3b 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c = new self::C::•();
-static field core::bool* x = self::c.{self::C::*}(self::c);
+static field core::bool* x = self::c.{self::C::*}(self::c){(self::C*) →* core::bool*};
static method main() → dynamic {
self::c;
self::x;
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.expect
index d635197..6764bc5 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.expect
@@ -35,7 +35,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c;
-static field core::bool* x = self::c.{self::I::*}(self::c);
+static field core::bool* x = self::c.{self::I::*}(self::c){(self::C*) →* core::bool*};
static method main() → dynamic {
self::c;
}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.transformed.expect
index d635197..6764bc5 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.transformed.expect
@@ -35,7 +35,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c;
-static field core::bool* x = self::c.{self::I::*}(self::c);
+static field core::bool* x = self::c.{self::I::*}(self::c){(self::C*) →* core::bool*};
static method main() → dynamic {
self::c;
}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.expect
index 35a9cbd..250adf8 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.expect
@@ -21,5 +21,5 @@
}
static method main() → dynamic {
self::C* c = new self::C::•();
- core::bool* x = c.{self::C::[]}(0);
+ core::bool* x = c.{self::C::[]}(0){(core::int*) →* core::bool*};
}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.transformed.expect
index 35a9cbd..250adf8 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.transformed.expect
@@ -21,5 +21,5 @@
}
static method main() → dynamic {
self::C* c = new self::C::•();
- core::bool* x = c.{self::C::[]}(0);
+ core::bool* x = c.{self::C::[]}(0){(core::int*) →* core::bool*};
}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.expect
index 7718f6d..007c0cd 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.expect
@@ -36,6 +36,6 @@
}
static method f() → dynamic {
self::C* c;
- core::bool* x = c.{self::I::[]}(0);
+ core::bool* x = c.{self::I::[]}(0){(core::int*) →* core::bool*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.transformed.expect
index 7718f6d..007c0cd 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.transformed.expect
@@ -36,6 +36,6 @@
}
static method f() → dynamic {
self::C* c;
- core::bool* x = c.{self::I::[]}(0);
+ core::bool* x = c.{self::I::[]}(0){(core::int*) →* core::bool*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.expect
index 3eb9975..d0c4a3c 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c = new self::C::•();
-static field core::bool* x = self::c.{self::C::unary-}();
+static field core::bool* x = self::c.{self::C::unary-}(){() →* core::bool*};
static method main() → dynamic {
self::c;
self::x;
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.transformed.expect
index 3eb9975..d0c4a3c 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c = new self::C::•();
-static field core::bool* x = self::c.{self::C::unary-}();
+static field core::bool* x = self::c.{self::C::unary-}(){() →* core::bool*};
static method main() → dynamic {
self::c;
self::x;
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.expect
index 1ff6822..443ba4b 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.expect
@@ -35,7 +35,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c;
-static field core::bool* x = self::c.{self::I::unary-}();
+static field core::bool* x = self::c.{self::I::unary-}(){() →* core::bool*};
static method main() → dynamic {
self::c;
}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.transformed.expect
index 1ff6822..443ba4b 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.transformed.expect
@@ -35,7 +35,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c;
-static field core::bool* x = self::c.{self::I::unary-}();
+static field core::bool* x = self::c.{self::I::unary-}(){() →* core::bool*};
static method main() → dynamic {
self::c;
}
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.expect
index eb6d5a1..909f982 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.expect
@@ -19,7 +19,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field () →* core::bool* x = self::f().{self::C::g};
+static field () →* core::bool* x = self::f().{self::C::g}{() →* core::bool*};
static method f() → self::C*
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.transformed.expect
index eb6d5a1..909f982 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.transformed.expect
@@ -19,7 +19,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field () →* core::bool* x = self::f().{self::C::g};
+static field () →* core::bool* x = self::f().{self::C::g}{() →* core::bool*};
static method f() → self::C*
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.expect
index c382762..a162c11 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.expect
@@ -34,7 +34,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field () →* core::bool* x = self::f().{self::I::g};
+static field () →* core::bool* x = self::f().{self::I::g}{() →* core::bool*};
static method f() → self::C*
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.transformed.expect
index c382762..a162c11 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.transformed.expect
@@ -34,7 +34,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field () →* core::bool* x = self::f().{self::I::g};
+static field () →* core::bool* x = self::f().{self::I::g}{() →* core::bool*};
static method f() → self::C*
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.expect
index e853c1f..429fa8a 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.expect
@@ -19,7 +19,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::bool* x = self::f().{self::C::g}();
+static field core::bool* x = self::f().{self::C::g}(){() →* core::bool*};
static method f() → self::C*
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.transformed.expect
index e853c1f..429fa8a 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.transformed.expect
@@ -19,7 +19,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::bool* x = self::f().{self::C::g}();
+static field core::bool* x = self::f().{self::C::g}(){() →* core::bool*};
static method f() → self::C*
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.expect
index 13f3418..c694d88 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.expect
@@ -34,7 +34,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::bool* x = self::f().{self::I::g}();
+static field core::bool* x = self::f().{self::I::g}(){() →* core::bool*};
static method f() → self::C*
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.transformed.expect
index 13f3418..c694d88 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.transformed.expect
@@ -34,7 +34,7 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::bool* x = self::f().{self::I::g}();
+static field core::bool* x = self::f().{self::I::g}(){() →* core::bool*};
static method f() → self::C*
return null;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.expect
index 02d037c..7b33a23 100644
--- a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.expect
@@ -51,5 +51,5 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::int* y = new self::C::•().{self::C::x};
+static field core::int* y = new self::C::•().{self::C::x}{core::int*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.transformed.expect
index 02d037c..7b33a23 100644
--- a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.transformed.expect
@@ -51,5 +51,5 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::int* y = new self::C::•().{self::C::x};
+static field core::int* y = new self::C::•().{self::C::x}{core::int*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.expect
index d6804b7..41e2e41 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.expect
@@ -37,7 +37,7 @@
return x;
(core::int*) →* core::int* func;
func = #C1<core::int*>;
- func = new self::C::•().{self::C::f}<core::int*>;
+ func = new self::C::•().{self::C::f}{<T extends core::Object* = dynamic>(T*) →* T*}<core::int*>;
func = #C2<core::int*>;
func = h<core::int*>;
}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.transformed.expect
index 392e7e7..8efaf12 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.transformed.expect
@@ -37,7 +37,7 @@
return x;
(core::int*) →* core::int* func;
func = #C1<core::int*>;
- func = new self::C::•().{self::C::f}<core::int*>;
+ func = new self::C::•().{self::C::f}{<T extends core::Object* = dynamic>(T*) →* T*}<core::int*>;
func = #C2<core::int*>;
func = h<core::int*>;
}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.expect
index eb193d3..b339db5d 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.expect
@@ -20,6 +20,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C<core::String*>* c) → void {
- (core::int*) →* (core::String*) →* void tearoff = c.{self::C::f} as{TypeError,CovarianceCheck} <U extends core::Object* = dynamic>(U*) →* (core::String*) →* void<core::int*>;
+ (core::int*) →* (core::String*) →* void tearoff = c.{self::C::f}{<U extends core::Object* = dynamic>(U*) →* (core::String*) →* void} as{TypeError,CovarianceCheck} <U extends core::Object* = dynamic>(U*) →* (core::String*) →* void<core::int*>;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.transformed.expect
index eb193d3..b339db5d 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.transformed.expect
@@ -20,6 +20,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C<core::String*>* c) → void {
- (core::int*) →* (core::String*) →* void tearoff = c.{self::C::f} as{TypeError,CovarianceCheck} <U extends core::Object* = dynamic>(U*) →* (core::String*) →* void<core::int*>;
+ (core::int*) →* (core::String*) →* void tearoff = c.{self::C::f}{<U extends core::Object* = dynamic>(U*) →* (core::String*) →* void} as{TypeError,CovarianceCheck} <U extends core::Object* = dynamic>(U*) →* (core::String*) →* void<core::int*>;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.expect b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.expect
index f378eb9..9cfc708 100644
--- a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.expect
@@ -6,7 +6,7 @@
return #C1;
static method foo() → void {
core::List<dynamic>* myList = self::getListOfString();
- myList.{core::Iterable::map}<core::int*>((dynamic type) → core::int* => 42);
+ myList.{core::Iterable::map}<core::int*>((dynamic type) → core::int* => 42){((dynamic) →* core::int*) →* core::Iterable<core::int*>*};
}
static method bar() → void {
dynamic list;
@@ -16,7 +16,7 @@
on dynamic catch(final dynamic _) {
return;
}
- list.map((dynamic value) → core::String* => "${value}");
+ list{dynamic}.map((dynamic value) → core::String* => "${value}");
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.transformed.expect
index f770ccb..438dd97 100644
--- a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.transformed.expect
@@ -6,7 +6,7 @@
return #C1;
static method foo() → void {
core::List<dynamic>* myList = self::getListOfString();
- myList.{core::Iterable::map}<core::int*>((dynamic type) → core::int* => 42);
+ myList.{core::Iterable::map}<core::int*>((dynamic type) → core::int* => 42){((dynamic) →* core::int*) →* core::Iterable<core::int*>*};
}
static method bar() → void {
dynamic list;
@@ -16,7 +16,7 @@
on dynamic catch(final dynamic _) {
return;
}
- list.map((dynamic value) → core::String* => "${value}");
+ list{dynamic}.map((dynamic value) → core::String* => "${value}");
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.expect b/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.expect
index 45d1725..bfc338c 100644
--- a/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.expect
@@ -4,6 +4,6 @@
static method f() → dynamic {
core::List<core::int*>* o;
- o.{core::Iterable::forEach}((core::int* i) → core::int* => i.{core::num::+}(1));
+ o.{core::Iterable::forEach}((core::int* i) → core::int* => i.{core::num::+}(1){(core::num*) →* core::int*}){((core::int*) →* void) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.transformed.expect
index 45d1725..bfc338c 100644
--- a/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.transformed.expect
@@ -4,6 +4,6 @@
static method f() → dynamic {
core::List<core::int*>* o;
- o.{core::Iterable::forEach}((core::int* i) → core::int* => i.{core::num::+}(1));
+ o.{core::Iterable::forEach}((core::int* i) → core::int* => i.{core::num::+}(1){(core::num*) →* core::int*}){((core::int*) →* void) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.weak.expect b/pkg/front_end/testcases/inference/list_literals.dart.weak.expect
index 84e85fd..fb63017 100644
--- a/pkg/front_end/testcases/inference/list_literals.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/list_literals.dart.weak.expect
@@ -21,19 +21,19 @@
core::List<core::int*>* x = <core::int*>[1, 2, 3];
x.{core::List::add}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/list_literals.dart:10:70: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
x. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi');
- ^" in "hi" as{TypeError} core::int*);
+ ^" in "hi" as{TypeError} core::int*){(core::int*) →* void};
x.{core::List::add}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/list_literals.dart:11:70: Error: The argument type 'double' can't be assigned to the parameter type 'int'.
x. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 4.0);
- ^" in 4.0 as{TypeError} core::int*);
- x.{core::List::add}(4);
+ ^" in 4.0 as{TypeError} core::int*){(core::int*) →* void};
+ x.{core::List::add}(4){(core::int*) →* void};
core::List<core::num*>* y = x;
}
static method test2() → dynamic {
core::List<core::num*>* x = <core::num*>[1, 2.0, 3];
x.{core::List::add}(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/list_literals.dart:18:70: Error: The argument type 'String' can't be assigned to the parameter type 'num'.
x. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi');
- ^" in "hi" as{TypeError} core::num*);
- x.{core::List::add}(4.0);
+ ^" in "hi" as{TypeError} core::num*){(core::num*) →* void};
+ x.{core::List::add}(4.0){(core::num*) →* void};
core::List<core::int*>* y = x as{TypeError} core::List<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/list_literals.dart.weak.transformed.expect
index 2706692..1f10df9 100644
--- a/pkg/front_end/testcases/inference/list_literals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/list_literals.dart.weak.transformed.expect
@@ -21,19 +21,19 @@
core::List<core::int*>* x = core::_GrowableList::_literal3<core::int*>(1, 2, 3);
x.{core::List::add}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/list_literals.dart:10:70: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
x. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi');
- ^" in "hi" as{TypeError} core::int*);
+ ^" in "hi" as{TypeError} core::int*){(core::int*) →* void};
x.{core::List::add}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/list_literals.dart:11:70: Error: The argument type 'double' can't be assigned to the parameter type 'int'.
x. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 4.0);
- ^" in 4.0 as{TypeError} core::int*);
- x.{core::List::add}(4);
+ ^" in 4.0 as{TypeError} core::int*){(core::int*) →* void};
+ x.{core::List::add}(4){(core::int*) →* void};
core::List<core::num*>* y = x;
}
static method test2() → dynamic {
core::List<core::num*>* x = core::_GrowableList::_literal3<core::num*>(1, 2.0, 3);
x.{core::List::add}(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/list_literals.dart:18:70: Error: The argument type 'String' can't be assigned to the parameter type 'num'.
x. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi');
- ^" in "hi" as{TypeError} core::num*);
- x.{core::List::add}(4.0);
+ ^" in "hi" as{TypeError} core::num*){(core::num*) →* void};
+ x.{core::List::add}(4.0){(core::num*) →* void};
core::List<core::int*>* y = x as{TypeError} core::List<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.expect
index 56e22ce..6efc2e7 100644
--- a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.expect
@@ -4,6 +4,6 @@
static method test1() → dynamic {
core::List<Null>* x = <Null>[null];
- x.{core::List::add}(42 as{TypeError} Null);
+ x.{core::List::add}(42 as{TypeError} Null){(Null) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.transformed.expect
index e5fb9e6..53cdae6 100644
--- a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.transformed.expect
@@ -4,6 +4,6 @@
static method test1() → dynamic {
core::List<Null>* x = core::_GrowableList::_literal1<Null>(null);
- x.{core::List::add}(42 as{TypeError} Null);
+ x.{core::List::add}(42 as{TypeError} Null){(Null) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.expect b/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.expect
index 6211ad5..ae6d28e 100644
--- a/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.expect
@@ -22,18 +22,18 @@
static method test1() → dynamic {
self::x1.{core::List::add}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/list_literals_top_level.dart:10:71: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
x1. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi');
- ^" in "hi" as{TypeError} core::int*);
+ ^" in "hi" as{TypeError} core::int*){(core::int*) →* void};
self::x1.{core::List::add}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/list_literals_top_level.dart:11:71: Error: The argument type 'double' can't be assigned to the parameter type 'int'.
x1. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 4.0);
- ^" in 4.0 as{TypeError} core::int*);
- self::x1.{core::List::add}(4);
+ ^" in 4.0 as{TypeError} core::int*){(core::int*) →* void};
+ self::x1.{core::List::add}(4){(core::int*) →* void};
core::List<core::num*>* y = self::x1;
}
static method test2() → dynamic {
self::x2.{core::List::add}(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/list_literals_top_level.dart:18:71: Error: The argument type 'String' can't be assigned to the parameter type 'num'.
x2. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi');
- ^" in "hi" as{TypeError} core::num*);
- self::x2.{core::List::add}(4.0);
+ ^" in "hi" as{TypeError} core::num*){(core::num*) →* void};
+ self::x2.{core::List::add}(4.0){(core::num*) →* void};
core::List<core::int*>* y = self::x2 as{TypeError} core::List<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.transformed.expect
index 8680205..3155e77 100644
--- a/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.transformed.expect
@@ -22,18 +22,18 @@
static method test1() → dynamic {
self::x1.{core::List::add}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/list_literals_top_level.dart:10:71: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
x1. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi');
- ^" in "hi" as{TypeError} core::int*);
+ ^" in "hi" as{TypeError} core::int*){(core::int*) →* void};
self::x1.{core::List::add}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/list_literals_top_level.dart:11:71: Error: The argument type 'double' can't be assigned to the parameter type 'int'.
x1. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 4.0);
- ^" in 4.0 as{TypeError} core::int*);
- self::x1.{core::List::add}(4);
+ ^" in 4.0 as{TypeError} core::int*){(core::int*) →* void};
+ self::x1.{core::List::add}(4){(core::int*) →* void};
core::List<core::num*>* y = self::x1;
}
static method test2() → dynamic {
self::x2.{core::List::add}(let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/list_literals_top_level.dart:18:71: Error: The argument type 'String' can't be assigned to the parameter type 'num'.
x2. /*@target=List.add*/ add(/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi');
- ^" in "hi" as{TypeError} core::num*);
- self::x2.{core::List::add}(4.0);
+ ^" in "hi" as{TypeError} core::num*){(core::num*) →* void};
+ self::x2.{core::List::add}(4.0){(core::num*) →* void};
core::List<core::int*>* y = self::x2 as{TypeError} core::List<core::int*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals.dart.weak.expect b/pkg/front_end/testcases/inference/map_literals.dart.weak.expect
index 37b94b0..298f552 100644
--- a/pkg/front_end/testcases/inference/map_literals.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/map_literals.dart.weak.expect
@@ -28,31 +28,31 @@
static method test1() → dynamic {
core::Map<core::int*, core::String*>* x = <core::int*, core::String*>{1: "x", 2: "y"};
- x.{core::Map::[]=}(3, "z");
+ x.{core::Map::[]=}(3, "z"){(core::int*, core::String*) →* void};
x.{core::Map::[]=}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:12:46: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w';
- ^" in "hi" as{TypeError} core::int*, "w");
+ ^" in "hi" as{TypeError} core::int*, "w"){(core::int*, core::String*) →* void};
x.{core::Map::[]=}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:14:46: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 4.0] = 'u';
- ^" in 4.0 as{TypeError} core::int*, "u");
+ ^" in 4.0 as{TypeError} core::int*, "u"){(core::int*, core::String*) →* void};
x.{core::Map::[]=}(3, let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:15:60: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
x /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42;
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
core::Map<core::num*, core::String*>* y = x;
}
static method test2() → dynamic {
core::Map<core::num*, core::Pattern*>* x = <core::num*, core::Pattern*>{1: "x", 2: "y", 3.0: core::RegExp::•(".")};
- x.{core::Map::[]=}(3, "z");
+ x.{core::Map::[]=}(3, "z"){(core::num*, core::Pattern*) →* void};
x.{core::Map::[]=}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:27:46: Error: A value of type 'String' can't be assigned to a variable of type 'num'.
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w';
- ^" in "hi" as{TypeError} core::num*, "w");
- x.{core::Map::[]=}(4.0, "u");
+ ^" in "hi" as{TypeError} core::num*, "w"){(core::num*, core::Pattern*) →* void};
+ x.{core::Map::[]=}(4.0, "u"){(core::num*, core::Pattern*) →* void};
x.{core::Map::[]=}(3, let final Never* #t5 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:29:60: Error: A value of type 'int' can't be assigned to a variable of type 'Pattern'.
- 'Pattern' is from 'dart:core'.
x /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42;
- ^" in 42 as{TypeError} core::Pattern*);
+ ^" in 42 as{TypeError} core::Pattern*){(core::num*, core::Pattern*) →* void};
core::Pattern* p = null;
- x.{core::Map::[]=}(2, p);
+ x.{core::Map::[]=}(2, p){(core::num*, core::Pattern*) →* void};
core::Map<core::int*, core::String*>* y = x as{TypeError} core::Map<core::int*, core::String*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/map_literals.dart.weak.transformed.expect
index 37b94b0..298f552 100644
--- a/pkg/front_end/testcases/inference/map_literals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/map_literals.dart.weak.transformed.expect
@@ -28,31 +28,31 @@
static method test1() → dynamic {
core::Map<core::int*, core::String*>* x = <core::int*, core::String*>{1: "x", 2: "y"};
- x.{core::Map::[]=}(3, "z");
+ x.{core::Map::[]=}(3, "z"){(core::int*, core::String*) →* void};
x.{core::Map::[]=}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:12:46: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w';
- ^" in "hi" as{TypeError} core::int*, "w");
+ ^" in "hi" as{TypeError} core::int*, "w"){(core::int*, core::String*) →* void};
x.{core::Map::[]=}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:14:46: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 4.0] = 'u';
- ^" in 4.0 as{TypeError} core::int*, "u");
+ ^" in 4.0 as{TypeError} core::int*, "u"){(core::int*, core::String*) →* void};
x.{core::Map::[]=}(3, let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:15:60: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
x /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42;
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
core::Map<core::num*, core::String*>* y = x;
}
static method test2() → dynamic {
core::Map<core::num*, core::Pattern*>* x = <core::num*, core::Pattern*>{1: "x", 2: "y", 3.0: core::RegExp::•(".")};
- x.{core::Map::[]=}(3, "z");
+ x.{core::Map::[]=}(3, "z"){(core::num*, core::Pattern*) →* void};
x.{core::Map::[]=}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:27:46: Error: A value of type 'String' can't be assigned to a variable of type 'num'.
/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w';
- ^" in "hi" as{TypeError} core::num*, "w");
- x.{core::Map::[]=}(4.0, "u");
+ ^" in "hi" as{TypeError} core::num*, "w"){(core::num*, core::Pattern*) →* void};
+ x.{core::Map::[]=}(4.0, "u"){(core::num*, core::Pattern*) →* void};
x.{core::Map::[]=}(3, let final Never* #t5 = invalid-expression "pkg/front_end/testcases/inference/map_literals.dart:29:60: Error: A value of type 'int' can't be assigned to a variable of type 'Pattern'.
- 'Pattern' is from 'dart:core'.
x /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42;
- ^" in 42 as{TypeError} core::Pattern*);
+ ^" in 42 as{TypeError} core::Pattern*){(core::num*, core::Pattern*) →* void};
core::Pattern* p = null;
- x.{core::Map::[]=}(2, p);
+ x.{core::Map::[]=}(2, p){(core::num*, core::Pattern*) →* void};
core::Map<core::int*, core::String*>* y = x as{TypeError} core::Map<core::int*, core::String*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.expect
index a14b93f..b636b6c 100644
--- a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.expect
@@ -4,6 +4,6 @@
static method test1() → dynamic {
core::Map<Null, Null>* x = <Null, Null>{null: null};
- x.{core::Map::[]=}(3 as{TypeError} Null, "z" as{TypeError} Null);
+ x.{core::Map::[]=}(3 as{TypeError} Null, "z" as{TypeError} Null){(Null, Null) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.transformed.expect
index a14b93f..b636b6c 100644
--- a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.transformed.expect
@@ -4,6 +4,6 @@
static method test1() → dynamic {
core::Map<Null, Null>* x = <Null, Null>{null: null};
- x.{core::Map::[]=}(3 as{TypeError} Null, "z" as{TypeError} Null);
+ x.{core::Map::[]=}(3 as{TypeError} Null, "z" as{TypeError} Null){(Null, Null) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.expect b/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.expect
index 8c2724b..09b5da1 100644
--- a/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.expect
@@ -29,30 +29,30 @@
static field core::Map<core::int*, core::String*>* x1 = <core::int*, core::String*>{1: "x", 2: "y"};
static field core::Map<core::num*, core::Pattern*>* x2 = <core::num*, core::Pattern*>{1: "x", 2: "y", 3.0: core::RegExp::•(".")};
static method test1() → dynamic {
- self::x1.{core::Map::[]=}(3, "z");
+ self::x1.{core::Map::[]=}(3, "z"){(core::int*, core::String*) →* void};
self::x1.{core::Map::[]=}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:11:66: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
x1 /*@target=Map.[]=*/ [/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w';
- ^" in "hi" as{TypeError} core::int*, "w");
+ ^" in "hi" as{TypeError} core::int*, "w"){(core::int*, core::String*) →* void};
self::x1.{core::Map::[]=}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:12:66: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
x1 /*@target=Map.[]=*/ [/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 4.0] = 'u';
- ^" in 4.0 as{TypeError} core::int*, "u");
+ ^" in 4.0 as{TypeError} core::int*, "u"){(core::int*, core::String*) →* void};
self::x1.{core::Map::[]=}(3, let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:13:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
x1 /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42;
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
core::Map<core::num*, core::String*>* y = self::x1;
}
static method test2() → dynamic {
- self::x2.{core::Map::[]=}(3, "z");
+ self::x2.{core::Map::[]=}(3, "z"){(core::num*, core::Pattern*) →* void};
self::x2.{core::Map::[]=}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:20:66: Error: A value of type 'String' can't be assigned to a variable of type 'num'.
x2 /*@target=Map.[]=*/ [/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w';
- ^" in "hi" as{TypeError} core::num*, "w");
- self::x2.{core::Map::[]=}(4.0, "u");
+ ^" in "hi" as{TypeError} core::num*, "w"){(core::num*, core::Pattern*) →* void};
+ self::x2.{core::Map::[]=}(4.0, "u"){(core::num*, core::Pattern*) →* void};
self::x2.{core::Map::[]=}(3, let final Never* #t5 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:22:61: Error: A value of type 'int' can't be assigned to a variable of type 'Pattern'.
- 'Pattern' is from 'dart:core'.
x2 /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42;
- ^" in 42 as{TypeError} core::Pattern*);
+ ^" in 42 as{TypeError} core::Pattern*){(core::num*, core::Pattern*) →* void};
core::Pattern* p = null;
- self::x2.{core::Map::[]=}(2, p);
+ self::x2.{core::Map::[]=}(2, p){(core::num*, core::Pattern*) →* void};
core::Map<core::int*, core::String*>* y = self::x2 as{TypeError} core::Map<core::int*, core::String*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.transformed.expect
index 8c2724b..09b5da1 100644
--- a/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.transformed.expect
@@ -29,30 +29,30 @@
static field core::Map<core::int*, core::String*>* x1 = <core::int*, core::String*>{1: "x", 2: "y"};
static field core::Map<core::num*, core::Pattern*>* x2 = <core::num*, core::Pattern*>{1: "x", 2: "y", 3.0: core::RegExp::•(".")};
static method test1() → dynamic {
- self::x1.{core::Map::[]=}(3, "z");
+ self::x1.{core::Map::[]=}(3, "z"){(core::int*, core::String*) →* void};
self::x1.{core::Map::[]=}(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:11:66: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
x1 /*@target=Map.[]=*/ [/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w';
- ^" in "hi" as{TypeError} core::int*, "w");
+ ^" in "hi" as{TypeError} core::int*, "w"){(core::int*, core::String*) →* void};
self::x1.{core::Map::[]=}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:12:66: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
x1 /*@target=Map.[]=*/ [/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 4.0] = 'u';
- ^" in 4.0 as{TypeError} core::int*, "u");
+ ^" in 4.0 as{TypeError} core::int*, "u"){(core::int*, core::String*) →* void};
self::x1.{core::Map::[]=}(3, let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:13:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
x1 /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42;
- ^" in 42 as{TypeError} core::String*);
+ ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
core::Map<core::num*, core::String*>* y = self::x1;
}
static method test2() → dynamic {
- self::x2.{core::Map::[]=}(3, "z");
+ self::x2.{core::Map::[]=}(3, "z"){(core::num*, core::Pattern*) →* void};
self::x2.{core::Map::[]=}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:20:66: Error: A value of type 'String' can't be assigned to a variable of type 'num'.
x2 /*@target=Map.[]=*/ [/*error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ 'hi'] = 'w';
- ^" in "hi" as{TypeError} core::num*, "w");
- self::x2.{core::Map::[]=}(4.0, "u");
+ ^" in "hi" as{TypeError} core::num*, "w"){(core::num*, core::Pattern*) →* void};
+ self::x2.{core::Map::[]=}(4.0, "u"){(core::num*, core::Pattern*) →* void};
self::x2.{core::Map::[]=}(3, let final Never* #t5 = invalid-expression "pkg/front_end/testcases/inference/map_literals_top_level.dart:22:61: Error: A value of type 'int' can't be assigned to a variable of type 'Pattern'.
- 'Pattern' is from 'dart:core'.
x2 /*@target=Map.[]=*/ [3] = /*error:INVALID_ASSIGNMENT*/ 42;
- ^" in 42 as{TypeError} core::Pattern*);
+ ^" in 42 as{TypeError} core::Pattern*){(core::num*, core::Pattern*) →* void};
core::Pattern* p = null;
- self::x2.{core::Map::[]=}(2, p);
+ self::x2.{core::Map::[]=}(2, p){(core::num*, core::Pattern*) →* void};
core::Map<core::int*, core::String*>* y = self::x2 as{TypeError} core::Map<core::int*, core::String*>*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.expect
index 1f1ce8e..05bd044 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.expect
@@ -34,5 +34,5 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field self::D<core::int*>* f = new self::C::•().{self::C::f}<core::int*>();
+static field self::D<core::int*>* f = new self::C::•().{self::C::f}<core::int*>(){() →* self::D<core::int*>*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.transformed.expect
index 1f1ce8e..05bd044 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.transformed.expect
@@ -34,5 +34,5 @@
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field self::D<core::int*>* f = new self::C::•().{self::C::f}<core::int*>();
+static field self::D<core::int*>* f = new self::C::•().{self::C::f}<core::int*>(){() →* self::D<core::int*>*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.expect
index fb30810..28c5383 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.expect
@@ -35,5 +35,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c;
-static field self::D<core::int*>* f = self::c.{self::C::f}<core::int*>();
+static field self::D<core::int*>* f = self::c.{self::C::f}<core::int*>(){() →* self::D<core::int*>*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.transformed.expect
index fb30810..28c5383 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.transformed.expect
@@ -35,5 +35,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c;
-static field self::D<core::int*>* f = self::c.{self::C::f}<core::int*>();
+static field self::D<core::int*>* f = self::c.{self::C::f}<core::int*>(){() →* self::D<core::int*>*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.expect
index 4a4c52a..cbf7329 100644
--- a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C* c) → dynamic {
- core::int* x = let final self::C* #t1 = c in #t1.{self::C::==}(null) ?{core::int*} null : #t1.{self::C::f}();
- let final self::C* #t2 = c in #t2.{self::C::==}(null) ?{core::int*} null : #t2.{self::C::f}();
+ core::int* x = let final self::C* #t1 = c in #t1 == null ?{core::int*} null : #t1.{self::C::f}(){() →* core::int*};
+ let final self::C* #t2 = c in #t2 == null ?{core::int*} null : #t2.{self::C::f}(){() →* core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.transformed.expect
index 4a4c52a..cbf7329 100644
--- a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C* c) → dynamic {
- core::int* x = let final self::C* #t1 = c in #t1.{self::C::==}(null) ?{core::int*} null : #t1.{self::C::f}();
- let final self::C* #t2 = c in #t2.{self::C::==}(null) ?{core::int*} null : #t2.{self::C::f}();
+ core::int* x = let final self::C* #t1 = c in #t1 == null ?{core::int*} null : #t1.{self::C::f}(){() →* core::int*};
+ let final self::C* #t2 = c in #t2 == null ?{core::int*} null : #t2.{self::C::f}(){() →* core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.expect
index 7156c66..b8c3acb 100644
--- a/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.expect
@@ -19,7 +19,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method f(self::C* c) → void {
- core::int* x = let final self::C* #t1 = c in #t1.{self::C::==}(null) ?{core::int*} null : #t1.{self::C::x};
- let final self::C* #t2 = c in #t2.{self::C::==}(null) ?{core::int*} null : #t2.{self::C::x};
+ core::int* x = let final self::C* #t1 = c in #t1 == null ?{core::int*} null : #t1.{self::C::x}{core::int*};
+ let final self::C* #t2 = c in #t2 == null ?{core::int*} null : #t2.{self::C::x}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.transformed.expect
index 7156c66..b8c3acb 100644
--- a/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.transformed.expect
@@ -19,7 +19,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method f(self::C* c) → void {
- core::int* x = let final self::C* #t1 = c in #t1.{self::C::==}(null) ?{core::int*} null : #t1.{self::C::x};
- let final self::C* #t2 = c in #t2.{self::C::==}(null) ?{core::int*} null : #t2.{self::C::x};
+ core::int* x = let final self::C* #t1 = c in #t1 == null ?{core::int*} null : #t1.{self::C::x}{core::int*};
+ let final self::C* #t2 = c in #t2 == null ?{core::int*} null : #t2.{self::C::x}{core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.expect
index ec63329..15f12a3 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.expect
@@ -4,6 +4,6 @@
static method main() → dynamic {
core::List<core::int*>* x;
- core::List<core::int*>* y = let final core::List<core::int*>* #t1 = x in #t1.{core::List::==}(null) ?{core::List<core::int*>*} <core::int*>[] : #t1;
+ core::List<core::int*>* y = let final core::List<core::int*>* #t1 = x in #t1 == null ?{core::List<core::int*>*} <core::int*>[] : #t1;
core::List<core::int*>* z = y;
}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.transformed.expect
index 7c4682e..7a25cb4 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.transformed.expect
@@ -4,6 +4,6 @@
static method main() → dynamic {
core::List<core::int*>* x;
- core::List<core::int*>* y = let final core::List<core::int*>* #t1 = x in #t1.{core::List::==}(null) ?{core::List<core::int*>*} core::_GrowableList::•<core::int*>(0) : #t1;
+ core::List<core::int*>* y = let final core::List<core::int*>* #t1 = x in #t1 == null ?{core::List<core::int*>*} core::_GrowableList::•<core::int*>(0) : #t1;
core::List<core::int*>* z = y;
}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.expect
index c4ca3fe..33d1268 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.expect
@@ -4,5 +4,5 @@
static method main() → dynamic {
core::List<core::int*>* x;
- core::List<core::num*>* y = let final core::List<core::int*>* #t1 = x in #t1.{core::List::==}(null) ?{core::List<core::num*>*} <core::num*>[] : #t1;
+ core::List<core::num*>* y = let final core::List<core::int*>* #t1 = x in #t1 == null ?{core::List<core::num*>*} <core::num*>[] : #t1;
}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.transformed.expect
index 02d005c..c2e2653 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.transformed.expect
@@ -4,5 +4,5 @@
static method main() → dynamic {
core::List<core::int*>* x;
- core::List<core::num*>* y = let final core::List<core::int*>* #t1 = x in #t1.{core::List::==}(null) ?{core::List<core::num*>*} core::_GrowableList::•<core::num*>(0) : #t1;
+ core::List<core::num*>* y = let final core::List<core::int*>* #t1 = x in #t1 == null ?{core::List<core::num*>*} core::_GrowableList::•<core::num*>(0) : #t1;
}
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.expect
index e3fae9a..4344e6b 100644
--- a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.expect
@@ -6,13 +6,13 @@
static method foo((core::Object*) →* core::int* f) → void {}
static method test() → dynamic {
(core::Object*) →* Null f = (core::Object* x) → Null => null;
- core::String* y = f.call(42);
+ core::String* y = f(42){(core::Object*) →* Null};
f = (core::Object* x) → Null => "hello" as{TypeError} Null;
dynamic g = null;
g = "hello";
- g.foo();
+ g{dynamic}.foo();
self::h = "hello";
- self::h.foo();
+ self::h{dynamic}.foo();
self::foo((core::Object* x) → Null => null);
self::foo((core::Object* x) → Null => throw "not implemented");
}
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.transformed.expect
index e3fae9a..4344e6b 100644
--- a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.transformed.expect
@@ -6,13 +6,13 @@
static method foo((core::Object*) →* core::int* f) → void {}
static method test() → dynamic {
(core::Object*) →* Null f = (core::Object* x) → Null => null;
- core::String* y = f.call(42);
+ core::String* y = f(42){(core::Object*) →* Null};
f = (core::Object* x) → Null => "hello" as{TypeError} Null;
dynamic g = null;
g = "hello";
- g.foo();
+ g{dynamic}.foo();
self::h = "hello";
- self::h.foo();
+ self::h{dynamic}.foo();
self::foo((core::Object* x) → Null => null);
self::foo((core::Object* x) → Null => throw "not implemented");
}
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.expect
index 6a9ab0d..09b660d 100644
--- a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.expect
@@ -6,40 +6,40 @@
core::num* n = 1;
core::int* i = 1;
core::double* d = 1.0;
- core::double* ddPlus = d.{core::double::+}(d);
- core::double* ddMinus = d.{core::double::-}(d);
- core::double* ddTimes = d.{core::double::*}(d);
- core::double* ddMod = d.{core::double::%}(d);
- core::double* diPlus = d.{core::double::+}(i);
- core::double* diMinus = d.{core::double::-}(i);
- core::double* diTimes = d.{core::double::*}(i);
- core::double* diMod = d.{core::double::%}(i);
- core::double* dnPlus = d.{core::double::+}(n);
- core::double* dnMinus = d.{core::double::-}(n);
- core::double* dnTimes = d.{core::double::*}(n);
- core::double* dnMod = d.{core::double::%}(n);
- core::double* idPlus = i.{core::num::+}(d);
- core::double* idMinus = i.{core::num::-}(d);
- core::double* idTimes = i.{core::num::*}(d);
- core::double* idMod = i.{core::num::%}(d);
- core::int* iiPlus = i.{core::num::+}(i);
- core::int* iiMinus = i.{core::num::-}(i);
- core::int* iiTimes = i.{core::num::*}(i);
- core::int* iiMod = i.{core::num::%}(i);
- core::num* inPlus = i.{core::num::+}(n);
- core::num* inMinus = i.{core::num::-}(n);
- core::num* inTimes = i.{core::num::*}(n);
- core::num* inMod = i.{core::num::%}(n);
- core::num* ndPlus = n.{core::num::+}(d);
- core::num* ndMinus = n.{core::num::-}(d);
- core::num* ndTimes = n.{core::num::*}(d);
- core::num* ndMod = n.{core::num::%}(d);
- core::num* niPlus = n.{core::num::+}(i);
- core::num* niMinus = n.{core::num::-}(i);
- core::num* niTimes = n.{core::num::*}(i);
- core::num* niMod = n.{core::num::%}(i);
- core::num* nnPlus = n.{core::num::+}(n);
- core::num* nnMinus = n.{core::num::-}(n);
- core::num* nnTimes = n.{core::num::*}(n);
- core::num* nnMod = n.{core::num::%}(n);
+ core::double* ddPlus = d.{core::double::+}(d){(core::num*) →* core::double*};
+ core::double* ddMinus = d.{core::double::-}(d){(core::num*) →* core::double*};
+ core::double* ddTimes = d.{core::double::*}(d){(core::num*) →* core::double*};
+ core::double* ddMod = d.{core::double::%}(d){(core::num*) →* core::double*};
+ core::double* diPlus = d.{core::double::+}(i){(core::num*) →* core::double*};
+ core::double* diMinus = d.{core::double::-}(i){(core::num*) →* core::double*};
+ core::double* diTimes = d.{core::double::*}(i){(core::num*) →* core::double*};
+ core::double* diMod = d.{core::double::%}(i){(core::num*) →* core::double*};
+ core::double* dnPlus = d.{core::double::+}(n){(core::num*) →* core::double*};
+ core::double* dnMinus = d.{core::double::-}(n){(core::num*) →* core::double*};
+ core::double* dnTimes = d.{core::double::*}(n){(core::num*) →* core::double*};
+ core::double* dnMod = d.{core::double::%}(n){(core::num*) →* core::double*};
+ core::double* idPlus = i.{core::num::+}(d){(core::num*) →* core::double*};
+ core::double* idMinus = i.{core::num::-}(d){(core::num*) →* core::double*};
+ core::double* idTimes = i.{core::num::*}(d){(core::num*) →* core::double*};
+ core::double* idMod = i.{core::num::%}(d){(core::num*) →* core::double*};
+ core::int* iiPlus = i.{core::num::+}(i){(core::num*) →* core::int*};
+ core::int* iiMinus = i.{core::num::-}(i){(core::num*) →* core::int*};
+ core::int* iiTimes = i.{core::num::*}(i){(core::num*) →* core::int*};
+ core::int* iiMod = i.{core::num::%}(i){(core::num*) →* core::int*};
+ core::num* inPlus = i.{core::num::+}(n){(core::num*) →* core::num*};
+ core::num* inMinus = i.{core::num::-}(n){(core::num*) →* core::num*};
+ core::num* inTimes = i.{core::num::*}(n){(core::num*) →* core::num*};
+ core::num* inMod = i.{core::num::%}(n){(core::num*) →* core::num*};
+ core::num* ndPlus = n.{core::num::+}(d){(core::num*) →* core::num*};
+ core::num* ndMinus = n.{core::num::-}(d){(core::num*) →* core::num*};
+ core::num* ndTimes = n.{core::num::*}(d){(core::num*) →* core::num*};
+ core::num* ndMod = n.{core::num::%}(d){(core::num*) →* core::num*};
+ core::num* niPlus = n.{core::num::+}(i){(core::num*) →* core::num*};
+ core::num* niMinus = n.{core::num::-}(i){(core::num*) →* core::num*};
+ core::num* niTimes = n.{core::num::*}(i){(core::num*) →* core::num*};
+ core::num* niMod = n.{core::num::%}(i){(core::num*) →* core::num*};
+ core::num* nnPlus = n.{core::num::+}(n){(core::num*) →* core::num*};
+ core::num* nnMinus = n.{core::num::-}(n){(core::num*) →* core::num*};
+ core::num* nnTimes = n.{core::num::*}(n){(core::num*) →* core::num*};
+ core::num* nnMod = n.{core::num::%}(n){(core::num*) →* core::num*};
}
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.transformed.expect
index 6a9ab0d..09b660d 100644
--- a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.transformed.expect
@@ -6,40 +6,40 @@
core::num* n = 1;
core::int* i = 1;
core::double* d = 1.0;
- core::double* ddPlus = d.{core::double::+}(d);
- core::double* ddMinus = d.{core::double::-}(d);
- core::double* ddTimes = d.{core::double::*}(d);
- core::double* ddMod = d.{core::double::%}(d);
- core::double* diPlus = d.{core::double::+}(i);
- core::double* diMinus = d.{core::double::-}(i);
- core::double* diTimes = d.{core::double::*}(i);
- core::double* diMod = d.{core::double::%}(i);
- core::double* dnPlus = d.{core::double::+}(n);
- core::double* dnMinus = d.{core::double::-}(n);
- core::double* dnTimes = d.{core::double::*}(n);
- core::double* dnMod = d.{core::double::%}(n);
- core::double* idPlus = i.{core::num::+}(d);
- core::double* idMinus = i.{core::num::-}(d);
- core::double* idTimes = i.{core::num::*}(d);
- core::double* idMod = i.{core::num::%}(d);
- core::int* iiPlus = i.{core::num::+}(i);
- core::int* iiMinus = i.{core::num::-}(i);
- core::int* iiTimes = i.{core::num::*}(i);
- core::int* iiMod = i.{core::num::%}(i);
- core::num* inPlus = i.{core::num::+}(n);
- core::num* inMinus = i.{core::num::-}(n);
- core::num* inTimes = i.{core::num::*}(n);
- core::num* inMod = i.{core::num::%}(n);
- core::num* ndPlus = n.{core::num::+}(d);
- core::num* ndMinus = n.{core::num::-}(d);
- core::num* ndTimes = n.{core::num::*}(d);
- core::num* ndMod = n.{core::num::%}(d);
- core::num* niPlus = n.{core::num::+}(i);
- core::num* niMinus = n.{core::num::-}(i);
- core::num* niTimes = n.{core::num::*}(i);
- core::num* niMod = n.{core::num::%}(i);
- core::num* nnPlus = n.{core::num::+}(n);
- core::num* nnMinus = n.{core::num::-}(n);
- core::num* nnTimes = n.{core::num::*}(n);
- core::num* nnMod = n.{core::num::%}(n);
+ core::double* ddPlus = d.{core::double::+}(d){(core::num*) →* core::double*};
+ core::double* ddMinus = d.{core::double::-}(d){(core::num*) →* core::double*};
+ core::double* ddTimes = d.{core::double::*}(d){(core::num*) →* core::double*};
+ core::double* ddMod = d.{core::double::%}(d){(core::num*) →* core::double*};
+ core::double* diPlus = d.{core::double::+}(i){(core::num*) →* core::double*};
+ core::double* diMinus = d.{core::double::-}(i){(core::num*) →* core::double*};
+ core::double* diTimes = d.{core::double::*}(i){(core::num*) →* core::double*};
+ core::double* diMod = d.{core::double::%}(i){(core::num*) →* core::double*};
+ core::double* dnPlus = d.{core::double::+}(n){(core::num*) →* core::double*};
+ core::double* dnMinus = d.{core::double::-}(n){(core::num*) →* core::double*};
+ core::double* dnTimes = d.{core::double::*}(n){(core::num*) →* core::double*};
+ core::double* dnMod = d.{core::double::%}(n){(core::num*) →* core::double*};
+ core::double* idPlus = i.{core::num::+}(d){(core::num*) →* core::double*};
+ core::double* idMinus = i.{core::num::-}(d){(core::num*) →* core::double*};
+ core::double* idTimes = i.{core::num::*}(d){(core::num*) →* core::double*};
+ core::double* idMod = i.{core::num::%}(d){(core::num*) →* core::double*};
+ core::int* iiPlus = i.{core::num::+}(i){(core::num*) →* core::int*};
+ core::int* iiMinus = i.{core::num::-}(i){(core::num*) →* core::int*};
+ core::int* iiTimes = i.{core::num::*}(i){(core::num*) →* core::int*};
+ core::int* iiMod = i.{core::num::%}(i){(core::num*) →* core::int*};
+ core::num* inPlus = i.{core::num::+}(n){(core::num*) →* core::num*};
+ core::num* inMinus = i.{core::num::-}(n){(core::num*) →* core::num*};
+ core::num* inTimes = i.{core::num::*}(n){(core::num*) →* core::num*};
+ core::num* inMod = i.{core::num::%}(n){(core::num*) →* core::num*};
+ core::num* ndPlus = n.{core::num::+}(d){(core::num*) →* core::num*};
+ core::num* ndMinus = n.{core::num::-}(d){(core::num*) →* core::num*};
+ core::num* ndTimes = n.{core::num::*}(d){(core::num*) →* core::num*};
+ core::num* ndMod = n.{core::num::%}(d){(core::num*) →* core::num*};
+ core::num* niPlus = n.{core::num::+}(i){(core::num*) →* core::num*};
+ core::num* niMinus = n.{core::num::-}(i){(core::num*) →* core::num*};
+ core::num* niTimes = n.{core::num::*}(i){(core::num*) →* core::num*};
+ core::num* niMod = n.{core::num::%}(i){(core::num*) →* core::num*};
+ core::num* nnPlus = n.{core::num::+}(n){(core::num*) →* core::num*};
+ core::num* nnMinus = n.{core::num::-}(n){(core::num*) →* core::num*};
+ core::num* nnTimes = n.{core::num::*}(n){(core::num*) →* core::num*};
+ core::num* nnMod = n.{core::num::%}(n){(core::num*) →* core::num*};
}
diff --git a/pkg/front_end/testcases/inference/override_equals.dart b/pkg/front_end/testcases/inference/override_equals.dart
index d2ed4ba..527dbf9 100644
--- a/pkg/front_end/testcases/inference/override_equals.dart
+++ b/pkg/front_end/testcases/inference/override_equals.dart
@@ -26,11 +26,11 @@
test() {
NullEquality n = new NullEquality();
var /*@ type=bool* */ equals_self = n /*@target=NullEquality.==*/ == n;
- var /*@ type=bool* */ equals_null = n /*@target=NullEquality.==*/ == null;
- var /*@ type=bool* */ null_equals = null /*@target=Object.==*/ == n;
+ var /*@ type=bool* */ equals_null = n == null;
+ var /*@ type=bool* */ null_equals = null == n;
var /*@ type=bool* */ not_equals_self = n /*@target=NullEquality.==*/ != n;
- var /*@ type=bool* */ not_equals_null = n /*@target=NullEquality.==*/ != null;
- var /*@ type=bool* */ null_not_equals = null /*@target=Object.==*/ != n;
+ var /*@ type=bool* */ not_equals_null = n != null;
+ var /*@ type=bool* */ null_not_equals = null != n;
}
main() {
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.weak.expect b/pkg/front_end/testcases/inference/override_equals.dart.weak.expect
index 6f3dcc4..736b7cd 100644
--- a/pkg/front_end/testcases/inference/override_equals.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/override_equals.dart.weak.expect
@@ -32,16 +32,16 @@
}
static method test() → dynamic {
self::NullEquality* n = new self::NullEquality::•();
- core::bool* equals_self = n.{self::NullEquality::==}(n);
- core::bool* equals_null = n.{self::NullEquality::==}(null);
- core::bool* null_equals = null.{core::Object::==}(n);
- core::bool* not_equals_self = !n.{self::NullEquality::==}(n);
- core::bool* not_equals_null = !n.{self::NullEquality::==}(null);
- core::bool* null_not_equals = !null.{core::Object::==}(n);
+ core::bool* equals_self = n =={self::NullEquality::==}{(core::Object*) →* Null} n;
+ core::bool* equals_null = n == null;
+ core::bool* null_equals = n == null;
+ core::bool* not_equals_self = !(n =={self::NullEquality::==}{(core::Object*) →* Null} n);
+ core::bool* not_equals_null = !(n == null);
+ core::bool* null_not_equals = !(n == null);
}
static method main() → dynamic {
self::test();
- new self::SubNullEquality::•().{self::SubNullEquality::test}();
+ new self::SubNullEquality::•().{self::SubNullEquality::test}(){() →* void};
}
constants {
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/override_equals.dart.weak.transformed.expect
index 6f3dcc4..736b7cd 100644
--- a/pkg/front_end/testcases/inference/override_equals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/override_equals.dart.weak.transformed.expect
@@ -32,16 +32,16 @@
}
static method test() → dynamic {
self::NullEquality* n = new self::NullEquality::•();
- core::bool* equals_self = n.{self::NullEquality::==}(n);
- core::bool* equals_null = n.{self::NullEquality::==}(null);
- core::bool* null_equals = null.{core::Object::==}(n);
- core::bool* not_equals_self = !n.{self::NullEquality::==}(n);
- core::bool* not_equals_null = !n.{self::NullEquality::==}(null);
- core::bool* null_not_equals = !null.{core::Object::==}(n);
+ core::bool* equals_self = n =={self::NullEquality::==}{(core::Object*) →* Null} n;
+ core::bool* equals_null = n == null;
+ core::bool* null_equals = n == null;
+ core::bool* not_equals_self = !(n =={self::NullEquality::==}{(core::Object*) →* Null} n);
+ core::bool* not_equals_null = !(n == null);
+ core::bool* null_not_equals = !(n == null);
}
static method main() → dynamic {
self::test();
- new self::SubNullEquality::•().{self::SubNullEquality::test}();
+ new self::SubNullEquality::•().{self::SubNullEquality::test}(){() →* void};
}
constants {
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.weak.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.weak.expect
index 2559222..cdec2e88 100644
--- a/pkg/front_end/testcases/inference/promote_bounds.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/promote_bounds.dart.weak.expect
@@ -26,10 +26,10 @@
}
static method f<T extends self::B*>(self::f::T* a) → void {
if(a is core::String*) {
- a.{self::B::foo}();
+ a.{self::B::foo}(){() →* void};
}
if(a is self::C*) {
- a{self::f::T* & self::C* /* '*' & '*' = '*' */}.{self::C::bar}();
+ a{self::f::T* & self::C* /* '*' & '*' = '*' */}.{self::C::bar}(){() →* void};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.weak.transformed.expect
index 2559222..cdec2e88 100644
--- a/pkg/front_end/testcases/inference/promote_bounds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/promote_bounds.dart.weak.transformed.expect
@@ -26,10 +26,10 @@
}
static method f<T extends self::B*>(self::f::T* a) → void {
if(a is core::String*) {
- a.{self::B::foo}();
+ a.{self::B::foo}(){() →* void};
}
if(a is self::C*) {
- a{self::f::T* & self::C* /* '*' & '*' = '*' */}.{self::C::bar}();
+ a{self::f::T* & self::C* /* '*' & '*' = '*' */}.{self::C::bar}(){() →* void};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.expect
index 55a2a96..3e27040 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.expect
@@ -21,6 +21,6 @@
static method main() → dynamic {
self::A* a = new self::A::•();
self::A* b = a;
- core::print(a.{self::A::x});
- core::print(a.{self::A::x}.{core::num::+}(2));
+ core::print(a.{self::A::x}{core::int*});
+ core::print(a.{self::A::x}{core::int*}.{core::num::+}(2){(core::num*) →* core::int*});
}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.transformed.expect
index 55a2a96..3e27040 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.transformed.expect
@@ -21,6 +21,6 @@
static method main() → dynamic {
self::A* a = new self::A::•();
self::A* b = a;
- core::print(a.{self::A::x});
- core::print(a.{self::A::x}.{core::num::+}(2));
+ core::print(a.{self::A::x}{core::int*});
+ core::print(a.{self::A::x}{core::int*}.{core::num::+}(2){(core::num*) →* core::int*});
}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.expect
index 521cbc3..06148db 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.expect
@@ -21,6 +21,6 @@
static method main() → dynamic {
dynamic a = new self::A::•();
self::A* b = a as{TypeError,ForDynamic} self::A*;
- core::print(a.x);
- core::print(a.x.+(2));
+ core::print(a{dynamic}.x);
+ core::print(a{dynamic}.x{dynamic}.+(2));
}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.transformed.expect
index 521cbc3..06148db 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.transformed.expect
@@ -21,6 +21,6 @@
static method main() → dynamic {
dynamic a = new self::A::•();
self::A* b = a as{TypeError,ForDynamic} self::A*;
- core::print(a.x);
- core::print(a.x.+(2));
+ core::print(a{dynamic}.x);
+ core::print(a{dynamic}.x{dynamic}.+(2));
}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.expect
index 10b1dde..91157a6 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.expect
@@ -68,7 +68,7 @@
}
static method main() → void {
self::D* d1 = new self::D::•();
- core::print(d1.{self::D::c}.{self::C::b}.{self::B::a}.{self::A::x});
+ core::print(d1.{self::D::c}{self::C*}.{self::C::b}{self::B*}.{self::B::a}{self::A*}.{self::A::x}{core::int*});
self::D* d2 = new self::D::•();
- core::print(d2.{self::D::c}.{self::C::b}.{self::B::a}.{self::A::x});
+ core::print(d2.{self::D::c}{self::C*}.{self::C::b}{self::B*}.{self::B::a}{self::A*}.{self::A::x}{core::int*});
}
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.transformed.expect
index 10b1dde..91157a6 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.transformed.expect
@@ -68,7 +68,7 @@
}
static method main() → void {
self::D* d1 = new self::D::•();
- core::print(d1.{self::D::c}.{self::C::b}.{self::B::a}.{self::A::x});
+ core::print(d1.{self::D::c}{self::C*}.{self::C::b}{self::B*}.{self::B::a}{self::A*}.{self::A::x}{core::int*});
self::D* d2 = new self::D::•();
- core::print(d2.{self::D::c}.{self::C::b}.{self::B::a}.{self::A::x});
+ core::print(d2.{self::D::c}{self::C*}.{self::C::b}{self::B*}.{self::B::a}{self::A*}.{self::A::x}{core::int*});
}
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.expect
index 85b4185..4c93980 100644
--- a/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.expect
@@ -23,6 +23,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c = new self::C::•();
-static field () →* core::int* function_ref = self::c.{self::C::function};
-static field core::List<() →* core::int*>* function_ref_list = <() →* core::int*>[self::c.{self::C::function}];
+static field () →* core::int* function_ref = self::c.{self::C::function}{() →* core::int*};
+static field core::List<() →* core::int*>* function_ref_list = <() →* core::int*>[self::c.{self::C::function}{() →* core::int*}];
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.transformed.expect
index 32c55ca..eab5b2e 100644
--- a/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.transformed.expect
@@ -23,6 +23,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c = new self::C::•();
-static field () →* core::int* function_ref = self::c.{self::C::function};
-static field core::List<() →* core::int*>* function_ref_list = core::_GrowableList::_literal1<() →* core::int*>(self::c.{self::C::function});
+static field () →* core::int* function_ref = self::c.{self::C::function}{() →* core::int*};
+static field core::List<() →* core::int*>* function_ref_list = core::_GrowableList::_literal1<() →* core::int*>(self::c.{self::C::function}{() →* core::int*});
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.expect
index c6c59b5..c4b9a8c 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.expect
@@ -8,10 +8,10 @@
: super core::Object::•()
;
method op(core::double* b) → void {
- core::double* r1 = this.{self::C::a}.{core::num::+}(b) as{TypeError} core::double*;
- core::double* r2 = this.{self::C::a}.{core::num::-}(b) as{TypeError} core::double*;
- core::double* r3 = this.{self::C::a}.{core::num::*}(b) as{TypeError} core::double*;
- core::double* r4 = this.{self::C::a}.{core::num::/}(b);
+ core::double* r1 = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} core::double*;
+ core::double* r2 = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} core::double*;
+ core::double* r3 = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} core::double*;
+ core::double* r4 = this.{self::C::a}{self::C::T*}.{core::num::/}(b){(core::num*) →* core::double*};
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.transformed.expect
index 6560a3f..c4b9a8c 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.transformed.expect
@@ -8,10 +8,10 @@
: super core::Object::•()
;
method op(core::double* b) → void {
- core::double* r1 = this.{self::C::a}.{core::num::+}(b);
- core::double* r2 = this.{self::C::a}.{core::num::-}(b);
- core::double* r3 = this.{self::C::a}.{core::num::*}(b);
- core::double* r4 = this.{self::C::a}.{core::num::/}(b);
+ core::double* r1 = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} core::double*;
+ core::double* r2 = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} core::double*;
+ core::double* r3 = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} core::double*;
+ core::double* r4 = this.{self::C::a}{self::C::T*}.{core::num::/}(b){(core::num*) →* core::double*};
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.expect
index 729edd2..23ed30d 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.expect
@@ -8,14 +8,14 @@
: super core::Object::•()
;
method op(core::int* b) → void {
- self::C::T* r1 = this.{self::C::a}.{core::num::+}(b) as{TypeError} self::C::T*;
- self::C::T* r2 = this.{self::C::a}.{core::num::-}(b) as{TypeError} self::C::T*;
- self::C::T* r3 = this.{self::C::a}.{core::num::*}(b) as{TypeError} self::C::T*;
+ self::C::T* r1 = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ self::C::T* r2 = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ self::C::T* r3 = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
}
method opEq(core::int* b) → void {
- this.{self::C::a} = this.{self::C::a}.{core::num::+}(b) as{TypeError} self::C::T*;
- this.{self::C::a} = this.{self::C::a}.{core::num::-}(b) as{TypeError} self::C::T*;
- this.{self::C::a} = this.{self::C::a}.{core::num::*}(b) as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} self::C::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
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.transformed.expect
index 729edd2..23ed30d 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.transformed.expect
@@ -8,14 +8,14 @@
: super core::Object::•()
;
method op(core::int* b) → void {
- self::C::T* r1 = this.{self::C::a}.{core::num::+}(b) as{TypeError} self::C::T*;
- self::C::T* r2 = this.{self::C::a}.{core::num::-}(b) as{TypeError} self::C::T*;
- self::C::T* r3 = this.{self::C::a}.{core::num::*}(b) as{TypeError} self::C::T*;
+ self::C::T* r1 = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ self::C::T* r2 = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ self::C::T* r3 = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
}
method opEq(core::int* b) → void {
- this.{self::C::a} = this.{self::C::a}.{core::num::+}(b) as{TypeError} self::C::T*;
- this.{self::C::a} = this.{self::C::a}.{core::num::-}(b) as{TypeError} self::C::T*;
- this.{self::C::a} = this.{self::C::a}.{core::num::*}(b) as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} self::C::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
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.expect
index fb481ea..591ea9e 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.expect
@@ -8,14 +8,14 @@
: super core::Object::•()
;
method op(generic-covariant-impl self::C::T* b) → void {
- self::C::T* r1 = this.{self::C::a}.{core::num::+}(b) as{TypeError} self::C::T*;
- self::C::T* r2 = this.{self::C::a}.{core::num::-}(b) as{TypeError} self::C::T*;
- self::C::T* r3 = this.{self::C::a}.{core::num::*}(b) as{TypeError} self::C::T*;
+ self::C::T* r1 = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ self::C::T* r2 = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ self::C::T* r3 = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
}
method opEq(generic-covariant-impl self::C::T* b) → void {
- this.{self::C::a} = this.{self::C::a}.{core::num::+}(b) as{TypeError} self::C::T*;
- this.{self::C::a} = this.{self::C::a}.{core::num::-}(b) as{TypeError} self::C::T*;
- this.{self::C::a} = this.{self::C::a}.{core::num::*}(b) as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} self::C::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
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.transformed.expect
index fb481ea..591ea9e 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.transformed.expect
@@ -8,14 +8,14 @@
: super core::Object::•()
;
method op(generic-covariant-impl self::C::T* b) → void {
- self::C::T* r1 = this.{self::C::a}.{core::num::+}(b) as{TypeError} self::C::T*;
- self::C::T* r2 = this.{self::C::a}.{core::num::-}(b) as{TypeError} self::C::T*;
- self::C::T* r3 = this.{self::C::a}.{core::num::*}(b) as{TypeError} self::C::T*;
+ self::C::T* r1 = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ self::C::T* r2 = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ self::C::T* r3 = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
}
method opEq(generic-covariant-impl self::C::T* b) → void {
- this.{self::C::a} = this.{self::C::a}.{core::num::+}(b) as{TypeError} self::C::T*;
- this.{self::C::a} = this.{self::C::a}.{core::num::-}(b) as{TypeError} self::C::T*;
- this.{self::C::a} = this.{self::C::a}.{core::num::*}(b) as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::+}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::-}(b){(core::num*) →* core::num*} as{TypeError} self::C::T*;
+ this.{self::C::a} = this.{self::C::a}{self::C::T*}.{core::num::*}(b){(core::num*) →* core::num*} as{TypeError} self::C::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
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.outline.expect b/pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.outline.expect
index 37761d3..b473f71 100644
--- a/pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.outline.expect
@@ -24,5 +24,5 @@
Extra constant evaluation status:
-Evaluated: StaticGet @ org-dartlang-testcase:///static_method_tear_off.dart:8:13 -> TearOffConstant(C.f)
+Evaluated: StaticTearOff @ org-dartlang-testcase:///static_method_tear_off.dart:8:13 -> TearOffConstant(C.f)
Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.expect
index b887901..23c68ac 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.expect
@@ -23,7 +23,7 @@
: super self::C::•()
;
method g() → void {
- core::int* y = super.{self::C::f}.call();
+ core::int* y = super.{self::C::f}(){() →* core::int*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.transformed.expect
index b887901..23c68ac 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.transformed.expect
@@ -23,7 +23,7 @@
: super self::C::•()
;
method g() → void {
- core::int* y = super.{self::C::f}.call();
+ core::int* y = super.{self::C::f}(){() →* core::int*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.expect
index 3448c3a..f32675f 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.expect
@@ -40,7 +40,7 @@
: super self::C::•()
;
method g() → void {
- core::int* y = super.{self::C::f}.{self::CallableClass::call}();
+ core::int* y = super.{self::C::f}.{self::CallableClass::call}(){() →* core::int*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.transformed.expect
index 3448c3a..f32675f 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.transformed.expect
@@ -40,7 +40,7 @@
: super self::C::•()
;
method g() → void {
- core::int* y = super.{self::C::f}.{self::CallableClass::call}();
+ core::int* y = super.{self::C::f}.{self::CallableClass::call}(){() →* core::int*};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart.weak.expect b/pkg/front_end/testcases/inference/switch_continue.dart.weak.expect
index 17603ab..64406d0 100644
--- a/pkg/front_end/testcases/inference/switch_continue.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/switch_continue.dart.weak.expect
@@ -8,13 +8,13 @@
#L2:
case #C1:
{
- f.call();
+ f(){() →* void};
continue #L3;
}
#L3:
case #C2:
{
- f.call();
+ f(){() →* void};
break #L1;
}
}
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/switch_continue.dart.weak.transformed.expect
index 17603ab..64406d0 100644
--- a/pkg/front_end/testcases/inference/switch_continue.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/switch_continue.dart.weak.transformed.expect
@@ -8,13 +8,13 @@
#L2:
case #C1:
{
- f.call();
+ f(){() →* void};
continue #L3;
}
#L3:
case #C2:
{
- f.call();
+ f(){() →* void};
break #L1;
}
}
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.weak.expect b/pkg/front_end/testcases/inference/try_catch.dart.weak.expect
index 6035841..086e91e 100644
--- a/pkg/front_end/testcases/inference/try_catch.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/try_catch.dart.weak.expect
@@ -50,7 +50,7 @@
static method test(() →* void f) → void {
try {
core::int* x = 0;
- f.call();
+ f(){() →* void};
}
on self::C* catch(no-exception-var) {
core::int* x = 0;
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/try_catch.dart.weak.transformed.expect
index 6035841..086e91e 100644
--- a/pkg/front_end/testcases/inference/try_catch.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/try_catch.dart.weak.transformed.expect
@@ -50,7 +50,7 @@
static method test(() →* void f) → void {
try {
core::int* x = 0;
- f.call();
+ f(){() →* void};
}
on self::C* catch(no-exception-var) {
core::int* x = 0;
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.expect
index e2c12ae..62db44d 100644
--- a/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.expect
@@ -51,7 +51,7 @@
try
try {
core::int* x = 0;
- f.call();
+ f(){() →* void};
}
on self::C* catch(no-exception-var) {
core::int* x = 0;
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.transformed.expect
index e2c12ae..62db44d 100644
--- a/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.transformed.expect
@@ -51,7 +51,7 @@
try
try {
core::int* x = 0;
- f.call();
+ f(){() →* void};
}
on self::C* catch(no-exception-var) {
core::int* x = 0;
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.expect
index adbb087..0f37b73 100644
--- a/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.expect
@@ -39,7 +39,7 @@
}
static method test(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on self::C* catch(final self::C* x, final core::StackTrace* y) {
self::C* x1 = x;
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.transformed.expect
index adbb087..0f37b73 100644
--- a/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.transformed.expect
@@ -39,7 +39,7 @@
}
static method test(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on self::C* catch(final self::C* x, final core::StackTrace* y) {
self::C* x1 = x;
diff --git a/pkg/front_end/testcases/inference/try_finally.dart.weak.expect b/pkg/front_end/testcases/inference/try_finally.dart.weak.expect
index bb417be..f52f88a 100644
--- a/pkg/front_end/testcases/inference/try_finally.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/try_finally.dart.weak.expect
@@ -5,7 +5,7 @@
static method test(() →* void f) → void {
try {
core::int* x = 0;
- f.call();
+ f(){() →* void};
}
finally {
core::int* x = 0;
diff --git a/pkg/front_end/testcases/inference/try_finally.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/try_finally.dart.weak.transformed.expect
index bb417be..f52f88a 100644
--- a/pkg/front_end/testcases/inference/try_finally.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/try_finally.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
static method test(() →* void f) → void {
try {
core::int* x = 0;
- f.call();
+ f(){() →* void};
}
finally {
core::int* x = 0;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.expect
index 4fbbdae..4c0ed46 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method main() → dynamic {
- core::double* v = ((dynamic x) → core::double* => 1.0).call(() → core::int* {
+ core::double* v = ((dynamic x) → core::double* => 1.0)(() → core::int* {
return 1;
- });
+ }){(dynamic) →* core::double*};
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.transformed.expect
index 4fbbdae..4c0ed46 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.transformed.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method main() → dynamic {
- core::double* v = ((dynamic x) → core::double* => 1.0).call(() → core::int* {
+ core::double* v = ((dynamic x) → core::double* => 1.0)(() → core::int* {
return 1;
- });
+ }){(dynamic) →* core::double*};
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.expect
index 89d0bd3..2ac59fb 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.expect
@@ -6,7 +6,7 @@
return 1;
});
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.transformed.expect
index 951265d..c0f9a58 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.transformed.expect
@@ -6,7 +6,7 @@
return 1;
});
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.expect
index 2e3ca1e6..ab6bbb7 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.expect
@@ -25,11 +25,11 @@
- 'List' is from 'dart:core'.
Try correcting the operator to an existing operator, or defining a '<' operator.
var v = (f<dynamic>)(/*@returnType=int**/() {
- ^".>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:20: Error: This couldn't be parsed.
+ ^"{dynamic}.>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:20: Error: This couldn't be parsed.
var v = (f<dynamic>)(/*@returnType=int**/() {
- ^").call(() → core::int* {
+ ^"){dynamic}.call(() → core::int* {
return 1;
});
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.transformed.expect
index c8e4727..96fca33 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.transformed.expect
@@ -25,11 +25,11 @@
- 'List' is from 'dart:core'.
Try correcting the operator to an existing operator, or defining a '<' operator.
var v = (f<dynamic>)(/*@returnType=int**/() {
- ^".>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:20: Error: This couldn't be parsed.
+ ^"{dynamic}.>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart:9:20: Error: This couldn't be parsed.
var v = (f<dynamic>)(/*@returnType=int**/() {
- ^").call(() → core::int* {
+ ^"){dynamic}.call(() → core::int* {
return 1;
});
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
index 322ca8f..ca3de8b 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
@@ -2,11 +2,11 @@
import self as self;
import "dart:core" as core;
-static field core::List<dynamic>* v = (#C1).call<dynamic>(() → core::int* {
+static field core::List<dynamic>* v = (#C1)<dynamic>(() → core::int* {
return 1;
-});
+}){(() →* dynamic) →* core::List<dynamic>*};
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
index fd6b5b4..1124860 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
@@ -2,11 +2,11 @@
import self as self;
import "dart:core" as core;
-static field core::List<dynamic>* v = (#C1).call<dynamic>(() → core::int* {
+static field core::List<dynamic>* v = (#C1)<dynamic>(() → core::int* {
return 1;
-});
+}){(() →* dynamic) →* core::List<dynamic>*};
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.expect
index b005e12..06e337e 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.expect
@@ -6,7 +6,7 @@
return 1;
});
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.transformed.expect
index bff0cad..e7d7199 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.transformed.expect
@@ -6,7 +6,7 @@
return 1;
});
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.expect
index 938f89a..d66c0af 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.expect
@@ -25,11 +25,11 @@
- 'List' is from 'dart:core'.
Try correcting the operator to an existing operator, or defining a '<' operator.
var v = (f<int>)(/*@returnType=int**/() {
- ^".>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:16: Error: This couldn't be parsed.
+ ^"{dynamic}.>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:16: Error: This couldn't be parsed.
var v = (f<int>)(/*@returnType=int**/() {
- ^").call(() → core::int* {
+ ^"){dynamic}.call(() → core::int* {
return 1;
});
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.transformed.expect
index c983f6b..6c6b1ff 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.transformed.expect
@@ -25,11 +25,11 @@
- 'List' is from 'dart:core'.
Try correcting the operator to an existing operator, or defining a '<' operator.
var v = (f<int>)(/*@returnType=int**/() {
- ^".>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:16: Error: This couldn't be parsed.
+ ^"{dynamic}.>(invalid-expression "pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart:9:16: Error: This couldn't be parsed.
var v = (f<int>)(/*@returnType=int**/() {
- ^").call(() → core::int* {
+ ^"){dynamic}.call(() → core::int* {
return 1;
});
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
index 129610f..169486b 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
@@ -2,11 +2,11 @@
import self as self;
import "dart:core" as core;
-static field core::List<core::int*>* v = (#C1).call<core::int*>(() → core::int* {
+static field core::List<core::int*>* v = (#C1)<core::int*>(() → core::int* {
return 1;
-});
+}){(() →* core::int*) →* core::List<core::int*>*};
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
index cf09c4f..633c890 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
@@ -2,11 +2,11 @@
import self as self;
import "dart:core" as core;
-static field core::List<core::int*>* v = (#C1).call<core::int*>(() → core::int* {
+static field core::List<core::int*>* v = (#C1)<core::int*>(() → core::int* {
return 1;
-});
+}){(() →* core::int*) →* core::List<core::int*>*};
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.expect
index 4700f6a..720cf75 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.expect
@@ -8,4 +8,4 @@
});
}
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.transformed.expect
index 6a725de..a4b1aff 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.transformed.expect
@@ -8,4 +8,4 @@
});
}
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.expect
index 00386c6..bce5804 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.expect
@@ -3,12 +3,12 @@
import "dart:core" as core;
static method main() → dynamic {
- core::List<core::int*>* v = (#C1).call<core::int*>(() → core::int* {
+ core::List<core::int*>* v = (#C1)<core::int*>(() → core::int* {
return 1;
- });
+ }){(() →* core::int*) →* core::List<core::int*>*};
}
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
constants {
#C1 = tearoff self::f
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.transformed.expect
index 9c69fce..cb153d8 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.transformed.expect
@@ -3,12 +3,12 @@
import "dart:core" as core;
static method main() → dynamic {
- core::List<core::int*>* v = (#C1).call<core::int*>(() → core::int* {
+ core::List<core::int*>* v = (#C1)<core::int*>(() → core::int* {
return 1;
- });
+ }){(() →* core::int*) →* core::List<core::int*>*};
}
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
constants {
#C1 = tearoff self::f
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.expect
index 76e37fd..742f60c 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.expect
@@ -3,9 +3,9 @@
import "dart:core" as core;
static method main() → dynamic {
- core::double* v = (#C1).call(() → core::int* {
+ core::double* v = (#C1)(() → core::int* {
return 1;
- });
+ }){(dynamic) →* core::double*};
}
static method f(dynamic x) → core::double*
return 1.0;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.transformed.expect
index 76e37fd..742f60c 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.transformed.expect
@@ -3,9 +3,9 @@
import "dart:core" as core;
static method main() → dynamic {
- core::double* v = (#C1).call(() → core::int* {
+ core::double* v = (#C1)(() → core::int* {
return 1;
- });
+ }){(dynamic) →* core::double*};
}
static method f(dynamic x) → core::double*
return 1.0;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.expect
index 102bdb33..7011442a 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
- return <self::C::f::T*>[g.call()];
+ return <self::C::f::T*>[g(){() →* self::C::f::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
@@ -22,5 +22,5 @@
static method main() → dynamic {
core::List<dynamic>* v = new self::C::•().{self::C::f}<dynamic>(() → core::int* {
return 1;
- });
+ }){(() →* dynamic) →* core::List<dynamic>*};
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.transformed.expect
index f2717b8..bdd5b5b 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
- return core::_GrowableList::_literal1<self::C::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::C::f::T*>(g(){() →* self::C::f::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
@@ -22,5 +22,5 @@
static method main() → dynamic {
core::List<dynamic>* v = new self::C::•().{self::C::f}<dynamic>(() → core::int* {
return 1;
- });
+ }){(() →* dynamic) →* core::List<dynamic>*};
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.expect
index 9921b26..3df5bcf 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
- return <self::C::f::T*>[g.call()];
+ return <self::C::f::T*>[g(){() →* self::C::f::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
@@ -22,5 +22,5 @@
static method main() → dynamic {
core::List<core::int*>* v = new self::C::•().{self::C::f}<core::int*>(() → core::int* {
return 1;
- });
+ }){(() →* core::int*) →* core::List<core::int*>*};
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.transformed.expect
index c33bf91..b967386 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
- return core::_GrowableList::_literal1<self::C::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::C::f::T*>(g(){() →* self::C::f::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
@@ -22,5 +22,5 @@
static method main() → dynamic {
core::List<core::int*>* v = new self::C::•().{self::C::f}<core::int*>(() → core::int* {
return 1;
- });
+ }){(() →* core::int*) →* core::List<core::int*>*};
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.expect
index 9921b26..3df5bcf 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
- return <self::C::f::T*>[g.call()];
+ return <self::C::f::T*>[g(){() →* self::C::f::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
@@ -22,5 +22,5 @@
static method main() → dynamic {
core::List<core::int*>* v = new self::C::•().{self::C::f}<core::int*>(() → core::int* {
return 1;
- });
+ }){(() →* core::int*) →* core::List<core::int*>*};
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.transformed.expect
index c33bf91..b967386 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
- return core::_GrowableList::_literal1<self::C::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::C::f::T*>(g(){() →* self::C::f::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
@@ -22,5 +22,5 @@
static method main() → dynamic {
core::List<core::int*>* v = new self::C::•().{self::C::f}<core::int*>(() → core::int* {
return 1;
- });
+ }){(() →* core::int*) →* core::List<core::int*>*};
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.expect
index bc8459a..f00aa66 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.expect
@@ -21,7 +21,7 @@
}
static field core::double* v = new self::C::•().{self::C::f}(() → core::int* {
return 1;
-});
+}){(dynamic) →* core::double*};
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.transformed.expect
index bc8459a..f00aa66 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.transformed.expect
@@ -21,7 +21,7 @@
}
static field core::double* v = new self::C::•().{self::C::f}(() → core::int* {
return 1;
-});
+}){(dynamic) →* core::double*};
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.expect b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.expect
index 9277df0..f86a055 100644
--- a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.expect
+++ b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.expect
@@ -5,7 +5,7 @@
static field dynamic x = self::run<dynamic>(#C1);
static method run<T extends core::Object* = dynamic>(() →* self::run::T* f) → self::run::T* {
core::print("running");
- self::run::T* t = f.call();
+ self::run::T* t = f(){() →* self::run::T*};
core::print("done running");
return t;
}
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
index 9277df0..f86a055 100644
--- a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
static field dynamic x = self::run<dynamic>(#C1);
static method run<T extends core::Object* = dynamic>(() →* self::run::T* f) → self::run::T* {
core::print("running");
- self::run::T* t = f.call();
+ self::run::T* t = f(){() →* self::run::T*};
core::print("done running");
return t;
}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.expect
index 6a3df44..a062019 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.expect
@@ -30,8 +30,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::A* a = new self::A::•();
-static field invalid-type b = () → () →* invalid-type => self::a.{self::A::f}<() →* invalid-type>(self::c);
-static field () →* invalid-type c = () → invalid-type => self::a.{self::A::f}<invalid-type>(self::b);
-static field () →* () →* core::int* d = () → () →* core::int* => self::a.{self::A::f}<() →* core::int*>(self::e);
-static field () →* core::int* e = () → core::int* => self::a.{self::A::g}(self::d);
+static field invalid-type b = () → () →* invalid-type => self::a.{self::A::f}<() →* invalid-type>(self::c){(() →* invalid-type) →* () →* invalid-type};
+static field () →* invalid-type c = () → invalid-type => self::a.{self::A::f}<invalid-type>(self::b){(invalid-type) →* invalid-type};
+static field () →* () →* core::int* d = () → () →* core::int* => self::a.{self::A::f}<() →* core::int*>(self::e){(() →* core::int*) →* () →* core::int*};
+static field () →* core::int* e = () → core::int* => self::a.{self::A::g}(self::d){(dynamic) →* core::int*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.transformed.expect
index 6a3df44..a062019 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.transformed.expect
@@ -30,8 +30,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::A* a = new self::A::•();
-static field invalid-type b = () → () →* invalid-type => self::a.{self::A::f}<() →* invalid-type>(self::c);
-static field () →* invalid-type c = () → invalid-type => self::a.{self::A::f}<invalid-type>(self::b);
-static field () →* () →* core::int* d = () → () →* core::int* => self::a.{self::A::f}<() →* core::int*>(self::e);
-static field () →* core::int* e = () → core::int* => self::a.{self::A::g}(self::d);
+static field invalid-type b = () → () →* invalid-type => self::a.{self::A::f}<() →* invalid-type>(self::c){(() →* invalid-type) →* () →* invalid-type};
+static field () →* invalid-type c = () → invalid-type => self::a.{self::A::f}<invalid-type>(self::b){(invalid-type) →* invalid-type};
+static field () →* () →* core::int* d = () → () →* core::int* => self::a.{self::A::f}<() →* core::int*>(self::e){(() →* core::int*) →* () →* core::int*};
+static field () →* core::int* e = () → core::int* => self::a.{self::A::g}(self::d){(dynamic) →* core::int*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.expect
index 70eab38..3ae5f85 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.expect
@@ -13,10 +13,10 @@
static field core::int* intValue = 0;
static field core::num* numValue = 0;
static field core::double* doubleValue = 0.0;
-static field invalid-type a = () → core::num* => self::intValue.{core::num::+}(self::b as{TypeError,ForDynamic} core::num*);
-static field dynamic b = self::a.call();
-static field () →* core::num* c = () → core::num* => self::numValue.{core::num::+}(self::d);
-static field core::num* d = self::c.call();
-static field () →* core::double* e = () → core::double* => self::doubleValue.{core::double::+}(self::f);
-static field core::double* f = self::e.call();
+static field invalid-type a = () → core::num* => self::intValue.{core::num::+}(self::b as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+static field dynamic b = self::a{dynamic}.call();
+static field () →* core::num* c = () → core::num* => self::numValue.{core::num::+}(self::d){(core::num*) →* core::num*};
+static field core::num* d = self::c(){() →* core::num*};
+static field () →* core::double* e = () → core::double* => self::doubleValue.{core::double::+}(self::f){(core::num*) →* core::double*};
+static field core::double* f = self::e(){() →* core::double*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.transformed.expect
index 70eab38..3ae5f85 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.transformed.expect
@@ -13,10 +13,10 @@
static field core::int* intValue = 0;
static field core::num* numValue = 0;
static field core::double* doubleValue = 0.0;
-static field invalid-type a = () → core::num* => self::intValue.{core::num::+}(self::b as{TypeError,ForDynamic} core::num*);
-static field dynamic b = self::a.call();
-static field () →* core::num* c = () → core::num* => self::numValue.{core::num::+}(self::d);
-static field core::num* d = self::c.call();
-static field () →* core::double* e = () → core::double* => self::doubleValue.{core::double::+}(self::f);
-static field core::double* f = self::e.call();
+static field invalid-type a = () → core::num* => self::intValue.{core::num::+}(self::b as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*};
+static field dynamic b = self::a{dynamic}.call();
+static field () →* core::num* c = () → core::num* => self::numValue.{core::num::+}(self::d){(core::num*) →* core::num*};
+static field core::num* d = self::c(){() →* core::num*};
+static field () →* core::double* e = () → core::double* => self::doubleValue.{core::double::+}(self::f){(core::num*) →* core::double*};
+static field core::double* f = self::e(){() →* core::double*};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.expect
index eac251e..b83a5f8 100644
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.expect
@@ -11,8 +11,8 @@
import "dart:core" as core;
class A extends core::Object {
- field invalid-type x = () → invalid-type => new self::B::•().{self::B::x};
- field () →* invalid-type y = () → invalid-type => new self::B::•().{self::B::x};
+ field invalid-type x = () → invalid-type => new self::B::•().{self::B::x}{invalid-type};
+ field () →* invalid-type y = () → invalid-type => new self::B::•().{self::B::x}{invalid-type};
synthetic constructor •() → self::A*
: super core::Object::•()
;
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.transformed.expect
index eac251e..b83a5f8 100644
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.transformed.expect
@@ -11,8 +11,8 @@
import "dart:core" as core;
class A extends core::Object {
- field invalid-type x = () → invalid-type => new self::B::•().{self::B::x};
- field () →* invalid-type y = () → invalid-type => new self::B::•().{self::B::x};
+ field invalid-type x = () → invalid-type => new self::B::•().{self::B::x}{invalid-type};
+ field () →* invalid-type y = () → invalid-type => new self::B::•().{self::B::x}{invalid-type};
synthetic constructor •() → self::A*
: super core::Object::•()
;
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.expect
index 9bd9561..cf8fb9e 100644
--- a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.expect
@@ -111,15 +111,15 @@
static method f<T extends core::Object* = dynamic>() → self::f::T*
return null;
static method test1(self::G* g) → void {
- let final self::G* #t1 = g in let final core::int* #t2 = 0 in #t1.{self::G::[]=}(#t2, #t1.{self::G::[]}(#t2).{self::A::*}(self::f<self::D*>()));
- self::C* x = let final self::G* #t3 = g in let final core::int* #t4 = 0 in let final self::C* #t5 = #t3.{self::G::[]}(#t4).{self::A::*}(self::f<self::D*>()) in let final void #t6 = #t3.{self::G::[]=}(#t4, #t5) in #t5;
+ let final self::G* #t1 = g in let final core::int* #t2 = 0 in #t1.{self::G::[]=}(#t2, #t1.{self::G::[]}(#t2){(core::int*) →* self::A*}.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*}){(core::int*, self::B*) →* void};
+ self::C* x = let final self::G* #t3 = g in let final core::int* #t4 = 0 in let final self::C* #t5 = #t3.{self::G::[]}(#t4){(core::int*) →* self::A*}.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*} in let final void #t6 = #t3.{self::G::[]=}(#t4, #t5){(core::int*, self::B*) →* void} in #t5;
}
static method test2(self::G* g) → void {
- let final self::G* #t7 = g in let final core::int* #t8 = 0 in let final self::C* #t9 = #t7.{self::G::[]}(#t8).{self::A::+}(1) in let final void #t10 = #t7.{self::G::[]=}(#t8, #t9) in #t9;
- self::C* x = let final self::G* #t11 = g in let final core::int* #t12 = 0 in let final self::C* #t13 = #t11.{self::G::[]}(#t12).{self::A::+}(1) in let final void #t14 = #t11.{self::G::[]=}(#t12, #t13) in #t13;
+ let final self::G* #t7 = g in let final core::int* #t8 = 0 in let final self::C* #t9 = #t7.{self::G::[]}(#t8){(core::int*) →* self::A*}.{self::A::+}(1){(core::int*) →* self::C*} in let final void #t10 = #t7.{self::G::[]=}(#t8, #t9){(core::int*, self::B*) →* void} in #t9;
+ self::C* x = let final self::G* #t11 = g in let final core::int* #t12 = 0 in let final self::C* #t13 = #t11.{self::G::[]}(#t12){(core::int*) →* self::A*}.{self::A::+}(1){(core::int*) →* self::C*} in let final void #t14 = #t11.{self::G::[]=}(#t12, #t13){(core::int*, self::B*) →* void} in #t13;
}
static method test3(self::G* g) → void {
- let final self::G* #t15 = g in let final core::int* #t16 = 0 in #t15.{self::G::[]=}(#t16, #t15.{self::G::[]}(#t16).{self::A::+}(1));
- self::A* x = let final self::G* #t17 = g in let final core::int* #t18 = 0 in let final self::A* #t19 = #t17.{self::G::[]}(#t18) in let final void #t20 = #t17.{self::G::[]=}(#t18, #t19.{self::A::+}(1)) in #t19;
+ let final self::G* #t15 = g in let final core::int* #t16 = 0 in #t15.{self::G::[]=}(#t16, #t15.{self::G::[]}(#t16){(core::int*) →* self::A*}.{self::A::+}(1){(core::int*) →* self::C*}){(core::int*, self::B*) →* void};
+ self::A* x = let final self::G* #t17 = g in let final core::int* #t18 = 0 in let final self::A* #t19 = #t17.{self::G::[]}(#t18){(core::int*) →* self::A*} in let final void #t20 = #t17.{self::G::[]=}(#t18, #t19.{self::A::+}(1){(core::int*) →* self::C*}){(core::int*, self::B*) →* void} in #t19;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.transformed.expect
index 2c14e98..a14cd5c 100644
--- a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.transformed.expect
@@ -111,16 +111,16 @@
static method f<T extends core::Object* = dynamic>() → self::f::T*
return null;
static method test1(self::G* g) → void {
- let final self::G* #t1 = g in let final core::int* #t2 = 0 in #t1.{self::G::[]=}(#t2, #t1.{self::G::[]}(#t2).{self::A::*}(self::f<self::D*>()));
- self::C* x = let final self::G* #t3 = g in let final core::int* #t4 = 0 in let final self::C* #t5 = #t3.{self::G::[]}(#t4).{self::A::*}(self::f<self::D*>()) in let final void #t6 = #t3.{self::G::[]=}(#t4, #t5) in #t5;
+ let final self::G* #t1 = g in let final core::int* #t2 = 0 in #t1.{self::G::[]=}(#t2, #t1.{self::G::[]}(#t2){(core::int*) →* self::A*}.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*}){(core::int*, self::B*) →* void};
+ self::C* x = let final self::G* #t3 = g in let final core::int* #t4 = 0 in let final self::C* #t5 = #t3.{self::G::[]}(#t4){(core::int*) →* self::A*}.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*} in let final void #t6 = #t3.{self::G::[]=}(#t4, #t5){(core::int*, self::B*) →* void} in #t5;
}
static method test2(self::G* g) → void {
- let final self::G* #t7 = g in let final core::int* #t8 = 0 in let final self::C* #t9 = #t7.{self::G::[]}(#t8).{self::A::+}(1) in let final void #t10 = #t7.{self::G::[]=}(#t8, #t9) in #t9;
- self::C* x = let final self::G* #t11 = g in let final core::int* #t12 = 0 in let final self::C* #t13 = #t11.{self::G::[]}(#t12).{self::A::+}(1) in let final void #t14 = #t11.{self::G::[]=}(#t12, #t13) in #t13;
+ let final self::G* #t7 = g in let final core::int* #t8 = 0 in let final self::C* #t9 = #t7.{self::G::[]}(#t8){(core::int*) →* self::A*}.{self::A::+}(1){(core::int*) →* self::C*} in let final void #t10 = #t7.{self::G::[]=}(#t8, #t9){(core::int*, self::B*) →* void} in #t9;
+ self::C* x = let final self::G* #t11 = g in let final core::int* #t12 = 0 in let final self::C* #t13 = #t11.{self::G::[]}(#t12){(core::int*) →* self::A*}.{self::A::+}(1){(core::int*) →* self::C*} in let final void #t14 = #t11.{self::G::[]=}(#t12, #t13){(core::int*, self::B*) →* void} in #t13;
}
static method test3(self::G* g) → void {
- let final self::G* #t15 = g in let final core::int* #t16 = 0 in #t15.{self::G::[]=}(#t16, #t15.{self::G::[]}(#t16).{self::A::+}(1));
- self::A* x = let final self::G* #t17 = g in let final core::int* #t18 = 0 in let final self::A* #t19 = #t17.{self::G::[]}(#t18) in let final void #t20 = #t17.{self::G::[]=}(#t18, #t19.{self::A::+}(1)) in #t19;
+ let final self::G* #t15 = g in let final core::int* #t16 = 0 in #t15.{self::G::[]=}(#t16, #t15.{self::G::[]}(#t16){(core::int*) →* self::A*}.{self::A::+}(1){(core::int*) →* self::C*}){(core::int*, self::B*) →* void};
+ self::A* x = let final self::G* #t17 = g in let final core::int* #t18 = 0 in let final self::A* #t19 = #t17.{self::G::[]}(#t18){(core::int*) →* self::A*} in let final void #t20 = #t17.{self::G::[]=}(#t18, #t19.{self::A::+}(1){(core::int*) →* self::C*}){(core::int*, self::B*) →* void} in #t19;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.expect
index a36e492..43a39ef 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.expect
@@ -42,19 +42,19 @@
;
method test() → void {
this.{self::Test::member} = self::f<self::B*>();
- this.{self::Test::member}.{self::A::==}(null) ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : null;
- this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
- this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
+ this.{self::Test::member}{self::B*} == null ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : null;
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = this.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = this.{self::Test::member} in #t1.{self::A::==}(null) ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : #t1;
- self::A* v3 = this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = this.{self::Test::member} in let final self::B* #t3 = this.{self::Test::member} = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = this.{self::Test::member}{self::B*} in #t1 == null ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : #t1;
+ self::A* v3 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = this.{self::Test::member}{self::B*} in let final self::B* #t3 = this.{self::Test::member} = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.transformed.expect
index a36e492..43a39ef 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.transformed.expect
@@ -42,19 +42,19 @@
;
method test() → void {
this.{self::Test::member} = self::f<self::B*>();
- this.{self::Test::member}.{self::A::==}(null) ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : null;
- this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
- this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
+ this.{self::Test::member}{self::B*} == null ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : null;
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = this.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = this.{self::Test::member} in #t1.{self::A::==}(null) ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : #t1;
- self::A* v3 = this.{self::Test::member} = this.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = this.{self::Test::member} = this.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = this.{self::Test::member} = this.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = this.{self::Test::member} = this.{self::Test::member}.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = this.{self::Test::member} in let final self::B* #t3 = this.{self::Test::member} = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = this.{self::Test::member}{self::B*} in #t1 == null ?{self::B*} this.{self::Test::member} = self::f<self::B*>() : #t1;
+ self::A* v3 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = this.{self::Test::member} = this.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = this.{self::Test::member}{self::B*} in let final self::B* #t3 = this.{self::Test::member} = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.expect
index 7358171..c9e63c0 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.expect
@@ -10,12 +10,12 @@
method test() → void {
core::int* v1 = this.{self::Test1::t} = self::getInt();
core::num* v2 = this.{self::Test1::t} = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final core::int* #t1 = this.{self::Test1::t} in #t1.{core::num::==}(null) ?{core::int*} this.{self::Test1::t} = self::getInt() : #t1;
- core::num* v5 = let final core::int* #t2 = this.{self::Test1::t} in #t2.{core::num::==}(null) ?{core::num*} this.{self::Test1::t} = self::getNum() as{TypeError} core::int* : #t2;
- core::int* v7 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(self::getInt());
- core::num* v8 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(1);
- core::int* v11 = let final core::int* #t3 = this.{self::Test1::t} in let final core::int* #t4 = this.{self::Test1::t} = #t3.{core::num::+}(1) in #t3;
+ core::int* v4 = let final core::int* #t1 = this.{self::Test1::t}{core::int*} in #t1 == null ?{core::int*} this.{self::Test1::t} = self::getInt() : #t1;
+ core::num* v5 = let final core::int* #t2 = this.{self::Test1::t}{core::int*} in #t2 == null ?{core::num*} this.{self::Test1::t} = self::getNum() as{TypeError} core::int* : #t2;
+ core::int* v7 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t3 = this.{self::Test1::t}{core::int*} in let final core::int* #t4 = this.{self::Test1::t} = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -37,14 +37,14 @@
core::int* v1 = this.{self::Test2::t} = self::getInt();
core::num* v2 = this.{self::Test2::t} = self::getNum();
core::double* v3 = this.{self::Test2::t} = self::getDouble();
- core::num* v4 = let final core::num* #t5 = this.{self::Test2::t} in #t5.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getInt() : #t5;
- core::num* v5 = let final core::num* #t6 = this.{self::Test2::t} in #t6.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getNum() : #t6;
- core::num* v6 = let final core::num* #t7 = this.{self::Test2::t} in #t7.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getDouble() : #t7;
- core::num* v7 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getInt());
- core::num* v8 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getNum());
- core::num* v9 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getDouble());
- core::num* v10 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(1);
- core::num* v11 = let final core::num* #t8 = this.{self::Test2::t} in let final core::num* #t9 = this.{self::Test2::t} = #t8.{core::num::+}(1) in #t8;
+ core::num* v4 = let final core::num* #t5 = this.{self::Test2::t}{core::num*} in #t5 == null ?{core::num*} this.{self::Test2::t} = self::getInt() : #t5;
+ core::num* v5 = let final core::num* #t6 = this.{self::Test2::t}{core::num*} in #t6 == null ?{core::num*} this.{self::Test2::t} = self::getNum() : #t6;
+ core::num* v6 = let final core::num* #t7 = this.{self::Test2::t}{core::num*} in #t7 == null ?{core::num*} this.{self::Test2::t} = self::getDouble() : #t7;
+ core::num* v7 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t8 = this.{self::Test2::t}{core::num*} in let final core::num* #t9 = this.{self::Test2::t} = #t8.{core::num::+}(1){(core::num*) →* core::num*} in #t8;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -65,13 +65,13 @@
method test3() → void {
core::num* v2 = this.{self::Test3::t} = self::getNum() as{TypeError} core::double*;
core::double* v3 = this.{self::Test3::t} = self::getDouble();
- core::num* v5 = let final core::double* #t10 = this.{self::Test3::t} in #t10.{core::num::==}(null) ?{core::num*} this.{self::Test3::t} = self::getNum() as{TypeError} core::double* : #t10;
- core::double* v6 = let final core::double* #t11 = this.{self::Test3::t} in #t11.{core::num::==}(null) ?{core::double*} this.{self::Test3::t} = self::getDouble() : #t11;
- core::double* v7 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getInt());
- core::double* v8 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getNum());
- core::double* v9 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getDouble());
- core::double* v10 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(1);
- core::double* v11 = let final core::double* #t12 = this.{self::Test3::t} in let final core::double* #t13 = this.{self::Test3::t} = #t12.{core::double::+}(1) in #t12;
+ core::num* v5 = let final core::double* #t10 = this.{self::Test3::t}{core::double*} in #t10 == null ?{core::num*} this.{self::Test3::t} = self::getNum() as{TypeError} core::double* : #t10;
+ core::double* v6 = let final core::double* #t11 = this.{self::Test3::t}{core::double*} in #t11 == null ?{core::double*} this.{self::Test3::t} = self::getDouble() : #t11;
+ core::double* v7 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t12 = this.{self::Test3::t}{core::double*} in let final core::double* #t13 = this.{self::Test3::t} = #t12.{core::double::+}(1){(core::num*) →* core::double*} in #t12;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
index 7358171..c9e63c0 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
@@ -10,12 +10,12 @@
method test() → void {
core::int* v1 = this.{self::Test1::t} = self::getInt();
core::num* v2 = this.{self::Test1::t} = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final core::int* #t1 = this.{self::Test1::t} in #t1.{core::num::==}(null) ?{core::int*} this.{self::Test1::t} = self::getInt() : #t1;
- core::num* v5 = let final core::int* #t2 = this.{self::Test1::t} in #t2.{core::num::==}(null) ?{core::num*} this.{self::Test1::t} = self::getNum() as{TypeError} core::int* : #t2;
- core::int* v7 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(self::getInt());
- core::num* v8 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = this.{self::Test1::t} = this.{self::Test1::t}.{core::num::+}(1);
- core::int* v11 = let final core::int* #t3 = this.{self::Test1::t} in let final core::int* #t4 = this.{self::Test1::t} = #t3.{core::num::+}(1) in #t3;
+ core::int* v4 = let final core::int* #t1 = this.{self::Test1::t}{core::int*} in #t1 == null ?{core::int*} this.{self::Test1::t} = self::getInt() : #t1;
+ core::num* v5 = let final core::int* #t2 = this.{self::Test1::t}{core::int*} in #t2 == null ?{core::num*} this.{self::Test1::t} = self::getNum() as{TypeError} core::int* : #t2;
+ core::int* v7 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = this.{self::Test1::t} = this.{self::Test1::t}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t3 = this.{self::Test1::t}{core::int*} in let final core::int* #t4 = this.{self::Test1::t} = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -37,14 +37,14 @@
core::int* v1 = this.{self::Test2::t} = self::getInt();
core::num* v2 = this.{self::Test2::t} = self::getNum();
core::double* v3 = this.{self::Test2::t} = self::getDouble();
- core::num* v4 = let final core::num* #t5 = this.{self::Test2::t} in #t5.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getInt() : #t5;
- core::num* v5 = let final core::num* #t6 = this.{self::Test2::t} in #t6.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getNum() : #t6;
- core::num* v6 = let final core::num* #t7 = this.{self::Test2::t} in #t7.{core::num::==}(null) ?{core::num*} this.{self::Test2::t} = self::getDouble() : #t7;
- core::num* v7 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getInt());
- core::num* v8 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getNum());
- core::num* v9 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(self::getDouble());
- core::num* v10 = this.{self::Test2::t} = this.{self::Test2::t}.{core::num::+}(1);
- core::num* v11 = let final core::num* #t8 = this.{self::Test2::t} in let final core::num* #t9 = this.{self::Test2::t} = #t8.{core::num::+}(1) in #t8;
+ core::num* v4 = let final core::num* #t5 = this.{self::Test2::t}{core::num*} in #t5 == null ?{core::num*} this.{self::Test2::t} = self::getInt() : #t5;
+ core::num* v5 = let final core::num* #t6 = this.{self::Test2::t}{core::num*} in #t6 == null ?{core::num*} this.{self::Test2::t} = self::getNum() : #t6;
+ core::num* v6 = let final core::num* #t7 = this.{self::Test2::t}{core::num*} in #t7 == null ?{core::num*} this.{self::Test2::t} = self::getDouble() : #t7;
+ core::num* v7 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = this.{self::Test2::t} = this.{self::Test2::t}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t8 = this.{self::Test2::t}{core::num*} in let final core::num* #t9 = this.{self::Test2::t} = #t8.{core::num::+}(1){(core::num*) →* core::num*} in #t8;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -65,13 +65,13 @@
method test3() → void {
core::num* v2 = this.{self::Test3::t} = self::getNum() as{TypeError} core::double*;
core::double* v3 = this.{self::Test3::t} = self::getDouble();
- core::num* v5 = let final core::double* #t10 = this.{self::Test3::t} in #t10.{core::num::==}(null) ?{core::num*} this.{self::Test3::t} = self::getNum() as{TypeError} core::double* : #t10;
- core::double* v6 = let final core::double* #t11 = this.{self::Test3::t} in #t11.{core::num::==}(null) ?{core::double*} this.{self::Test3::t} = self::getDouble() : #t11;
- core::double* v7 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getInt());
- core::double* v8 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getNum());
- core::double* v9 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(self::getDouble());
- core::double* v10 = this.{self::Test3::t} = this.{self::Test3::t}.{core::double::+}(1);
- core::double* v11 = let final core::double* #t12 = this.{self::Test3::t} in let final core::double* #t13 = this.{self::Test3::t} = #t12.{core::double::+}(1) in #t12;
+ core::num* v5 = let final core::double* #t10 = this.{self::Test3::t}{core::double*} in #t10 == null ?{core::num*} this.{self::Test3::t} = self::getNum() as{TypeError} core::double* : #t10;
+ core::double* v6 = let final core::double* #t11 = this.{self::Test3::t}{core::double*} in #t11 == null ?{core::double*} this.{self::Test3::t} = self::getDouble() : #t11;
+ core::double* v7 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = this.{self::Test3::t} = this.{self::Test3::t}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t12 = this.{self::Test3::t}{core::double*} in let final core::double* #t13 = this.{self::Test3::t} = #t12.{core::double::+}(1){(core::num*) →* core::double*} in #t12;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.expect
index 7d38c0b..f6ef830 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.expect
@@ -3,5 +3,5 @@
import "dart:core" as core;
static field core::List<core::double*>* a = <core::double*>[];
-static field core::double* b = let final core::List<core::double*>* #t1 = self::a in let final core::int* #t2 = 0 in let final core::double* #t3 = 1.0 in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3) in #t3;
+static field core::double* b = let final core::List<core::double*>* #t1 = self::a in let final core::int* #t2 = 0 in let final core::double* #t3 = 1.0 in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3){(core::int*, core::double*) →* void} in #t3;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.transformed.expect
index c46cd53..d457863 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.transformed.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static field core::List<core::double*>* a = core::_GrowableList::•<core::double*>(0);
-static field core::double* b = let final core::List<core::double*>* #t1 = self::a in let final core::int* #t2 = 0 in let final core::double* #t3 = 1.0 in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3) in #t3;
+static field core::double* b = let final core::List<core::double*>* #t1 = self::a in let final core::int* #t2 = 0 in let final core::double* #t3 = 1.0 in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3){(core::int*, core::double*) →* void} in #t3;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.expect
index 406e14d..8b4ab90 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.expect
@@ -59,22 +59,22 @@
operator []=(self::Index* i, self::B* v) → void {}
method test() → void {
self::Test* t = self::f<self::Test*>();
- t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2).{self::A::==}(null) ?{self::B*} #t1.{self::Test::[]=}(#t2, self::f<self::B*>()) : null;
- let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6).{self::B::*}(self::f<self::B*>()));
- let final self::Test* #t7 = t in let final self::Index* #t8 = self::f<self::Index*>() in #t7.{self::Test::[]=}(#t8, #t7.{self::Test::[]}(#t8).{self::B::&}(self::f<self::A*>()));
- t.{self::Test::[]}(self::f<self::Index*>());
- let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in let final self::B* #t11 = #t9.{self::Test::[]}(#t10).{self::B::-}(1) in let final void #t12 = #t9.{self::Test::[]=}(#t10, #t11) in #t11;
- let final self::Test* #t13 = t in let final self::Index* #t14 = self::f<self::Index*>() in #t13.{self::Test::[]=}(#t14, #t13.{self::Test::[]}(#t14).{self::B::-}(1));
- self::B* v1 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = self::f<self::B*>() in let final void #t18 = #t15.{self::Test::[]=}(#t16, #t17) in #t17;
- self::B* v2 = let final self::Test* #t19 = t in let final self::Index* #t20 = self::f<self::Index*>() in let final self::B* #t21 = #t19.{self::Test::[]}(#t20) in #t21.{self::A::==}(null) ?{self::B*} let final self::B* #t22 = self::f<self::B*>() in let final void #t23 = #t19.{self::Test::[]=}(#t20, #t22) in #t22 : #t21;
- self::A* v3 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::A* #t26 = #t24.{self::Test::[]}(#t25).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26) in #t26;
- self::B* v4 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::B* #t30 = #t28.{self::Test::[]}(#t29).{self::B::*}(self::f<self::B*>()) in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30) in #t30;
- self::C* v5 = let final self::Test* #t32 = t in let final self::Index* #t33 = self::f<self::Index*>() in let final self::C* #t34 = #t32.{self::Test::[]}(#t33).{self::B::&}(self::f<self::A*>()) in let final void #t35 = #t32.{self::Test::[]=}(#t33, #t34) in #t34;
- self::B* v6 = t.{self::Test::[]}(self::f<self::Index*>());
- self::B* v7 = let final self::Test* #t36 = t in let final self::Index* #t37 = self::f<self::Index*>() in let final self::B* #t38 = #t36.{self::Test::[]}(#t37).{self::B::-}(1) in let final void #t39 = #t36.{self::Test::[]=}(#t37, #t38) in #t38;
- self::B* v8 = let final self::Test* #t40 = t in let final self::Index* #t41 = self::f<self::Index*>() in let final self::B* #t42 = #t40.{self::Test::[]}(#t41) in let final void #t43 = #t40.{self::Test::[]=}(#t41, #t42.{self::B::-}(1)) in #t42;
+ t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>()){(self::Index*, self::B*) →* void};
+ let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2){(self::Index*) →* self::B*} == null ?{self::B*} #t1.{self::Test::[]=}(#t2, self::f<self::B*>()){(self::Index*, self::B*) →* void} : null;
+ let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*){(self::Index*, self::B*) →* void};
+ let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*}){(self::Index*, self::B*) →* void};
+ let final self::Test* #t7 = t in let final self::Index* #t8 = self::f<self::Index*>() in #t7.{self::Test::[]=}(#t8, #t7.{self::Test::[]}(#t8){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*}){(self::Index*, self::B*) →* void};
+ t.{self::Test::[]}(self::f<self::Index*>()){(self::Index*) →* self::B*};
+ let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in let final self::B* #t11 = #t9.{self::Test::[]}(#t10){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t12 = #t9.{self::Test::[]=}(#t10, #t11){(self::Index*, self::B*) →* void} in #t11;
+ let final self::Test* #t13 = t in let final self::Index* #t14 = self::f<self::Index*>() in #t13.{self::Test::[]=}(#t14, #t13.{self::Test::[]}(#t14){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void};
+ self::B* v1 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = self::f<self::B*>() in let final void #t18 = #t15.{self::Test::[]=}(#t16, #t17){(self::Index*, self::B*) →* void} in #t17;
+ self::B* v2 = let final self::Test* #t19 = t in let final self::Index* #t20 = self::f<self::Index*>() in let final self::B* #t21 = #t19.{self::Test::[]}(#t20){(self::Index*) →* self::B*} in #t21 == null ?{self::B*} let final self::B* #t22 = self::f<self::B*>() in let final void #t23 = #t19.{self::Test::[]=}(#t20, #t22){(self::Index*, self::B*) →* void} in #t22 : #t21;
+ self::A* v3 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::A* #t26 = #t24.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26){(self::Index*, self::B*) →* void} in #t26;
+ self::B* v4 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::B* #t30 = #t28.{self::Test::[]}(#t29){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30){(self::Index*, self::B*) →* void} in #t30;
+ self::C* v5 = let final self::Test* #t32 = t in let final self::Index* #t33 = self::f<self::Index*>() in let final self::C* #t34 = #t32.{self::Test::[]}(#t33){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t35 = #t32.{self::Test::[]=}(#t33, #t34){(self::Index*, self::B*) →* void} in #t34;
+ self::B* v6 = t.{self::Test::[]}(self::f<self::Index*>()){(self::Index*) →* self::B*};
+ self::B* v7 = let final self::Test* #t36 = t in let final self::Index* #t37 = self::f<self::Index*>() in let final self::B* #t38 = #t36.{self::Test::[]}(#t37){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t39 = #t36.{self::Test::[]=}(#t37, #t38){(self::Index*, self::B*) →* void} in #t38;
+ self::B* v8 = let final self::Test* #t40 = t in let final self::Index* #t41 = self::f<self::Index*>() in let final self::B* #t42 = #t40.{self::Test::[]}(#t41){(self::Index*) →* self::B*} in let final void #t43 = #t40.{self::Test::[]=}(#t41, #t42.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void} in #t42;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.transformed.expect
index 406e14d..8b4ab90 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.transformed.expect
@@ -59,22 +59,22 @@
operator []=(self::Index* i, self::B* v) → void {}
method test() → void {
self::Test* t = self::f<self::Test*>();
- t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2).{self::A::==}(null) ?{self::B*} #t1.{self::Test::[]=}(#t2, self::f<self::B*>()) : null;
- let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6).{self::B::*}(self::f<self::B*>()));
- let final self::Test* #t7 = t in let final self::Index* #t8 = self::f<self::Index*>() in #t7.{self::Test::[]=}(#t8, #t7.{self::Test::[]}(#t8).{self::B::&}(self::f<self::A*>()));
- t.{self::Test::[]}(self::f<self::Index*>());
- let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in let final self::B* #t11 = #t9.{self::Test::[]}(#t10).{self::B::-}(1) in let final void #t12 = #t9.{self::Test::[]=}(#t10, #t11) in #t11;
- let final self::Test* #t13 = t in let final self::Index* #t14 = self::f<self::Index*>() in #t13.{self::Test::[]=}(#t14, #t13.{self::Test::[]}(#t14).{self::B::-}(1));
- self::B* v1 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = self::f<self::B*>() in let final void #t18 = #t15.{self::Test::[]=}(#t16, #t17) in #t17;
- self::B* v2 = let final self::Test* #t19 = t in let final self::Index* #t20 = self::f<self::Index*>() in let final self::B* #t21 = #t19.{self::Test::[]}(#t20) in #t21.{self::A::==}(null) ?{self::B*} let final self::B* #t22 = self::f<self::B*>() in let final void #t23 = #t19.{self::Test::[]=}(#t20, #t22) in #t22 : #t21;
- self::A* v3 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::A* #t26 = #t24.{self::Test::[]}(#t25).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26) in #t26;
- self::B* v4 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::B* #t30 = #t28.{self::Test::[]}(#t29).{self::B::*}(self::f<self::B*>()) in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30) in #t30;
- self::C* v5 = let final self::Test* #t32 = t in let final self::Index* #t33 = self::f<self::Index*>() in let final self::C* #t34 = #t32.{self::Test::[]}(#t33).{self::B::&}(self::f<self::A*>()) in let final void #t35 = #t32.{self::Test::[]=}(#t33, #t34) in #t34;
- self::B* v6 = t.{self::Test::[]}(self::f<self::Index*>());
- self::B* v7 = let final self::Test* #t36 = t in let final self::Index* #t37 = self::f<self::Index*>() in let final self::B* #t38 = #t36.{self::Test::[]}(#t37).{self::B::-}(1) in let final void #t39 = #t36.{self::Test::[]=}(#t37, #t38) in #t38;
- self::B* v8 = let final self::Test* #t40 = t in let final self::Index* #t41 = self::f<self::Index*>() in let final self::B* #t42 = #t40.{self::Test::[]}(#t41) in let final void #t43 = #t40.{self::Test::[]=}(#t41, #t42.{self::B::-}(1)) in #t42;
+ t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>()){(self::Index*, self::B*) →* void};
+ let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2){(self::Index*) →* self::B*} == null ?{self::B*} #t1.{self::Test::[]=}(#t2, self::f<self::B*>()){(self::Index*, self::B*) →* void} : null;
+ let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*){(self::Index*, self::B*) →* void};
+ let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in #t5.{self::Test::[]=}(#t6, #t5.{self::Test::[]}(#t6){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*}){(self::Index*, self::B*) →* void};
+ let final self::Test* #t7 = t in let final self::Index* #t8 = self::f<self::Index*>() in #t7.{self::Test::[]=}(#t8, #t7.{self::Test::[]}(#t8){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*}){(self::Index*, self::B*) →* void};
+ t.{self::Test::[]}(self::f<self::Index*>()){(self::Index*) →* self::B*};
+ let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in let final self::B* #t11 = #t9.{self::Test::[]}(#t10){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t12 = #t9.{self::Test::[]=}(#t10, #t11){(self::Index*, self::B*) →* void} in #t11;
+ let final self::Test* #t13 = t in let final self::Index* #t14 = self::f<self::Index*>() in #t13.{self::Test::[]=}(#t14, #t13.{self::Test::[]}(#t14){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void};
+ self::B* v1 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = self::f<self::B*>() in let final void #t18 = #t15.{self::Test::[]=}(#t16, #t17){(self::Index*, self::B*) →* void} in #t17;
+ self::B* v2 = let final self::Test* #t19 = t in let final self::Index* #t20 = self::f<self::Index*>() in let final self::B* #t21 = #t19.{self::Test::[]}(#t20){(self::Index*) →* self::B*} in #t21 == null ?{self::B*} let final self::B* #t22 = self::f<self::B*>() in let final void #t23 = #t19.{self::Test::[]=}(#t20, #t22){(self::Index*, self::B*) →* void} in #t22 : #t21;
+ self::A* v3 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::A* #t26 = #t24.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26){(self::Index*, self::B*) →* void} in #t26;
+ self::B* v4 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::B* #t30 = #t28.{self::Test::[]}(#t29){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30){(self::Index*, self::B*) →* void} in #t30;
+ self::C* v5 = let final self::Test* #t32 = t in let final self::Index* #t33 = self::f<self::Index*>() in let final self::C* #t34 = #t32.{self::Test::[]}(#t33){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t35 = #t32.{self::Test::[]=}(#t33, #t34){(self::Index*, self::B*) →* void} in #t34;
+ self::B* v6 = t.{self::Test::[]}(self::f<self::Index*>()){(self::Index*) →* self::B*};
+ self::B* v7 = let final self::Test* #t36 = t in let final self::Index* #t37 = self::f<self::Index*>() in let final self::B* #t38 = #t36.{self::Test::[]}(#t37){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t39 = #t36.{self::Test::[]=}(#t37, #t38){(self::Index*, self::B*) →* void} in #t38;
+ self::B* v8 = let final self::Test* #t40 = t in let final self::Index* #t41 = self::f<self::Index*>() in let final self::B* #t42 = #t40.{self::Test::[]}(#t41){(self::Index*) →* self::B*} in let final void #t43 = #t40.{self::Test::[]=}(#t41, #t42.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void} in #t42;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.expect
index 1f1375b..685af9c 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.expect
@@ -74,16 +74,16 @@
operator []=(self::Index* i, self::A* v) → void {}
method test() → void {
self::Test* t = self::f<self::Test*>();
- t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::A*>());
- let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2).{self::A::==}(null) ?{self::A*} #t1.{self::Test::[]=}(#t2, self::f<self::A*>()) : null;
- let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4).{self::B::+}(self::f<self::E*>()));
- let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in let final self::D* #t7 = #t5.{self::Test::[]}(#t6).{self::B::-}(1) in let final void #t8 = #t5.{self::Test::[]=}(#t6, #t7) in #t7;
- let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in #t9.{self::Test::[]=}(#t10, #t9.{self::Test::[]}(#t10).{self::B::-}(1));
- self::A* v1 = let final self::Test* #t11 = t in let final self::Index* #t12 = self::f<self::Index*>() in let final self::A* #t13 = self::f<self::A*>() in let final void #t14 = #t11.{self::Test::[]=}(#t12, #t13) in #t13;
- self::A* v2 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = #t15.{self::Test::[]}(#t16) in #t17.{self::A::==}(null) ?{self::A*} let final self::A* #t18 = self::f<self::A*>() in let final void #t19 = #t15.{self::Test::[]=}(#t16, #t18) in #t18 : #t17;
- self::D* v3 = let final self::Test* #t20 = t in let final self::Index* #t21 = self::f<self::Index*>() in let final self::D* #t22 = #t20.{self::Test::[]}(#t21).{self::B::+}(self::f<self::E*>()) in let final void #t23 = #t20.{self::Test::[]=}(#t21, #t22) in #t22;
- self::D* v4 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::D* #t26 = #t24.{self::Test::[]}(#t25).{self::B::-}(1) in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26) in #t26;
- self::B* v5 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::B* #t30 = #t28.{self::Test::[]}(#t29) in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30.{self::B::-}(1)) in #t30;
+ t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::A*>()){(self::Index*, self::A*) →* void};
+ let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2){(self::Index*) →* self::B*} == null ?{self::A*} #t1.{self::Test::[]=}(#t2, self::f<self::A*>()){(self::Index*, self::A*) →* void} : null;
+ let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::E*>()){(self::E*) →* self::D*}){(self::Index*, self::A*) →* void};
+ let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in let final self::D* #t7 = #t5.{self::Test::[]}(#t6){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::D*} in let final void #t8 = #t5.{self::Test::[]=}(#t6, #t7){(self::Index*, self::A*) →* void} in #t7;
+ let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in #t9.{self::Test::[]=}(#t10, #t9.{self::Test::[]}(#t10){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::D*}){(self::Index*, self::A*) →* void};
+ self::A* v1 = let final self::Test* #t11 = t in let final self::Index* #t12 = self::f<self::Index*>() in let final self::A* #t13 = self::f<self::A*>() in let final void #t14 = #t11.{self::Test::[]=}(#t12, #t13){(self::Index*, self::A*) →* void} in #t13;
+ self::A* v2 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = #t15.{self::Test::[]}(#t16){(self::Index*) →* self::B*} in #t17 == null ?{self::A*} let final self::A* #t18 = self::f<self::A*>() in let final void #t19 = #t15.{self::Test::[]=}(#t16, #t18){(self::Index*, self::A*) →* void} in #t18 : #t17;
+ self::D* v3 = let final self::Test* #t20 = t in let final self::Index* #t21 = self::f<self::Index*>() in let final self::D* #t22 = #t20.{self::Test::[]}(#t21){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::E*>()){(self::E*) →* self::D*} in let final void #t23 = #t20.{self::Test::[]=}(#t21, #t22){(self::Index*, self::A*) →* void} in #t22;
+ self::D* v4 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::D* #t26 = #t24.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::D*} in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26){(self::Index*, self::A*) →* void} in #t26;
+ self::B* v5 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::B* #t30 = #t28.{self::Test::[]}(#t29){(self::Index*) →* self::B*} in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30.{self::B::-}(1){(core::int*) →* self::D*}){(self::Index*, self::A*) →* void} in #t30;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.transformed.expect
index 1f1375b..685af9c 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.transformed.expect
@@ -74,16 +74,16 @@
operator []=(self::Index* i, self::A* v) → void {}
method test() → void {
self::Test* t = self::f<self::Test*>();
- t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::A*>());
- let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2).{self::A::==}(null) ?{self::A*} #t1.{self::Test::[]=}(#t2, self::f<self::A*>()) : null;
- let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4).{self::B::+}(self::f<self::E*>()));
- let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in let final self::D* #t7 = #t5.{self::Test::[]}(#t6).{self::B::-}(1) in let final void #t8 = #t5.{self::Test::[]=}(#t6, #t7) in #t7;
- let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in #t9.{self::Test::[]=}(#t10, #t9.{self::Test::[]}(#t10).{self::B::-}(1));
- self::A* v1 = let final self::Test* #t11 = t in let final self::Index* #t12 = self::f<self::Index*>() in let final self::A* #t13 = self::f<self::A*>() in let final void #t14 = #t11.{self::Test::[]=}(#t12, #t13) in #t13;
- self::A* v2 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = #t15.{self::Test::[]}(#t16) in #t17.{self::A::==}(null) ?{self::A*} let final self::A* #t18 = self::f<self::A*>() in let final void #t19 = #t15.{self::Test::[]=}(#t16, #t18) in #t18 : #t17;
- self::D* v3 = let final self::Test* #t20 = t in let final self::Index* #t21 = self::f<self::Index*>() in let final self::D* #t22 = #t20.{self::Test::[]}(#t21).{self::B::+}(self::f<self::E*>()) in let final void #t23 = #t20.{self::Test::[]=}(#t21, #t22) in #t22;
- self::D* v4 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::D* #t26 = #t24.{self::Test::[]}(#t25).{self::B::-}(1) in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26) in #t26;
- self::B* v5 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::B* #t30 = #t28.{self::Test::[]}(#t29) in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30.{self::B::-}(1)) in #t30;
+ t.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::A*>()){(self::Index*, self::A*) →* void};
+ let final self::Test* #t1 = t in let final self::Index* #t2 = self::f<self::Index*>() in #t1.{self::Test::[]}(#t2){(self::Index*) →* self::B*} == null ?{self::A*} #t1.{self::Test::[]=}(#t2, self::f<self::A*>()){(self::Index*, self::A*) →* void} : null;
+ let final self::Test* #t3 = t in let final self::Index* #t4 = self::f<self::Index*>() in #t3.{self::Test::[]=}(#t4, #t3.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::E*>()){(self::E*) →* self::D*}){(self::Index*, self::A*) →* void};
+ let final self::Test* #t5 = t in let final self::Index* #t6 = self::f<self::Index*>() in let final self::D* #t7 = #t5.{self::Test::[]}(#t6){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::D*} in let final void #t8 = #t5.{self::Test::[]=}(#t6, #t7){(self::Index*, self::A*) →* void} in #t7;
+ let final self::Test* #t9 = t in let final self::Index* #t10 = self::f<self::Index*>() in #t9.{self::Test::[]=}(#t10, #t9.{self::Test::[]}(#t10){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::D*}){(self::Index*, self::A*) →* void};
+ self::A* v1 = let final self::Test* #t11 = t in let final self::Index* #t12 = self::f<self::Index*>() in let final self::A* #t13 = self::f<self::A*>() in let final void #t14 = #t11.{self::Test::[]=}(#t12, #t13){(self::Index*, self::A*) →* void} in #t13;
+ self::A* v2 = let final self::Test* #t15 = t in let final self::Index* #t16 = self::f<self::Index*>() in let final self::B* #t17 = #t15.{self::Test::[]}(#t16){(self::Index*) →* self::B*} in #t17 == null ?{self::A*} let final self::A* #t18 = self::f<self::A*>() in let final void #t19 = #t15.{self::Test::[]=}(#t16, #t18){(self::Index*, self::A*) →* void} in #t18 : #t17;
+ self::D* v3 = let final self::Test* #t20 = t in let final self::Index* #t21 = self::f<self::Index*>() in let final self::D* #t22 = #t20.{self::Test::[]}(#t21){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::E*>()){(self::E*) →* self::D*} in let final void #t23 = #t20.{self::Test::[]=}(#t21, #t22){(self::Index*, self::A*) →* void} in #t22;
+ self::D* v4 = let final self::Test* #t24 = t in let final self::Index* #t25 = self::f<self::Index*>() in let final self::D* #t26 = #t24.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::D*} in let final void #t27 = #t24.{self::Test::[]=}(#t25, #t26){(self::Index*, self::A*) →* void} in #t26;
+ self::B* v5 = let final self::Test* #t28 = t in let final self::Index* #t29 = self::f<self::Index*>() in let final self::B* #t30 = #t28.{self::Test::[]}(#t29){(self::Index*) →* self::B*} in let final void #t31 = #t28.{self::Test::[]=}(#t29, #t30.{self::B::-}(1){(core::int*) →* self::D*}){(self::Index*, self::A*) →* void} in #t30;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.expect
index 96b0328..3a7a814 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.expect
@@ -74,19 +74,19 @@
;
method test() → void {
super.{self::Base::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Index* #t1 = self::f<self::Index*>() in super.{self::Base::[]}(#t1).{self::A::==}(null) ?{self::B*} super.{self::Base::[]=}(#t1, self::f<self::B*>()) : null;
- let final self::Index* #t2 = self::f<self::Index*>() in super.{self::Base::[]=}(#t2, super.{self::Base::[]}(#t2).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Index* #t3 = self::f<self::Index*>() in super.{self::Base::[]=}(#t3, super.{self::Base::[]}(#t3).{self::B::*}(self::f<self::B*>()));
- let final self::Index* #t4 = self::f<self::Index*>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).{self::B::&}(self::f<self::A*>()));
- let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = super.{self::Base::[]}(#t5).{self::B::-}(1) in let final void #t7 = super.{self::Base::[]=}(#t5, #t6) in #t6;
- let final self::Index* #t8 = self::f<self::Index*>() in super.{self::Base::[]=}(#t8, super.{self::Base::[]}(#t8).{self::B::-}(1));
+ let final self::Index* #t1 = self::f<self::Index*>() in super.{self::Base::[]}(#t1) == null ?{self::B*} super.{self::Base::[]=}(#t1, self::f<self::B*>()) : null;
+ let final self::Index* #t2 = self::f<self::Index*>() in super.{self::Base::[]=}(#t2, super.{self::Base::[]}(#t2).{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*);
+ let final self::Index* #t3 = self::f<self::Index*>() in super.{self::Base::[]=}(#t3, super.{self::Base::[]}(#t3).{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*});
+ let final self::Index* #t4 = self::f<self::Index*>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*});
+ let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = super.{self::Base::[]}(#t5).{self::B::-}(1){(core::int*) →* self::B*} in let final void #t7 = super.{self::Base::[]=}(#t5, #t6) in #t6;
+ let final self::Index* #t8 = self::f<self::Index*>() in super.{self::Base::[]=}(#t8, super.{self::Base::[]}(#t8).{self::B::-}(1){(core::int*) →* self::B*});
self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = super.{self::Base::[]=}(#t9, #t10) in #t10;
- self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = super.{self::Base::[]}(#t12) in #t13.{self::A::==}(null) ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = super.{self::Base::[]=}(#t12, #t14) in #t14 : #t13;
- self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = super.{self::Base::[]}(#t16).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t18 = super.{self::Base::[]=}(#t16, #t17) in #t17;
- self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = super.{self::Base::[]}(#t19).{self::B::*}(self::f<self::B*>()) in let final void #t21 = super.{self::Base::[]=}(#t19, #t20) in #t20;
- self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = super.{self::Base::[]}(#t22).{self::B::&}(self::f<self::A*>()) in let final void #t24 = super.{self::Base::[]=}(#t22, #t23) in #t23;
- self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = super.{self::Base::[]}(#t25).{self::B::-}(1) in let final void #t27 = super.{self::Base::[]=}(#t25, #t26) in #t26;
- self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = super.{self::Base::[]}(#t28) in let final void #t30 = super.{self::Base::[]=}(#t28, #t29.{self::B::-}(1)) in #t29;
+ self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = super.{self::Base::[]}(#t12) in #t13 == null ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = super.{self::Base::[]=}(#t12, #t14) in #t14 : #t13;
+ self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = super.{self::Base::[]}(#t16).{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t18 = super.{self::Base::[]=}(#t16, #t17) in #t17;
+ self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = super.{self::Base::[]}(#t19).{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t21 = super.{self::Base::[]=}(#t19, #t20) in #t20;
+ self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = super.{self::Base::[]}(#t22).{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t24 = super.{self::Base::[]=}(#t22, #t23) in #t23;
+ self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = super.{self::Base::[]}(#t25).{self::B::-}(1){(core::int*) →* self::B*} in let final void #t27 = super.{self::Base::[]=}(#t25, #t26) in #t26;
+ self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = super.{self::Base::[]}(#t28) in let final void #t30 = super.{self::Base::[]=}(#t28, #t29.{self::B::-}(1){(core::int*) →* self::B*}) in #t29;
}
}
static method f<T extends core::Object* = dynamic>() → self::f::T*
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.transformed.expect
index 96b0328..3a7a814 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.transformed.expect
@@ -74,19 +74,19 @@
;
method test() → void {
super.{self::Base::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Index* #t1 = self::f<self::Index*>() in super.{self::Base::[]}(#t1).{self::A::==}(null) ?{self::B*} super.{self::Base::[]=}(#t1, self::f<self::B*>()) : null;
- let final self::Index* #t2 = self::f<self::Index*>() in super.{self::Base::[]=}(#t2, super.{self::Base::[]}(#t2).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Index* #t3 = self::f<self::Index*>() in super.{self::Base::[]=}(#t3, super.{self::Base::[]}(#t3).{self::B::*}(self::f<self::B*>()));
- let final self::Index* #t4 = self::f<self::Index*>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).{self::B::&}(self::f<self::A*>()));
- let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = super.{self::Base::[]}(#t5).{self::B::-}(1) in let final void #t7 = super.{self::Base::[]=}(#t5, #t6) in #t6;
- let final self::Index* #t8 = self::f<self::Index*>() in super.{self::Base::[]=}(#t8, super.{self::Base::[]}(#t8).{self::B::-}(1));
+ let final self::Index* #t1 = self::f<self::Index*>() in super.{self::Base::[]}(#t1) == null ?{self::B*} super.{self::Base::[]=}(#t1, self::f<self::B*>()) : null;
+ let final self::Index* #t2 = self::f<self::Index*>() in super.{self::Base::[]=}(#t2, super.{self::Base::[]}(#t2).{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*);
+ let final self::Index* #t3 = self::f<self::Index*>() in super.{self::Base::[]=}(#t3, super.{self::Base::[]}(#t3).{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*});
+ let final self::Index* #t4 = self::f<self::Index*>() in super.{self::Base::[]=}(#t4, super.{self::Base::[]}(#t4).{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*});
+ let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = super.{self::Base::[]}(#t5).{self::B::-}(1){(core::int*) →* self::B*} in let final void #t7 = super.{self::Base::[]=}(#t5, #t6) in #t6;
+ let final self::Index* #t8 = self::f<self::Index*>() in super.{self::Base::[]=}(#t8, super.{self::Base::[]}(#t8).{self::B::-}(1){(core::int*) →* self::B*});
self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = super.{self::Base::[]=}(#t9, #t10) in #t10;
- self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = super.{self::Base::[]}(#t12) in #t13.{self::A::==}(null) ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = super.{self::Base::[]=}(#t12, #t14) in #t14 : #t13;
- self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = super.{self::Base::[]}(#t16).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t18 = super.{self::Base::[]=}(#t16, #t17) in #t17;
- self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = super.{self::Base::[]}(#t19).{self::B::*}(self::f<self::B*>()) in let final void #t21 = super.{self::Base::[]=}(#t19, #t20) in #t20;
- self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = super.{self::Base::[]}(#t22).{self::B::&}(self::f<self::A*>()) in let final void #t24 = super.{self::Base::[]=}(#t22, #t23) in #t23;
- self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = super.{self::Base::[]}(#t25).{self::B::-}(1) in let final void #t27 = super.{self::Base::[]=}(#t25, #t26) in #t26;
- self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = super.{self::Base::[]}(#t28) in let final void #t30 = super.{self::Base::[]=}(#t28, #t29.{self::B::-}(1)) in #t29;
+ self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = super.{self::Base::[]}(#t12) in #t13 == null ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = super.{self::Base::[]=}(#t12, #t14) in #t14 : #t13;
+ self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = super.{self::Base::[]}(#t16).{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t18 = super.{self::Base::[]=}(#t16, #t17) in #t17;
+ self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = super.{self::Base::[]}(#t19).{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t21 = super.{self::Base::[]=}(#t19, #t20) in #t20;
+ self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = super.{self::Base::[]}(#t22).{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t24 = super.{self::Base::[]=}(#t22, #t23) in #t23;
+ self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = super.{self::Base::[]}(#t25).{self::B::-}(1){(core::int*) →* self::B*} in let final void #t27 = super.{self::Base::[]=}(#t25, #t26) in #t26;
+ self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = super.{self::Base::[]}(#t28) in let final void #t30 = super.{self::Base::[]=}(#t28, #t29.{self::B::-}(1){(core::int*) →* self::B*}) in #t29;
}
}
static method f<T extends core::Object* = dynamic>() → self::f::T*
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.weak.expect
index 5831c53..7305204 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.weak.expect
@@ -38,9 +38,9 @@
: super core::Object::•()
;
operator [](core::String* s) → self::Base::T*
- return this.{self::Base::getValue}(s);
+ return this.{self::Base::getValue}(s){(core::String*) →* self::Base::T*};
operator []=(core::String* s, generic-covariant-impl self::Base::U* v) → void
- return this.{self::Base::setValue}(s, v);
+ return this.{self::Base::setValue}(s, v){(core::String*, self::Base::U*) →* void};
abstract method getValue(core::String* s) → self::Base::T*;
abstract method setValue(core::String* s, generic-covariant-impl self::Base::U* v) → void;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -61,12 +61,12 @@
method test() → void {
core::int* v1 = let final core::String* #t1 = "x" in let final core::int* #t2 = self::getInt() in let final void #t3 = super.{self::Base::[]=}(#t1, #t2) in #t2;
core::num* v2 = let final core::String* #t4 = "x" in let final core::num* #t5 = self::getNum() as{TypeError} core::int* in let final void #t6 = super.{self::Base::[]=}(#t4, #t5) in #t5;
- core::int* v4 = let final core::String* #t7 = "x" in let final core::int* #t8 = super.{self::Base::[]}(#t7) in #t8.{core::num::==}(null) ?{core::int*} let final core::int* #t9 = self::getInt() in let final void #t10 = super.{self::Base::[]=}(#t7, #t9) in #t9 : #t8;
- core::num* v5 = let final core::String* #t11 = "x" in let final core::int* #t12 = super.{self::Base::[]}(#t11) in #t12.{core::num::==}(null) ?{core::num*} let final core::num* #t13 = self::getNum() as{TypeError} core::int* in let final void #t14 = super.{self::Base::[]=}(#t11, #t13) in #t13 : #t12;
- core::int* v7 = let final core::String* #t15 = "x" in let final core::int* #t16 = super.{self::Base::[]}(#t15).{core::num::+}(self::getInt()) in let final void #t17 = super.{self::Base::[]=}(#t15, #t16) in #t16;
- core::num* v8 = let final core::String* #t18 = "x" in let final core::num* #t19 = super.{self::Base::[]}(#t18).{core::num::+}(self::getNum()) as{TypeError} core::int* in let final void #t20 = super.{self::Base::[]=}(#t18, #t19) in #t19;
- core::int* v10 = let final core::String* #t21 = "x" in let final core::int* #t22 = super.{self::Base::[]}(#t21).{core::num::+}(1) in let final void #t23 = super.{self::Base::[]=}(#t21, #t22) in #t22;
- core::int* v11 = let final core::String* #t24 = "x" in let final core::int* #t25 = super.{self::Base::[]}(#t24) in let final void #t26 = super.{self::Base::[]=}(#t24, #t25.{core::num::+}(1)) in #t25;
+ core::int* v4 = let final core::String* #t7 = "x" in let final core::int* #t8 = super.{self::Base::[]}(#t7) in #t8 == null ?{core::int*} let final core::int* #t9 = self::getInt() in let final void #t10 = super.{self::Base::[]=}(#t7, #t9) in #t9 : #t8;
+ core::num* v5 = let final core::String* #t11 = "x" in let final core::int* #t12 = super.{self::Base::[]}(#t11) in #t12 == null ?{core::num*} let final core::num* #t13 = self::getNum() as{TypeError} core::int* in let final void #t14 = super.{self::Base::[]=}(#t11, #t13) in #t13 : #t12;
+ core::int* v7 = let final core::String* #t15 = "x" in let final core::int* #t16 = super.{self::Base::[]}(#t15).{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t17 = super.{self::Base::[]=}(#t15, #t16) in #t16;
+ core::num* v8 = let final core::String* #t18 = "x" in let final core::num* #t19 = super.{self::Base::[]}(#t18).{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t20 = super.{self::Base::[]=}(#t18, #t19) in #t19;
+ core::int* v10 = let final core::String* #t21 = "x" in let final core::int* #t22 = super.{self::Base::[]}(#t21).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t23 = super.{self::Base::[]=}(#t21, #t22) in #t22;
+ core::int* v11 = let final core::String* #t24 = "x" in let final core::int* #t25 = super.{self::Base::[]}(#t24) in let final void #t26 = super.{self::Base::[]=}(#t24, #t25.{core::num::+}(1){(core::num*) →* core::int*}) in #t25;
}
}
abstract class Test2 extends self::Base<core::int*, core::num*> {
@@ -77,14 +77,14 @@
core::int* v1 = let final core::String* #t27 = "x" in let final core::int* #t28 = self::getInt() in let final void #t29 = super.{self::Base::[]=}(#t27, #t28) in #t28;
core::num* v2 = let final core::String* #t30 = "x" in let final core::num* #t31 = self::getNum() in let final void #t32 = super.{self::Base::[]=}(#t30, #t31) in #t31;
core::double* v3 = let final core::String* #t33 = "x" in let final core::double* #t34 = self::getDouble() in let final void #t35 = super.{self::Base::[]=}(#t33, #t34) in #t34;
- core::int* v4 = let final core::String* #t36 = "x" in let final core::int* #t37 = super.{self::Base::[]}(#t36) in #t37.{core::num::==}(null) ?{core::int*} let final core::int* #t38 = self::getInt() in let final void #t39 = super.{self::Base::[]=}(#t36, #t38) in #t38 : #t37;
- core::num* v5 = let final core::String* #t40 = "x" in let final core::int* #t41 = super.{self::Base::[]}(#t40) in #t41.{core::num::==}(null) ?{core::num*} let final core::num* #t42 = self::getNum() in let final void #t43 = super.{self::Base::[]=}(#t40, #t42) in #t42 : #t41;
- core::num* v6 = let final core::String* #t44 = "x" in let final core::int* #t45 = super.{self::Base::[]}(#t44) in #t45.{core::num::==}(null) ?{core::num*} let final core::double* #t46 = self::getDouble() in let final void #t47 = super.{self::Base::[]=}(#t44, #t46) in #t46 : #t45;
- core::int* v7 = let final core::String* #t48 = "x" in let final core::int* #t49 = super.{self::Base::[]}(#t48).{core::num::+}(self::getInt()) in let final void #t50 = super.{self::Base::[]=}(#t48, #t49) in #t49;
- core::num* v8 = let final core::String* #t51 = "x" in let final core::num* #t52 = super.{self::Base::[]}(#t51).{core::num::+}(self::getNum()) in let final void #t53 = super.{self::Base::[]=}(#t51, #t52) in #t52;
- core::double* v9 = let final core::String* #t54 = "x" in let final core::double* #t55 = super.{self::Base::[]}(#t54).{core::num::+}(self::getDouble()) in let final void #t56 = super.{self::Base::[]=}(#t54, #t55) in #t55;
- core::int* v10 = let final core::String* #t57 = "x" in let final core::int* #t58 = super.{self::Base::[]}(#t57).{core::num::+}(1) in let final void #t59 = super.{self::Base::[]=}(#t57, #t58) in #t58;
- core::int* v11 = let final core::String* #t60 = "x" in let final core::int* #t61 = super.{self::Base::[]}(#t60) in let final void #t62 = super.{self::Base::[]=}(#t60, #t61.{core::num::+}(1)) in #t61;
+ core::int* v4 = let final core::String* #t36 = "x" in let final core::int* #t37 = super.{self::Base::[]}(#t36) in #t37 == null ?{core::int*} let final core::int* #t38 = self::getInt() in let final void #t39 = super.{self::Base::[]=}(#t36, #t38) in #t38 : #t37;
+ core::num* v5 = let final core::String* #t40 = "x" in let final core::int* #t41 = super.{self::Base::[]}(#t40) in #t41 == null ?{core::num*} let final core::num* #t42 = self::getNum() in let final void #t43 = super.{self::Base::[]=}(#t40, #t42) in #t42 : #t41;
+ core::num* v6 = let final core::String* #t44 = "x" in let final core::int* #t45 = super.{self::Base::[]}(#t44) in #t45 == null ?{core::num*} let final core::double* #t46 = self::getDouble() in let final void #t47 = super.{self::Base::[]=}(#t44, #t46) in #t46 : #t45;
+ core::int* v7 = let final core::String* #t48 = "x" in let final core::int* #t49 = super.{self::Base::[]}(#t48).{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t50 = super.{self::Base::[]=}(#t48, #t49) in #t49;
+ core::num* v8 = let final core::String* #t51 = "x" in let final core::num* #t52 = super.{self::Base::[]}(#t51).{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t53 = super.{self::Base::[]=}(#t51, #t52) in #t52;
+ core::double* v9 = let final core::String* #t54 = "x" in let final core::double* #t55 = super.{self::Base::[]}(#t54).{core::num::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t56 = super.{self::Base::[]=}(#t54, #t55) in #t55;
+ core::int* v10 = let final core::String* #t57 = "x" in let final core::int* #t58 = super.{self::Base::[]}(#t57).{core::num::+}(1){(core::num*) →* core::int*} in let final void #t59 = super.{self::Base::[]=}(#t57, #t58) in #t58;
+ core::int* v11 = let final core::String* #t60 = "x" in let final core::int* #t61 = super.{self::Base::[]}(#t60) in let final void #t62 = super.{self::Base::[]=}(#t60, #t61.{core::num::+}(1){(core::num*) →* core::int*}) in #t61;
}
}
abstract class Test3 extends self::Base<core::int*, core::double*> {
@@ -94,19 +94,19 @@
method test() → void {
core::num* v2 = let final core::String* #t63 = "x" in let final core::num* #t64 = self::getNum() as{TypeError} core::double* in let final void #t65 = super.{self::Base::[]=}(#t63, #t64) in #t64;
core::double* v3 = let final core::String* #t66 = "x" in let final core::double* #t67 = self::getDouble() in let final void #t68 = super.{self::Base::[]=}(#t66, #t67) in #t67;
- core::num* v5 = let final core::String* #t69 = "x" in let final core::int* #t70 = super.{self::Base::[]}(#t69) in #t70.{core::num::==}(null) ?{core::num*} let final core::num* #t71 = self::getNum() as{TypeError} core::double* in let final void #t72 = super.{self::Base::[]=}(#t69, #t71) in #t71 : #t70;
- core::num* v6 = let final core::String* #t73 = "x" in let final core::int* #t74 = super.{self::Base::[]}(#t73) in #t74.{core::num::==}(null) ?{core::num*} let final core::double* #t75 = self::getDouble() in let final void #t76 = super.{self::Base::[]=}(#t73, #t75) in #t75 : #t74;
+ core::num* v5 = let final core::String* #t69 = "x" in let final core::int* #t70 = super.{self::Base::[]}(#t69) in #t70 == null ?{core::num*} let final core::num* #t71 = self::getNum() as{TypeError} core::double* in let final void #t72 = super.{self::Base::[]=}(#t69, #t71) in #t71 : #t70;
+ core::num* v6 = let final core::String* #t73 = "x" in let final core::int* #t74 = super.{self::Base::[]}(#t73) in #t74 == null ?{core::num*} let final core::double* #t75 = self::getDouble() in let final void #t76 = super.{self::Base::[]=}(#t73, #t75) in #t75 : #t74;
core::int* v7 = let final core::String* #t77 = "x" in let final core::int* #t78 = let final Never* #t79 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart:106:31: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
/*@target=num.+*/ += getInt();
- ^" in super.{self::Base::[]}(#t77).{core::num::+}(self::getInt()) as{TypeError} core::double* in let final void #t80 = super.{self::Base::[]=}(#t77, #t78) in #t78;
- core::num* v8 = let final core::String* #t81 = "x" in let final core::num* #t82 = super.{self::Base::[]}(#t81).{core::num::+}(self::getNum()) as{TypeError} core::double* in let final void #t83 = super.{self::Base::[]=}(#t81, #t82) in #t82;
- core::double* v9 = let final core::String* #t84 = "x" in let final core::double* #t85 = super.{self::Base::[]}(#t84).{core::num::+}(self::getDouble()) in let final void #t86 = super.{self::Base::[]=}(#t84, #t85) in #t85;
+ ^" in super.{self::Base::[]}(#t77).{core::num::+}(self::getInt()){(core::num*) →* core::int*} as{TypeError} core::double* in let final void #t80 = super.{self::Base::[]=}(#t77, #t78) in #t78;
+ core::num* v8 = let final core::String* #t81 = "x" in let final core::num* #t82 = super.{self::Base::[]}(#t81).{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t83 = super.{self::Base::[]=}(#t81, #t82) in #t82;
+ core::double* v9 = let final core::String* #t84 = "x" in let final core::double* #t85 = super.{self::Base::[]}(#t84).{core::num::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t86 = super.{self::Base::[]=}(#t84, #t85) in #t85;
core::int* v10 = let final core::String* #t87 = "x" in let final core::int* #t88 = let final Never* #t89 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart:116:50: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
var /*@ type=int* */ v10 = /*@target=num.+*/ ++super
- ^" in super.{self::Base::[]}(#t87).{core::num::+}(1) as{TypeError} core::double* in let final void #t90 = super.{self::Base::[]=}(#t87, #t88) in #t88;
+ ^" in super.{self::Base::[]}(#t87).{core::num::+}(1){(core::num*) →* core::int*} as{TypeError} core::double* in let final void #t90 = super.{self::Base::[]=}(#t87, #t88) in #t88;
core::int* v11 = let final core::String* #t91 = "x" in let final core::int* #t92 = super.{self::Base::[]}(#t91) in let final void #t93 = super.{self::Base::[]=}(#t91, let final Never* #t94 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart:120:33: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
['x'] /*@target=num.+*/ ++;
- ^" in #t92.{core::num::+}(1) as{TypeError} core::double*) in #t92;
+ ^" in #t92.{core::num::+}(1){(core::num*) →* core::int*} as{TypeError} core::double*) in #t92;
}
}
abstract class Test4 extends self::Base<core::num*, core::int*> {
@@ -116,12 +116,12 @@
method test() → void {
core::int* v1 = let final core::String* #t95 = "x" in let final core::int* #t96 = self::getInt() in let final void #t97 = super.{self::Base::[]=}(#t95, #t96) in #t96;
core::num* v2 = let final core::String* #t98 = "x" in let final core::num* #t99 = self::getNum() as{TypeError} core::int* in let final void #t100 = super.{self::Base::[]=}(#t98, #t99) in #t99;
- core::num* v4 = let final core::String* #t101 = "x" in let final core::num* #t102 = super.{self::Base::[]}(#t101) in #t102.{core::num::==}(null) ?{core::num*} let final core::int* #t103 = self::getInt() in let final void #t104 = super.{self::Base::[]=}(#t101, #t103) in #t103 : #t102;
- core::num* v5 = let final core::String* #t105 = "x" in let final core::num* #t106 = super.{self::Base::[]}(#t105) in #t106.{core::num::==}(null) ?{core::num*} let final core::num* #t107 = self::getNum() as{TypeError} core::int* in let final void #t108 = super.{self::Base::[]=}(#t105, #t107) in #t107 : #t106;
- core::num* v7 = let final core::String* #t109 = "x" in let final core::num* #t110 = super.{self::Base::[]}(#t109).{core::num::+}(self::getInt()) as{TypeError} core::int* in let final void #t111 = super.{self::Base::[]=}(#t109, #t110) in #t110;
- core::num* v8 = let final core::String* #t112 = "x" in let final core::num* #t113 = super.{self::Base::[]}(#t112).{core::num::+}(self::getNum()) as{TypeError} core::int* in let final void #t114 = super.{self::Base::[]=}(#t112, #t113) in #t113;
- core::num* v10 = let final core::String* #t115 = "x" in let final core::num* #t116 = super.{self::Base::[]}(#t115).{core::num::+}(1) as{TypeError} core::int* in let final void #t117 = super.{self::Base::[]=}(#t115, #t116) in #t116;
- core::num* v11 = let final core::String* #t118 = "x" in let final core::num* #t119 = super.{self::Base::[]}(#t118) in let final void #t120 = super.{self::Base::[]=}(#t118, #t119.{core::num::+}(1) as{TypeError} core::int*) in #t119;
+ core::num* v4 = let final core::String* #t101 = "x" in let final core::num* #t102 = super.{self::Base::[]}(#t101) in #t102 == null ?{core::num*} let final core::int* #t103 = self::getInt() in let final void #t104 = super.{self::Base::[]=}(#t101, #t103) in #t103 : #t102;
+ core::num* v5 = let final core::String* #t105 = "x" in let final core::num* #t106 = super.{self::Base::[]}(#t105) in #t106 == null ?{core::num*} let final core::num* #t107 = self::getNum() as{TypeError} core::int* in let final void #t108 = super.{self::Base::[]=}(#t105, #t107) in #t107 : #t106;
+ core::num* v7 = let final core::String* #t109 = "x" in let final core::num* #t110 = super.{self::Base::[]}(#t109).{core::num::+}(self::getInt()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t111 = super.{self::Base::[]=}(#t109, #t110) in #t110;
+ core::num* v8 = let final core::String* #t112 = "x" in let final core::num* #t113 = super.{self::Base::[]}(#t112).{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t114 = super.{self::Base::[]=}(#t112, #t113) in #t113;
+ core::num* v10 = let final core::String* #t115 = "x" in let final core::num* #t116 = super.{self::Base::[]}(#t115).{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t117 = super.{self::Base::[]=}(#t115, #t116) in #t116;
+ core::num* v11 = let final core::String* #t118 = "x" in let final core::num* #t119 = super.{self::Base::[]}(#t118) in let final void #t120 = super.{self::Base::[]=}(#t118, #t119.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::int*) in #t119;
}
}
abstract class Test5 extends self::Base<core::num*, core::num*> {
@@ -132,14 +132,14 @@
core::int* v1 = let final core::String* #t121 = "x" in let final core::int* #t122 = self::getInt() in let final void #t123 = super.{self::Base::[]=}(#t121, #t122) in #t122;
core::num* v2 = let final core::String* #t124 = "x" in let final core::num* #t125 = self::getNum() in let final void #t126 = super.{self::Base::[]=}(#t124, #t125) in #t125;
core::double* v3 = let final core::String* #t127 = "x" in let final core::double* #t128 = self::getDouble() in let final void #t129 = super.{self::Base::[]=}(#t127, #t128) in #t128;
- core::num* v4 = let final core::String* #t130 = "x" in let final core::num* #t131 = super.{self::Base::[]}(#t130) in #t131.{core::num::==}(null) ?{core::num*} let final core::int* #t132 = self::getInt() in let final void #t133 = super.{self::Base::[]=}(#t130, #t132) in #t132 : #t131;
- core::num* v5 = let final core::String* #t134 = "x" in let final core::num* #t135 = super.{self::Base::[]}(#t134) in #t135.{core::num::==}(null) ?{core::num*} let final core::num* #t136 = self::getNum() in let final void #t137 = super.{self::Base::[]=}(#t134, #t136) in #t136 : #t135;
- core::num* v6 = let final core::String* #t138 = "x" in let final core::num* #t139 = super.{self::Base::[]}(#t138) in #t139.{core::num::==}(null) ?{core::num*} let final core::double* #t140 = self::getDouble() in let final void #t141 = super.{self::Base::[]=}(#t138, #t140) in #t140 : #t139;
- core::num* v7 = let final core::String* #t142 = "x" in let final core::num* #t143 = super.{self::Base::[]}(#t142).{core::num::+}(self::getInt()) in let final void #t144 = super.{self::Base::[]=}(#t142, #t143) in #t143;
- core::num* v8 = let final core::String* #t145 = "x" in let final core::num* #t146 = super.{self::Base::[]}(#t145).{core::num::+}(self::getNum()) in let final void #t147 = super.{self::Base::[]=}(#t145, #t146) in #t146;
- core::num* v9 = let final core::String* #t148 = "x" in let final core::num* #t149 = super.{self::Base::[]}(#t148).{core::num::+}(self::getDouble()) in let final void #t150 = super.{self::Base::[]=}(#t148, #t149) in #t149;
- core::num* v10 = let final core::String* #t151 = "x" in let final core::num* #t152 = super.{self::Base::[]}(#t151).{core::num::+}(1) in let final void #t153 = super.{self::Base::[]=}(#t151, #t152) in #t152;
- core::num* v11 = let final core::String* #t154 = "x" in let final core::num* #t155 = super.{self::Base::[]}(#t154) in let final void #t156 = super.{self::Base::[]=}(#t154, #t155.{core::num::+}(1)) in #t155;
+ core::num* v4 = let final core::String* #t130 = "x" in let final core::num* #t131 = super.{self::Base::[]}(#t130) in #t131 == null ?{core::num*} let final core::int* #t132 = self::getInt() in let final void #t133 = super.{self::Base::[]=}(#t130, #t132) in #t132 : #t131;
+ core::num* v5 = let final core::String* #t134 = "x" in let final core::num* #t135 = super.{self::Base::[]}(#t134) in #t135 == null ?{core::num*} let final core::num* #t136 = self::getNum() in let final void #t137 = super.{self::Base::[]=}(#t134, #t136) in #t136 : #t135;
+ core::num* v6 = let final core::String* #t138 = "x" in let final core::num* #t139 = super.{self::Base::[]}(#t138) in #t139 == null ?{core::num*} let final core::double* #t140 = self::getDouble() in let final void #t141 = super.{self::Base::[]=}(#t138, #t140) in #t140 : #t139;
+ core::num* v7 = let final core::String* #t142 = "x" in let final core::num* #t143 = super.{self::Base::[]}(#t142).{core::num::+}(self::getInt()){(core::num*) →* core::num*} in let final void #t144 = super.{self::Base::[]=}(#t142, #t143) in #t143;
+ core::num* v8 = let final core::String* #t145 = "x" in let final core::num* #t146 = super.{self::Base::[]}(#t145).{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t147 = super.{self::Base::[]=}(#t145, #t146) in #t146;
+ core::num* v9 = let final core::String* #t148 = "x" in let final core::num* #t149 = super.{self::Base::[]}(#t148).{core::num::+}(self::getDouble()){(core::num*) →* core::num*} in let final void #t150 = super.{self::Base::[]=}(#t148, #t149) in #t149;
+ core::num* v10 = let final core::String* #t151 = "x" in let final core::num* #t152 = super.{self::Base::[]}(#t151).{core::num::+}(1){(core::num*) →* core::num*} in let final void #t153 = super.{self::Base::[]=}(#t151, #t152) in #t152;
+ core::num* v11 = let final core::String* #t154 = "x" in let final core::num* #t155 = super.{self::Base::[]}(#t154) in let final void #t156 = super.{self::Base::[]=}(#t154, #t155.{core::num::+}(1){(core::num*) →* core::num*}) in #t155;
}
}
abstract class Test6 extends self::Base<core::num*, core::double*> {
@@ -149,13 +149,13 @@
method test() → void {
core::num* v2 = let final core::String* #t157 = "x" in let final core::num* #t158 = self::getNum() as{TypeError} core::double* in let final void #t159 = super.{self::Base::[]=}(#t157, #t158) in #t158;
core::double* v3 = let final core::String* #t160 = "x" in let final core::double* #t161 = self::getDouble() in let final void #t162 = super.{self::Base::[]=}(#t160, #t161) in #t161;
- core::num* v5 = let final core::String* #t163 = "x" in let final core::num* #t164 = super.{self::Base::[]}(#t163) in #t164.{core::num::==}(null) ?{core::num*} let final core::num* #t165 = self::getNum() as{TypeError} core::double* in let final void #t166 = super.{self::Base::[]=}(#t163, #t165) in #t165 : #t164;
- core::num* v6 = let final core::String* #t167 = "x" in let final core::num* #t168 = super.{self::Base::[]}(#t167) in #t168.{core::num::==}(null) ?{core::num*} let final core::double* #t169 = self::getDouble() in let final void #t170 = super.{self::Base::[]=}(#t167, #t169) in #t169 : #t168;
- core::num* v7 = let final core::String* #t171 = "x" in let final core::num* #t172 = super.{self::Base::[]}(#t171).{core::num::+}(self::getInt()) as{TypeError} core::double* in let final void #t173 = super.{self::Base::[]=}(#t171, #t172) in #t172;
- core::num* v8 = let final core::String* #t174 = "x" in let final core::num* #t175 = super.{self::Base::[]}(#t174).{core::num::+}(self::getNum()) as{TypeError} core::double* in let final void #t176 = super.{self::Base::[]=}(#t174, #t175) in #t175;
- core::num* v9 = let final core::String* #t177 = "x" in let final core::num* #t178 = super.{self::Base::[]}(#t177).{core::num::+}(self::getDouble()) as{TypeError} core::double* in let final void #t179 = super.{self::Base::[]=}(#t177, #t178) in #t178;
- core::num* v10 = let final core::String* #t180 = "x" in let final core::num* #t181 = super.{self::Base::[]}(#t180).{core::num::+}(1) as{TypeError} core::double* in let final void #t182 = super.{self::Base::[]=}(#t180, #t181) in #t181;
- core::num* v11 = let final core::String* #t183 = "x" in let final core::num* #t184 = super.{self::Base::[]}(#t183) in let final void #t185 = super.{self::Base::[]=}(#t183, #t184.{core::num::+}(1) as{TypeError} core::double*) in #t184;
+ core::num* v5 = let final core::String* #t163 = "x" in let final core::num* #t164 = super.{self::Base::[]}(#t163) in #t164 == null ?{core::num*} let final core::num* #t165 = self::getNum() as{TypeError} core::double* in let final void #t166 = super.{self::Base::[]=}(#t163, #t165) in #t165 : #t164;
+ core::num* v6 = let final core::String* #t167 = "x" in let final core::num* #t168 = super.{self::Base::[]}(#t167) in #t168 == null ?{core::num*} let final core::double* #t169 = self::getDouble() in let final void #t170 = super.{self::Base::[]=}(#t167, #t169) in #t169 : #t168;
+ core::num* v7 = let final core::String* #t171 = "x" in let final core::num* #t172 = super.{self::Base::[]}(#t171).{core::num::+}(self::getInt()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t173 = super.{self::Base::[]=}(#t171, #t172) in #t172;
+ core::num* v8 = let final core::String* #t174 = "x" in let final core::num* #t175 = super.{self::Base::[]}(#t174).{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t176 = super.{self::Base::[]=}(#t174, #t175) in #t175;
+ core::num* v9 = let final core::String* #t177 = "x" in let final core::num* #t178 = super.{self::Base::[]}(#t177).{core::num::+}(self::getDouble()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t179 = super.{self::Base::[]=}(#t177, #t178) in #t178;
+ core::num* v10 = let final core::String* #t180 = "x" in let final core::num* #t181 = super.{self::Base::[]}(#t180).{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t182 = super.{self::Base::[]=}(#t180, #t181) in #t181;
+ core::num* v11 = let final core::String* #t183 = "x" in let final core::num* #t184 = super.{self::Base::[]}(#t183) in let final void #t185 = super.{self::Base::[]=}(#t183, #t184.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::double*) in #t184;
}
}
abstract class Test7 extends self::Base<core::double*, core::int*> {
@@ -165,20 +165,20 @@
method test() → void {
core::int* v1 = let final core::String* #t186 = "x" in let final core::int* #t187 = self::getInt() in let final void #t188 = super.{self::Base::[]=}(#t186, #t187) in #t187;
core::num* v2 = let final core::String* #t189 = "x" in let final core::num* #t190 = self::getNum() as{TypeError} core::int* in let final void #t191 = super.{self::Base::[]=}(#t189, #t190) in #t190;
- core::num* v4 = let final core::String* #t192 = "x" in let final core::double* #t193 = super.{self::Base::[]}(#t192) in #t193.{core::num::==}(null) ?{core::num*} let final core::int* #t194 = self::getInt() in let final void #t195 = super.{self::Base::[]=}(#t192, #t194) in #t194 : #t193;
- core::num* v5 = let final core::String* #t196 = "x" in let final core::double* #t197 = super.{self::Base::[]}(#t196) in #t197.{core::num::==}(null) ?{core::num*} let final core::num* #t198 = self::getNum() as{TypeError} core::int* in let final void #t199 = super.{self::Base::[]=}(#t196, #t198) in #t198 : #t197;
+ core::num* v4 = let final core::String* #t192 = "x" in let final core::double* #t193 = super.{self::Base::[]}(#t192) in #t193 == null ?{core::num*} let final core::int* #t194 = self::getInt() in let final void #t195 = super.{self::Base::[]=}(#t192, #t194) in #t194 : #t193;
+ core::num* v5 = let final core::String* #t196 = "x" in let final core::double* #t197 = super.{self::Base::[]}(#t196) in #t197 == null ?{core::num*} let final core::num* #t198 = self::getNum() as{TypeError} core::int* in let final void #t199 = super.{self::Base::[]=}(#t196, #t198) in #t198 : #t197;
core::double* v7 = let final core::String* #t200 = "x" in let final core::double* #t201 = let final Never* #t202 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart:244:34: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
/*@target=double.+*/ += getInt();
- ^" in super.{self::Base::[]}(#t200).{core::double::+}(self::getInt()) as{TypeError} core::int* in let final void #t203 = super.{self::Base::[]=}(#t200, #t201) in #t201;
+ ^" in super.{self::Base::[]}(#t200).{core::double::+}(self::getInt()){(core::num*) →* core::double*} as{TypeError} core::int* in let final void #t203 = super.{self::Base::[]=}(#t200, #t201) in #t201;
core::double* v8 = let final core::String* #t204 = "x" in let final core::double* #t205 = let final Never* #t206 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart:248:34: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
/*@target=double.+*/ += getNum();
- ^" in super.{self::Base::[]}(#t204).{core::double::+}(self::getNum()) as{TypeError} core::int* in let final void #t207 = super.{self::Base::[]=}(#t204, #t205) in #t205;
+ ^" in super.{self::Base::[]}(#t204).{core::double::+}(self::getNum()){(core::num*) →* core::double*} as{TypeError} core::int* in let final void #t207 = super.{self::Base::[]=}(#t204, #t205) in #t205;
core::double* v10 = let final core::String* #t208 = "x" in let final core::double* #t209 = let final Never* #t210 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart:250:56: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
var /*@ type=double* */ v10 = /*@target=double.+*/ ++super
- ^" in super.{self::Base::[]}(#t208).{core::double::+}(1) as{TypeError} core::int* in let final void #t211 = super.{self::Base::[]=}(#t208, #t209) in #t209;
+ ^" in super.{self::Base::[]}(#t208).{core::double::+}(1){(core::num*) →* core::double*} as{TypeError} core::int* in let final void #t211 = super.{self::Base::[]=}(#t208, #t209) in #t209;
core::double* v11 = let final core::String* #t212 = "x" in let final core::double* #t213 = super.{self::Base::[]}(#t212) in let final void #t214 = super.{self::Base::[]=}(#t212, let final Never* #t215 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart:254:36: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
['x'] /*@target=double.+*/ ++;
- ^" in #t213.{core::double::+}(1) as{TypeError} core::int*) in #t213;
+ ^" in #t213.{core::double::+}(1){(core::num*) →* core::double*} as{TypeError} core::int*) in #t213;
}
}
abstract class Test8 extends self::Base<core::double*, core::num*> {
@@ -189,14 +189,14 @@
core::int* v1 = let final core::String* #t216 = "x" in let final core::int* #t217 = self::getInt() in let final void #t218 = super.{self::Base::[]=}(#t216, #t217) in #t217;
core::num* v2 = let final core::String* #t219 = "x" in let final core::num* #t220 = self::getNum() in let final void #t221 = super.{self::Base::[]=}(#t219, #t220) in #t220;
core::double* v3 = let final core::String* #t222 = "x" in let final core::double* #t223 = self::getDouble() in let final void #t224 = super.{self::Base::[]=}(#t222, #t223) in #t223;
- core::num* v4 = let final core::String* #t225 = "x" in let final core::double* #t226 = super.{self::Base::[]}(#t225) in #t226.{core::num::==}(null) ?{core::num*} let final core::int* #t227 = self::getInt() in let final void #t228 = super.{self::Base::[]=}(#t225, #t227) in #t227 : #t226;
- core::num* v5 = let final core::String* #t229 = "x" in let final core::double* #t230 = super.{self::Base::[]}(#t229) in #t230.{core::num::==}(null) ?{core::num*} let final core::num* #t231 = self::getNum() in let final void #t232 = super.{self::Base::[]=}(#t229, #t231) in #t231 : #t230;
- core::double* v6 = let final core::String* #t233 = "x" in let final core::double* #t234 = super.{self::Base::[]}(#t233) in #t234.{core::num::==}(null) ?{core::double*} let final core::double* #t235 = self::getDouble() in let final void #t236 = super.{self::Base::[]=}(#t233, #t235) in #t235 : #t234;
- core::double* v7 = let final core::String* #t237 = "x" in let final core::double* #t238 = super.{self::Base::[]}(#t237).{core::double::+}(self::getInt()) in let final void #t239 = super.{self::Base::[]=}(#t237, #t238) in #t238;
- core::double* v8 = let final core::String* #t240 = "x" in let final core::double* #t241 = super.{self::Base::[]}(#t240).{core::double::+}(self::getNum()) in let final void #t242 = super.{self::Base::[]=}(#t240, #t241) in #t241;
- core::double* v9 = let final core::String* #t243 = "x" in let final core::double* #t244 = super.{self::Base::[]}(#t243).{core::double::+}(self::getDouble()) in let final void #t245 = super.{self::Base::[]=}(#t243, #t244) in #t244;
- core::double* v10 = let final core::String* #t246 = "x" in let final core::double* #t247 = super.{self::Base::[]}(#t246).{core::double::+}(1) in let final void #t248 = super.{self::Base::[]=}(#t246, #t247) in #t247;
- core::double* v11 = let final core::String* #t249 = "x" in let final core::double* #t250 = super.{self::Base::[]}(#t249) in let final void #t251 = super.{self::Base::[]=}(#t249, #t250.{core::double::+}(1)) in #t250;
+ core::num* v4 = let final core::String* #t225 = "x" in let final core::double* #t226 = super.{self::Base::[]}(#t225) in #t226 == null ?{core::num*} let final core::int* #t227 = self::getInt() in let final void #t228 = super.{self::Base::[]=}(#t225, #t227) in #t227 : #t226;
+ core::num* v5 = let final core::String* #t229 = "x" in let final core::double* #t230 = super.{self::Base::[]}(#t229) in #t230 == null ?{core::num*} let final core::num* #t231 = self::getNum() in let final void #t232 = super.{self::Base::[]=}(#t229, #t231) in #t231 : #t230;
+ core::double* v6 = let final core::String* #t233 = "x" in let final core::double* #t234 = super.{self::Base::[]}(#t233) in #t234 == null ?{core::double*} let final core::double* #t235 = self::getDouble() in let final void #t236 = super.{self::Base::[]=}(#t233, #t235) in #t235 : #t234;
+ core::double* v7 = let final core::String* #t237 = "x" in let final core::double* #t238 = super.{self::Base::[]}(#t237).{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t239 = super.{self::Base::[]=}(#t237, #t238) in #t238;
+ core::double* v8 = let final core::String* #t240 = "x" in let final core::double* #t241 = super.{self::Base::[]}(#t240).{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t242 = super.{self::Base::[]=}(#t240, #t241) in #t241;
+ core::double* v9 = let final core::String* #t243 = "x" in let final core::double* #t244 = super.{self::Base::[]}(#t243).{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t245 = super.{self::Base::[]=}(#t243, #t244) in #t244;
+ core::double* v10 = let final core::String* #t246 = "x" in let final core::double* #t247 = super.{self::Base::[]}(#t246).{core::double::+}(1){(core::num*) →* core::double*} in let final void #t248 = super.{self::Base::[]=}(#t246, #t247) in #t247;
+ core::double* v11 = let final core::String* #t249 = "x" in let final core::double* #t250 = super.{self::Base::[]}(#t249) in let final void #t251 = super.{self::Base::[]=}(#t249, #t250.{core::double::+}(1){(core::num*) →* core::double*}) in #t250;
}
}
abstract class Test9 extends self::Base<core::double*, core::double*> {
@@ -206,13 +206,13 @@
method test() → void {
core::num* v2 = let final core::String* #t252 = "x" in let final core::num* #t253 = self::getNum() as{TypeError} core::double* in let final void #t254 = super.{self::Base::[]=}(#t252, #t253) in #t253;
core::double* v3 = let final core::String* #t255 = "x" in let final core::double* #t256 = self::getDouble() in let final void #t257 = super.{self::Base::[]=}(#t255, #t256) in #t256;
- core::num* v5 = let final core::String* #t258 = "x" in let final core::double* #t259 = super.{self::Base::[]}(#t258) in #t259.{core::num::==}(null) ?{core::num*} let final core::num* #t260 = self::getNum() as{TypeError} core::double* in let final void #t261 = super.{self::Base::[]=}(#t258, #t260) in #t260 : #t259;
- core::double* v6 = let final core::String* #t262 = "x" in let final core::double* #t263 = super.{self::Base::[]}(#t262) in #t263.{core::num::==}(null) ?{core::double*} let final core::double* #t264 = self::getDouble() in let final void #t265 = super.{self::Base::[]=}(#t262, #t264) in #t264 : #t263;
- core::double* v7 = let final core::String* #t266 = "x" in let final core::double* #t267 = super.{self::Base::[]}(#t266).{core::double::+}(self::getInt()) in let final void #t268 = super.{self::Base::[]=}(#t266, #t267) in #t267;
- core::double* v8 = let final core::String* #t269 = "x" in let final core::double* #t270 = super.{self::Base::[]}(#t269).{core::double::+}(self::getNum()) in let final void #t271 = super.{self::Base::[]=}(#t269, #t270) in #t270;
- core::double* v9 = let final core::String* #t272 = "x" in let final core::double* #t273 = super.{self::Base::[]}(#t272).{core::double::+}(self::getDouble()) in let final void #t274 = super.{self::Base::[]=}(#t272, #t273) in #t273;
- core::double* v10 = let final core::String* #t275 = "x" in let final core::double* #t276 = super.{self::Base::[]}(#t275).{core::double::+}(1) in let final void #t277 = super.{self::Base::[]=}(#t275, #t276) in #t276;
- core::double* v11 = let final core::String* #t278 = "x" in let final core::double* #t279 = super.{self::Base::[]}(#t278) in let final void #t280 = super.{self::Base::[]=}(#t278, #t279.{core::double::+}(1)) in #t279;
+ core::num* v5 = let final core::String* #t258 = "x" in let final core::double* #t259 = super.{self::Base::[]}(#t258) in #t259 == null ?{core::num*} let final core::num* #t260 = self::getNum() as{TypeError} core::double* in let final void #t261 = super.{self::Base::[]=}(#t258, #t260) in #t260 : #t259;
+ core::double* v6 = let final core::String* #t262 = "x" in let final core::double* #t263 = super.{self::Base::[]}(#t262) in #t263 == null ?{core::double*} let final core::double* #t264 = self::getDouble() in let final void #t265 = super.{self::Base::[]=}(#t262, #t264) in #t264 : #t263;
+ core::double* v7 = let final core::String* #t266 = "x" in let final core::double* #t267 = super.{self::Base::[]}(#t266).{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t268 = super.{self::Base::[]=}(#t266, #t267) in #t267;
+ core::double* v8 = let final core::String* #t269 = "x" in let final core::double* #t270 = super.{self::Base::[]}(#t269).{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t271 = super.{self::Base::[]=}(#t269, #t270) in #t270;
+ core::double* v9 = let final core::String* #t272 = "x" in let final core::double* #t273 = super.{self::Base::[]}(#t272).{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t274 = super.{self::Base::[]=}(#t272, #t273) in #t273;
+ core::double* v10 = let final core::String* #t275 = "x" in let final core::double* #t276 = super.{self::Base::[]}(#t275).{core::double::+}(1){(core::num*) →* core::double*} in let final void #t277 = super.{self::Base::[]=}(#t275, #t276) in #t276;
+ core::double* v11 = let final core::String* #t278 = "x" in let final core::double* #t279 = super.{self::Base::[]}(#t278) in let final void #t280 = super.{self::Base::[]=}(#t278, #t279.{core::double::+}(1){(core::num*) →* core::double*}) in #t279;
}
}
static method getInt() → core::int*
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.expect
index 0776313..0202be1 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.expect
@@ -58,20 +58,20 @@
return null;
operator []=(self::Index* i, self::B* v) → void {}
method test() → void {
- this.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Index* #t1 = self::f<self::Index*>() in this.{self::Test::[]}(#t1).{self::A::==}(null) ?{self::B*} this.{self::Test::[]=}(#t1, self::f<self::B*>()) : null;
- let final self::Index* #t2 = self::f<self::Index*>() in this.{self::Test::[]=}(#t2, this.{self::Test::[]}(#t2).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Index* #t3 = self::f<self::Index*>() in this.{self::Test::[]=}(#t3, this.{self::Test::[]}(#t3).{self::B::*}(self::f<self::B*>()));
- let final self::Index* #t4 = self::f<self::Index*>() in this.{self::Test::[]=}(#t4, this.{self::Test::[]}(#t4).{self::B::&}(self::f<self::A*>()));
- let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = this.{self::Test::[]}(#t5).{self::B::-}(1) in let final void #t7 = this.{self::Test::[]=}(#t5, #t6) in #t6;
- let final self::Index* #t8 = self::f<self::Index*>() in this.{self::Test::[]=}(#t8, this.{self::Test::[]}(#t8).{self::B::-}(1));
- self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = this.{self::Test::[]=}(#t9, #t10) in #t10;
- self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = this.{self::Test::[]}(#t12) in #t13.{self::A::==}(null) ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = this.{self::Test::[]=}(#t12, #t14) in #t14 : #t13;
- self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = this.{self::Test::[]}(#t16).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t18 = this.{self::Test::[]=}(#t16, #t17) in #t17;
- self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = this.{self::Test::[]}(#t19).{self::B::*}(self::f<self::B*>()) in let final void #t21 = this.{self::Test::[]=}(#t19, #t20) in #t20;
- self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = this.{self::Test::[]}(#t22).{self::B::&}(self::f<self::A*>()) in let final void #t24 = this.{self::Test::[]=}(#t22, #t23) in #t23;
- self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = this.{self::Test::[]}(#t25).{self::B::-}(1) in let final void #t27 = this.{self::Test::[]=}(#t25, #t26) in #t26;
- self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = this.{self::Test::[]}(#t28) in let final void #t30 = this.{self::Test::[]=}(#t28, #t29.{self::B::-}(1)) in #t29;
+ this.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>()){(self::Index*, self::B*) →* void};
+ let final self::Index* #t1 = self::f<self::Index*>() in this.{self::Test::[]}(#t1){(self::Index*) →* self::B*} == null ?{self::B*} this.{self::Test::[]=}(#t1, self::f<self::B*>()){(self::Index*, self::B*) →* void} : null;
+ let final self::Index* #t2 = self::f<self::Index*>() in this.{self::Test::[]=}(#t2, this.{self::Test::[]}(#t2){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*){(self::Index*, self::B*) →* void};
+ let final self::Index* #t3 = self::f<self::Index*>() in this.{self::Test::[]=}(#t3, this.{self::Test::[]}(#t3){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*}){(self::Index*, self::B*) →* void};
+ let final self::Index* #t4 = self::f<self::Index*>() in this.{self::Test::[]=}(#t4, this.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*}){(self::Index*, self::B*) →* void};
+ let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = this.{self::Test::[]}(#t5){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t7 = this.{self::Test::[]=}(#t5, #t6){(self::Index*, self::B*) →* void} in #t6;
+ let final self::Index* #t8 = self::f<self::Index*>() in this.{self::Test::[]=}(#t8, this.{self::Test::[]}(#t8){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void};
+ self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = this.{self::Test::[]=}(#t9, #t10){(self::Index*, self::B*) →* void} in #t10;
+ self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = this.{self::Test::[]}(#t12){(self::Index*) →* self::B*} in #t13 == null ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = this.{self::Test::[]=}(#t12, #t14){(self::Index*, self::B*) →* void} in #t14 : #t13;
+ self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = this.{self::Test::[]}(#t16){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t18 = this.{self::Test::[]=}(#t16, #t17){(self::Index*, self::B*) →* void} in #t17;
+ self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = this.{self::Test::[]}(#t19){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t21 = this.{self::Test::[]=}(#t19, #t20){(self::Index*, self::B*) →* void} in #t20;
+ self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = this.{self::Test::[]}(#t22){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t24 = this.{self::Test::[]=}(#t22, #t23){(self::Index*, self::B*) →* void} in #t23;
+ self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = this.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t27 = this.{self::Test::[]=}(#t25, #t26){(self::Index*, self::B*) →* void} in #t26;
+ self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = this.{self::Test::[]}(#t28){(self::Index*) →* self::B*} in let final void #t30 = this.{self::Test::[]=}(#t28, #t29.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void} in #t29;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.transformed.expect
index 0776313..0202be1 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.transformed.expect
@@ -58,20 +58,20 @@
return null;
operator []=(self::Index* i, self::B* v) → void {}
method test() → void {
- this.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>());
- let final self::Index* #t1 = self::f<self::Index*>() in this.{self::Test::[]}(#t1).{self::A::==}(null) ?{self::B*} this.{self::Test::[]=}(#t1, self::f<self::B*>()) : null;
- let final self::Index* #t2 = self::f<self::Index*>() in this.{self::Test::[]=}(#t2, this.{self::Test::[]}(#t2).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*);
- let final self::Index* #t3 = self::f<self::Index*>() in this.{self::Test::[]=}(#t3, this.{self::Test::[]}(#t3).{self::B::*}(self::f<self::B*>()));
- let final self::Index* #t4 = self::f<self::Index*>() in this.{self::Test::[]=}(#t4, this.{self::Test::[]}(#t4).{self::B::&}(self::f<self::A*>()));
- let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = this.{self::Test::[]}(#t5).{self::B::-}(1) in let final void #t7 = this.{self::Test::[]=}(#t5, #t6) in #t6;
- let final self::Index* #t8 = self::f<self::Index*>() in this.{self::Test::[]=}(#t8, this.{self::Test::[]}(#t8).{self::B::-}(1));
- self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = this.{self::Test::[]=}(#t9, #t10) in #t10;
- self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = this.{self::Test::[]}(#t12) in #t13.{self::A::==}(null) ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = this.{self::Test::[]=}(#t12, #t14) in #t14 : #t13;
- self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = this.{self::Test::[]}(#t16).{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t18 = this.{self::Test::[]=}(#t16, #t17) in #t17;
- self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = this.{self::Test::[]}(#t19).{self::B::*}(self::f<self::B*>()) in let final void #t21 = this.{self::Test::[]=}(#t19, #t20) in #t20;
- self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = this.{self::Test::[]}(#t22).{self::B::&}(self::f<self::A*>()) in let final void #t24 = this.{self::Test::[]=}(#t22, #t23) in #t23;
- self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = this.{self::Test::[]}(#t25).{self::B::-}(1) in let final void #t27 = this.{self::Test::[]=}(#t25, #t26) in #t26;
- self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = this.{self::Test::[]}(#t28) in let final void #t30 = this.{self::Test::[]=}(#t28, #t29.{self::B::-}(1)) in #t29;
+ this.{self::Test::[]=}(self::f<self::Index*>(), self::f<self::B*>()){(self::Index*, self::B*) →* void};
+ let final self::Index* #t1 = self::f<self::Index*>() in this.{self::Test::[]}(#t1){(self::Index*) →* self::B*} == null ?{self::B*} this.{self::Test::[]=}(#t1, self::f<self::B*>()){(self::Index*, self::B*) →* void} : null;
+ let final self::Index* #t2 = self::f<self::Index*>() in this.{self::Test::[]=}(#t2, this.{self::Test::[]}(#t2){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*){(self::Index*, self::B*) →* void};
+ let final self::Index* #t3 = self::f<self::Index*>() in this.{self::Test::[]=}(#t3, this.{self::Test::[]}(#t3){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*}){(self::Index*, self::B*) →* void};
+ let final self::Index* #t4 = self::f<self::Index*>() in this.{self::Test::[]=}(#t4, this.{self::Test::[]}(#t4){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*}){(self::Index*, self::B*) →* void};
+ let final self::Index* #t5 = self::f<self::Index*>() in let final self::B* #t6 = this.{self::Test::[]}(#t5){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t7 = this.{self::Test::[]=}(#t5, #t6){(self::Index*, self::B*) →* void} in #t6;
+ let final self::Index* #t8 = self::f<self::Index*>() in this.{self::Test::[]=}(#t8, this.{self::Test::[]}(#t8){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void};
+ self::B* v1 = let final self::Index* #t9 = self::f<self::Index*>() in let final self::B* #t10 = self::f<self::B*>() in let final void #t11 = this.{self::Test::[]=}(#t9, #t10){(self::Index*, self::B*) →* void} in #t10;
+ self::B* v2 = let final self::Index* #t12 = self::f<self::Index*>() in let final self::B* #t13 = this.{self::Test::[]}(#t12){(self::Index*) →* self::B*} in #t13 == null ?{self::B*} let final self::B* #t14 = self::f<self::B*>() in let final void #t15 = this.{self::Test::[]=}(#t12, #t14){(self::Index*, self::B*) →* void} in #t14 : #t13;
+ self::A* v3 = let final self::Index* #t16 = self::f<self::Index*>() in let final self::A* #t17 = this.{self::Test::[]}(#t16){(self::Index*) →* self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t18 = this.{self::Test::[]=}(#t16, #t17){(self::Index*, self::B*) →* void} in #t17;
+ self::B* v4 = let final self::Index* #t19 = self::f<self::Index*>() in let final self::B* #t20 = this.{self::Test::[]}(#t19){(self::Index*) →* self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t21 = this.{self::Test::[]=}(#t19, #t20){(self::Index*, self::B*) →* void} in #t20;
+ self::C* v5 = let final self::Index* #t22 = self::f<self::Index*>() in let final self::C* #t23 = this.{self::Test::[]}(#t22){(self::Index*) →* self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t24 = this.{self::Test::[]=}(#t22, #t23){(self::Index*, self::B*) →* void} in #t23;
+ self::B* v6 = let final self::Index* #t25 = self::f<self::Index*>() in let final self::B* #t26 = this.{self::Test::[]}(#t25){(self::Index*) →* self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t27 = this.{self::Test::[]=}(#t25, #t26){(self::Index*, self::B*) →* void} in #t26;
+ self::B* v7 = let final self::Index* #t28 = self::f<self::Index*>() in let final self::B* #t29 = this.{self::Test::[]}(#t28){(self::Index*) →* self::B*} in let final void #t30 = this.{self::Test::[]=}(#t28, #t29.{self::B::-}(1){(core::int*) →* self::B*}){(self::Index*, self::B*) →* void} in #t29;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.weak.expect
index f3c3437..7648761 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.weak.expect
@@ -40,14 +40,14 @@
abstract operator [](core::String* s) → core::int*;
abstract operator []=(core::String* s, core::int* v) → void;
method test() → void {
- core::int* v1 = let final core::String* #t1 = "x" in let final core::int* #t2 = self::getInt() in let final void #t3 = this.{self::Test1::[]=}(#t1, #t2) in #t2;
- core::num* v2 = let final core::String* #t4 = "x" in let final core::num* #t5 = self::getNum() as{TypeError} core::int* in let final void #t6 = this.{self::Test1::[]=}(#t4, #t5) in #t5;
- core::int* v4 = let final core::String* #t7 = "x" in let final core::int* #t8 = this.{self::Test1::[]}(#t7) in #t8.{core::num::==}(null) ?{core::int*} let final core::int* #t9 = self::getInt() in let final void #t10 = this.{self::Test1::[]=}(#t7, #t9) in #t9 : #t8;
- core::num* v5 = let final core::String* #t11 = "x" in let final core::int* #t12 = this.{self::Test1::[]}(#t11) in #t12.{core::num::==}(null) ?{core::num*} let final core::num* #t13 = self::getNum() as{TypeError} core::int* in let final void #t14 = this.{self::Test1::[]=}(#t11, #t13) in #t13 : #t12;
- core::int* v7 = let final core::String* #t15 = "x" in let final core::int* #t16 = this.{self::Test1::[]}(#t15).{core::num::+}(self::getInt()) in let final void #t17 = this.{self::Test1::[]=}(#t15, #t16) in #t16;
- core::num* v8 = let final core::String* #t18 = "x" in let final core::num* #t19 = this.{self::Test1::[]}(#t18).{core::num::+}(self::getNum()) as{TypeError} core::int* in let final void #t20 = this.{self::Test1::[]=}(#t18, #t19) in #t19;
- core::int* v10 = let final core::String* #t21 = "x" in let final core::int* #t22 = this.{self::Test1::[]}(#t21).{core::num::+}(1) in let final void #t23 = this.{self::Test1::[]=}(#t21, #t22) in #t22;
- core::int* v11 = let final core::String* #t24 = "x" in let final core::int* #t25 = this.{self::Test1::[]}(#t24) in let final void #t26 = this.{self::Test1::[]=}(#t24, #t25.{core::num::+}(1)) in #t25;
+ core::int* v1 = let final core::String* #t1 = "x" in let final core::int* #t2 = self::getInt() in let final void #t3 = this.{self::Test1::[]=}(#t1, #t2){(core::String*, core::int*) →* void} in #t2;
+ core::num* v2 = let final core::String* #t4 = "x" in let final core::num* #t5 = self::getNum() as{TypeError} core::int* in let final void #t6 = this.{self::Test1::[]=}(#t4, #t5){(core::String*, core::int*) →* void} in #t5;
+ core::int* v4 = let final core::String* #t7 = "x" in let final core::int* #t8 = this.{self::Test1::[]}(#t7){(core::String*) →* core::int*} in #t8 == null ?{core::int*} let final core::int* #t9 = self::getInt() in let final void #t10 = this.{self::Test1::[]=}(#t7, #t9){(core::String*, core::int*) →* void} in #t9 : #t8;
+ core::num* v5 = let final core::String* #t11 = "x" in let final core::int* #t12 = this.{self::Test1::[]}(#t11){(core::String*) →* core::int*} in #t12 == null ?{core::num*} let final core::num* #t13 = self::getNum() as{TypeError} core::int* in let final void #t14 = this.{self::Test1::[]=}(#t11, #t13){(core::String*, core::int*) →* void} in #t13 : #t12;
+ core::int* v7 = let final core::String* #t15 = "x" in let final core::int* #t16 = this.{self::Test1::[]}(#t15){(core::String*) →* core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t17 = this.{self::Test1::[]=}(#t15, #t16){(core::String*, core::int*) →* void} in #t16;
+ core::num* v8 = let final core::String* #t18 = "x" in let final core::num* #t19 = this.{self::Test1::[]}(#t18){(core::String*) →* core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t20 = this.{self::Test1::[]=}(#t18, #t19){(core::String*, core::int*) →* void} in #t19;
+ core::int* v10 = let final core::String* #t21 = "x" in let final core::int* #t22 = this.{self::Test1::[]}(#t21){(core::String*) →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t23 = this.{self::Test1::[]=}(#t21, #t22){(core::String*, core::int*) →* void} in #t22;
+ core::int* v11 = let final core::String* #t24 = "x" in let final core::int* #t25 = this.{self::Test1::[]}(#t24){(core::String*) →* core::int*} in let final void #t26 = this.{self::Test1::[]=}(#t24, #t25.{core::num::+}(1){(core::num*) →* core::int*}){(core::String*, core::int*) →* void} in #t25;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -67,17 +67,17 @@
abstract operator [](core::String* s) → core::int*;
abstract operator []=(core::String* s, core::num* v) → void;
method test() → void {
- core::int* v1 = let final core::String* #t27 = "x" in let final core::int* #t28 = self::getInt() in let final void #t29 = this.{self::Test2::[]=}(#t27, #t28) in #t28;
- core::num* v2 = let final core::String* #t30 = "x" in let final core::num* #t31 = self::getNum() in let final void #t32 = this.{self::Test2::[]=}(#t30, #t31) in #t31;
- core::double* v3 = let final core::String* #t33 = "x" in let final core::double* #t34 = self::getDouble() in let final void #t35 = this.{self::Test2::[]=}(#t33, #t34) in #t34;
- core::int* v4 = let final core::String* #t36 = "x" in let final core::int* #t37 = this.{self::Test2::[]}(#t36) in #t37.{core::num::==}(null) ?{core::int*} let final core::int* #t38 = self::getInt() in let final void #t39 = this.{self::Test2::[]=}(#t36, #t38) in #t38 : #t37;
- core::num* v5 = let final core::String* #t40 = "x" in let final core::int* #t41 = this.{self::Test2::[]}(#t40) in #t41.{core::num::==}(null) ?{core::num*} let final core::num* #t42 = self::getNum() in let final void #t43 = this.{self::Test2::[]=}(#t40, #t42) in #t42 : #t41;
- core::num* v6 = let final core::String* #t44 = "x" in let final core::int* #t45 = this.{self::Test2::[]}(#t44) in #t45.{core::num::==}(null) ?{core::num*} let final core::double* #t46 = self::getDouble() in let final void #t47 = this.{self::Test2::[]=}(#t44, #t46) in #t46 : #t45;
- core::int* v7 = let final core::String* #t48 = "x" in let final core::int* #t49 = this.{self::Test2::[]}(#t48).{core::num::+}(self::getInt()) in let final void #t50 = this.{self::Test2::[]=}(#t48, #t49) in #t49;
- core::num* v8 = let final core::String* #t51 = "x" in let final core::num* #t52 = this.{self::Test2::[]}(#t51).{core::num::+}(self::getNum()) in let final void #t53 = this.{self::Test2::[]=}(#t51, #t52) in #t52;
- core::double* v9 = let final core::String* #t54 = "x" in let final core::double* #t55 = this.{self::Test2::[]}(#t54).{core::num::+}(self::getDouble()) in let final void #t56 = this.{self::Test2::[]=}(#t54, #t55) in #t55;
- core::int* v10 = let final core::String* #t57 = "x" in let final core::int* #t58 = this.{self::Test2::[]}(#t57).{core::num::+}(1) in let final void #t59 = this.{self::Test2::[]=}(#t57, #t58) in #t58;
- core::int* v11 = let final core::String* #t60 = "x" in let final core::int* #t61 = this.{self::Test2::[]}(#t60) in let final void #t62 = this.{self::Test2::[]=}(#t60, #t61.{core::num::+}(1)) in #t61;
+ core::int* v1 = let final core::String* #t27 = "x" in let final core::int* #t28 = self::getInt() in let final void #t29 = this.{self::Test2::[]=}(#t27, #t28){(core::String*, core::num*) →* void} in #t28;
+ core::num* v2 = let final core::String* #t30 = "x" in let final core::num* #t31 = self::getNum() in let final void #t32 = this.{self::Test2::[]=}(#t30, #t31){(core::String*, core::num*) →* void} in #t31;
+ core::double* v3 = let final core::String* #t33 = "x" in let final core::double* #t34 = self::getDouble() in let final void #t35 = this.{self::Test2::[]=}(#t33, #t34){(core::String*, core::num*) →* void} in #t34;
+ core::int* v4 = let final core::String* #t36 = "x" in let final core::int* #t37 = this.{self::Test2::[]}(#t36){(core::String*) →* core::int*} in #t37 == null ?{core::int*} let final core::int* #t38 = self::getInt() in let final void #t39 = this.{self::Test2::[]=}(#t36, #t38){(core::String*, core::num*) →* void} in #t38 : #t37;
+ core::num* v5 = let final core::String* #t40 = "x" in let final core::int* #t41 = this.{self::Test2::[]}(#t40){(core::String*) →* core::int*} in #t41 == null ?{core::num*} let final core::num* #t42 = self::getNum() in let final void #t43 = this.{self::Test2::[]=}(#t40, #t42){(core::String*, core::num*) →* void} in #t42 : #t41;
+ core::num* v6 = let final core::String* #t44 = "x" in let final core::int* #t45 = this.{self::Test2::[]}(#t44){(core::String*) →* core::int*} in #t45 == null ?{core::num*} let final core::double* #t46 = self::getDouble() in let final void #t47 = this.{self::Test2::[]=}(#t44, #t46){(core::String*, core::num*) →* void} in #t46 : #t45;
+ core::int* v7 = let final core::String* #t48 = "x" in let final core::int* #t49 = this.{self::Test2::[]}(#t48){(core::String*) →* core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t50 = this.{self::Test2::[]=}(#t48, #t49){(core::String*, core::num*) →* void} in #t49;
+ core::num* v8 = let final core::String* #t51 = "x" in let final core::num* #t52 = this.{self::Test2::[]}(#t51){(core::String*) →* core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t53 = this.{self::Test2::[]=}(#t51, #t52){(core::String*, core::num*) →* void} in #t52;
+ core::double* v9 = let final core::String* #t54 = "x" in let final core::double* #t55 = this.{self::Test2::[]}(#t54){(core::String*) →* core::int*}.{core::num::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t56 = this.{self::Test2::[]=}(#t54, #t55){(core::String*, core::num*) →* void} in #t55;
+ core::int* v10 = let final core::String* #t57 = "x" in let final core::int* #t58 = this.{self::Test2::[]}(#t57){(core::String*) →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t59 = this.{self::Test2::[]=}(#t57, #t58){(core::String*, core::num*) →* void} in #t58;
+ core::int* v11 = let final core::String* #t60 = "x" in let final core::int* #t61 = this.{self::Test2::[]}(#t60){(core::String*) →* core::int*} in let final void #t62 = this.{self::Test2::[]=}(#t60, #t61.{core::num::+}(1){(core::num*) →* core::int*}){(core::String*, core::num*) →* void} in #t61;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -97,21 +97,21 @@
abstract operator [](core::String* s) → core::int*;
abstract operator []=(core::String* s, core::double* v) → void;
method test() → void {
- core::num* v2 = let final core::String* #t63 = "x" in let final core::num* #t64 = self::getNum() as{TypeError} core::double* in let final void #t65 = this.{self::Test3::[]=}(#t63, #t64) in #t64;
- core::double* v3 = let final core::String* #t66 = "x" in let final core::double* #t67 = self::getDouble() in let final void #t68 = this.{self::Test3::[]=}(#t66, #t67) in #t67;
- core::num* v5 = let final core::String* #t69 = "x" in let final core::int* #t70 = this.{self::Test3::[]}(#t69) in #t70.{core::num::==}(null) ?{core::num*} let final core::num* #t71 = self::getNum() as{TypeError} core::double* in let final void #t72 = this.{self::Test3::[]=}(#t69, #t71) in #t71 : #t70;
- core::num* v6 = let final core::String* #t73 = "x" in let final core::int* #t74 = this.{self::Test3::[]}(#t73) in #t74.{core::num::==}(null) ?{core::num*} let final core::double* #t75 = self::getDouble() in let final void #t76 = this.{self::Test3::[]=}(#t73, #t75) in #t75 : #t74;
+ core::num* v2 = let final core::String* #t63 = "x" in let final core::num* #t64 = self::getNum() as{TypeError} core::double* in let final void #t65 = this.{self::Test3::[]=}(#t63, #t64){(core::String*, core::double*) →* void} in #t64;
+ core::double* v3 = let final core::String* #t66 = "x" in let final core::double* #t67 = self::getDouble() in let final void #t68 = this.{self::Test3::[]=}(#t66, #t67){(core::String*, core::double*) →* void} in #t67;
+ core::num* v5 = let final core::String* #t69 = "x" in let final core::int* #t70 = this.{self::Test3::[]}(#t69){(core::String*) →* core::int*} in #t70 == null ?{core::num*} let final core::num* #t71 = self::getNum() as{TypeError} core::double* in let final void #t72 = this.{self::Test3::[]=}(#t69, #t71){(core::String*, core::double*) →* void} in #t71 : #t70;
+ core::num* v6 = let final core::String* #t73 = "x" in let final core::int* #t74 = this.{self::Test3::[]}(#t73){(core::String*) →* core::int*} in #t74 == null ?{core::num*} let final core::double* #t75 = self::getDouble() in let final void #t76 = this.{self::Test3::[]=}(#t73, #t75){(core::String*, core::double*) →* void} in #t75 : #t74;
core::int* v7 = let final core::String* #t77 = "x" in let final core::int* #t78 = let final Never* #t79 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart:109:27: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
/*@target=num.+*/ += getInt();
- ^" in this.{self::Test3::[]}(#t77).{core::num::+}(self::getInt()) as{TypeError} core::double* in let final void #t80 = this.{self::Test3::[]=}(#t77, #t78) in #t78;
- core::num* v8 = let final core::String* #t81 = "x" in let final core::num* #t82 = this.{self::Test3::[]}(#t81).{core::num::+}(self::getNum()) as{TypeError} core::double* in let final void #t83 = this.{self::Test3::[]=}(#t81, #t82) in #t82;
- core::double* v9 = let final core::String* #t84 = "x" in let final core::double* #t85 = this.{self::Test3::[]}(#t84).{core::num::+}(self::getDouble()) in let final void #t86 = this.{self::Test3::[]=}(#t84, #t85) in #t85;
+ ^" in this.{self::Test3::[]}(#t77){(core::String*) →* core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} as{TypeError} core::double* in let final void #t80 = this.{self::Test3::[]=}(#t77, #t78){(core::String*, core::double*) →* void} in #t78;
+ core::num* v8 = let final core::String* #t81 = "x" in let final core::num* #t82 = this.{self::Test3::[]}(#t81){(core::String*) →* core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t83 = this.{self::Test3::[]=}(#t81, #t82){(core::String*, core::double*) →* void} in #t82;
+ core::double* v9 = let final core::String* #t84 = "x" in let final core::double* #t85 = this.{self::Test3::[]}(#t84){(core::String*) →* core::int*}.{core::num::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t86 = this.{self::Test3::[]=}(#t84, #t85){(core::String*, core::double*) →* void} in #t85;
core::int* v10 = let final core::String* #t87 = "x" in let final core::int* #t88 = let final Never* #t89 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart:119:50: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
var /*@ type=int* */ v10 = /*@target=num.+*/ ++this
- ^" in this.{self::Test3::[]}(#t87).{core::num::+}(1) as{TypeError} core::double* in let final void #t90 = this.{self::Test3::[]=}(#t87, #t88) in #t88;
- core::int* v11 = let final core::String* #t91 = "x" in let final core::int* #t92 = this.{self::Test3::[]}(#t91) in let final void #t93 = this.{self::Test3::[]=}(#t91, let final Never* #t94 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart:124:27: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
+ ^" in this.{self::Test3::[]}(#t87){(core::String*) →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*} as{TypeError} core::double* in let final void #t90 = this.{self::Test3::[]=}(#t87, #t88){(core::String*, core::double*) →* void} in #t88;
+ core::int* v11 = let final core::String* #t91 = "x" in let final core::int* #t92 = this.{self::Test3::[]}(#t91){(core::String*) →* core::int*} in let final void #t93 = this.{self::Test3::[]=}(#t91, let final Never* #t94 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart:124:27: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
/*@target=num.+*/ ++;
- ^" in #t92.{core::num::+}(1) as{TypeError} core::double*) in #t92;
+ ^" in #t92.{core::num::+}(1){(core::num*) →* core::int*} as{TypeError} core::double*){(core::String*, core::double*) →* void} in #t92;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -131,14 +131,14 @@
abstract operator [](core::String* s) → core::num*;
abstract operator []=(core::String* s, core::int* v) → void;
method test() → void {
- core::int* v1 = let final core::String* #t95 = "x" in let final core::int* #t96 = self::getInt() in let final void #t97 = this.{self::Test4::[]=}(#t95, #t96) in #t96;
- core::num* v2 = let final core::String* #t98 = "x" in let final core::num* #t99 = self::getNum() as{TypeError} core::int* in let final void #t100 = this.{self::Test4::[]=}(#t98, #t99) in #t99;
- core::num* v4 = let final core::String* #t101 = "x" in let final core::num* #t102 = this.{self::Test4::[]}(#t101) in #t102.{core::num::==}(null) ?{core::num*} let final core::int* #t103 = self::getInt() in let final void #t104 = this.{self::Test4::[]=}(#t101, #t103) in #t103 : #t102;
- core::num* v5 = let final core::String* #t105 = "x" in let final core::num* #t106 = this.{self::Test4::[]}(#t105) in #t106.{core::num::==}(null) ?{core::num*} let final core::num* #t107 = self::getNum() as{TypeError} core::int* in let final void #t108 = this.{self::Test4::[]=}(#t105, #t107) in #t107 : #t106;
- core::num* v7 = let final core::String* #t109 = "x" in let final core::num* #t110 = this.{self::Test4::[]}(#t109).{core::num::+}(self::getInt()) as{TypeError} core::int* in let final void #t111 = this.{self::Test4::[]=}(#t109, #t110) in #t110;
- core::num* v8 = let final core::String* #t112 = "x" in let final core::num* #t113 = this.{self::Test4::[]}(#t112).{core::num::+}(self::getNum()) as{TypeError} core::int* in let final void #t114 = this.{self::Test4::[]=}(#t112, #t113) in #t113;
- core::num* v10 = let final core::String* #t115 = "x" in let final core::num* #t116 = this.{self::Test4::[]}(#t115).{core::num::+}(1) as{TypeError} core::int* in let final void #t117 = this.{self::Test4::[]=}(#t115, #t116) in #t116;
- core::num* v11 = let final core::String* #t118 = "x" in let final core::num* #t119 = this.{self::Test4::[]}(#t118) in let final void #t120 = this.{self::Test4::[]=}(#t118, #t119.{core::num::+}(1) as{TypeError} core::int*) in #t119;
+ core::int* v1 = let final core::String* #t95 = "x" in let final core::int* #t96 = self::getInt() in let final void #t97 = this.{self::Test4::[]=}(#t95, #t96){(core::String*, core::int*) →* void} in #t96;
+ core::num* v2 = let final core::String* #t98 = "x" in let final core::num* #t99 = self::getNum() as{TypeError} core::int* in let final void #t100 = this.{self::Test4::[]=}(#t98, #t99){(core::String*, core::int*) →* void} in #t99;
+ core::num* v4 = let final core::String* #t101 = "x" in let final core::num* #t102 = this.{self::Test4::[]}(#t101){(core::String*) →* core::num*} in #t102 == null ?{core::num*} let final core::int* #t103 = self::getInt() in let final void #t104 = this.{self::Test4::[]=}(#t101, #t103){(core::String*, core::int*) →* void} in #t103 : #t102;
+ core::num* v5 = let final core::String* #t105 = "x" in let final core::num* #t106 = this.{self::Test4::[]}(#t105){(core::String*) →* core::num*} in #t106 == null ?{core::num*} let final core::num* #t107 = self::getNum() as{TypeError} core::int* in let final void #t108 = this.{self::Test4::[]=}(#t105, #t107){(core::String*, core::int*) →* void} in #t107 : #t106;
+ core::num* v7 = let final core::String* #t109 = "x" in let final core::num* #t110 = this.{self::Test4::[]}(#t109){(core::String*) →* core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t111 = this.{self::Test4::[]=}(#t109, #t110){(core::String*, core::int*) →* void} in #t110;
+ core::num* v8 = let final core::String* #t112 = "x" in let final core::num* #t113 = this.{self::Test4::[]}(#t112){(core::String*) →* core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t114 = this.{self::Test4::[]=}(#t112, #t113){(core::String*, core::int*) →* void} in #t113;
+ core::num* v10 = let final core::String* #t115 = "x" in let final core::num* #t116 = this.{self::Test4::[]}(#t115){(core::String*) →* core::num*}.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t117 = this.{self::Test4::[]=}(#t115, #t116){(core::String*, core::int*) →* void} in #t116;
+ core::num* v11 = let final core::String* #t118 = "x" in let final core::num* #t119 = this.{self::Test4::[]}(#t118){(core::String*) →* core::num*} in let final void #t120 = this.{self::Test4::[]=}(#t118, #t119.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::int*){(core::String*, core::int*) →* void} in #t119;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -158,17 +158,17 @@
abstract operator [](core::String* s) → core::num*;
abstract operator []=(core::String* s, core::num* v) → void;
method test() → void {
- core::int* v1 = let final core::String* #t121 = "x" in let final core::int* #t122 = self::getInt() in let final void #t123 = this.{self::Test5::[]=}(#t121, #t122) in #t122;
- core::num* v2 = let final core::String* #t124 = "x" in let final core::num* #t125 = self::getNum() in let final void #t126 = this.{self::Test5::[]=}(#t124, #t125) in #t125;
- core::double* v3 = let final core::String* #t127 = "x" in let final core::double* #t128 = self::getDouble() in let final void #t129 = this.{self::Test5::[]=}(#t127, #t128) in #t128;
- core::num* v4 = let final core::String* #t130 = "x" in let final core::num* #t131 = this.{self::Test5::[]}(#t130) in #t131.{core::num::==}(null) ?{core::num*} let final core::int* #t132 = self::getInt() in let final void #t133 = this.{self::Test5::[]=}(#t130, #t132) in #t132 : #t131;
- core::num* v5 = let final core::String* #t134 = "x" in let final core::num* #t135 = this.{self::Test5::[]}(#t134) in #t135.{core::num::==}(null) ?{core::num*} let final core::num* #t136 = self::getNum() in let final void #t137 = this.{self::Test5::[]=}(#t134, #t136) in #t136 : #t135;
- core::num* v6 = let final core::String* #t138 = "x" in let final core::num* #t139 = this.{self::Test5::[]}(#t138) in #t139.{core::num::==}(null) ?{core::num*} let final core::double* #t140 = self::getDouble() in let final void #t141 = this.{self::Test5::[]=}(#t138, #t140) in #t140 : #t139;
- core::num* v7 = let final core::String* #t142 = "x" in let final core::num* #t143 = this.{self::Test5::[]}(#t142).{core::num::+}(self::getInt()) in let final void #t144 = this.{self::Test5::[]=}(#t142, #t143) in #t143;
- core::num* v8 = let final core::String* #t145 = "x" in let final core::num* #t146 = this.{self::Test5::[]}(#t145).{core::num::+}(self::getNum()) in let final void #t147 = this.{self::Test5::[]=}(#t145, #t146) in #t146;
- core::num* v9 = let final core::String* #t148 = "x" in let final core::num* #t149 = this.{self::Test5::[]}(#t148).{core::num::+}(self::getDouble()) in let final void #t150 = this.{self::Test5::[]=}(#t148, #t149) in #t149;
- core::num* v10 = let final core::String* #t151 = "x" in let final core::num* #t152 = this.{self::Test5::[]}(#t151).{core::num::+}(1) in let final void #t153 = this.{self::Test5::[]=}(#t151, #t152) in #t152;
- core::num* v11 = let final core::String* #t154 = "x" in let final core::num* #t155 = this.{self::Test5::[]}(#t154) in let final void #t156 = this.{self::Test5::[]=}(#t154, #t155.{core::num::+}(1)) in #t155;
+ core::int* v1 = let final core::String* #t121 = "x" in let final core::int* #t122 = self::getInt() in let final void #t123 = this.{self::Test5::[]=}(#t121, #t122){(core::String*, core::num*) →* void} in #t122;
+ core::num* v2 = let final core::String* #t124 = "x" in let final core::num* #t125 = self::getNum() in let final void #t126 = this.{self::Test5::[]=}(#t124, #t125){(core::String*, core::num*) →* void} in #t125;
+ core::double* v3 = let final core::String* #t127 = "x" in let final core::double* #t128 = self::getDouble() in let final void #t129 = this.{self::Test5::[]=}(#t127, #t128){(core::String*, core::num*) →* void} in #t128;
+ core::num* v4 = let final core::String* #t130 = "x" in let final core::num* #t131 = this.{self::Test5::[]}(#t130){(core::String*) →* core::num*} in #t131 == null ?{core::num*} let final core::int* #t132 = self::getInt() in let final void #t133 = this.{self::Test5::[]=}(#t130, #t132){(core::String*, core::num*) →* void} in #t132 : #t131;
+ core::num* v5 = let final core::String* #t134 = "x" in let final core::num* #t135 = this.{self::Test5::[]}(#t134){(core::String*) →* core::num*} in #t135 == null ?{core::num*} let final core::num* #t136 = self::getNum() in let final void #t137 = this.{self::Test5::[]=}(#t134, #t136){(core::String*, core::num*) →* void} in #t136 : #t135;
+ core::num* v6 = let final core::String* #t138 = "x" in let final core::num* #t139 = this.{self::Test5::[]}(#t138){(core::String*) →* core::num*} in #t139 == null ?{core::num*} let final core::double* #t140 = self::getDouble() in let final void #t141 = this.{self::Test5::[]=}(#t138, #t140){(core::String*, core::num*) →* void} in #t140 : #t139;
+ core::num* v7 = let final core::String* #t142 = "x" in let final core::num* #t143 = this.{self::Test5::[]}(#t142){(core::String*) →* core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} in let final void #t144 = this.{self::Test5::[]=}(#t142, #t143){(core::String*, core::num*) →* void} in #t143;
+ core::num* v8 = let final core::String* #t145 = "x" in let final core::num* #t146 = this.{self::Test5::[]}(#t145){(core::String*) →* core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t147 = this.{self::Test5::[]=}(#t145, #t146){(core::String*, core::num*) →* void} in #t146;
+ core::num* v9 = let final core::String* #t148 = "x" in let final core::num* #t149 = this.{self::Test5::[]}(#t148){(core::String*) →* core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*} in let final void #t150 = this.{self::Test5::[]=}(#t148, #t149){(core::String*, core::num*) →* void} in #t149;
+ core::num* v10 = let final core::String* #t151 = "x" in let final core::num* #t152 = this.{self::Test5::[]}(#t151){(core::String*) →* core::num*}.{core::num::+}(1){(core::num*) →* core::num*} in let final void #t153 = this.{self::Test5::[]=}(#t151, #t152){(core::String*, core::num*) →* void} in #t152;
+ core::num* v11 = let final core::String* #t154 = "x" in let final core::num* #t155 = this.{self::Test5::[]}(#t154){(core::String*) →* core::num*} in let final void #t156 = this.{self::Test5::[]=}(#t154, #t155.{core::num::+}(1){(core::num*) →* core::num*}){(core::String*, core::num*) →* void} in #t155;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -188,15 +188,15 @@
abstract operator [](core::String* s) → core::num*;
abstract operator []=(core::String* s, core::double* v) → void;
method test() → void {
- core::num* v2 = let final core::String* #t157 = "x" in let final core::num* #t158 = self::getNum() as{TypeError} core::double* in let final void #t159 = this.{self::Test6::[]=}(#t157, #t158) in #t158;
- core::double* v3 = let final core::String* #t160 = "x" in let final core::double* #t161 = self::getDouble() in let final void #t162 = this.{self::Test6::[]=}(#t160, #t161) in #t161;
- core::num* v5 = let final core::String* #t163 = "x" in let final core::num* #t164 = this.{self::Test6::[]}(#t163) in #t164.{core::num::==}(null) ?{core::num*} let final core::num* #t165 = self::getNum() as{TypeError} core::double* in let final void #t166 = this.{self::Test6::[]=}(#t163, #t165) in #t165 : #t164;
- core::num* v6 = let final core::String* #t167 = "x" in let final core::num* #t168 = this.{self::Test6::[]}(#t167) in #t168.{core::num::==}(null) ?{core::num*} let final core::double* #t169 = self::getDouble() in let final void #t170 = this.{self::Test6::[]=}(#t167, #t169) in #t169 : #t168;
- core::num* v7 = let final core::String* #t171 = "x" in let final core::num* #t172 = this.{self::Test6::[]}(#t171).{core::num::+}(self::getInt()) as{TypeError} core::double* in let final void #t173 = this.{self::Test6::[]=}(#t171, #t172) in #t172;
- core::num* v8 = let final core::String* #t174 = "x" in let final core::num* #t175 = this.{self::Test6::[]}(#t174).{core::num::+}(self::getNum()) as{TypeError} core::double* in let final void #t176 = this.{self::Test6::[]=}(#t174, #t175) in #t175;
- core::num* v9 = let final core::String* #t177 = "x" in let final core::num* #t178 = this.{self::Test6::[]}(#t177).{core::num::+}(self::getDouble()) as{TypeError} core::double* in let final void #t179 = this.{self::Test6::[]=}(#t177, #t178) in #t178;
- core::num* v10 = let final core::String* #t180 = "x" in let final core::num* #t181 = this.{self::Test6::[]}(#t180).{core::num::+}(1) as{TypeError} core::double* in let final void #t182 = this.{self::Test6::[]=}(#t180, #t181) in #t181;
- core::num* v11 = let final core::String* #t183 = "x" in let final core::num* #t184 = this.{self::Test6::[]}(#t183) in let final void #t185 = this.{self::Test6::[]=}(#t183, #t184.{core::num::+}(1) as{TypeError} core::double*) in #t184;
+ core::num* v2 = let final core::String* #t157 = "x" in let final core::num* #t158 = self::getNum() as{TypeError} core::double* in let final void #t159 = this.{self::Test6::[]=}(#t157, #t158){(core::String*, core::double*) →* void} in #t158;
+ core::double* v3 = let final core::String* #t160 = "x" in let final core::double* #t161 = self::getDouble() in let final void #t162 = this.{self::Test6::[]=}(#t160, #t161){(core::String*, core::double*) →* void} in #t161;
+ core::num* v5 = let final core::String* #t163 = "x" in let final core::num* #t164 = this.{self::Test6::[]}(#t163){(core::String*) →* core::num*} in #t164 == null ?{core::num*} let final core::num* #t165 = self::getNum() as{TypeError} core::double* in let final void #t166 = this.{self::Test6::[]=}(#t163, #t165){(core::String*, core::double*) →* void} in #t165 : #t164;
+ core::num* v6 = let final core::String* #t167 = "x" in let final core::num* #t168 = this.{self::Test6::[]}(#t167){(core::String*) →* core::num*} in #t168 == null ?{core::num*} let final core::double* #t169 = self::getDouble() in let final void #t170 = this.{self::Test6::[]=}(#t167, #t169){(core::String*, core::double*) →* void} in #t169 : #t168;
+ core::num* v7 = let final core::String* #t171 = "x" in let final core::num* #t172 = this.{self::Test6::[]}(#t171){(core::String*) →* core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t173 = this.{self::Test6::[]=}(#t171, #t172){(core::String*, core::double*) →* void} in #t172;
+ core::num* v8 = let final core::String* #t174 = "x" in let final core::num* #t175 = this.{self::Test6::[]}(#t174){(core::String*) →* core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t176 = this.{self::Test6::[]=}(#t174, #t175){(core::String*, core::double*) →* void} in #t175;
+ core::num* v9 = let final core::String* #t177 = "x" in let final core::num* #t178 = this.{self::Test6::[]}(#t177){(core::String*) →* core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t179 = this.{self::Test6::[]=}(#t177, #t178){(core::String*, core::double*) →* void} in #t178;
+ core::num* v10 = let final core::String* #t180 = "x" in let final core::num* #t181 = this.{self::Test6::[]}(#t180){(core::String*) →* core::num*}.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t182 = this.{self::Test6::[]=}(#t180, #t181){(core::String*, core::double*) →* void} in #t181;
+ core::num* v11 = let final core::String* #t183 = "x" in let final core::num* #t184 = this.{self::Test6::[]}(#t183){(core::String*) →* core::num*} in let final void #t185 = this.{self::Test6::[]=}(#t183, #t184.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::double*){(core::String*, core::double*) →* void} in #t184;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -216,22 +216,22 @@
abstract operator [](core::String* s) → core::double*;
abstract operator []=(core::String* s, core::int* v) → void;
method test() → void {
- core::int* v1 = let final core::String* #t186 = "x" in let final core::int* #t187 = self::getInt() in let final void #t188 = this.{self::Test7::[]=}(#t186, #t187) in #t187;
- core::num* v2 = let final core::String* #t189 = "x" in let final core::num* #t190 = self::getNum() as{TypeError} core::int* in let final void #t191 = this.{self::Test7::[]=}(#t189, #t190) in #t190;
- core::num* v4 = let final core::String* #t192 = "x" in let final core::double* #t193 = this.{self::Test7::[]}(#t192) in #t193.{core::num::==}(null) ?{core::num*} let final core::int* #t194 = self::getInt() in let final void #t195 = this.{self::Test7::[]=}(#t192, #t194) in #t194 : #t193;
- core::num* v5 = let final core::String* #t196 = "x" in let final core::double* #t197 = this.{self::Test7::[]}(#t196) in #t197.{core::num::==}(null) ?{core::num*} let final core::num* #t198 = self::getNum() as{TypeError} core::int* in let final void #t199 = this.{self::Test7::[]=}(#t196, #t198) in #t198 : #t197;
+ core::int* v1 = let final core::String* #t186 = "x" in let final core::int* #t187 = self::getInt() in let final void #t188 = this.{self::Test7::[]=}(#t186, #t187){(core::String*, core::int*) →* void} in #t187;
+ core::num* v2 = let final core::String* #t189 = "x" in let final core::num* #t190 = self::getNum() as{TypeError} core::int* in let final void #t191 = this.{self::Test7::[]=}(#t189, #t190){(core::String*, core::int*) →* void} in #t190;
+ core::num* v4 = let final core::String* #t192 = "x" in let final core::double* #t193 = this.{self::Test7::[]}(#t192){(core::String*) →* core::double*} in #t193 == null ?{core::num*} let final core::int* #t194 = self::getInt() in let final void #t195 = this.{self::Test7::[]=}(#t192, #t194){(core::String*, core::int*) →* void} in #t194 : #t193;
+ core::num* v5 = let final core::String* #t196 = "x" in let final core::double* #t197 = this.{self::Test7::[]}(#t196){(core::String*) →* core::double*} in #t197 == null ?{core::num*} let final core::num* #t198 = self::getNum() as{TypeError} core::int* in let final void #t199 = this.{self::Test7::[]=}(#t196, #t198){(core::String*, core::int*) →* void} in #t198 : #t197;
core::double* v7 = let final core::String* #t200 = "x" in let final core::double* #t201 = let final Never* #t202 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart:264:30: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
/*@target=double.+*/ += getInt();
- ^" in this.{self::Test7::[]}(#t200).{core::double::+}(self::getInt()) as{TypeError} core::int* in let final void #t203 = this.{self::Test7::[]=}(#t200, #t201) in #t201;
+ ^" in this.{self::Test7::[]}(#t200){(core::String*) →* core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} as{TypeError} core::int* in let final void #t203 = this.{self::Test7::[]=}(#t200, #t201){(core::String*, core::int*) →* void} in #t201;
core::double* v8 = let final core::String* #t204 = "x" in let final core::double* #t205 = let final Never* #t206 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart:268:30: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
/*@target=double.+*/ += getNum();
- ^" in this.{self::Test7::[]}(#t204).{core::double::+}(self::getNum()) as{TypeError} core::int* in let final void #t207 = this.{self::Test7::[]=}(#t204, #t205) in #t205;
+ ^" in this.{self::Test7::[]}(#t204){(core::String*) →* core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} as{TypeError} core::int* in let final void #t207 = this.{self::Test7::[]=}(#t204, #t205){(core::String*, core::int*) →* void} in #t205;
core::double* v10 = let final core::String* #t208 = "x" in let final core::double* #t209 = let final Never* #t210 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart:270:56: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
var /*@ type=double* */ v10 = /*@target=double.+*/ ++this
- ^" in this.{self::Test7::[]}(#t208).{core::double::+}(1) as{TypeError} core::int* in let final void #t211 = this.{self::Test7::[]=}(#t208, #t209) in #t209;
- core::double* v11 = let final core::String* #t212 = "x" in let final core::double* #t213 = this.{self::Test7::[]}(#t212) in let final void #t214 = this.{self::Test7::[]=}(#t212, let final Never* #t215 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart:275:30: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+ ^" in this.{self::Test7::[]}(#t208){(core::String*) →* core::double*}.{core::double::+}(1){(core::num*) →* core::double*} as{TypeError} core::int* in let final void #t211 = this.{self::Test7::[]=}(#t208, #t209){(core::String*, core::int*) →* void} in #t209;
+ core::double* v11 = let final core::String* #t212 = "x" in let final core::double* #t213 = this.{self::Test7::[]}(#t212){(core::String*) →* core::double*} in let final void #t214 = this.{self::Test7::[]=}(#t212, let final Never* #t215 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart:275:30: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
/*@target=double.+*/ ++;
- ^" in #t213.{core::double::+}(1) as{TypeError} core::int*) in #t213;
+ ^" in #t213.{core::double::+}(1){(core::num*) →* core::double*} as{TypeError} core::int*){(core::String*, core::int*) →* void} in #t213;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -251,17 +251,17 @@
abstract operator [](core::String* s) → core::double*;
abstract operator []=(core::String* s, core::num* v) → void;
method test() → void {
- core::int* v1 = let final core::String* #t216 = "x" in let final core::int* #t217 = self::getInt() in let final void #t218 = this.{self::Test8::[]=}(#t216, #t217) in #t217;
- core::num* v2 = let final core::String* #t219 = "x" in let final core::num* #t220 = self::getNum() in let final void #t221 = this.{self::Test8::[]=}(#t219, #t220) in #t220;
- core::double* v3 = let final core::String* #t222 = "x" in let final core::double* #t223 = self::getDouble() in let final void #t224 = this.{self::Test8::[]=}(#t222, #t223) in #t223;
- core::num* v4 = let final core::String* #t225 = "x" in let final core::double* #t226 = this.{self::Test8::[]}(#t225) in #t226.{core::num::==}(null) ?{core::num*} let final core::int* #t227 = self::getInt() in let final void #t228 = this.{self::Test8::[]=}(#t225, #t227) in #t227 : #t226;
- core::num* v5 = let final core::String* #t229 = "x" in let final core::double* #t230 = this.{self::Test8::[]}(#t229) in #t230.{core::num::==}(null) ?{core::num*} let final core::num* #t231 = self::getNum() in let final void #t232 = this.{self::Test8::[]=}(#t229, #t231) in #t231 : #t230;
- core::double* v6 = let final core::String* #t233 = "x" in let final core::double* #t234 = this.{self::Test8::[]}(#t233) in #t234.{core::num::==}(null) ?{core::double*} let final core::double* #t235 = self::getDouble() in let final void #t236 = this.{self::Test8::[]=}(#t233, #t235) in #t235 : #t234;
- core::double* v7 = let final core::String* #t237 = "x" in let final core::double* #t238 = this.{self::Test8::[]}(#t237).{core::double::+}(self::getInt()) in let final void #t239 = this.{self::Test8::[]=}(#t237, #t238) in #t238;
- core::double* v8 = let final core::String* #t240 = "x" in let final core::double* #t241 = this.{self::Test8::[]}(#t240).{core::double::+}(self::getNum()) in let final void #t242 = this.{self::Test8::[]=}(#t240, #t241) in #t241;
- core::double* v9 = let final core::String* #t243 = "x" in let final core::double* #t244 = this.{self::Test8::[]}(#t243).{core::double::+}(self::getDouble()) in let final void #t245 = this.{self::Test8::[]=}(#t243, #t244) in #t244;
- core::double* v10 = let final core::String* #t246 = "x" in let final core::double* #t247 = this.{self::Test8::[]}(#t246).{core::double::+}(1) in let final void #t248 = this.{self::Test8::[]=}(#t246, #t247) in #t247;
- core::double* v11 = let final core::String* #t249 = "x" in let final core::double* #t250 = this.{self::Test8::[]}(#t249) in let final void #t251 = this.{self::Test8::[]=}(#t249, #t250.{core::double::+}(1)) in #t250;
+ core::int* v1 = let final core::String* #t216 = "x" in let final core::int* #t217 = self::getInt() in let final void #t218 = this.{self::Test8::[]=}(#t216, #t217){(core::String*, core::num*) →* void} in #t217;
+ core::num* v2 = let final core::String* #t219 = "x" in let final core::num* #t220 = self::getNum() in let final void #t221 = this.{self::Test8::[]=}(#t219, #t220){(core::String*, core::num*) →* void} in #t220;
+ core::double* v3 = let final core::String* #t222 = "x" in let final core::double* #t223 = self::getDouble() in let final void #t224 = this.{self::Test8::[]=}(#t222, #t223){(core::String*, core::num*) →* void} in #t223;
+ core::num* v4 = let final core::String* #t225 = "x" in let final core::double* #t226 = this.{self::Test8::[]}(#t225){(core::String*) →* core::double*} in #t226 == null ?{core::num*} let final core::int* #t227 = self::getInt() in let final void #t228 = this.{self::Test8::[]=}(#t225, #t227){(core::String*, core::num*) →* void} in #t227 : #t226;
+ core::num* v5 = let final core::String* #t229 = "x" in let final core::double* #t230 = this.{self::Test8::[]}(#t229){(core::String*) →* core::double*} in #t230 == null ?{core::num*} let final core::num* #t231 = self::getNum() in let final void #t232 = this.{self::Test8::[]=}(#t229, #t231){(core::String*, core::num*) →* void} in #t231 : #t230;
+ core::double* v6 = let final core::String* #t233 = "x" in let final core::double* #t234 = this.{self::Test8::[]}(#t233){(core::String*) →* core::double*} in #t234 == null ?{core::double*} let final core::double* #t235 = self::getDouble() in let final void #t236 = this.{self::Test8::[]=}(#t233, #t235){(core::String*, core::num*) →* void} in #t235 : #t234;
+ core::double* v7 = let final core::String* #t237 = "x" in let final core::double* #t238 = this.{self::Test8::[]}(#t237){(core::String*) →* core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t239 = this.{self::Test8::[]=}(#t237, #t238){(core::String*, core::num*) →* void} in #t238;
+ core::double* v8 = let final core::String* #t240 = "x" in let final core::double* #t241 = this.{self::Test8::[]}(#t240){(core::String*) →* core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t242 = this.{self::Test8::[]=}(#t240, #t241){(core::String*, core::num*) →* void} in #t241;
+ core::double* v9 = let final core::String* #t243 = "x" in let final core::double* #t244 = this.{self::Test8::[]}(#t243){(core::String*) →* core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t245 = this.{self::Test8::[]=}(#t243, #t244){(core::String*, core::num*) →* void} in #t244;
+ core::double* v10 = let final core::String* #t246 = "x" in let final core::double* #t247 = this.{self::Test8::[]}(#t246){(core::String*) →* core::double*}.{core::double::+}(1){(core::num*) →* core::double*} in let final void #t248 = this.{self::Test8::[]=}(#t246, #t247){(core::String*, core::num*) →* void} in #t247;
+ core::double* v11 = let final core::String* #t249 = "x" in let final core::double* #t250 = this.{self::Test8::[]}(#t249){(core::String*) →* core::double*} in let final void #t251 = this.{self::Test8::[]=}(#t249, #t250.{core::double::+}(1){(core::num*) →* core::double*}){(core::String*, core::num*) →* void} in #t250;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -281,15 +281,15 @@
abstract operator [](core::String* s) → core::double*;
abstract operator []=(core::String* s, core::double* v) → void;
method test() → void {
- core::num* v2 = let final core::String* #t252 = "x" in let final core::num* #t253 = self::getNum() as{TypeError} core::double* in let final void #t254 = this.{self::Test9::[]=}(#t252, #t253) in #t253;
- core::double* v3 = let final core::String* #t255 = "x" in let final core::double* #t256 = self::getDouble() in let final void #t257 = this.{self::Test9::[]=}(#t255, #t256) in #t256;
- core::num* v5 = let final core::String* #t258 = "x" in let final core::double* #t259 = this.{self::Test9::[]}(#t258) in #t259.{core::num::==}(null) ?{core::num*} let final core::num* #t260 = self::getNum() as{TypeError} core::double* in let final void #t261 = this.{self::Test9::[]=}(#t258, #t260) in #t260 : #t259;
- core::double* v6 = let final core::String* #t262 = "x" in let final core::double* #t263 = this.{self::Test9::[]}(#t262) in #t263.{core::num::==}(null) ?{core::double*} let final core::double* #t264 = self::getDouble() in let final void #t265 = this.{self::Test9::[]=}(#t262, #t264) in #t264 : #t263;
- core::double* v7 = let final core::String* #t266 = "x" in let final core::double* #t267 = this.{self::Test9::[]}(#t266).{core::double::+}(self::getInt()) in let final void #t268 = this.{self::Test9::[]=}(#t266, #t267) in #t267;
- core::double* v8 = let final core::String* #t269 = "x" in let final core::double* #t270 = this.{self::Test9::[]}(#t269).{core::double::+}(self::getNum()) in let final void #t271 = this.{self::Test9::[]=}(#t269, #t270) in #t270;
- core::double* v9 = let final core::String* #t272 = "x" in let final core::double* #t273 = this.{self::Test9::[]}(#t272).{core::double::+}(self::getDouble()) in let final void #t274 = this.{self::Test9::[]=}(#t272, #t273) in #t273;
- core::double* v10 = let final core::String* #t275 = "x" in let final core::double* #t276 = this.{self::Test9::[]}(#t275).{core::double::+}(1) in let final void #t277 = this.{self::Test9::[]=}(#t275, #t276) in #t276;
- core::double* v11 = let final core::String* #t278 = "x" in let final core::double* #t279 = this.{self::Test9::[]}(#t278) in let final void #t280 = this.{self::Test9::[]=}(#t278, #t279.{core::double::+}(1)) in #t279;
+ core::num* v2 = let final core::String* #t252 = "x" in let final core::num* #t253 = self::getNum() as{TypeError} core::double* in let final void #t254 = this.{self::Test9::[]=}(#t252, #t253){(core::String*, core::double*) →* void} in #t253;
+ core::double* v3 = let final core::String* #t255 = "x" in let final core::double* #t256 = self::getDouble() in let final void #t257 = this.{self::Test9::[]=}(#t255, #t256){(core::String*, core::double*) →* void} in #t256;
+ core::num* v5 = let final core::String* #t258 = "x" in let final core::double* #t259 = this.{self::Test9::[]}(#t258){(core::String*) →* core::double*} in #t259 == null ?{core::num*} let final core::num* #t260 = self::getNum() as{TypeError} core::double* in let final void #t261 = this.{self::Test9::[]=}(#t258, #t260){(core::String*, core::double*) →* void} in #t260 : #t259;
+ core::double* v6 = let final core::String* #t262 = "x" in let final core::double* #t263 = this.{self::Test9::[]}(#t262){(core::String*) →* core::double*} in #t263 == null ?{core::double*} let final core::double* #t264 = self::getDouble() in let final void #t265 = this.{self::Test9::[]=}(#t262, #t264){(core::String*, core::double*) →* void} in #t264 : #t263;
+ core::double* v7 = let final core::String* #t266 = "x" in let final core::double* #t267 = this.{self::Test9::[]}(#t266){(core::String*) →* core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t268 = this.{self::Test9::[]=}(#t266, #t267){(core::String*, core::double*) →* void} in #t267;
+ core::double* v8 = let final core::String* #t269 = "x" in let final core::double* #t270 = this.{self::Test9::[]}(#t269){(core::String*) →* core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t271 = this.{self::Test9::[]=}(#t269, #t270){(core::String*, core::double*) →* void} in #t270;
+ core::double* v9 = let final core::String* #t272 = "x" in let final core::double* #t273 = this.{self::Test9::[]}(#t272){(core::String*) →* core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t274 = this.{self::Test9::[]=}(#t272, #t273){(core::String*, core::double*) →* void} in #t273;
+ core::double* v10 = let final core::String* #t275 = "x" in let final core::double* #t276 = this.{self::Test9::[]}(#t275){(core::String*) →* core::double*}.{core::double::+}(1){(core::num*) →* core::double*} in let final void #t277 = this.{self::Test9::[]=}(#t275, #t276){(core::String*, core::double*) →* void} in #t276;
+ core::double* v11 = let final core::String* #t278 = "x" in let final core::double* #t279 = this.{self::Test9::[]}(#t278){(core::String*) →* core::double*} in let final void #t280 = this.{self::Test9::[]=}(#t278, #t279.{core::double::+}(1){(core::num*) →* core::double*}){(core::String*, core::double*) →* void} in #t279;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.weak.expect
index 1b6692bb..fcc9cd1 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.weak.expect
@@ -57,119 +57,119 @@
static method getDouble() → core::double*
return 0.0;
static method test1(self::Test<core::int*, core::int*>* t) → void {
- core::int* v1 = let final self::Test<core::int*, core::int*>* #t1 = t in let final core::String* #t2 = "x" in let final core::int* #t3 = self::getInt() in let final void #t4 = #t1.{self::Test::[]=}(#t2, #t3) in #t3;
- core::num* v2 = let final self::Test<core::int*, core::int*>* #t5 = t in let final core::String* #t6 = "x" in let final core::num* #t7 = self::getNum() as{TypeError} core::int* in let final void #t8 = #t5.{self::Test::[]=}(#t6, #t7) in #t7;
- core::int* v4 = let final self::Test<core::int*, core::int*>* #t9 = t in let final core::String* #t10 = "x" in let final core::int* #t11 = #t9.{self::Test::[]}(#t10) in #t11.{core::num::==}(null) ?{core::int*} let final core::int* #t12 = self::getInt() in let final void #t13 = #t9.{self::Test::[]=}(#t10, #t12) in #t12 : #t11;
- core::num* v5 = let final self::Test<core::int*, core::int*>* #t14 = t in let final core::String* #t15 = "x" in let final core::int* #t16 = #t14.{self::Test::[]}(#t15) in #t16.{core::num::==}(null) ?{core::num*} let final core::num* #t17 = self::getNum() as{TypeError} core::int* in let final void #t18 = #t14.{self::Test::[]=}(#t15, #t17) in #t17 : #t16;
- core::int* v7 = let final self::Test<core::int*, core::int*>* #t19 = t in let final core::String* #t20 = "x" in let final core::int* #t21 = #t19.{self::Test::[]}(#t20).{core::num::+}(self::getInt()) in let final void #t22 = #t19.{self::Test::[]=}(#t20, #t21) in #t21;
- core::num* v8 = let final self::Test<core::int*, core::int*>* #t23 = t in let final core::String* #t24 = "x" in let final core::num* #t25 = #t23.{self::Test::[]}(#t24).{core::num::+}(self::getNum()) as{TypeError} core::int* in let final void #t26 = #t23.{self::Test::[]=}(#t24, #t25) in #t25;
- core::int* v10 = let final self::Test<core::int*, core::int*>* #t27 = t in let final core::String* #t28 = "x" in let final core::int* #t29 = #t27.{self::Test::[]}(#t28).{core::num::+}(1) in let final void #t30 = #t27.{self::Test::[]=}(#t28, #t29) in #t29;
- core::int* v11 = let final self::Test<core::int*, core::int*>* #t31 = t in let final core::String* #t32 = "x" in let final core::int* #t33 = #t31.{self::Test::[]}(#t32) in let final void #t34 = #t31.{self::Test::[]=}(#t32, #t33.{core::num::+}(1)) in #t33;
+ core::int* v1 = let final self::Test<core::int*, core::int*>* #t1 = t in let final core::String* #t2 = "x" in let final core::int* #t3 = self::getInt() in let final void #t4 = #t1.{self::Test::[]=}(#t2, #t3){(core::String*, core::int*) →* void} in #t3;
+ core::num* v2 = let final self::Test<core::int*, core::int*>* #t5 = t in let final core::String* #t6 = "x" in let final core::num* #t7 = self::getNum() as{TypeError} core::int* in let final void #t8 = #t5.{self::Test::[]=}(#t6, #t7){(core::String*, core::int*) →* void} in #t7;
+ core::int* v4 = let final self::Test<core::int*, core::int*>* #t9 = t in let final core::String* #t10 = "x" in let final core::int* #t11 = #t9.{self::Test::[]}(#t10){(core::String*) →* core::int*} in #t11 == null ?{core::int*} let final core::int* #t12 = self::getInt() in let final void #t13 = #t9.{self::Test::[]=}(#t10, #t12){(core::String*, core::int*) →* void} in #t12 : #t11;
+ core::num* v5 = let final self::Test<core::int*, core::int*>* #t14 = t in let final core::String* #t15 = "x" in let final core::int* #t16 = #t14.{self::Test::[]}(#t15){(core::String*) →* core::int*} in #t16 == null ?{core::num*} let final core::num* #t17 = self::getNum() as{TypeError} core::int* in let final void #t18 = #t14.{self::Test::[]=}(#t15, #t17){(core::String*, core::int*) →* void} in #t17 : #t16;
+ core::int* v7 = let final self::Test<core::int*, core::int*>* #t19 = t in let final core::String* #t20 = "x" in let final core::int* #t21 = #t19.{self::Test::[]}(#t20){(core::String*) →* core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t22 = #t19.{self::Test::[]=}(#t20, #t21){(core::String*, core::int*) →* void} in #t21;
+ core::num* v8 = let final self::Test<core::int*, core::int*>* #t23 = t in let final core::String* #t24 = "x" in let final core::num* #t25 = #t23.{self::Test::[]}(#t24){(core::String*) →* core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t26 = #t23.{self::Test::[]=}(#t24, #t25){(core::String*, core::int*) →* void} in #t25;
+ core::int* v10 = let final self::Test<core::int*, core::int*>* #t27 = t in let final core::String* #t28 = "x" in let final core::int* #t29 = #t27.{self::Test::[]}(#t28){(core::String*) →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t30 = #t27.{self::Test::[]=}(#t28, #t29){(core::String*, core::int*) →* void} in #t29;
+ core::int* v11 = let final self::Test<core::int*, core::int*>* #t31 = t in let final core::String* #t32 = "x" in let final core::int* #t33 = #t31.{self::Test::[]}(#t32){(core::String*) →* core::int*} in let final void #t34 = #t31.{self::Test::[]=}(#t32, #t33.{core::num::+}(1){(core::num*) →* core::int*}){(core::String*, core::int*) →* void} in #t33;
}
static method test2(self::Test<core::int*, core::num*>* t) → void {
- core::int* v1 = let final self::Test<core::int*, core::num*>* #t35 = t in let final core::String* #t36 = "x" in let final core::int* #t37 = self::getInt() in let final void #t38 = #t35.{self::Test::[]=}(#t36, #t37) in #t37;
- core::num* v2 = let final self::Test<core::int*, core::num*>* #t39 = t in let final core::String* #t40 = "x" in let final core::num* #t41 = self::getNum() in let final void #t42 = #t39.{self::Test::[]=}(#t40, #t41) in #t41;
- core::double* v3 = let final self::Test<core::int*, core::num*>* #t43 = t in let final core::String* #t44 = "x" in let final core::double* #t45 = self::getDouble() in let final void #t46 = #t43.{self::Test::[]=}(#t44, #t45) in #t45;
- core::int* v4 = let final self::Test<core::int*, core::num*>* #t47 = t in let final core::String* #t48 = "x" in let final core::int* #t49 = #t47.{self::Test::[]}(#t48) in #t49.{core::num::==}(null) ?{core::int*} let final core::int* #t50 = self::getInt() in let final void #t51 = #t47.{self::Test::[]=}(#t48, #t50) in #t50 : #t49;
- core::num* v5 = let final self::Test<core::int*, core::num*>* #t52 = t in let final core::String* #t53 = "x" in let final core::int* #t54 = #t52.{self::Test::[]}(#t53) in #t54.{core::num::==}(null) ?{core::num*} let final core::num* #t55 = self::getNum() in let final void #t56 = #t52.{self::Test::[]=}(#t53, #t55) in #t55 : #t54;
- core::num* v6 = let final self::Test<core::int*, core::num*>* #t57 = t in let final core::String* #t58 = "x" in let final core::int* #t59 = #t57.{self::Test::[]}(#t58) in #t59.{core::num::==}(null) ?{core::num*} let final core::double* #t60 = self::getDouble() in let final void #t61 = #t57.{self::Test::[]=}(#t58, #t60) in #t60 : #t59;
- core::int* v7 = let final self::Test<core::int*, core::num*>* #t62 = t in let final core::String* #t63 = "x" in let final core::int* #t64 = #t62.{self::Test::[]}(#t63).{core::num::+}(self::getInt()) in let final void #t65 = #t62.{self::Test::[]=}(#t63, #t64) in #t64;
- core::num* v8 = let final self::Test<core::int*, core::num*>* #t66 = t in let final core::String* #t67 = "x" in let final core::num* #t68 = #t66.{self::Test::[]}(#t67).{core::num::+}(self::getNum()) in let final void #t69 = #t66.{self::Test::[]=}(#t67, #t68) in #t68;
- core::double* v9 = let final self::Test<core::int*, core::num*>* #t70 = t in let final core::String* #t71 = "x" in let final core::double* #t72 = #t70.{self::Test::[]}(#t71).{core::num::+}(self::getDouble()) in let final void #t73 = #t70.{self::Test::[]=}(#t71, #t72) in #t72;
- core::int* v10 = let final self::Test<core::int*, core::num*>* #t74 = t in let final core::String* #t75 = "x" in let final core::int* #t76 = #t74.{self::Test::[]}(#t75).{core::num::+}(1) in let final void #t77 = #t74.{self::Test::[]=}(#t75, #t76) in #t76;
- core::int* v11 = let final self::Test<core::int*, core::num*>* #t78 = t in let final core::String* #t79 = "x" in let final core::int* #t80 = #t78.{self::Test::[]}(#t79) in let final void #t81 = #t78.{self::Test::[]=}(#t79, #t80.{core::num::+}(1)) in #t80;
+ core::int* v1 = let final self::Test<core::int*, core::num*>* #t35 = t in let final core::String* #t36 = "x" in let final core::int* #t37 = self::getInt() in let final void #t38 = #t35.{self::Test::[]=}(#t36, #t37){(core::String*, core::num*) →* void} in #t37;
+ core::num* v2 = let final self::Test<core::int*, core::num*>* #t39 = t in let final core::String* #t40 = "x" in let final core::num* #t41 = self::getNum() in let final void #t42 = #t39.{self::Test::[]=}(#t40, #t41){(core::String*, core::num*) →* void} in #t41;
+ core::double* v3 = let final self::Test<core::int*, core::num*>* #t43 = t in let final core::String* #t44 = "x" in let final core::double* #t45 = self::getDouble() in let final void #t46 = #t43.{self::Test::[]=}(#t44, #t45){(core::String*, core::num*) →* void} in #t45;
+ core::int* v4 = let final self::Test<core::int*, core::num*>* #t47 = t in let final core::String* #t48 = "x" in let final core::int* #t49 = #t47.{self::Test::[]}(#t48){(core::String*) →* core::int*} in #t49 == null ?{core::int*} let final core::int* #t50 = self::getInt() in let final void #t51 = #t47.{self::Test::[]=}(#t48, #t50){(core::String*, core::num*) →* void} in #t50 : #t49;
+ core::num* v5 = let final self::Test<core::int*, core::num*>* #t52 = t in let final core::String* #t53 = "x" in let final core::int* #t54 = #t52.{self::Test::[]}(#t53){(core::String*) →* core::int*} in #t54 == null ?{core::num*} let final core::num* #t55 = self::getNum() in let final void #t56 = #t52.{self::Test::[]=}(#t53, #t55){(core::String*, core::num*) →* void} in #t55 : #t54;
+ core::num* v6 = let final self::Test<core::int*, core::num*>* #t57 = t in let final core::String* #t58 = "x" in let final core::int* #t59 = #t57.{self::Test::[]}(#t58){(core::String*) →* core::int*} in #t59 == null ?{core::num*} let final core::double* #t60 = self::getDouble() in let final void #t61 = #t57.{self::Test::[]=}(#t58, #t60){(core::String*, core::num*) →* void} in #t60 : #t59;
+ core::int* v7 = let final self::Test<core::int*, core::num*>* #t62 = t in let final core::String* #t63 = "x" in let final core::int* #t64 = #t62.{self::Test::[]}(#t63){(core::String*) →* core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t65 = #t62.{self::Test::[]=}(#t63, #t64){(core::String*, core::num*) →* void} in #t64;
+ core::num* v8 = let final self::Test<core::int*, core::num*>* #t66 = t in let final core::String* #t67 = "x" in let final core::num* #t68 = #t66.{self::Test::[]}(#t67){(core::String*) →* core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t69 = #t66.{self::Test::[]=}(#t67, #t68){(core::String*, core::num*) →* void} in #t68;
+ core::double* v9 = let final self::Test<core::int*, core::num*>* #t70 = t in let final core::String* #t71 = "x" in let final core::double* #t72 = #t70.{self::Test::[]}(#t71){(core::String*) →* core::int*}.{core::num::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t73 = #t70.{self::Test::[]=}(#t71, #t72){(core::String*, core::num*) →* void} in #t72;
+ core::int* v10 = let final self::Test<core::int*, core::num*>* #t74 = t in let final core::String* #t75 = "x" in let final core::int* #t76 = #t74.{self::Test::[]}(#t75){(core::String*) →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t77 = #t74.{self::Test::[]=}(#t75, #t76){(core::String*, core::num*) →* void} in #t76;
+ core::int* v11 = let final self::Test<core::int*, core::num*>* #t78 = t in let final core::String* #t79 = "x" in let final core::int* #t80 = #t78.{self::Test::[]}(#t79){(core::String*) →* core::int*} in let final void #t81 = #t78.{self::Test::[]=}(#t79, #t80.{core::num::+}(1){(core::num*) →* core::int*}){(core::String*, core::num*) →* void} in #t80;
}
static method test3(self::Test<core::int*, core::double*>* t) → void {
- core::num* v2 = let final self::Test<core::int*, core::double*>* #t82 = t in let final core::String* #t83 = "x" in let final core::num* #t84 = self::getNum() as{TypeError} core::double* in let final void #t85 = #t82.{self::Test::[]=}(#t83, #t84) in #t84;
- core::double* v3 = let final self::Test<core::int*, core::double*>* #t86 = t in let final core::String* #t87 = "x" in let final core::double* #t88 = self::getDouble() in let final void #t89 = #t86.{self::Test::[]=}(#t87, #t88) in #t88;
- core::num* v5 = let final self::Test<core::int*, core::double*>* #t90 = t in let final core::String* #t91 = "x" in let final core::int* #t92 = #t90.{self::Test::[]}(#t91) in #t92.{core::num::==}(null) ?{core::num*} let final core::num* #t93 = self::getNum() as{TypeError} core::double* in let final void #t94 = #t90.{self::Test::[]=}(#t91, #t93) in #t93 : #t92;
- core::num* v6 = let final self::Test<core::int*, core::double*>* #t95 = t in let final core::String* #t96 = "x" in let final core::int* #t97 = #t95.{self::Test::[]}(#t96) in #t97.{core::num::==}(null) ?{core::num*} let final core::double* #t98 = self::getDouble() in let final void #t99 = #t95.{self::Test::[]=}(#t96, #t98) in #t98 : #t97;
+ core::num* v2 = let final self::Test<core::int*, core::double*>* #t82 = t in let final core::String* #t83 = "x" in let final core::num* #t84 = self::getNum() as{TypeError} core::double* in let final void #t85 = #t82.{self::Test::[]=}(#t83, #t84){(core::String*, core::double*) →* void} in #t84;
+ core::double* v3 = let final self::Test<core::int*, core::double*>* #t86 = t in let final core::String* #t87 = "x" in let final core::double* #t88 = self::getDouble() in let final void #t89 = #t86.{self::Test::[]=}(#t87, #t88){(core::String*, core::double*) →* void} in #t88;
+ core::num* v5 = let final self::Test<core::int*, core::double*>* #t90 = t in let final core::String* #t91 = "x" in let final core::int* #t92 = #t90.{self::Test::[]}(#t91){(core::String*) →* core::int*} in #t92 == null ?{core::num*} let final core::num* #t93 = self::getNum() as{TypeError} core::double* in let final void #t94 = #t90.{self::Test::[]=}(#t91, #t93){(core::String*, core::double*) →* void} in #t93 : #t92;
+ core::num* v6 = let final self::Test<core::int*, core::double*>* #t95 = t in let final core::String* #t96 = "x" in let final core::int* #t97 = #t95.{self::Test::[]}(#t96){(core::String*) →* core::int*} in #t97 == null ?{core::num*} let final core::double* #t98 = self::getDouble() in let final void #t99 = #t95.{self::Test::[]=}(#t96, #t98){(core::String*, core::double*) →* void} in #t98 : #t97;
core::int* v7 = let final self::Test<core::int*, core::double*>* #t100 = t in let final core::String* #t101 = "x" in let final core::int* #t102 = let final Never* #t103 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart:90:74: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
t /*@target=Test.[]*/ /*@target=Test.[]=*/ ['x'] /*@target=num.+*/ +=
- ^" in #t100.{self::Test::[]}(#t101).{core::num::+}(self::getInt()) as{TypeError} core::double* in let final void #t104 = #t100.{self::Test::[]=}(#t101, #t102) in #t102;
- core::num* v8 = let final self::Test<core::int*, core::double*>* #t105 = t in let final core::String* #t106 = "x" in let final core::num* #t107 = #t105.{self::Test::[]}(#t106).{core::num::+}(self::getNum()) as{TypeError} core::double* in let final void #t108 = #t105.{self::Test::[]=}(#t106, #t107) in #t107;
- core::double* v9 = let final self::Test<core::int*, core::double*>* #t109 = t in let final core::String* #t110 = "x" in let final core::double* #t111 = #t109.{self::Test::[]}(#t110).{core::num::+}(self::getDouble()) in let final void #t112 = #t109.{self::Test::[]=}(#t110, #t111) in #t111;
+ ^" in #t100.{self::Test::[]}(#t101){(core::String*) →* core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} as{TypeError} core::double* in let final void #t104 = #t100.{self::Test::[]=}(#t101, #t102){(core::String*, core::double*) →* void} in #t102;
+ core::num* v8 = let final self::Test<core::int*, core::double*>* #t105 = t in let final core::String* #t106 = "x" in let final core::num* #t107 = #t105.{self::Test::[]}(#t106){(core::String*) →* core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t108 = #t105.{self::Test::[]=}(#t106, #t107){(core::String*, core::double*) →* void} in #t107;
+ core::double* v9 = let final self::Test<core::int*, core::double*>* #t109 = t in let final core::String* #t110 = "x" in let final core::double* #t111 = #t109.{self::Test::[]}(#t110){(core::String*) →* core::int*}.{core::num::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t112 = #t109.{self::Test::[]=}(#t110, #t111){(core::String*, core::double*) →* void} in #t111;
core::int* v10 = let final self::Test<core::int*, core::double*>* #t113 = t in let final core::String* #t114 = "x" in let final core::int* #t115 = let final Never* #t116 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart:102:25: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
/*@target=num.+*/ ++t /*@target=Test.[]*/ /*@target=Test.[]=*/ ['x'];
- ^" in #t113.{self::Test::[]}(#t114).{core::num::+}(1) as{TypeError} core::double* in let final void #t117 = #t113.{self::Test::[]=}(#t114, #t115) in #t115;
- core::int* v11 = let final self::Test<core::int*, core::double*>* #t118 = t in let final core::String* #t119 = "x" in let final core::int* #t120 = #t118.{self::Test::[]}(#t119) in let final void #t121 = #t118.{self::Test::[]=}(#t119, let final Never* #t122 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart:105:74: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
+ ^" in #t113.{self::Test::[]}(#t114){(core::String*) →* core::int*}.{core::num::+}(1){(core::num*) →* core::int*} as{TypeError} core::double* in let final void #t117 = #t113.{self::Test::[]=}(#t114, #t115){(core::String*, core::double*) →* void} in #t115;
+ core::int* v11 = let final self::Test<core::int*, core::double*>* #t118 = t in let final core::String* #t119 = "x" in let final core::int* #t120 = #t118.{self::Test::[]}(#t119){(core::String*) →* core::int*} in let final void #t121 = #t118.{self::Test::[]=}(#t119, let final Never* #t122 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart:105:74: Error: A value of type 'int' can't be assigned to a variable of type 'double'.
t /*@target=Test.[]*/ /*@target=Test.[]=*/ ['x'] /*@target=num.+*/ ++;
- ^" in #t120.{core::num::+}(1) as{TypeError} core::double*) in #t120;
+ ^" in #t120.{core::num::+}(1){(core::num*) →* core::int*} as{TypeError} core::double*){(core::String*, core::double*) →* void} in #t120;
}
static method test4(self::Test<core::num*, core::int*>* t) → void {
- core::int* v1 = let final self::Test<core::num*, core::int*>* #t123 = t in let final core::String* #t124 = "x" in let final core::int* #t125 = self::getInt() in let final void #t126 = #t123.{self::Test::[]=}(#t124, #t125) in #t125;
- core::num* v2 = let final self::Test<core::num*, core::int*>* #t127 = t in let final core::String* #t128 = "x" in let final core::num* #t129 = self::getNum() as{TypeError} core::int* in let final void #t130 = #t127.{self::Test::[]=}(#t128, #t129) in #t129;
- core::num* v4 = let final self::Test<core::num*, core::int*>* #t131 = t in let final core::String* #t132 = "x" in let final core::num* #t133 = #t131.{self::Test::[]}(#t132) in #t133.{core::num::==}(null) ?{core::num*} let final core::int* #t134 = self::getInt() in let final void #t135 = #t131.{self::Test::[]=}(#t132, #t134) in #t134 : #t133;
- core::num* v5 = let final self::Test<core::num*, core::int*>* #t136 = t in let final core::String* #t137 = "x" in let final core::num* #t138 = #t136.{self::Test::[]}(#t137) in #t138.{core::num::==}(null) ?{core::num*} let final core::num* #t139 = self::getNum() as{TypeError} core::int* in let final void #t140 = #t136.{self::Test::[]=}(#t137, #t139) in #t139 : #t138;
- core::num* v7 = let final self::Test<core::num*, core::int*>* #t141 = t in let final core::String* #t142 = "x" in let final core::num* #t143 = #t141.{self::Test::[]}(#t142).{core::num::+}(self::getInt()) as{TypeError} core::int* in let final void #t144 = #t141.{self::Test::[]=}(#t142, #t143) in #t143;
- core::num* v8 = let final self::Test<core::num*, core::int*>* #t145 = t in let final core::String* #t146 = "x" in let final core::num* #t147 = #t145.{self::Test::[]}(#t146).{core::num::+}(self::getNum()) as{TypeError} core::int* in let final void #t148 = #t145.{self::Test::[]=}(#t146, #t147) in #t147;
- core::num* v10 = let final self::Test<core::num*, core::int*>* #t149 = t in let final core::String* #t150 = "x" in let final core::num* #t151 = #t149.{self::Test::[]}(#t150).{core::num::+}(1) as{TypeError} core::int* in let final void #t152 = #t149.{self::Test::[]=}(#t150, #t151) in #t151;
- core::num* v11 = let final self::Test<core::num*, core::int*>* #t153 = t in let final core::String* #t154 = "x" in let final core::num* #t155 = #t153.{self::Test::[]}(#t154) in let final void #t156 = #t153.{self::Test::[]=}(#t154, #t155.{core::num::+}(1) as{TypeError} core::int*) in #t155;
+ core::int* v1 = let final self::Test<core::num*, core::int*>* #t123 = t in let final core::String* #t124 = "x" in let final core::int* #t125 = self::getInt() in let final void #t126 = #t123.{self::Test::[]=}(#t124, #t125){(core::String*, core::int*) →* void} in #t125;
+ core::num* v2 = let final self::Test<core::num*, core::int*>* #t127 = t in let final core::String* #t128 = "x" in let final core::num* #t129 = self::getNum() as{TypeError} core::int* in let final void #t130 = #t127.{self::Test::[]=}(#t128, #t129){(core::String*, core::int*) →* void} in #t129;
+ core::num* v4 = let final self::Test<core::num*, core::int*>* #t131 = t in let final core::String* #t132 = "x" in let final core::num* #t133 = #t131.{self::Test::[]}(#t132){(core::String*) →* core::num*} in #t133 == null ?{core::num*} let final core::int* #t134 = self::getInt() in let final void #t135 = #t131.{self::Test::[]=}(#t132, #t134){(core::String*, core::int*) →* void} in #t134 : #t133;
+ core::num* v5 = let final self::Test<core::num*, core::int*>* #t136 = t in let final core::String* #t137 = "x" in let final core::num* #t138 = #t136.{self::Test::[]}(#t137){(core::String*) →* core::num*} in #t138 == null ?{core::num*} let final core::num* #t139 = self::getNum() as{TypeError} core::int* in let final void #t140 = #t136.{self::Test::[]=}(#t137, #t139){(core::String*, core::int*) →* void} in #t139 : #t138;
+ core::num* v7 = let final self::Test<core::num*, core::int*>* #t141 = t in let final core::String* #t142 = "x" in let final core::num* #t143 = #t141.{self::Test::[]}(#t142){(core::String*) →* core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t144 = #t141.{self::Test::[]=}(#t142, #t143){(core::String*, core::int*) →* void} in #t143;
+ core::num* v8 = let final self::Test<core::num*, core::int*>* #t145 = t in let final core::String* #t146 = "x" in let final core::num* #t147 = #t145.{self::Test::[]}(#t146){(core::String*) →* core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t148 = #t145.{self::Test::[]=}(#t146, #t147){(core::String*, core::int*) →* void} in #t147;
+ core::num* v10 = let final self::Test<core::num*, core::int*>* #t149 = t in let final core::String* #t150 = "x" in let final core::num* #t151 = #t149.{self::Test::[]}(#t150){(core::String*) →* core::num*}.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t152 = #t149.{self::Test::[]=}(#t150, #t151){(core::String*, core::int*) →* void} in #t151;
+ core::num* v11 = let final self::Test<core::num*, core::int*>* #t153 = t in let final core::String* #t154 = "x" in let final core::num* #t155 = #t153.{self::Test::[]}(#t154){(core::String*) →* core::num*} in let final void #t156 = #t153.{self::Test::[]=}(#t154, #t155.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::int*){(core::String*, core::int*) →* void} in #t155;
}
static method test5(self::Test<core::num*, core::num*>* t) → void {
- core::int* v1 = let final self::Test<core::num*, core::num*>* #t157 = t in let final core::String* #t158 = "x" in let final core::int* #t159 = self::getInt() in let final void #t160 = #t157.{self::Test::[]=}(#t158, #t159) in #t159;
- core::num* v2 = let final self::Test<core::num*, core::num*>* #t161 = t in let final core::String* #t162 = "x" in let final core::num* #t163 = self::getNum() in let final void #t164 = #t161.{self::Test::[]=}(#t162, #t163) in #t163;
- core::double* v3 = let final self::Test<core::num*, core::num*>* #t165 = t in let final core::String* #t166 = "x" in let final core::double* #t167 = self::getDouble() in let final void #t168 = #t165.{self::Test::[]=}(#t166, #t167) in #t167;
- core::num* v4 = let final self::Test<core::num*, core::num*>* #t169 = t in let final core::String* #t170 = "x" in let final core::num* #t171 = #t169.{self::Test::[]}(#t170) in #t171.{core::num::==}(null) ?{core::num*} let final core::int* #t172 = self::getInt() in let final void #t173 = #t169.{self::Test::[]=}(#t170, #t172) in #t172 : #t171;
- core::num* v5 = let final self::Test<core::num*, core::num*>* #t174 = t in let final core::String* #t175 = "x" in let final core::num* #t176 = #t174.{self::Test::[]}(#t175) in #t176.{core::num::==}(null) ?{core::num*} let final core::num* #t177 = self::getNum() in let final void #t178 = #t174.{self::Test::[]=}(#t175, #t177) in #t177 : #t176;
- core::num* v6 = let final self::Test<core::num*, core::num*>* #t179 = t in let final core::String* #t180 = "x" in let final core::num* #t181 = #t179.{self::Test::[]}(#t180) in #t181.{core::num::==}(null) ?{core::num*} let final core::double* #t182 = self::getDouble() in let final void #t183 = #t179.{self::Test::[]=}(#t180, #t182) in #t182 : #t181;
- core::num* v7 = let final self::Test<core::num*, core::num*>* #t184 = t in let final core::String* #t185 = "x" in let final core::num* #t186 = #t184.{self::Test::[]}(#t185).{core::num::+}(self::getInt()) in let final void #t187 = #t184.{self::Test::[]=}(#t185, #t186) in #t186;
- core::num* v8 = let final self::Test<core::num*, core::num*>* #t188 = t in let final core::String* #t189 = "x" in let final core::num* #t190 = #t188.{self::Test::[]}(#t189).{core::num::+}(self::getNum()) in let final void #t191 = #t188.{self::Test::[]=}(#t189, #t190) in #t190;
- core::num* v9 = let final self::Test<core::num*, core::num*>* #t192 = t in let final core::String* #t193 = "x" in let final core::num* #t194 = #t192.{self::Test::[]}(#t193).{core::num::+}(self::getDouble()) in let final void #t195 = #t192.{self::Test::[]=}(#t193, #t194) in #t194;
- core::num* v10 = let final self::Test<core::num*, core::num*>* #t196 = t in let final core::String* #t197 = "x" in let final core::num* #t198 = #t196.{self::Test::[]}(#t197).{core::num::+}(1) in let final void #t199 = #t196.{self::Test::[]=}(#t197, #t198) in #t198;
- core::num* v11 = let final self::Test<core::num*, core::num*>* #t200 = t in let final core::String* #t201 = "x" in let final core::num* #t202 = #t200.{self::Test::[]}(#t201) in let final void #t203 = #t200.{self::Test::[]=}(#t201, #t202.{core::num::+}(1)) in #t202;
+ core::int* v1 = let final self::Test<core::num*, core::num*>* #t157 = t in let final core::String* #t158 = "x" in let final core::int* #t159 = self::getInt() in let final void #t160 = #t157.{self::Test::[]=}(#t158, #t159){(core::String*, core::num*) →* void} in #t159;
+ core::num* v2 = let final self::Test<core::num*, core::num*>* #t161 = t in let final core::String* #t162 = "x" in let final core::num* #t163 = self::getNum() in let final void #t164 = #t161.{self::Test::[]=}(#t162, #t163){(core::String*, core::num*) →* void} in #t163;
+ core::double* v3 = let final self::Test<core::num*, core::num*>* #t165 = t in let final core::String* #t166 = "x" in let final core::double* #t167 = self::getDouble() in let final void #t168 = #t165.{self::Test::[]=}(#t166, #t167){(core::String*, core::num*) →* void} in #t167;
+ core::num* v4 = let final self::Test<core::num*, core::num*>* #t169 = t in let final core::String* #t170 = "x" in let final core::num* #t171 = #t169.{self::Test::[]}(#t170){(core::String*) →* core::num*} in #t171 == null ?{core::num*} let final core::int* #t172 = self::getInt() in let final void #t173 = #t169.{self::Test::[]=}(#t170, #t172){(core::String*, core::num*) →* void} in #t172 : #t171;
+ core::num* v5 = let final self::Test<core::num*, core::num*>* #t174 = t in let final core::String* #t175 = "x" in let final core::num* #t176 = #t174.{self::Test::[]}(#t175){(core::String*) →* core::num*} in #t176 == null ?{core::num*} let final core::num* #t177 = self::getNum() in let final void #t178 = #t174.{self::Test::[]=}(#t175, #t177){(core::String*, core::num*) →* void} in #t177 : #t176;
+ core::num* v6 = let final self::Test<core::num*, core::num*>* #t179 = t in let final core::String* #t180 = "x" in let final core::num* #t181 = #t179.{self::Test::[]}(#t180){(core::String*) →* core::num*} in #t181 == null ?{core::num*} let final core::double* #t182 = self::getDouble() in let final void #t183 = #t179.{self::Test::[]=}(#t180, #t182){(core::String*, core::num*) →* void} in #t182 : #t181;
+ core::num* v7 = let final self::Test<core::num*, core::num*>* #t184 = t in let final core::String* #t185 = "x" in let final core::num* #t186 = #t184.{self::Test::[]}(#t185){(core::String*) →* core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} in let final void #t187 = #t184.{self::Test::[]=}(#t185, #t186){(core::String*, core::num*) →* void} in #t186;
+ core::num* v8 = let final self::Test<core::num*, core::num*>* #t188 = t in let final core::String* #t189 = "x" in let final core::num* #t190 = #t188.{self::Test::[]}(#t189){(core::String*) →* core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t191 = #t188.{self::Test::[]=}(#t189, #t190){(core::String*, core::num*) →* void} in #t190;
+ core::num* v9 = let final self::Test<core::num*, core::num*>* #t192 = t in let final core::String* #t193 = "x" in let final core::num* #t194 = #t192.{self::Test::[]}(#t193){(core::String*) →* core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*} in let final void #t195 = #t192.{self::Test::[]=}(#t193, #t194){(core::String*, core::num*) →* void} in #t194;
+ core::num* v10 = let final self::Test<core::num*, core::num*>* #t196 = t in let final core::String* #t197 = "x" in let final core::num* #t198 = #t196.{self::Test::[]}(#t197){(core::String*) →* core::num*}.{core::num::+}(1){(core::num*) →* core::num*} in let final void #t199 = #t196.{self::Test::[]=}(#t197, #t198){(core::String*, core::num*) →* void} in #t198;
+ core::num* v11 = let final self::Test<core::num*, core::num*>* #t200 = t in let final core::String* #t201 = "x" in let final core::num* #t202 = #t200.{self::Test::[]}(#t201){(core::String*) →* core::num*} in let final void #t203 = #t200.{self::Test::[]=}(#t201, #t202.{core::num::+}(1){(core::num*) →* core::num*}){(core::String*, core::num*) →* void} in #t202;
}
static method test6(self::Test<core::num*, core::double*>* t) → void {
- core::num* v2 = let final self::Test<core::num*, core::double*>* #t204 = t in let final core::String* #t205 = "x" in let final core::num* #t206 = self::getNum() as{TypeError} core::double* in let final void #t207 = #t204.{self::Test::[]=}(#t205, #t206) in #t206;
- core::double* v3 = let final self::Test<core::num*, core::double*>* #t208 = t in let final core::String* #t209 = "x" in let final core::double* #t210 = self::getDouble() in let final void #t211 = #t208.{self::Test::[]=}(#t209, #t210) in #t210;
- core::num* v5 = let final self::Test<core::num*, core::double*>* #t212 = t in let final core::String* #t213 = "x" in let final core::num* #t214 = #t212.{self::Test::[]}(#t213) in #t214.{core::num::==}(null) ?{core::num*} let final core::num* #t215 = self::getNum() as{TypeError} core::double* in let final void #t216 = #t212.{self::Test::[]=}(#t213, #t215) in #t215 : #t214;
- core::num* v6 = let final self::Test<core::num*, core::double*>* #t217 = t in let final core::String* #t218 = "x" in let final core::num* #t219 = #t217.{self::Test::[]}(#t218) in #t219.{core::num::==}(null) ?{core::num*} let final core::double* #t220 = self::getDouble() in let final void #t221 = #t217.{self::Test::[]=}(#t218, #t220) in #t220 : #t219;
- core::num* v7 = let final self::Test<core::num*, core::double*>* #t222 = t in let final core::String* #t223 = "x" in let final core::num* #t224 = #t222.{self::Test::[]}(#t223).{core::num::+}(self::getInt()) as{TypeError} core::double* in let final void #t225 = #t222.{self::Test::[]=}(#t223, #t224) in #t224;
- core::num* v8 = let final self::Test<core::num*, core::double*>* #t226 = t in let final core::String* #t227 = "x" in let final core::num* #t228 = #t226.{self::Test::[]}(#t227).{core::num::+}(self::getNum()) as{TypeError} core::double* in let final void #t229 = #t226.{self::Test::[]=}(#t227, #t228) in #t228;
- core::num* v9 = let final self::Test<core::num*, core::double*>* #t230 = t in let final core::String* #t231 = "x" in let final core::num* #t232 = #t230.{self::Test::[]}(#t231).{core::num::+}(self::getDouble()) as{TypeError} core::double* in let final void #t233 = #t230.{self::Test::[]=}(#t231, #t232) in #t232;
- core::num* v10 = let final self::Test<core::num*, core::double*>* #t234 = t in let final core::String* #t235 = "x" in let final core::num* #t236 = #t234.{self::Test::[]}(#t235).{core::num::+}(1) as{TypeError} core::double* in let final void #t237 = #t234.{self::Test::[]=}(#t235, #t236) in #t236;
- core::num* v11 = let final self::Test<core::num*, core::double*>* #t238 = t in let final core::String* #t239 = "x" in let final core::num* #t240 = #t238.{self::Test::[]}(#t239) in let final void #t241 = #t238.{self::Test::[]=}(#t239, #t240.{core::num::+}(1) as{TypeError} core::double*) in #t240;
+ core::num* v2 = let final self::Test<core::num*, core::double*>* #t204 = t in let final core::String* #t205 = "x" in let final core::num* #t206 = self::getNum() as{TypeError} core::double* in let final void #t207 = #t204.{self::Test::[]=}(#t205, #t206){(core::String*, core::double*) →* void} in #t206;
+ core::double* v3 = let final self::Test<core::num*, core::double*>* #t208 = t in let final core::String* #t209 = "x" in let final core::double* #t210 = self::getDouble() in let final void #t211 = #t208.{self::Test::[]=}(#t209, #t210){(core::String*, core::double*) →* void} in #t210;
+ core::num* v5 = let final self::Test<core::num*, core::double*>* #t212 = t in let final core::String* #t213 = "x" in let final core::num* #t214 = #t212.{self::Test::[]}(#t213){(core::String*) →* core::num*} in #t214 == null ?{core::num*} let final core::num* #t215 = self::getNum() as{TypeError} core::double* in let final void #t216 = #t212.{self::Test::[]=}(#t213, #t215){(core::String*, core::double*) →* void} in #t215 : #t214;
+ core::num* v6 = let final self::Test<core::num*, core::double*>* #t217 = t in let final core::String* #t218 = "x" in let final core::num* #t219 = #t217.{self::Test::[]}(#t218){(core::String*) →* core::num*} in #t219 == null ?{core::num*} let final core::double* #t220 = self::getDouble() in let final void #t221 = #t217.{self::Test::[]=}(#t218, #t220){(core::String*, core::double*) →* void} in #t220 : #t219;
+ core::num* v7 = let final self::Test<core::num*, core::double*>* #t222 = t in let final core::String* #t223 = "x" in let final core::num* #t224 = #t222.{self::Test::[]}(#t223){(core::String*) →* core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t225 = #t222.{self::Test::[]=}(#t223, #t224){(core::String*, core::double*) →* void} in #t224;
+ core::num* v8 = let final self::Test<core::num*, core::double*>* #t226 = t in let final core::String* #t227 = "x" in let final core::num* #t228 = #t226.{self::Test::[]}(#t227){(core::String*) →* core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t229 = #t226.{self::Test::[]=}(#t227, #t228){(core::String*, core::double*) →* void} in #t228;
+ core::num* v9 = let final self::Test<core::num*, core::double*>* #t230 = t in let final core::String* #t231 = "x" in let final core::num* #t232 = #t230.{self::Test::[]}(#t231){(core::String*) →* core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t233 = #t230.{self::Test::[]=}(#t231, #t232){(core::String*, core::double*) →* void} in #t232;
+ core::num* v10 = let final self::Test<core::num*, core::double*>* #t234 = t in let final core::String* #t235 = "x" in let final core::num* #t236 = #t234.{self::Test::[]}(#t235){(core::String*) →* core::num*}.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::double* in let final void #t237 = #t234.{self::Test::[]=}(#t235, #t236){(core::String*, core::double*) →* void} in #t236;
+ core::num* v11 = let final self::Test<core::num*, core::double*>* #t238 = t in let final core::String* #t239 = "x" in let final core::num* #t240 = #t238.{self::Test::[]}(#t239){(core::String*) →* core::num*} in let final void #t241 = #t238.{self::Test::[]=}(#t239, #t240.{core::num::+}(1){(core::num*) →* core::num*} as{TypeError} core::double*){(core::String*, core::double*) →* void} in #t240;
}
static method test7(self::Test<core::double*, core::int*>* t) → void {
- core::int* v1 = let final self::Test<core::double*, core::int*>* #t242 = t in let final core::String* #t243 = "x" in let final core::int* #t244 = self::getInt() in let final void #t245 = #t242.{self::Test::[]=}(#t243, #t244) in #t244;
- core::num* v2 = let final self::Test<core::double*, core::int*>* #t246 = t in let final core::String* #t247 = "x" in let final core::num* #t248 = self::getNum() as{TypeError} core::int* in let final void #t249 = #t246.{self::Test::[]=}(#t247, #t248) in #t248;
- core::num* v4 = let final self::Test<core::double*, core::int*>* #t250 = t in let final core::String* #t251 = "x" in let final core::double* #t252 = #t250.{self::Test::[]}(#t251) in #t252.{core::num::==}(null) ?{core::num*} let final core::int* #t253 = self::getInt() in let final void #t254 = #t250.{self::Test::[]=}(#t251, #t253) in #t253 : #t252;
- core::num* v5 = let final self::Test<core::double*, core::int*>* #t255 = t in let final core::String* #t256 = "x" in let final core::double* #t257 = #t255.{self::Test::[]}(#t256) in #t257.{core::num::==}(null) ?{core::num*} let final core::num* #t258 = self::getNum() as{TypeError} core::int* in let final void #t259 = #t255.{self::Test::[]=}(#t256, #t258) in #t258 : #t257;
+ core::int* v1 = let final self::Test<core::double*, core::int*>* #t242 = t in let final core::String* #t243 = "x" in let final core::int* #t244 = self::getInt() in let final void #t245 = #t242.{self::Test::[]=}(#t243, #t244){(core::String*, core::int*) →* void} in #t244;
+ core::num* v2 = let final self::Test<core::double*, core::int*>* #t246 = t in let final core::String* #t247 = "x" in let final core::num* #t248 = self::getNum() as{TypeError} core::int* in let final void #t249 = #t246.{self::Test::[]=}(#t247, #t248){(core::String*, core::int*) →* void} in #t248;
+ core::num* v4 = let final self::Test<core::double*, core::int*>* #t250 = t in let final core::String* #t251 = "x" in let final core::double* #t252 = #t250.{self::Test::[]}(#t251){(core::String*) →* core::double*} in #t252 == null ?{core::num*} let final core::int* #t253 = self::getInt() in let final void #t254 = #t250.{self::Test::[]=}(#t251, #t253){(core::String*, core::int*) →* void} in #t253 : #t252;
+ core::num* v5 = let final self::Test<core::double*, core::int*>* #t255 = t in let final core::String* #t256 = "x" in let final core::double* #t257 = #t255.{self::Test::[]}(#t256){(core::String*) →* core::double*} in #t257 == null ?{core::num*} let final core::num* #t258 = self::getNum() as{TypeError} core::int* in let final void #t259 = #t255.{self::Test::[]=}(#t256, #t258){(core::String*, core::int*) →* void} in #t258 : #t257;
core::double* v7 = let final self::Test<core::double*, core::int*>* #t260 = t in let final core::String* #t261 = "x" in let final core::double* #t262 = let final Never* #t263 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart:211:77: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
t /*@target=Test.[]*/ /*@target=Test.[]=*/ ['x'] /*@target=double.+*/ +=
- ^" in #t260.{self::Test::[]}(#t261).{core::double::+}(self::getInt()) as{TypeError} core::int* in let final void #t264 = #t260.{self::Test::[]=}(#t261, #t262) in #t262;
+ ^" in #t260.{self::Test::[]}(#t261){(core::String*) →* core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} as{TypeError} core::int* in let final void #t264 = #t260.{self::Test::[]=}(#t261, #t262){(core::String*, core::int*) →* void} in #t262;
core::double* v8 = let final self::Test<core::double*, core::int*>* #t265 = t in let final core::String* #t266 = "x" in let final core::double* #t267 = let final Never* #t268 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart:215:77: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
t /*@target=Test.[]*/ /*@target=Test.[]=*/ ['x'] /*@target=double.+*/ +=
- ^" in #t265.{self::Test::[]}(#t266).{core::double::+}(self::getNum()) as{TypeError} core::int* in let final void #t269 = #t265.{self::Test::[]=}(#t266, #t267) in #t267;
+ ^" in #t265.{self::Test::[]}(#t266){(core::String*) →* core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} as{TypeError} core::int* in let final void #t269 = #t265.{self::Test::[]=}(#t266, #t267){(core::String*, core::int*) →* void} in #t267;
core::double* v10 = let final self::Test<core::double*, core::int*>* #t270 = t in let final core::String* #t271 = "x" in let final core::double* #t272 = let final Never* #t273 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart:219:28: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
/*@target=double.+*/ ++t
- ^" in #t270.{self::Test::[]}(#t271).{core::double::+}(1) as{TypeError} core::int* in let final void #t274 = #t270.{self::Test::[]=}(#t271, #t272) in #t272;
- core::double* v11 = let final self::Test<core::double*, core::int*>* #t275 = t in let final core::String* #t276 = "x" in let final core::double* #t277 = #t275.{self::Test::[]}(#t276) in let final void #t278 = #t275.{self::Test::[]=}(#t276, let final Never* #t279 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart:223:77: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
+ ^" in #t270.{self::Test::[]}(#t271){(core::String*) →* core::double*}.{core::double::+}(1){(core::num*) →* core::double*} as{TypeError} core::int* in let final void #t274 = #t270.{self::Test::[]=}(#t271, #t272){(core::String*, core::int*) →* void} in #t272;
+ core::double* v11 = let final self::Test<core::double*, core::int*>* #t275 = t in let final core::String* #t276 = "x" in let final core::double* #t277 = #t275.{self::Test::[]}(#t276){(core::String*) →* core::double*} in let final void #t278 = #t275.{self::Test::[]=}(#t276, let final Never* #t279 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart:223:77: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
t /*@target=Test.[]*/ /*@target=Test.[]=*/ ['x'] /*@target=double.+*/ ++;
- ^" in #t277.{core::double::+}(1) as{TypeError} core::int*) in #t277;
+ ^" in #t277.{core::double::+}(1){(core::num*) →* core::double*} as{TypeError} core::int*){(core::String*, core::int*) →* void} in #t277;
}
static method test8(self::Test<core::double*, core::num*>* t) → void {
- core::int* v1 = let final self::Test<core::double*, core::num*>* #t280 = t in let final core::String* #t281 = "x" in let final core::int* #t282 = self::getInt() in let final void #t283 = #t280.{self::Test::[]=}(#t281, #t282) in #t282;
- core::num* v2 = let final self::Test<core::double*, core::num*>* #t284 = t in let final core::String* #t285 = "x" in let final core::num* #t286 = self::getNum() in let final void #t287 = #t284.{self::Test::[]=}(#t285, #t286) in #t286;
- core::double* v3 = let final self::Test<core::double*, core::num*>* #t288 = t in let final core::String* #t289 = "x" in let final core::double* #t290 = self::getDouble() in let final void #t291 = #t288.{self::Test::[]=}(#t289, #t290) in #t290;
- core::num* v4 = let final self::Test<core::double*, core::num*>* #t292 = t in let final core::String* #t293 = "x" in let final core::double* #t294 = #t292.{self::Test::[]}(#t293) in #t294.{core::num::==}(null) ?{core::num*} let final core::int* #t295 = self::getInt() in let final void #t296 = #t292.{self::Test::[]=}(#t293, #t295) in #t295 : #t294;
- core::num* v5 = let final self::Test<core::double*, core::num*>* #t297 = t in let final core::String* #t298 = "x" in let final core::double* #t299 = #t297.{self::Test::[]}(#t298) in #t299.{core::num::==}(null) ?{core::num*} let final core::num* #t300 = self::getNum() in let final void #t301 = #t297.{self::Test::[]=}(#t298, #t300) in #t300 : #t299;
- core::double* v6 = let final self::Test<core::double*, core::num*>* #t302 = t in let final core::String* #t303 = "x" in let final core::double* #t304 = #t302.{self::Test::[]}(#t303) in #t304.{core::num::==}(null) ?{core::double*} let final core::double* #t305 = self::getDouble() in let final void #t306 = #t302.{self::Test::[]=}(#t303, #t305) in #t305 : #t304;
- core::double* v7 = let final self::Test<core::double*, core::num*>* #t307 = t in let final core::String* #t308 = "x" in let final core::double* #t309 = #t307.{self::Test::[]}(#t308).{core::double::+}(self::getInt()) in let final void #t310 = #t307.{self::Test::[]=}(#t308, #t309) in #t309;
- core::double* v8 = let final self::Test<core::double*, core::num*>* #t311 = t in let final core::String* #t312 = "x" in let final core::double* #t313 = #t311.{self::Test::[]}(#t312).{core::double::+}(self::getNum()) in let final void #t314 = #t311.{self::Test::[]=}(#t312, #t313) in #t313;
- core::double* v9 = let final self::Test<core::double*, core::num*>* #t315 = t in let final core::String* #t316 = "x" in let final core::double* #t317 = #t315.{self::Test::[]}(#t316).{core::double::+}(self::getDouble()) in let final void #t318 = #t315.{self::Test::[]=}(#t316, #t317) in #t317;
- core::double* v10 = let final self::Test<core::double*, core::num*>* #t319 = t in let final core::String* #t320 = "x" in let final core::double* #t321 = #t319.{self::Test::[]}(#t320).{core::double::+}(1) in let final void #t322 = #t319.{self::Test::[]=}(#t320, #t321) in #t321;
- core::double* v11 = let final self::Test<core::double*, core::num*>* #t323 = t in let final core::String* #t324 = "x" in let final core::double* #t325 = #t323.{self::Test::[]}(#t324) in let final void #t326 = #t323.{self::Test::[]=}(#t324, #t325.{core::double::+}(1)) in #t325;
+ core::int* v1 = let final self::Test<core::double*, core::num*>* #t280 = t in let final core::String* #t281 = "x" in let final core::int* #t282 = self::getInt() in let final void #t283 = #t280.{self::Test::[]=}(#t281, #t282){(core::String*, core::num*) →* void} in #t282;
+ core::num* v2 = let final self::Test<core::double*, core::num*>* #t284 = t in let final core::String* #t285 = "x" in let final core::num* #t286 = self::getNum() in let final void #t287 = #t284.{self::Test::[]=}(#t285, #t286){(core::String*, core::num*) →* void} in #t286;
+ core::double* v3 = let final self::Test<core::double*, core::num*>* #t288 = t in let final core::String* #t289 = "x" in let final core::double* #t290 = self::getDouble() in let final void #t291 = #t288.{self::Test::[]=}(#t289, #t290){(core::String*, core::num*) →* void} in #t290;
+ core::num* v4 = let final self::Test<core::double*, core::num*>* #t292 = t in let final core::String* #t293 = "x" in let final core::double* #t294 = #t292.{self::Test::[]}(#t293){(core::String*) →* core::double*} in #t294 == null ?{core::num*} let final core::int* #t295 = self::getInt() in let final void #t296 = #t292.{self::Test::[]=}(#t293, #t295){(core::String*, core::num*) →* void} in #t295 : #t294;
+ core::num* v5 = let final self::Test<core::double*, core::num*>* #t297 = t in let final core::String* #t298 = "x" in let final core::double* #t299 = #t297.{self::Test::[]}(#t298){(core::String*) →* core::double*} in #t299 == null ?{core::num*} let final core::num* #t300 = self::getNum() in let final void #t301 = #t297.{self::Test::[]=}(#t298, #t300){(core::String*, core::num*) →* void} in #t300 : #t299;
+ core::double* v6 = let final self::Test<core::double*, core::num*>* #t302 = t in let final core::String* #t303 = "x" in let final core::double* #t304 = #t302.{self::Test::[]}(#t303){(core::String*) →* core::double*} in #t304 == null ?{core::double*} let final core::double* #t305 = self::getDouble() in let final void #t306 = #t302.{self::Test::[]=}(#t303, #t305){(core::String*, core::num*) →* void} in #t305 : #t304;
+ core::double* v7 = let final self::Test<core::double*, core::num*>* #t307 = t in let final core::String* #t308 = "x" in let final core::double* #t309 = #t307.{self::Test::[]}(#t308){(core::String*) →* core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t310 = #t307.{self::Test::[]=}(#t308, #t309){(core::String*, core::num*) →* void} in #t309;
+ core::double* v8 = let final self::Test<core::double*, core::num*>* #t311 = t in let final core::String* #t312 = "x" in let final core::double* #t313 = #t311.{self::Test::[]}(#t312){(core::String*) →* core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t314 = #t311.{self::Test::[]=}(#t312, #t313){(core::String*, core::num*) →* void} in #t313;
+ core::double* v9 = let final self::Test<core::double*, core::num*>* #t315 = t in let final core::String* #t316 = "x" in let final core::double* #t317 = #t315.{self::Test::[]}(#t316){(core::String*) →* core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t318 = #t315.{self::Test::[]=}(#t316, #t317){(core::String*, core::num*) →* void} in #t317;
+ core::double* v10 = let final self::Test<core::double*, core::num*>* #t319 = t in let final core::String* #t320 = "x" in let final core::double* #t321 = #t319.{self::Test::[]}(#t320){(core::String*) →* core::double*}.{core::double::+}(1){(core::num*) →* core::double*} in let final void #t322 = #t319.{self::Test::[]=}(#t320, #t321){(core::String*, core::num*) →* void} in #t321;
+ core::double* v11 = let final self::Test<core::double*, core::num*>* #t323 = t in let final core::String* #t324 = "x" in let final core::double* #t325 = #t323.{self::Test::[]}(#t324){(core::String*) →* core::double*} in let final void #t326 = #t323.{self::Test::[]=}(#t324, #t325.{core::double::+}(1){(core::num*) →* core::double*}){(core::String*, core::num*) →* void} in #t325;
}
static method test9(self::Test<core::double*, core::double*>* t) → void {
- core::num* v2 = let final self::Test<core::double*, core::double*>* #t327 = t in let final core::String* #t328 = "x" in let final core::num* #t329 = self::getNum() as{TypeError} core::double* in let final void #t330 = #t327.{self::Test::[]=}(#t328, #t329) in #t329;
- core::double* v3 = let final self::Test<core::double*, core::double*>* #t331 = t in let final core::String* #t332 = "x" in let final core::double* #t333 = self::getDouble() in let final void #t334 = #t331.{self::Test::[]=}(#t332, #t333) in #t333;
- core::num* v5 = let final self::Test<core::double*, core::double*>* #t335 = t in let final core::String* #t336 = "x" in let final core::double* #t337 = #t335.{self::Test::[]}(#t336) in #t337.{core::num::==}(null) ?{core::num*} let final core::num* #t338 = self::getNum() as{TypeError} core::double* in let final void #t339 = #t335.{self::Test::[]=}(#t336, #t338) in #t338 : #t337;
- core::double* v6 = let final self::Test<core::double*, core::double*>* #t340 = t in let final core::String* #t341 = "x" in let final core::double* #t342 = #t340.{self::Test::[]}(#t341) in #t342.{core::num::==}(null) ?{core::double*} let final core::double* #t343 = self::getDouble() in let final void #t344 = #t340.{self::Test::[]=}(#t341, #t343) in #t343 : #t342;
- core::double* v7 = let final self::Test<core::double*, core::double*>* #t345 = t in let final core::String* #t346 = "x" in let final core::double* #t347 = #t345.{self::Test::[]}(#t346).{core::double::+}(self::getInt()) in let final void #t348 = #t345.{self::Test::[]=}(#t346, #t347) in #t347;
- core::double* v8 = let final self::Test<core::double*, core::double*>* #t349 = t in let final core::String* #t350 = "x" in let final core::double* #t351 = #t349.{self::Test::[]}(#t350).{core::double::+}(self::getNum()) in let final void #t352 = #t349.{self::Test::[]=}(#t350, #t351) in #t351;
- core::double* v9 = let final self::Test<core::double*, core::double*>* #t353 = t in let final core::String* #t354 = "x" in let final core::double* #t355 = #t353.{self::Test::[]}(#t354).{core::double::+}(self::getDouble()) in let final void #t356 = #t353.{self::Test::[]=}(#t354, #t355) in #t355;
- core::double* v10 = let final self::Test<core::double*, core::double*>* #t357 = t in let final core::String* #t358 = "x" in let final core::double* #t359 = #t357.{self::Test::[]}(#t358).{core::double::+}(1) in let final void #t360 = #t357.{self::Test::[]=}(#t358, #t359) in #t359;
- core::double* v11 = let final self::Test<core::double*, core::double*>* #t361 = t in let final core::String* #t362 = "x" in let final core::double* #t363 = #t361.{self::Test::[]}(#t362) in let final void #t364 = #t361.{self::Test::[]=}(#t362, #t363.{core::double::+}(1)) in #t363;
+ core::num* v2 = let final self::Test<core::double*, core::double*>* #t327 = t in let final core::String* #t328 = "x" in let final core::num* #t329 = self::getNum() as{TypeError} core::double* in let final void #t330 = #t327.{self::Test::[]=}(#t328, #t329){(core::String*, core::double*) →* void} in #t329;
+ core::double* v3 = let final self::Test<core::double*, core::double*>* #t331 = t in let final core::String* #t332 = "x" in let final core::double* #t333 = self::getDouble() in let final void #t334 = #t331.{self::Test::[]=}(#t332, #t333){(core::String*, core::double*) →* void} in #t333;
+ core::num* v5 = let final self::Test<core::double*, core::double*>* #t335 = t in let final core::String* #t336 = "x" in let final core::double* #t337 = #t335.{self::Test::[]}(#t336){(core::String*) →* core::double*} in #t337 == null ?{core::num*} let final core::num* #t338 = self::getNum() as{TypeError} core::double* in let final void #t339 = #t335.{self::Test::[]=}(#t336, #t338){(core::String*, core::double*) →* void} in #t338 : #t337;
+ core::double* v6 = let final self::Test<core::double*, core::double*>* #t340 = t in let final core::String* #t341 = "x" in let final core::double* #t342 = #t340.{self::Test::[]}(#t341){(core::String*) →* core::double*} in #t342 == null ?{core::double*} let final core::double* #t343 = self::getDouble() in let final void #t344 = #t340.{self::Test::[]=}(#t341, #t343){(core::String*, core::double*) →* void} in #t343 : #t342;
+ core::double* v7 = let final self::Test<core::double*, core::double*>* #t345 = t in let final core::String* #t346 = "x" in let final core::double* #t347 = #t345.{self::Test::[]}(#t346){(core::String*) →* core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t348 = #t345.{self::Test::[]=}(#t346, #t347){(core::String*, core::double*) →* void} in #t347;
+ core::double* v8 = let final self::Test<core::double*, core::double*>* #t349 = t in let final core::String* #t350 = "x" in let final core::double* #t351 = #t349.{self::Test::[]}(#t350){(core::String*) →* core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t352 = #t349.{self::Test::[]=}(#t350, #t351){(core::String*, core::double*) →* void} in #t351;
+ core::double* v9 = let final self::Test<core::double*, core::double*>* #t353 = t in let final core::String* #t354 = "x" in let final core::double* #t355 = #t353.{self::Test::[]}(#t354){(core::String*) →* core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t356 = #t353.{self::Test::[]=}(#t354, #t355){(core::String*, core::double*) →* void} in #t355;
+ core::double* v10 = let final self::Test<core::double*, core::double*>* #t357 = t in let final core::String* #t358 = "x" in let final core::double* #t359 = #t357.{self::Test::[]}(#t358){(core::String*) →* core::double*}.{core::double::+}(1){(core::num*) →* core::double*} in let final void #t360 = #t357.{self::Test::[]=}(#t358, #t359){(core::String*, core::double*) →* void} in #t359;
+ core::double* v11 = let final self::Test<core::double*, core::double*>* #t361 = t in let final core::String* #t362 = "x" in let final core::double* #t363 = #t361.{self::Test::[]}(#t362){(core::String*) →* core::double*} in let final void #t364 = #t361.{self::Test::[]=}(#t362, #t363.{core::double::+}(1){(core::num*) →* core::double*}){(core::String*, core::double*) →* void} in #t363;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.expect
index cacec2e..5bdc052 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.expect
@@ -40,18 +40,18 @@
static method test() → void {
self::B* local;
local = self::f<self::B*>();
- local.{self::A::==}(null) ?{self::B*} local = self::f<self::B*>() : null;
- local = local.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- local = local.{self::B::*}(self::f<self::B*>());
- local = local.{self::B::&}(self::f<self::A*>());
- local = local.{self::B::-}(1);
- local = local.{self::B::-}(1);
+ local == null ?{self::B*} local = self::f<self::B*>() : null;
+ local = local.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ local = local.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ local = local.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ local = local.{self::B::-}(1){(core::int*) →* self::B*};
+ local = local.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = local = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = local in #t1.{self::A::==}(null) ?{self::B*} local = self::f<self::B*>() : #t1;
- self::A* v3 = local = local.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = local = local.{self::B::*}(self::f<self::B*>());
- self::C* v5 = local = local.{self::B::&}(self::f<self::A*>());
- self::B* v6 = local = local.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = local in let final self::B* #t3 = local = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = local in #t1 == null ?{self::B*} local = self::f<self::B*>() : #t1;
+ self::A* v3 = local = local.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = local = local.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = local = local.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = local = local.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = local in let final self::B* #t3 = local = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.transformed.expect
index cacec2e..5bdc052 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.transformed.expect
@@ -40,18 +40,18 @@
static method test() → void {
self::B* local;
local = self::f<self::B*>();
- local.{self::A::==}(null) ?{self::B*} local = self::f<self::B*>() : null;
- local = local.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- local = local.{self::B::*}(self::f<self::B*>());
- local = local.{self::B::&}(self::f<self::A*>());
- local = local.{self::B::-}(1);
- local = local.{self::B::-}(1);
+ local == null ?{self::B*} local = self::f<self::B*>() : null;
+ local = local.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ local = local.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ local = local.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ local = local.{self::B::-}(1){(core::int*) →* self::B*};
+ local = local.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = local = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = local in #t1.{self::A::==}(null) ?{self::B*} local = self::f<self::B*>() : #t1;
- self::A* v3 = local = local.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = local = local.{self::B::*}(self::f<self::B*>());
- self::C* v5 = local = local.{self::B::&}(self::f<self::A*>());
- self::B* v6 = local = local.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = local in let final self::B* #t3 = local = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = local in #t1 == null ?{self::B*} local = self::f<self::B*>() : #t1;
+ self::A* v3 = local = local.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = local = local.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = local = local.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = local = local.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = local in let final self::B* #t3 = local = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.expect
index a799b0f..9e55829 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.expect
@@ -11,35 +11,35 @@
static method test1(core::int* t) → void {
core::int* v1 = t = self::getInt();
core::num* v2 = t = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final core::int* #t1 = t in #t1.{core::num::==}(null) ?{core::int*} t = self::getInt() : #t1;
- core::num* v5 = let final core::int* #t2 = t in #t2.{core::num::==}(null) ?{core::num*} t = self::getNum() as{TypeError} core::int* : #t2;
- core::int* v7 = t = t.{core::num::+}(self::getInt());
- core::num* v8 = t = t.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = t = t.{core::num::+}(1);
- core::int* v11 = let final core::int* #t3 = t in let final core::int* #t4 = t = #t3.{core::num::+}(1) in #t3;
+ core::int* v4 = let final core::int* #t1 = t in #t1 == null ?{core::int*} t = self::getInt() : #t1;
+ core::num* v5 = let final core::int* #t2 = t in #t2 == null ?{core::num*} t = self::getNum() as{TypeError} core::int* : #t2;
+ core::int* v7 = t = t.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = t = t.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = t = t.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t3 = t in let final core::int* #t4 = t = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3;
}
static method test2(core::num* t) → void {
core::int* v1 = t = self::getInt();
core::num* v2 = t = self::getNum();
core::double* v3 = t = self::getDouble();
- core::num* v4 = let final core::num* #t5 = t in #t5.{core::num::==}(null) ?{core::num*} t = self::getInt() : #t5;
- core::num* v5 = let final core::num* #t6 = t in #t6.{core::num::==}(null) ?{core::num*} t = self::getNum() : #t6;
- core::num* v6 = let final core::num* #t7 = t in #t7.{core::num::==}(null) ?{core::num*} t = self::getDouble() : #t7;
- core::num* v7 = t = t.{core::num::+}(self::getInt());
- core::num* v8 = t = t.{core::num::+}(self::getNum());
- core::num* v9 = t = t.{core::num::+}(self::getDouble());
- core::num* v10 = t = t.{core::num::+}(1);
- core::num* v11 = let final core::num* #t8 = t in let final core::num* #t9 = t = #t8.{core::num::+}(1) in #t8;
+ core::num* v4 = let final core::num* #t5 = t in #t5 == null ?{core::num*} t = self::getInt() : #t5;
+ core::num* v5 = let final core::num* #t6 = t in #t6 == null ?{core::num*} t = self::getNum() : #t6;
+ core::num* v6 = let final core::num* #t7 = t in #t7 == null ?{core::num*} t = self::getDouble() : #t7;
+ core::num* v7 = t = t.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = t = t.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = t = t.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = t = t.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t8 = t in let final core::num* #t9 = t = #t8.{core::num::+}(1){(core::num*) →* core::num*} in #t8;
}
static method test3(core::double* t) → void {
core::num* v2 = t = self::getNum() as{TypeError} core::double*;
core::double* v3 = t = self::getDouble();
- core::num* v5 = let final core::double* #t10 = t in #t10.{core::num::==}(null) ?{core::num*} t = self::getNum() as{TypeError} core::double* : #t10;
- core::double* v6 = let final core::double* #t11 = t in #t11.{core::num::==}(null) ?{core::double*} t = self::getDouble() : #t11;
- core::double* v7 = t = t.{core::double::+}(self::getInt());
- core::double* v8 = t = t.{core::double::+}(self::getNum());
- core::double* v9 = t = t.{core::double::+}(self::getDouble());
- core::double* v10 = t = t.{core::double::+}(1);
- core::double* v11 = let final core::double* #t12 = t in let final core::double* #t13 = t = #t12.{core::double::+}(1) in #t12;
+ core::num* v5 = let final core::double* #t10 = t in #t10 == null ?{core::num*} t = self::getNum() as{TypeError} core::double* : #t10;
+ core::double* v6 = let final core::double* #t11 = t in #t11 == null ?{core::double*} t = self::getDouble() : #t11;
+ core::double* v7 = t = t.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = t = t.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = t = t.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = t = t.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t12 = t in let final core::double* #t13 = t = #t12.{core::double::+}(1){(core::num*) →* core::double*} in #t12;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.transformed.expect
index a799b0f..9e55829 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.transformed.expect
@@ -11,35 +11,35 @@
static method test1(core::int* t) → void {
core::int* v1 = t = self::getInt();
core::num* v2 = t = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final core::int* #t1 = t in #t1.{core::num::==}(null) ?{core::int*} t = self::getInt() : #t1;
- core::num* v5 = let final core::int* #t2 = t in #t2.{core::num::==}(null) ?{core::num*} t = self::getNum() as{TypeError} core::int* : #t2;
- core::int* v7 = t = t.{core::num::+}(self::getInt());
- core::num* v8 = t = t.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = t = t.{core::num::+}(1);
- core::int* v11 = let final core::int* #t3 = t in let final core::int* #t4 = t = #t3.{core::num::+}(1) in #t3;
+ core::int* v4 = let final core::int* #t1 = t in #t1 == null ?{core::int*} t = self::getInt() : #t1;
+ core::num* v5 = let final core::int* #t2 = t in #t2 == null ?{core::num*} t = self::getNum() as{TypeError} core::int* : #t2;
+ core::int* v7 = t = t.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = t = t.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = t = t.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t3 = t in let final core::int* #t4 = t = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3;
}
static method test2(core::num* t) → void {
core::int* v1 = t = self::getInt();
core::num* v2 = t = self::getNum();
core::double* v3 = t = self::getDouble();
- core::num* v4 = let final core::num* #t5 = t in #t5.{core::num::==}(null) ?{core::num*} t = self::getInt() : #t5;
- core::num* v5 = let final core::num* #t6 = t in #t6.{core::num::==}(null) ?{core::num*} t = self::getNum() : #t6;
- core::num* v6 = let final core::num* #t7 = t in #t7.{core::num::==}(null) ?{core::num*} t = self::getDouble() : #t7;
- core::num* v7 = t = t.{core::num::+}(self::getInt());
- core::num* v8 = t = t.{core::num::+}(self::getNum());
- core::num* v9 = t = t.{core::num::+}(self::getDouble());
- core::num* v10 = t = t.{core::num::+}(1);
- core::num* v11 = let final core::num* #t8 = t in let final core::num* #t9 = t = #t8.{core::num::+}(1) in #t8;
+ core::num* v4 = let final core::num* #t5 = t in #t5 == null ?{core::num*} t = self::getInt() : #t5;
+ core::num* v5 = let final core::num* #t6 = t in #t6 == null ?{core::num*} t = self::getNum() : #t6;
+ core::num* v6 = let final core::num* #t7 = t in #t7 == null ?{core::num*} t = self::getDouble() : #t7;
+ core::num* v7 = t = t.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = t = t.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = t = t.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = t = t.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t8 = t in let final core::num* #t9 = t = #t8.{core::num::+}(1){(core::num*) →* core::num*} in #t8;
}
static method test3(core::double* t) → void {
core::num* v2 = t = self::getNum() as{TypeError} core::double*;
core::double* v3 = t = self::getDouble();
- core::num* v5 = let final core::double* #t10 = t in #t10.{core::num::==}(null) ?{core::num*} t = self::getNum() as{TypeError} core::double* : #t10;
- core::double* v6 = let final core::double* #t11 = t in #t11.{core::num::==}(null) ?{core::double*} t = self::getDouble() : #t11;
- core::double* v7 = t = t.{core::double::+}(self::getInt());
- core::double* v8 = t = t.{core::double::+}(self::getNum());
- core::double* v9 = t = t.{core::double::+}(self::getDouble());
- core::double* v10 = t = t.{core::double::+}(1);
- core::double* v11 = let final core::double* #t12 = t in let final core::double* #t13 = t = #t12.{core::double::+}(1) in #t12;
+ core::num* v5 = let final core::double* #t10 = t in #t10 == null ?{core::num*} t = self::getNum() as{TypeError} core::double* : #t10;
+ core::double* v6 = let final core::double* #t11 = t in #t11 == null ?{core::double*} t = self::getDouble() : #t11;
+ core::double* v7 = t = t.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = t = t.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = t = t.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = t = t.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t12 = t in let final core::double* #t13 = t = #t12.{core::double::+}(1){(core::num*) →* core::double*} in #t12;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.expect
index b865421..6ae0089 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.expect
@@ -19,11 +19,11 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field core::int* v_assign = new self::A::•().{self::A::f} = 1;
-static field core::int* v_plus = let final self::A* #t1 = new self::A::•() in #t1.{self::A::f} = #t1.{self::A::f}.{core::num::+}(1);
-static field core::int* v_minus = let final self::A* #t2 = new self::A::•() in #t2.{self::A::f} = #t2.{self::A::f}.{core::num::-}(1);
-static field core::int* v_multiply = let final self::A* #t3 = new self::A::•() in #t3.{self::A::f} = #t3.{self::A::f}.{core::num::*}(1);
-static field core::int* v_prefix_pp = let final self::A* #t4 = new self::A::•() in #t4.{self::A::f} = #t4.{self::A::f}.{core::num::+}(1);
-static field core::int* v_prefix_mm = let final self::A* #t5 = new self::A::•() in #t5.{self::A::f} = #t5.{self::A::f}.{core::num::-}(1);
-static field core::int* v_postfix_pp = let final self::A* #t6 = new self::A::•() in let final core::int* #t7 = #t6.{self::A::f} in let final core::int* #t8 = #t6.{self::A::f} = #t7.{core::num::+}(1) in #t7;
-static field core::int* v_postfix_mm = let final self::A* #t9 = new self::A::•() in let final core::int* #t10 = #t9.{self::A::f} in let final core::int* #t11 = #t9.{self::A::f} = #t10.{core::num::-}(1) in #t10;
+static field core::int* v_plus = let final self::A* #t1 = new self::A::•() in #t1.{self::A::f} = #t1.{self::A::f}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+static field core::int* v_minus = let final self::A* #t2 = new self::A::•() in #t2.{self::A::f} = #t2.{self::A::f}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*};
+static field core::int* v_multiply = let final self::A* #t3 = new self::A::•() in #t3.{self::A::f} = #t3.{self::A::f}{core::int*}.{core::num::*}(1){(core::num*) →* core::int*};
+static field core::int* v_prefix_pp = let final self::A* #t4 = new self::A::•() in #t4.{self::A::f} = #t4.{self::A::f}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+static field core::int* v_prefix_mm = let final self::A* #t5 = new self::A::•() in #t5.{self::A::f} = #t5.{self::A::f}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*};
+static field core::int* v_postfix_pp = let final self::A* #t6 = new self::A::•() in let final core::int* #t7 = #t6.{self::A::f}{core::int*} in let final core::int* #t8 = #t6.{self::A::f} = #t7.{core::num::+}(1){(core::num*) →* core::int*} in #t7;
+static field core::int* v_postfix_mm = let final self::A* #t9 = new self::A::•() in let final core::int* #t10 = #t9.{self::A::f}{core::int*} in let final core::int* #t11 = #t9.{self::A::f} = #t10.{core::num::-}(1){(core::num*) →* core::int*} in #t10;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.transformed.expect
index b865421..6ae0089 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.transformed.expect
@@ -19,11 +19,11 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field core::int* v_assign = new self::A::•().{self::A::f} = 1;
-static field core::int* v_plus = let final self::A* #t1 = new self::A::•() in #t1.{self::A::f} = #t1.{self::A::f}.{core::num::+}(1);
-static field core::int* v_minus = let final self::A* #t2 = new self::A::•() in #t2.{self::A::f} = #t2.{self::A::f}.{core::num::-}(1);
-static field core::int* v_multiply = let final self::A* #t3 = new self::A::•() in #t3.{self::A::f} = #t3.{self::A::f}.{core::num::*}(1);
-static field core::int* v_prefix_pp = let final self::A* #t4 = new self::A::•() in #t4.{self::A::f} = #t4.{self::A::f}.{core::num::+}(1);
-static field core::int* v_prefix_mm = let final self::A* #t5 = new self::A::•() in #t5.{self::A::f} = #t5.{self::A::f}.{core::num::-}(1);
-static field core::int* v_postfix_pp = let final self::A* #t6 = new self::A::•() in let final core::int* #t7 = #t6.{self::A::f} in let final core::int* #t8 = #t6.{self::A::f} = #t7.{core::num::+}(1) in #t7;
-static field core::int* v_postfix_mm = let final self::A* #t9 = new self::A::•() in let final core::int* #t10 = #t9.{self::A::f} in let final core::int* #t11 = #t9.{self::A::f} = #t10.{core::num::-}(1) in #t10;
+static field core::int* v_plus = let final self::A* #t1 = new self::A::•() in #t1.{self::A::f} = #t1.{self::A::f}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+static field core::int* v_minus = let final self::A* #t2 = new self::A::•() in #t2.{self::A::f} = #t2.{self::A::f}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*};
+static field core::int* v_multiply = let final self::A* #t3 = new self::A::•() in #t3.{self::A::f} = #t3.{self::A::f}{core::int*}.{core::num::*}(1){(core::num*) →* core::int*};
+static field core::int* v_prefix_pp = let final self::A* #t4 = new self::A::•() in #t4.{self::A::f} = #t4.{self::A::f}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+static field core::int* v_prefix_mm = let final self::A* #t5 = new self::A::•() in #t5.{self::A::f} = #t5.{self::A::f}{core::int*}.{core::num::-}(1){(core::num*) →* core::int*};
+static field core::int* v_postfix_pp = let final self::A* #t6 = new self::A::•() in let final core::int* #t7 = #t6.{self::A::f}{core::int*} in let final core::int* #t8 = #t6.{self::A::f} = #t7.{core::num::+}(1){(core::num*) →* core::int*} in #t7;
+static field core::int* v_postfix_mm = let final self::A* #t9 = new self::A::•() in let final core::int* #t10 = #t9.{self::A::f}{core::int*} in let final core::int* #t11 = #t9.{self::A::f} = #t10.{core::num::-}(1){(core::num*) →* core::int*} in #t10;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.weak.expect
index fbcfd30..2269e14 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.weak.expect
@@ -63,17 +63,17 @@
static field core::int* v_prefix_pp = let final self::B* #t1 = new self::B::•() in #t1.{self::B::a} = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:17:36: Error: A value of type 'int' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart'.
var v_prefix_pp = (/*@target=A.+*/ ++new /*@ type=B* */ B()
- ^" in #t1.{self::B::a}.{self::A::+}(1) as{TypeError} self::A*;
+ ^" in #t1.{self::B::a}{self::A*}.{self::A::+}(1){(dynamic) →* core::int*} as{TypeError} self::A*;
static field core::double* v_prefix_mm = let final self::B* #t3 = new self::B::•() in #t3.{self::B::a} = let final Never* #t4 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:19:36: Error: A value of type 'double' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart'.
var v_prefix_mm = (/*@target=A.-*/ --new /*@ type=B* */ B()
- ^" in #t3.{self::B::a}.{self::A::-}(1) as{TypeError} self::A*;
-static field self::A* v_postfix_pp = let final self::B* #t5 = new self::B::•() in let final self::A* #t6 = #t5.{self::B::a} in let final core::int* #t7 = #t5.{self::B::a} = let final Never* #t8 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:23:40: Error: A value of type 'int' can't be assigned to a variable of type 'A'.
+ ^" in #t3.{self::B::a}{self::A*}.{self::A::-}(1){(dynamic) →* core::double*} as{TypeError} self::A*;
+static field self::A* v_postfix_pp = let final self::B* #t5 = new self::B::•() in let final self::A* #t6 = #t5.{self::B::a}{self::A*} in let final core::int* #t7 = #t5.{self::B::a} = let final Never* #t8 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:23:40: Error: A value of type 'int' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart'.
/*@ type=int* */ a /*@target=A.+*/ ++);
- ^" in #t6.{self::A::+}(1) as{TypeError} self::A* in #t6;
-static field self::A* v_postfix_mm = let final self::B* #t9 = new self::B::•() in let final self::A* #t10 = #t9.{self::B::a} in let final core::double* #t11 = #t9.{self::B::a} = let final Never* #t12 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:26:43: Error: A value of type 'double' can't be assigned to a variable of type 'A'.
+ ^" in #t6.{self::A::+}(1){(dynamic) →* core::int*} as{TypeError} self::A* in #t6;
+static field self::A* v_postfix_mm = let final self::B* #t9 = new self::B::•() in let final self::A* #t10 = #t9.{self::B::a}{self::A*} in let final core::double* #t11 = #t9.{self::B::a} = let final Never* #t12 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:26:43: Error: A value of type 'double' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart'.
/*@ type=double* */ a /*@target=A.-*/ --);
- ^" in #t10.{self::A::-}(1) as{TypeError} self::A* in #t10;
+ ^" in #t10.{self::A::-}(1){(dynamic) →* core::double*} as{TypeError} self::A* in #t10;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.expect
index 63ae5bb..2e41284 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.expect
@@ -42,19 +42,19 @@
;
static method test(self::Test* t) → void {
t.{self::Test::member} = self::f<self::B*>();
- let final self::Test* #t1 = t in #t1.{self::Test::member}.{self::A::==}(null) ?{self::B*} #t1.{self::Test::member} = self::f<self::B*>() : null;
- let final self::Test* #t2 = t in #t2.{self::Test::member} = #t2.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- let final self::Test* #t3 = t in #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- let final self::Test* #t4 = t in #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- let final self::Test* #t5 = t in #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::-}(1);
- let final self::Test* #t6 = t in #t6.{self::Test::member} = #t6.{self::Test::member}.{self::B::-}(1);
+ let final self::Test* #t1 = t in #t1.{self::Test::member}{self::B*} == null ?{self::B*} #t1.{self::Test::member} = self::f<self::B*>() : null;
+ let final self::Test* #t2 = t in #t2.{self::Test::member} = #t2.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ let final self::Test* #t3 = t in #t3.{self::Test::member} = #t3.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ let final self::Test* #t4 = t in #t4.{self::Test::member} = #t4.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ let final self::Test* #t5 = t in #t5.{self::Test::member} = #t5.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ let final self::Test* #t6 = t in #t6.{self::Test::member} = #t6.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = t.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::Test* #t7 = t in let final self::B* #t8 = #t7.{self::Test::member} in #t8.{self::A::==}(null) ?{self::B*} #t7.{self::Test::member} = self::f<self::B*>() : #t8;
- self::A* v3 = let final self::Test* #t9 = t in #t9.{self::Test::member} = #t9.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = let final self::Test* #t10 = t in #t10.{self::Test::member} = #t10.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = let final self::Test* #t11 = t in #t11.{self::Test::member} = #t11.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = let final self::Test* #t12 = t in #t12.{self::Test::member} = #t12.{self::Test::member}.{self::B::-}(1);
- self::B* v7 = let final self::Test* #t13 = t in let final self::B* #t14 = #t13.{self::Test::member} in let final self::B* #t15 = #t13.{self::Test::member} = #t14.{self::B::-}(1) in #t14;
+ self::B* v2 = let final self::Test* #t7 = t in let final self::B* #t8 = #t7.{self::Test::member}{self::B*} in #t8 == null ?{self::B*} #t7.{self::Test::member} = self::f<self::B*>() : #t8;
+ self::A* v3 = let final self::Test* #t9 = t in #t9.{self::Test::member} = #t9.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = let final self::Test* #t10 = t in #t10.{self::Test::member} = #t10.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = let final self::Test* #t11 = t in #t11.{self::Test::member} = #t11.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = let final self::Test* #t12 = t in #t12.{self::Test::member} = #t12.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::Test* #t13 = t in let final self::B* #t14 = #t13.{self::Test::member}{self::B*} in let final self::B* #t15 = #t13.{self::Test::member} = #t14.{self::B::-}(1){(core::int*) →* self::B*} in #t14;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.transformed.expect
index 63ae5bb..2e41284 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.transformed.expect
@@ -42,19 +42,19 @@
;
static method test(self::Test* t) → void {
t.{self::Test::member} = self::f<self::B*>();
- let final self::Test* #t1 = t in #t1.{self::Test::member}.{self::A::==}(null) ?{self::B*} #t1.{self::Test::member} = self::f<self::B*>() : null;
- let final self::Test* #t2 = t in #t2.{self::Test::member} = #t2.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- let final self::Test* #t3 = t in #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- let final self::Test* #t4 = t in #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- let final self::Test* #t5 = t in #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::-}(1);
- let final self::Test* #t6 = t in #t6.{self::Test::member} = #t6.{self::Test::member}.{self::B::-}(1);
+ let final self::Test* #t1 = t in #t1.{self::Test::member}{self::B*} == null ?{self::B*} #t1.{self::Test::member} = self::f<self::B*>() : null;
+ let final self::Test* #t2 = t in #t2.{self::Test::member} = #t2.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ let final self::Test* #t3 = t in #t3.{self::Test::member} = #t3.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ let final self::Test* #t4 = t in #t4.{self::Test::member} = #t4.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ let final self::Test* #t5 = t in #t5.{self::Test::member} = #t5.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ let final self::Test* #t6 = t in #t6.{self::Test::member} = #t6.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = t.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::Test* #t7 = t in let final self::B* #t8 = #t7.{self::Test::member} in #t8.{self::A::==}(null) ?{self::B*} #t7.{self::Test::member} = self::f<self::B*>() : #t8;
- self::A* v3 = let final self::Test* #t9 = t in #t9.{self::Test::member} = #t9.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = let final self::Test* #t10 = t in #t10.{self::Test::member} = #t10.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = let final self::Test* #t11 = t in #t11.{self::Test::member} = #t11.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = let final self::Test* #t12 = t in #t12.{self::Test::member} = #t12.{self::Test::member}.{self::B::-}(1);
- self::B* v7 = let final self::Test* #t13 = t in let final self::B* #t14 = #t13.{self::Test::member} in let final self::B* #t15 = #t13.{self::Test::member} = #t14.{self::B::-}(1) in #t14;
+ self::B* v2 = let final self::Test* #t7 = t in let final self::B* #t8 = #t7.{self::Test::member}{self::B*} in #t8 == null ?{self::B*} #t7.{self::Test::member} = self::f<self::B*>() : #t8;
+ self::A* v3 = let final self::Test* #t9 = t in #t9.{self::Test::member} = #t9.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = let final self::Test* #t10 = t in #t10.{self::Test::member} = #t10.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = let final self::Test* #t11 = t in #t11.{self::Test::member} = #t11.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = let final self::Test* #t12 = t in #t12.{self::Test::member} = #t12.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::Test* #t13 = t in let final self::B* #t14 = #t13.{self::Test::member}{self::B*} in let final self::B* #t15 = #t13.{self::Test::member} = #t14.{self::B::-}(1){(core::int*) →* self::B*} in #t14;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.expect
index 189fd9a..681f9aa 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.expect
@@ -41,20 +41,20 @@
: super core::Object::•()
;
static method test(self::Test* t) → void {
- let final self::Test* #t1 = t in #t1.{self::Test::==}(null) ?{self::B*} null : #t1.{self::Test::member} = self::f<self::B*>();
- let final self::Test* #t2 = t in #t2.{self::Test::==}(null) ?{self::B*} null : #t2.{self::Test::member}.{self::A::==}(null) ?{self::B*} #t2.{self::Test::member} = self::f<self::B*>() : null;
- let final self::Test* #t3 = t in #t3.{self::Test::==}(null) ?{self::A*} null : #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- let final self::Test* #t4 = t in #t4.{self::Test::==}(null) ?{self::B*} null : #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- let final self::Test* #t5 = t in #t5.{self::Test::==}(null) ?{self::C*} null : #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- let final self::Test* #t6 = t in #t6.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t7 = #t6.{self::Test::member}.{self::B::-}(1) in let final void #t8 = #t6.{self::Test::member} = #t7 in #t7;
- let final self::Test* #t9 = t in #t9.{self::Test::==}(null) ?{self::B*} null : #t9.{self::Test::member} = #t9.{self::Test::member}.{self::B::-}(1);
- self::B* v1 = let final self::Test* #t10 = t in #t10.{self::Test::==}(null) ?{self::B*} null : #t10.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::Test* #t11 = t in #t11.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t12 = #t11.{self::Test::member} in #t12.{self::A::==}(null) ?{self::B*} #t11.{self::Test::member} = self::f<self::B*>() : #t12;
- self::A* v3 = let final self::Test* #t13 = t in #t13.{self::Test::==}(null) ?{self::A*} null : let final self::A* #t14 = #t13.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t15 = #t13.{self::Test::member} = #t14 in #t14;
- self::B* v4 = let final self::Test* #t16 = t in #t16.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t17 = #t16.{self::Test::member}.{self::B::*}(self::f<self::B*>()) in let final void #t18 = #t16.{self::Test::member} = #t17 in #t17;
- self::C* v5 = let final self::Test* #t19 = t in #t19.{self::Test::==}(null) ?{self::C*} null : let final self::C* #t20 = #t19.{self::Test::member}.{self::B::&}(self::f<self::A*>()) in let final void #t21 = #t19.{self::Test::member} = #t20 in #t20;
- self::B* v6 = let final self::Test* #t22 = t in #t22.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t23 = #t22.{self::Test::member}.{self::B::-}(1) in let final void #t24 = #t22.{self::Test::member} = #t23 in #t23;
- self::B* v7 = let final self::Test* #t25 = t in #t25.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t26 = #t25.{self::Test::member} in let final void #t27 = #t25.{self::Test::member} = #t26.{self::B::-}(1) in #t26;
+ let final self::Test* #t1 = t in #t1 == null ?{self::B*} null : #t1.{self::Test::member} = self::f<self::B*>();
+ let final self::Test* #t2 = t in #t2 == null ?{self::B*} null : #t2.{self::Test::member}{self::B*} == null ?{self::B*} #t2.{self::Test::member} = self::f<self::B*>() : null;
+ let final self::Test* #t3 = t in #t3 == null ?{self::A*} null : #t3.{self::Test::member} = #t3.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ let final self::Test* #t4 = t in #t4 == null ?{self::B*} null : #t4.{self::Test::member} = #t4.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ let final self::Test* #t5 = t in #t5 == null ?{self::C*} null : #t5.{self::Test::member} = #t5.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ let final self::Test* #t6 = t in #t6 == null ?{self::B*} null : let final self::B* #t7 = #t6.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t8 = #t6.{self::Test::member} = #t7 in #t7;
+ let final self::Test* #t9 = t in #t9 == null ?{self::B*} null : #t9.{self::Test::member} = #t9.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v1 = let final self::Test* #t10 = t in #t10 == null ?{self::B*} null : #t10.{self::Test::member} = self::f<self::B*>();
+ self::B* v2 = let final self::Test* #t11 = t in #t11 == null ?{self::B*} null : let final self::B* #t12 = #t11.{self::Test::member}{self::B*} in #t12 == null ?{self::B*} #t11.{self::Test::member} = self::f<self::B*>() : #t12;
+ self::A* v3 = let final self::Test* #t13 = t in #t13 == null ?{self::A*} null : let final self::A* #t14 = #t13.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t15 = #t13.{self::Test::member} = #t14 in #t14;
+ self::B* v4 = let final self::Test* #t16 = t in #t16 == null ?{self::B*} null : let final self::B* #t17 = #t16.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t18 = #t16.{self::Test::member} = #t17 in #t17;
+ self::C* v5 = let final self::Test* #t19 = t in #t19 == null ?{self::C*} null : let final self::C* #t20 = #t19.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t21 = #t19.{self::Test::member} = #t20 in #t20;
+ self::B* v6 = let final self::Test* #t22 = t in #t22 == null ?{self::B*} null : let final self::B* #t23 = #t22.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t24 = #t22.{self::Test::member} = #t23 in #t23;
+ self::B* v7 = let final self::Test* #t25 = t in #t25 == null ?{self::B*} null : let final self::B* #t26 = #t25.{self::Test::member}{self::B*} in let final void #t27 = #t25.{self::Test::member} = #t26.{self::B::-}(1){(core::int*) →* self::B*} in #t26;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.transformed.expect
index 189fd9a..681f9aa 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.transformed.expect
@@ -41,20 +41,20 @@
: super core::Object::•()
;
static method test(self::Test* t) → void {
- let final self::Test* #t1 = t in #t1.{self::Test::==}(null) ?{self::B*} null : #t1.{self::Test::member} = self::f<self::B*>();
- let final self::Test* #t2 = t in #t2.{self::Test::==}(null) ?{self::B*} null : #t2.{self::Test::member}.{self::A::==}(null) ?{self::B*} #t2.{self::Test::member} = self::f<self::B*>() : null;
- let final self::Test* #t3 = t in #t3.{self::Test::==}(null) ?{self::A*} null : #t3.{self::Test::member} = #t3.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- let final self::Test* #t4 = t in #t4.{self::Test::==}(null) ?{self::B*} null : #t4.{self::Test::member} = #t4.{self::Test::member}.{self::B::*}(self::f<self::B*>());
- let final self::Test* #t5 = t in #t5.{self::Test::==}(null) ?{self::C*} null : #t5.{self::Test::member} = #t5.{self::Test::member}.{self::B::&}(self::f<self::A*>());
- let final self::Test* #t6 = t in #t6.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t7 = #t6.{self::Test::member}.{self::B::-}(1) in let final void #t8 = #t6.{self::Test::member} = #t7 in #t7;
- let final self::Test* #t9 = t in #t9.{self::Test::==}(null) ?{self::B*} null : #t9.{self::Test::member} = #t9.{self::Test::member}.{self::B::-}(1);
- self::B* v1 = let final self::Test* #t10 = t in #t10.{self::Test::==}(null) ?{self::B*} null : #t10.{self::Test::member} = self::f<self::B*>();
- self::B* v2 = let final self::Test* #t11 = t in #t11.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t12 = #t11.{self::Test::member} in #t12.{self::A::==}(null) ?{self::B*} #t11.{self::Test::member} = self::f<self::B*>() : #t12;
- self::A* v3 = let final self::Test* #t13 = t in #t13.{self::Test::==}(null) ?{self::A*} null : let final self::A* #t14 = #t13.{self::Test::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B* in let final void #t15 = #t13.{self::Test::member} = #t14 in #t14;
- self::B* v4 = let final self::Test* #t16 = t in #t16.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t17 = #t16.{self::Test::member}.{self::B::*}(self::f<self::B*>()) in let final void #t18 = #t16.{self::Test::member} = #t17 in #t17;
- self::C* v5 = let final self::Test* #t19 = t in #t19.{self::Test::==}(null) ?{self::C*} null : let final self::C* #t20 = #t19.{self::Test::member}.{self::B::&}(self::f<self::A*>()) in let final void #t21 = #t19.{self::Test::member} = #t20 in #t20;
- self::B* v6 = let final self::Test* #t22 = t in #t22.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t23 = #t22.{self::Test::member}.{self::B::-}(1) in let final void #t24 = #t22.{self::Test::member} = #t23 in #t23;
- self::B* v7 = let final self::Test* #t25 = t in #t25.{self::Test::==}(null) ?{self::B*} null : let final self::B* #t26 = #t25.{self::Test::member} in let final void #t27 = #t25.{self::Test::member} = #t26.{self::B::-}(1) in #t26;
+ let final self::Test* #t1 = t in #t1 == null ?{self::B*} null : #t1.{self::Test::member} = self::f<self::B*>();
+ let final self::Test* #t2 = t in #t2 == null ?{self::B*} null : #t2.{self::Test::member}{self::B*} == null ?{self::B*} #t2.{self::Test::member} = self::f<self::B*>() : null;
+ let final self::Test* #t3 = t in #t3 == null ?{self::A*} null : #t3.{self::Test::member} = #t3.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ let final self::Test* #t4 = t in #t4 == null ?{self::B*} null : #t4.{self::Test::member} = #t4.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ let final self::Test* #t5 = t in #t5 == null ?{self::C*} null : #t5.{self::Test::member} = #t5.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ let final self::Test* #t6 = t in #t6 == null ?{self::B*} null : let final self::B* #t7 = #t6.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t8 = #t6.{self::Test::member} = #t7 in #t7;
+ let final self::Test* #t9 = t in #t9 == null ?{self::B*} null : #t9.{self::Test::member} = #t9.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v1 = let final self::Test* #t10 = t in #t10 == null ?{self::B*} null : #t10.{self::Test::member} = self::f<self::B*>();
+ self::B* v2 = let final self::Test* #t11 = t in #t11 == null ?{self::B*} null : let final self::B* #t12 = #t11.{self::Test::member}{self::B*} in #t12 == null ?{self::B*} #t11.{self::Test::member} = self::f<self::B*>() : #t12;
+ self::A* v3 = let final self::Test* #t13 = t in #t13 == null ?{self::A*} null : let final self::A* #t14 = #t13.{self::Test::member}{self::B*}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B* in let final void #t15 = #t13.{self::Test::member} = #t14 in #t14;
+ self::B* v4 = let final self::Test* #t16 = t in #t16 == null ?{self::B*} null : let final self::B* #t17 = #t16.{self::Test::member}{self::B*}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*} in let final void #t18 = #t16.{self::Test::member} = #t17 in #t17;
+ self::C* v5 = let final self::Test* #t19 = t in #t19 == null ?{self::C*} null : let final self::C* #t20 = #t19.{self::Test::member}{self::B*}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*} in let final void #t21 = #t19.{self::Test::member} = #t20 in #t20;
+ self::B* v6 = let final self::Test* #t22 = t in #t22 == null ?{self::B*} null : let final self::B* #t23 = #t22.{self::Test::member}{self::B*}.{self::B::-}(1){(core::int*) →* self::B*} in let final void #t24 = #t22.{self::Test::member} = #t23 in #t23;
+ self::B* v7 = let final self::Test* #t25 = t in #t25 == null ?{self::B*} null : let final self::B* #t26 = #t25.{self::Test::member}{self::B*} in let final void #t27 = #t25.{self::Test::member} = #t26.{self::B::-}(1){(core::int*) →* self::B*} in #t26;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.expect
index 810f1d5..1e360b8 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.expect
@@ -8,14 +8,14 @@
: super core::Object::•()
;
static method test(self::Test1* t) → void {
- core::int* v1 = let final self::Test1* #t1 = t in #t1.{self::Test1::==}(null) ?{core::int*} null : #t1.{self::Test1::prop} = self::getInt();
- core::num* v2 = let final self::Test1* #t2 = t in #t2.{self::Test1::==}(null) ?{core::num*} null : #t2.{self::Test1::prop} = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final self::Test1* #t3 = t in #t3.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t4 = #t3.{self::Test1::prop} in #t4.{core::num::==}(null) ?{core::int*} #t3.{self::Test1::prop} = self::getInt() : #t4;
- core::num* v5 = let final self::Test1* #t5 = t in #t5.{self::Test1::==}(null) ?{core::num*} null : let final core::int* #t6 = #t5.{self::Test1::prop} in #t6.{core::num::==}(null) ?{core::num*} #t5.{self::Test1::prop} = self::getNum() as{TypeError} core::int* : #t6;
- core::int* v7 = let final self::Test1* #t7 = t in #t7.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t8 = #t7.{self::Test1::prop}.{core::num::+}(self::getInt()) in let final void #t9 = #t7.{self::Test1::prop} = #t8 in #t8;
- core::num* v8 = let final self::Test1* #t10 = t in #t10.{self::Test1::==}(null) ?{core::num*} null : let final core::num* #t11 = #t10.{self::Test1::prop}.{core::num::+}(self::getNum()) as{TypeError} core::int* in let final void #t12 = #t10.{self::Test1::prop} = #t11 in #t11;
- core::int* v10 = let final self::Test1* #t13 = t in #t13.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t14 = #t13.{self::Test1::prop}.{core::num::+}(1) in let final void #t15 = #t13.{self::Test1::prop} = #t14 in #t14;
- core::int* v11 = let final self::Test1* #t16 = t in #t16.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t17 = #t16.{self::Test1::prop} in let final void #t18 = #t16.{self::Test1::prop} = #t17.{core::num::+}(1) in #t17;
+ core::int* v1 = let final self::Test1* #t1 = t in #t1 == null ?{core::int*} null : #t1.{self::Test1::prop} = self::getInt();
+ core::num* v2 = let final self::Test1* #t2 = t in #t2 == null ?{core::num*} null : #t2.{self::Test1::prop} = self::getNum() as{TypeError} core::int*;
+ core::int* v4 = let final self::Test1* #t3 = t in #t3 == null ?{core::int*} null : let final core::int* #t4 = #t3.{self::Test1::prop}{core::int*} in #t4 == null ?{core::int*} #t3.{self::Test1::prop} = self::getInt() : #t4;
+ core::num* v5 = let final self::Test1* #t5 = t in #t5 == null ?{core::num*} null : let final core::int* #t6 = #t5.{self::Test1::prop}{core::int*} in #t6 == null ?{core::num*} #t5.{self::Test1::prop} = self::getNum() as{TypeError} core::int* : #t6;
+ core::int* v7 = let final self::Test1* #t7 = t in #t7 == null ?{core::int*} null : let final core::int* #t8 = #t7.{self::Test1::prop}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t9 = #t7.{self::Test1::prop} = #t8 in #t8;
+ core::num* v8 = let final self::Test1* #t10 = t in #t10 == null ?{core::num*} null : let final core::num* #t11 = #t10.{self::Test1::prop}{core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t12 = #t10.{self::Test1::prop} = #t11 in #t11;
+ core::int* v10 = let final self::Test1* #t13 = t in #t13 == null ?{core::int*} null : let final core::int* #t14 = #t13.{self::Test1::prop}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t15 = #t13.{self::Test1::prop} = #t14 in #t14;
+ core::int* v11 = let final self::Test1* #t16 = t in #t16 == null ?{core::int*} null : let final core::int* #t17 = #t16.{self::Test1::prop}{core::int*} in let final void #t18 = #t16.{self::Test1::prop} = #t17.{core::num::+}(1){(core::num*) →* core::int*} in #t17;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -34,17 +34,17 @@
: super core::Object::•()
;
static method test(self::Test2* t) → void {
- core::int* v1 = let final self::Test2* #t19 = t in #t19.{self::Test2::==}(null) ?{core::int*} null : #t19.{self::Test2::prop} = self::getInt();
- core::num* v2 = let final self::Test2* #t20 = t in #t20.{self::Test2::==}(null) ?{core::num*} null : #t20.{self::Test2::prop} = self::getNum();
- core::double* v3 = let final self::Test2* #t21 = t in #t21.{self::Test2::==}(null) ?{core::double*} null : #t21.{self::Test2::prop} = self::getDouble();
- core::num* v4 = let final self::Test2* #t22 = t in #t22.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t23 = #t22.{self::Test2::prop} in #t23.{core::num::==}(null) ?{core::num*} #t22.{self::Test2::prop} = self::getInt() : #t23;
- core::num* v5 = let final self::Test2* #t24 = t in #t24.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t25 = #t24.{self::Test2::prop} in #t25.{core::num::==}(null) ?{core::num*} #t24.{self::Test2::prop} = self::getNum() : #t25;
- core::num* v6 = let final self::Test2* #t26 = t in #t26.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t27 = #t26.{self::Test2::prop} in #t27.{core::num::==}(null) ?{core::num*} #t26.{self::Test2::prop} = self::getDouble() : #t27;
- core::num* v7 = let final self::Test2* #t28 = t in #t28.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t29 = #t28.{self::Test2::prop}.{core::num::+}(self::getInt()) in let final void #t30 = #t28.{self::Test2::prop} = #t29 in #t29;
- core::num* v8 = let final self::Test2* #t31 = t in #t31.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t32 = #t31.{self::Test2::prop}.{core::num::+}(self::getNum()) in let final void #t33 = #t31.{self::Test2::prop} = #t32 in #t32;
- core::num* v9 = let final self::Test2* #t34 = t in #t34.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t35 = #t34.{self::Test2::prop}.{core::num::+}(self::getDouble()) in let final void #t36 = #t34.{self::Test2::prop} = #t35 in #t35;
- core::num* v10 = let final self::Test2* #t37 = t in #t37.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t38 = #t37.{self::Test2::prop}.{core::num::+}(1) in let final void #t39 = #t37.{self::Test2::prop} = #t38 in #t38;
- core::num* v11 = let final self::Test2* #t40 = t in #t40.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t41 = #t40.{self::Test2::prop} in let final void #t42 = #t40.{self::Test2::prop} = #t41.{core::num::+}(1) in #t41;
+ core::int* v1 = let final self::Test2* #t19 = t in #t19 == null ?{core::int*} null : #t19.{self::Test2::prop} = self::getInt();
+ core::num* v2 = let final self::Test2* #t20 = t in #t20 == null ?{core::num*} null : #t20.{self::Test2::prop} = self::getNum();
+ core::double* v3 = let final self::Test2* #t21 = t in #t21 == null ?{core::double*} null : #t21.{self::Test2::prop} = self::getDouble();
+ core::num* v4 = let final self::Test2* #t22 = t in #t22 == null ?{core::num*} null : let final core::num* #t23 = #t22.{self::Test2::prop}{core::num*} in #t23 == null ?{core::num*} #t22.{self::Test2::prop} = self::getInt() : #t23;
+ core::num* v5 = let final self::Test2* #t24 = t in #t24 == null ?{core::num*} null : let final core::num* #t25 = #t24.{self::Test2::prop}{core::num*} in #t25 == null ?{core::num*} #t24.{self::Test2::prop} = self::getNum() : #t25;
+ core::num* v6 = let final self::Test2* #t26 = t in #t26 == null ?{core::num*} null : let final core::num* #t27 = #t26.{self::Test2::prop}{core::num*} in #t27 == null ?{core::num*} #t26.{self::Test2::prop} = self::getDouble() : #t27;
+ core::num* v7 = let final self::Test2* #t28 = t in #t28 == null ?{core::num*} null : let final core::num* #t29 = #t28.{self::Test2::prop}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} in let final void #t30 = #t28.{self::Test2::prop} = #t29 in #t29;
+ core::num* v8 = let final self::Test2* #t31 = t in #t31 == null ?{core::num*} null : let final core::num* #t32 = #t31.{self::Test2::prop}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t33 = #t31.{self::Test2::prop} = #t32 in #t32;
+ core::num* v9 = let final self::Test2* #t34 = t in #t34 == null ?{core::num*} null : let final core::num* #t35 = #t34.{self::Test2::prop}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*} in let final void #t36 = #t34.{self::Test2::prop} = #t35 in #t35;
+ core::num* v10 = let final self::Test2* #t37 = t in #t37 == null ?{core::num*} null : let final core::num* #t38 = #t37.{self::Test2::prop}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*} in let final void #t39 = #t37.{self::Test2::prop} = #t38 in #t38;
+ core::num* v11 = let final self::Test2* #t40 = t in #t40 == null ?{core::num*} null : let final core::num* #t41 = #t40.{self::Test2::prop}{core::num*} in let final void #t42 = #t40.{self::Test2::prop} = #t41.{core::num::+}(1){(core::num*) →* core::num*} in #t41;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -63,15 +63,15 @@
: super core::Object::•()
;
static method test3(self::Test3* t) → void {
- core::num* v2 = let final self::Test3* #t43 = t in #t43.{self::Test3::==}(null) ?{core::num*} null : #t43.{self::Test3::prop} = self::getNum() as{TypeError} core::double*;
- core::double* v3 = let final self::Test3* #t44 = t in #t44.{self::Test3::==}(null) ?{core::double*} null : #t44.{self::Test3::prop} = self::getDouble();
- core::num* v5 = let final self::Test3* #t45 = t in #t45.{self::Test3::==}(null) ?{core::num*} null : let final core::double* #t46 = #t45.{self::Test3::prop} in #t46.{core::num::==}(null) ?{core::num*} #t45.{self::Test3::prop} = self::getNum() as{TypeError} core::double* : #t46;
- core::double* v6 = let final self::Test3* #t47 = t in #t47.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t48 = #t47.{self::Test3::prop} in #t48.{core::num::==}(null) ?{core::double*} #t47.{self::Test3::prop} = self::getDouble() : #t48;
- core::double* v7 = let final self::Test3* #t49 = t in #t49.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t50 = #t49.{self::Test3::prop}.{core::double::+}(self::getInt()) in let final void #t51 = #t49.{self::Test3::prop} = #t50 in #t50;
- core::double* v8 = let final self::Test3* #t52 = t in #t52.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t53 = #t52.{self::Test3::prop}.{core::double::+}(self::getNum()) in let final void #t54 = #t52.{self::Test3::prop} = #t53 in #t53;
- core::double* v9 = let final self::Test3* #t55 = t in #t55.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t56 = #t55.{self::Test3::prop}.{core::double::+}(self::getDouble()) in let final void #t57 = #t55.{self::Test3::prop} = #t56 in #t56;
- core::double* v10 = let final self::Test3* #t58 = t in #t58.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t59 = #t58.{self::Test3::prop}.{core::double::+}(1) in let final void #t60 = #t58.{self::Test3::prop} = #t59 in #t59;
- core::double* v11 = let final self::Test3* #t61 = t in #t61.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t62 = #t61.{self::Test3::prop} in let final void #t63 = #t61.{self::Test3::prop} = #t62.{core::double::+}(1) in #t62;
+ core::num* v2 = let final self::Test3* #t43 = t in #t43 == null ?{core::num*} null : #t43.{self::Test3::prop} = self::getNum() as{TypeError} core::double*;
+ core::double* v3 = let final self::Test3* #t44 = t in #t44 == null ?{core::double*} null : #t44.{self::Test3::prop} = self::getDouble();
+ core::num* v5 = let final self::Test3* #t45 = t in #t45 == null ?{core::num*} null : let final core::double* #t46 = #t45.{self::Test3::prop}{core::double*} in #t46 == null ?{core::num*} #t45.{self::Test3::prop} = self::getNum() as{TypeError} core::double* : #t46;
+ core::double* v6 = let final self::Test3* #t47 = t in #t47 == null ?{core::double*} null : let final core::double* #t48 = #t47.{self::Test3::prop}{core::double*} in #t48 == null ?{core::double*} #t47.{self::Test3::prop} = self::getDouble() : #t48;
+ core::double* v7 = let final self::Test3* #t49 = t in #t49 == null ?{core::double*} null : let final core::double* #t50 = #t49.{self::Test3::prop}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t51 = #t49.{self::Test3::prop} = #t50 in #t50;
+ core::double* v8 = let final self::Test3* #t52 = t in #t52 == null ?{core::double*} null : let final core::double* #t53 = #t52.{self::Test3::prop}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t54 = #t52.{self::Test3::prop} = #t53 in #t53;
+ core::double* v9 = let final self::Test3* #t55 = t in #t55 == null ?{core::double*} null : let final core::double* #t56 = #t55.{self::Test3::prop}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t57 = #t55.{self::Test3::prop} = #t56 in #t56;
+ core::double* v10 = let final self::Test3* #t58 = t in #t58 == null ?{core::double*} null : let final core::double* #t59 = #t58.{self::Test3::prop}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*} in let final void #t60 = #t58.{self::Test3::prop} = #t59 in #t59;
+ core::double* v11 = let final self::Test3* #t61 = t in #t61 == null ?{core::double*} null : let final core::double* #t62 = #t61.{self::Test3::prop}{core::double*} in let final void #t63 = #t61.{self::Test3::prop} = #t62.{core::double::+}(1){(core::num*) →* core::double*} in #t62;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
index 810f1d5..1e360b8 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
@@ -8,14 +8,14 @@
: super core::Object::•()
;
static method test(self::Test1* t) → void {
- core::int* v1 = let final self::Test1* #t1 = t in #t1.{self::Test1::==}(null) ?{core::int*} null : #t1.{self::Test1::prop} = self::getInt();
- core::num* v2 = let final self::Test1* #t2 = t in #t2.{self::Test1::==}(null) ?{core::num*} null : #t2.{self::Test1::prop} = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final self::Test1* #t3 = t in #t3.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t4 = #t3.{self::Test1::prop} in #t4.{core::num::==}(null) ?{core::int*} #t3.{self::Test1::prop} = self::getInt() : #t4;
- core::num* v5 = let final self::Test1* #t5 = t in #t5.{self::Test1::==}(null) ?{core::num*} null : let final core::int* #t6 = #t5.{self::Test1::prop} in #t6.{core::num::==}(null) ?{core::num*} #t5.{self::Test1::prop} = self::getNum() as{TypeError} core::int* : #t6;
- core::int* v7 = let final self::Test1* #t7 = t in #t7.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t8 = #t7.{self::Test1::prop}.{core::num::+}(self::getInt()) in let final void #t9 = #t7.{self::Test1::prop} = #t8 in #t8;
- core::num* v8 = let final self::Test1* #t10 = t in #t10.{self::Test1::==}(null) ?{core::num*} null : let final core::num* #t11 = #t10.{self::Test1::prop}.{core::num::+}(self::getNum()) as{TypeError} core::int* in let final void #t12 = #t10.{self::Test1::prop} = #t11 in #t11;
- core::int* v10 = let final self::Test1* #t13 = t in #t13.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t14 = #t13.{self::Test1::prop}.{core::num::+}(1) in let final void #t15 = #t13.{self::Test1::prop} = #t14 in #t14;
- core::int* v11 = let final self::Test1* #t16 = t in #t16.{self::Test1::==}(null) ?{core::int*} null : let final core::int* #t17 = #t16.{self::Test1::prop} in let final void #t18 = #t16.{self::Test1::prop} = #t17.{core::num::+}(1) in #t17;
+ core::int* v1 = let final self::Test1* #t1 = t in #t1 == null ?{core::int*} null : #t1.{self::Test1::prop} = self::getInt();
+ core::num* v2 = let final self::Test1* #t2 = t in #t2 == null ?{core::num*} null : #t2.{self::Test1::prop} = self::getNum() as{TypeError} core::int*;
+ core::int* v4 = let final self::Test1* #t3 = t in #t3 == null ?{core::int*} null : let final core::int* #t4 = #t3.{self::Test1::prop}{core::int*} in #t4 == null ?{core::int*} #t3.{self::Test1::prop} = self::getInt() : #t4;
+ core::num* v5 = let final self::Test1* #t5 = t in #t5 == null ?{core::num*} null : let final core::int* #t6 = #t5.{self::Test1::prop}{core::int*} in #t6 == null ?{core::num*} #t5.{self::Test1::prop} = self::getNum() as{TypeError} core::int* : #t6;
+ core::int* v7 = let final self::Test1* #t7 = t in #t7 == null ?{core::int*} null : let final core::int* #t8 = #t7.{self::Test1::prop}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*} in let final void #t9 = #t7.{self::Test1::prop} = #t8 in #t8;
+ core::num* v8 = let final self::Test1* #t10 = t in #t10 == null ?{core::num*} null : let final core::num* #t11 = #t10.{self::Test1::prop}{core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int* in let final void #t12 = #t10.{self::Test1::prop} = #t11 in #t11;
+ core::int* v10 = let final self::Test1* #t13 = t in #t13 == null ?{core::int*} null : let final core::int* #t14 = #t13.{self::Test1::prop}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*} in let final void #t15 = #t13.{self::Test1::prop} = #t14 in #t14;
+ core::int* v11 = let final self::Test1* #t16 = t in #t16 == null ?{core::int*} null : let final core::int* #t17 = #t16.{self::Test1::prop}{core::int*} in let final void #t18 = #t16.{self::Test1::prop} = #t17.{core::num::+}(1){(core::num*) →* core::int*} in #t17;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -34,17 +34,17 @@
: super core::Object::•()
;
static method test(self::Test2* t) → void {
- core::int* v1 = let final self::Test2* #t19 = t in #t19.{self::Test2::==}(null) ?{core::int*} null : #t19.{self::Test2::prop} = self::getInt();
- core::num* v2 = let final self::Test2* #t20 = t in #t20.{self::Test2::==}(null) ?{core::num*} null : #t20.{self::Test2::prop} = self::getNum();
- core::double* v3 = let final self::Test2* #t21 = t in #t21.{self::Test2::==}(null) ?{core::double*} null : #t21.{self::Test2::prop} = self::getDouble();
- core::num* v4 = let final self::Test2* #t22 = t in #t22.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t23 = #t22.{self::Test2::prop} in #t23.{core::num::==}(null) ?{core::num*} #t22.{self::Test2::prop} = self::getInt() : #t23;
- core::num* v5 = let final self::Test2* #t24 = t in #t24.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t25 = #t24.{self::Test2::prop} in #t25.{core::num::==}(null) ?{core::num*} #t24.{self::Test2::prop} = self::getNum() : #t25;
- core::num* v6 = let final self::Test2* #t26 = t in #t26.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t27 = #t26.{self::Test2::prop} in #t27.{core::num::==}(null) ?{core::num*} #t26.{self::Test2::prop} = self::getDouble() : #t27;
- core::num* v7 = let final self::Test2* #t28 = t in #t28.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t29 = #t28.{self::Test2::prop}.{core::num::+}(self::getInt()) in let final void #t30 = #t28.{self::Test2::prop} = #t29 in #t29;
- core::num* v8 = let final self::Test2* #t31 = t in #t31.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t32 = #t31.{self::Test2::prop}.{core::num::+}(self::getNum()) in let final void #t33 = #t31.{self::Test2::prop} = #t32 in #t32;
- core::num* v9 = let final self::Test2* #t34 = t in #t34.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t35 = #t34.{self::Test2::prop}.{core::num::+}(self::getDouble()) in let final void #t36 = #t34.{self::Test2::prop} = #t35 in #t35;
- core::num* v10 = let final self::Test2* #t37 = t in #t37.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t38 = #t37.{self::Test2::prop}.{core::num::+}(1) in let final void #t39 = #t37.{self::Test2::prop} = #t38 in #t38;
- core::num* v11 = let final self::Test2* #t40 = t in #t40.{self::Test2::==}(null) ?{core::num*} null : let final core::num* #t41 = #t40.{self::Test2::prop} in let final void #t42 = #t40.{self::Test2::prop} = #t41.{core::num::+}(1) in #t41;
+ core::int* v1 = let final self::Test2* #t19 = t in #t19 == null ?{core::int*} null : #t19.{self::Test2::prop} = self::getInt();
+ core::num* v2 = let final self::Test2* #t20 = t in #t20 == null ?{core::num*} null : #t20.{self::Test2::prop} = self::getNum();
+ core::double* v3 = let final self::Test2* #t21 = t in #t21 == null ?{core::double*} null : #t21.{self::Test2::prop} = self::getDouble();
+ core::num* v4 = let final self::Test2* #t22 = t in #t22 == null ?{core::num*} null : let final core::num* #t23 = #t22.{self::Test2::prop}{core::num*} in #t23 == null ?{core::num*} #t22.{self::Test2::prop} = self::getInt() : #t23;
+ core::num* v5 = let final self::Test2* #t24 = t in #t24 == null ?{core::num*} null : let final core::num* #t25 = #t24.{self::Test2::prop}{core::num*} in #t25 == null ?{core::num*} #t24.{self::Test2::prop} = self::getNum() : #t25;
+ core::num* v6 = let final self::Test2* #t26 = t in #t26 == null ?{core::num*} null : let final core::num* #t27 = #t26.{self::Test2::prop}{core::num*} in #t27 == null ?{core::num*} #t26.{self::Test2::prop} = self::getDouble() : #t27;
+ core::num* v7 = let final self::Test2* #t28 = t in #t28 == null ?{core::num*} null : let final core::num* #t29 = #t28.{self::Test2::prop}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*} in let final void #t30 = #t28.{self::Test2::prop} = #t29 in #t29;
+ core::num* v8 = let final self::Test2* #t31 = t in #t31 == null ?{core::num*} null : let final core::num* #t32 = #t31.{self::Test2::prop}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} in let final void #t33 = #t31.{self::Test2::prop} = #t32 in #t32;
+ core::num* v9 = let final self::Test2* #t34 = t in #t34 == null ?{core::num*} null : let final core::num* #t35 = #t34.{self::Test2::prop}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*} in let final void #t36 = #t34.{self::Test2::prop} = #t35 in #t35;
+ core::num* v10 = let final self::Test2* #t37 = t in #t37 == null ?{core::num*} null : let final core::num* #t38 = #t37.{self::Test2::prop}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*} in let final void #t39 = #t37.{self::Test2::prop} = #t38 in #t38;
+ core::num* v11 = let final self::Test2* #t40 = t in #t40 == null ?{core::num*} null : let final core::num* #t41 = #t40.{self::Test2::prop}{core::num*} in let final void #t42 = #t40.{self::Test2::prop} = #t41.{core::num::+}(1){(core::num*) →* core::num*} in #t41;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -63,15 +63,15 @@
: super core::Object::•()
;
static method test3(self::Test3* t) → void {
- core::num* v2 = let final self::Test3* #t43 = t in #t43.{self::Test3::==}(null) ?{core::num*} null : #t43.{self::Test3::prop} = self::getNum() as{TypeError} core::double*;
- core::double* v3 = let final self::Test3* #t44 = t in #t44.{self::Test3::==}(null) ?{core::double*} null : #t44.{self::Test3::prop} = self::getDouble();
- core::num* v5 = let final self::Test3* #t45 = t in #t45.{self::Test3::==}(null) ?{core::num*} null : let final core::double* #t46 = #t45.{self::Test3::prop} in #t46.{core::num::==}(null) ?{core::num*} #t45.{self::Test3::prop} = self::getNum() as{TypeError} core::double* : #t46;
- core::double* v6 = let final self::Test3* #t47 = t in #t47.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t48 = #t47.{self::Test3::prop} in #t48.{core::num::==}(null) ?{core::double*} #t47.{self::Test3::prop} = self::getDouble() : #t48;
- core::double* v7 = let final self::Test3* #t49 = t in #t49.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t50 = #t49.{self::Test3::prop}.{core::double::+}(self::getInt()) in let final void #t51 = #t49.{self::Test3::prop} = #t50 in #t50;
- core::double* v8 = let final self::Test3* #t52 = t in #t52.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t53 = #t52.{self::Test3::prop}.{core::double::+}(self::getNum()) in let final void #t54 = #t52.{self::Test3::prop} = #t53 in #t53;
- core::double* v9 = let final self::Test3* #t55 = t in #t55.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t56 = #t55.{self::Test3::prop}.{core::double::+}(self::getDouble()) in let final void #t57 = #t55.{self::Test3::prop} = #t56 in #t56;
- core::double* v10 = let final self::Test3* #t58 = t in #t58.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t59 = #t58.{self::Test3::prop}.{core::double::+}(1) in let final void #t60 = #t58.{self::Test3::prop} = #t59 in #t59;
- core::double* v11 = let final self::Test3* #t61 = t in #t61.{self::Test3::==}(null) ?{core::double*} null : let final core::double* #t62 = #t61.{self::Test3::prop} in let final void #t63 = #t61.{self::Test3::prop} = #t62.{core::double::+}(1) in #t62;
+ core::num* v2 = let final self::Test3* #t43 = t in #t43 == null ?{core::num*} null : #t43.{self::Test3::prop} = self::getNum() as{TypeError} core::double*;
+ core::double* v3 = let final self::Test3* #t44 = t in #t44 == null ?{core::double*} null : #t44.{self::Test3::prop} = self::getDouble();
+ core::num* v5 = let final self::Test3* #t45 = t in #t45 == null ?{core::num*} null : let final core::double* #t46 = #t45.{self::Test3::prop}{core::double*} in #t46 == null ?{core::num*} #t45.{self::Test3::prop} = self::getNum() as{TypeError} core::double* : #t46;
+ core::double* v6 = let final self::Test3* #t47 = t in #t47 == null ?{core::double*} null : let final core::double* #t48 = #t47.{self::Test3::prop}{core::double*} in #t48 == null ?{core::double*} #t47.{self::Test3::prop} = self::getDouble() : #t48;
+ core::double* v7 = let final self::Test3* #t49 = t in #t49 == null ?{core::double*} null : let final core::double* #t50 = #t49.{self::Test3::prop}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*} in let final void #t51 = #t49.{self::Test3::prop} = #t50 in #t50;
+ core::double* v8 = let final self::Test3* #t52 = t in #t52 == null ?{core::double*} null : let final core::double* #t53 = #t52.{self::Test3::prop}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*} in let final void #t54 = #t52.{self::Test3::prop} = #t53 in #t53;
+ core::double* v9 = let final self::Test3* #t55 = t in #t55 == null ?{core::double*} null : let final core::double* #t56 = #t55.{self::Test3::prop}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*} in let final void #t57 = #t55.{self::Test3::prop} = #t56 in #t56;
+ core::double* v10 = let final self::Test3* #t58 = t in #t58 == null ?{core::double*} null : let final core::double* #t59 = #t58.{self::Test3::prop}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*} in let final void #t60 = #t58.{self::Test3::prop} = #t59 in #t59;
+ core::double* v11 = let final self::Test3* #t61 = t in #t61 == null ?{core::double*} null : let final core::double* #t62 = #t61.{self::Test3::prop}{core::double*} in let final void #t63 = #t61.{self::Test3::prop} = #t62.{core::double::+}(1){(core::num*) →* core::double*} in #t62;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.expect
index fe71ec5..28b3433 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.expect
@@ -57,19 +57,19 @@
;
method test() → void {
super.{self::Base::member} = self::f<self::B*>();
- super.{self::Base::member}.{self::A::==}(null) ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : null;
- super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>());
- super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>());
- super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
- super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
+ super.{self::Base::member} == null ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : null;
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = super.{self::Base::member} = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = super.{self::Base::member} in #t1.{self::A::==}(null) ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : #t1;
- self::A* v3 = super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = super.{self::Base::member} in let final self::B* #t3 = super.{self::Base::member} = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = super.{self::Base::member} in #t1 == null ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : #t1;
+ self::A* v3 = super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = super.{self::Base::member} in let final self::B* #t3 = super.{self::Base::member} = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
}
static method f<T extends core::Object* = dynamic>() → self::f::T*
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.transformed.expect
index fe71ec5..28b3433 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.transformed.expect
@@ -57,19 +57,19 @@
;
method test() → void {
super.{self::Base::member} = self::f<self::B*>();
- super.{self::Base::member}.{self::A::==}(null) ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : null;
- super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>());
- super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>());
- super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
- super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
+ super.{self::Base::member} == null ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : null;
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
+ super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = super.{self::Base::member} = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = super.{self::Base::member} in #t1.{self::A::==}(null) ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : #t1;
- self::A* v3 = super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>());
- self::C* v5 = super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>());
- self::B* v6 = super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = super.{self::Base::member} in let final self::B* #t3 = super.{self::Base::member} = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = super.{self::Base::member} in #t1 == null ?{self::B*} super.{self::Base::member} = self::f<self::B*>() : #t1;
+ self::A* v3 = super.{self::Base::member} = super.{self::Base::member}.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = super.{self::Base::member} = super.{self::Base::member}.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = super.{self::Base::member} = super.{self::Base::member}.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = super.{self::Base::member} = super.{self::Base::member}.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = super.{self::Base::member} in let final self::B* #t3 = super.{self::Base::member} = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
}
static method f<T extends core::Object* = dynamic>() → self::f::T*
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.expect
index 38215e0..4dec3f9 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.expect
@@ -27,12 +27,12 @@
method test() → void {
core::int* v1 = super.{self::Base::intProp} = self::getInt();
core::num* v2 = super.{self::Base::intProp} = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final core::int* #t1 = super.{self::Base::intProp} in #t1.{core::num::==}(null) ?{core::int*} super.{self::Base::intProp} = self::getInt() : #t1;
- core::num* v5 = let final core::int* #t2 = super.{self::Base::intProp} in #t2.{core::num::==}(null) ?{core::num*} super.{self::Base::intProp} = self::getNum() as{TypeError} core::int* : #t2;
- core::int* v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getInt());
- core::num* v8 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(1);
- core::int* v11 = let final core::int* #t3 = super.{self::Base::intProp} in let final core::int* #t4 = super.{self::Base::intProp} = #t3.{core::num::+}(1) in #t3;
+ core::int* v4 = let final core::int* #t1 = super.{self::Base::intProp} in #t1 == null ?{core::int*} super.{self::Base::intProp} = self::getInt() : #t1;
+ core::num* v5 = let final core::int* #t2 = super.{self::Base::intProp} in #t2 == null ?{core::num*} super.{self::Base::intProp} = self::getNum() as{TypeError} core::int* : #t2;
+ core::int* v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t3 = super.{self::Base::intProp} in let final core::int* #t4 = super.{self::Base::intProp} = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3;
}
}
class Test2 extends self::Base {
@@ -43,14 +43,14 @@
core::int* v1 = super.{self::Base::numProp} = self::getInt();
core::num* v2 = super.{self::Base::numProp} = self::getNum();
core::double* v3 = super.{self::Base::numProp} = self::getDouble();
- core::num* v4 = let final core::num* #t5 = super.{self::Base::numProp} in #t5.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getInt() : #t5;
- core::num* v5 = let final core::num* #t6 = super.{self::Base::numProp} in #t6.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getNum() : #t6;
- core::num* v6 = let final core::num* #t7 = super.{self::Base::numProp} in #t7.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getDouble() : #t7;
- core::num* v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getInt());
- core::num* v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getNum());
- core::num* v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getDouble());
- core::num* v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(1);
- core::num* v11 = let final core::num* #t8 = super.{self::Base::numProp} in let final core::num* #t9 = super.{self::Base::numProp} = #t8.{core::num::+}(1) in #t8;
+ core::num* v4 = let final core::num* #t5 = super.{self::Base::numProp} in #t5 == null ?{core::num*} super.{self::Base::numProp} = self::getInt() : #t5;
+ core::num* v5 = let final core::num* #t6 = super.{self::Base::numProp} in #t6 == null ?{core::num*} super.{self::Base::numProp} = self::getNum() : #t6;
+ core::num* v6 = let final core::num* #t7 = super.{self::Base::numProp} in #t7 == null ?{core::num*} super.{self::Base::numProp} = self::getDouble() : #t7;
+ core::num* v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t8 = super.{self::Base::numProp} in let final core::num* #t9 = super.{self::Base::numProp} = #t8.{core::num::+}(1){(core::num*) →* core::num*} in #t8;
}
}
class Test3 extends self::Base {
@@ -60,13 +60,13 @@
method test3() → void {
core::num* v2 = super.{self::Base::doubleProp} = self::getNum() as{TypeError} core::double*;
core::double* v3 = super.{self::Base::doubleProp} = self::getDouble();
- core::num* v5 = let final core::double* #t10 = super.{self::Base::doubleProp} in #t10.{core::num::==}(null) ?{core::num*} super.{self::Base::doubleProp} = self::getNum() as{TypeError} core::double* : #t10;
- core::double* v6 = let final core::double* #t11 = super.{self::Base::doubleProp} in #t11.{core::num::==}(null) ?{core::double*} super.{self::Base::doubleProp} = self::getDouble() : #t11;
- core::double* v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getInt());
- core::double* v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getNum());
- core::double* v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getDouble());
- core::double* v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(1);
- core::double* v11 = let final core::double* #t12 = super.{self::Base::doubleProp} in let final core::double* #t13 = super.{self::Base::doubleProp} = #t12.{core::double::+}(1) in #t12;
+ core::num* v5 = let final core::double* #t10 = super.{self::Base::doubleProp} in #t10 == null ?{core::num*} super.{self::Base::doubleProp} = self::getNum() as{TypeError} core::double* : #t10;
+ core::double* v6 = let final core::double* #t11 = super.{self::Base::doubleProp} in #t11 == null ?{core::double*} super.{self::Base::doubleProp} = self::getDouble() : #t11;
+ core::double* v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t12 = super.{self::Base::doubleProp} in let final core::double* #t13 = super.{self::Base::doubleProp} = #t12.{core::double::+}(1){(core::num*) →* core::double*} in #t12;
}
}
static method getInt() → core::int*
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
index 38215e0..4dec3f9 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
@@ -27,12 +27,12 @@
method test() → void {
core::int* v1 = super.{self::Base::intProp} = self::getInt();
core::num* v2 = super.{self::Base::intProp} = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final core::int* #t1 = super.{self::Base::intProp} in #t1.{core::num::==}(null) ?{core::int*} super.{self::Base::intProp} = self::getInt() : #t1;
- core::num* v5 = let final core::int* #t2 = super.{self::Base::intProp} in #t2.{core::num::==}(null) ?{core::num*} super.{self::Base::intProp} = self::getNum() as{TypeError} core::int* : #t2;
- core::int* v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getInt());
- core::num* v8 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(1);
- core::int* v11 = let final core::int* #t3 = super.{self::Base::intProp} in let final core::int* #t4 = super.{self::Base::intProp} = #t3.{core::num::+}(1) in #t3;
+ core::int* v4 = let final core::int* #t1 = super.{self::Base::intProp} in #t1 == null ?{core::int*} super.{self::Base::intProp} = self::getInt() : #t1;
+ core::num* v5 = let final core::int* #t2 = super.{self::Base::intProp} in #t2 == null ?{core::num*} super.{self::Base::intProp} = self::getNum() as{TypeError} core::int* : #t2;
+ core::int* v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t3 = super.{self::Base::intProp} in let final core::int* #t4 = super.{self::Base::intProp} = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3;
}
}
class Test2 extends self::Base {
@@ -43,14 +43,14 @@
core::int* v1 = super.{self::Base::numProp} = self::getInt();
core::num* v2 = super.{self::Base::numProp} = self::getNum();
core::double* v3 = super.{self::Base::numProp} = self::getDouble();
- core::num* v4 = let final core::num* #t5 = super.{self::Base::numProp} in #t5.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getInt() : #t5;
- core::num* v5 = let final core::num* #t6 = super.{self::Base::numProp} in #t6.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getNum() : #t6;
- core::num* v6 = let final core::num* #t7 = super.{self::Base::numProp} in #t7.{core::num::==}(null) ?{core::num*} super.{self::Base::numProp} = self::getDouble() : #t7;
- core::num* v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getInt());
- core::num* v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getNum());
- core::num* v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getDouble());
- core::num* v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(1);
- core::num* v11 = let final core::num* #t8 = super.{self::Base::numProp} in let final core::num* #t9 = super.{self::Base::numProp} = #t8.{core::num::+}(1) in #t8;
+ core::num* v4 = let final core::num* #t5 = super.{self::Base::numProp} in #t5 == null ?{core::num*} super.{self::Base::numProp} = self::getInt() : #t5;
+ core::num* v5 = let final core::num* #t6 = super.{self::Base::numProp} in #t6 == null ?{core::num*} super.{self::Base::numProp} = self::getNum() : #t6;
+ core::num* v6 = let final core::num* #t7 = super.{self::Base::numProp} in #t7 == null ?{core::num*} super.{self::Base::numProp} = self::getDouble() : #t7;
+ core::num* v7 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = super.{self::Base::numProp} = super.{self::Base::numProp}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t8 = super.{self::Base::numProp} in let final core::num* #t9 = super.{self::Base::numProp} = #t8.{core::num::+}(1){(core::num*) →* core::num*} in #t8;
}
}
class Test3 extends self::Base {
@@ -60,13 +60,13 @@
method test3() → void {
core::num* v2 = super.{self::Base::doubleProp} = self::getNum() as{TypeError} core::double*;
core::double* v3 = super.{self::Base::doubleProp} = self::getDouble();
- core::num* v5 = let final core::double* #t10 = super.{self::Base::doubleProp} in #t10.{core::num::==}(null) ?{core::num*} super.{self::Base::doubleProp} = self::getNum() as{TypeError} core::double* : #t10;
- core::double* v6 = let final core::double* #t11 = super.{self::Base::doubleProp} in #t11.{core::num::==}(null) ?{core::double*} super.{self::Base::doubleProp} = self::getDouble() : #t11;
- core::double* v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getInt());
- core::double* v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getNum());
- core::double* v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getDouble());
- core::double* v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(1);
- core::double* v11 = let final core::double* #t12 = super.{self::Base::doubleProp} in let final core::double* #t13 = super.{self::Base::doubleProp} = #t12.{core::double::+}(1) in #t12;
+ core::num* v5 = let final core::double* #t10 = super.{self::Base::doubleProp} in #t10 == null ?{core::num*} super.{self::Base::doubleProp} = self::getNum() as{TypeError} core::double* : #t10;
+ core::double* v6 = let final core::double* #t11 = super.{self::Base::doubleProp} in #t11 == null ?{core::double*} super.{self::Base::doubleProp} = self::getDouble() : #t11;
+ core::double* v7 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = super.{self::Base::doubleProp} = super.{self::Base::doubleProp}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t12 = super.{self::Base::doubleProp} in let final core::double* #t13 = super.{self::Base::doubleProp} = #t12.{core::double::+}(1){(core::num*) →* core::double*} in #t12;
}
}
static method getInt() → core::int*
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.expect
index 36077e1..f994d28 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.expect
@@ -10,12 +10,12 @@
static method test(self::Test1* t) → void {
core::int* v1 = t.{self::Test1::prop} = self::getInt();
core::num* v2 = t.{self::Test1::prop} = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final self::Test1* #t1 = t in let final core::int* #t2 = #t1.{self::Test1::prop} in #t2.{core::num::==}(null) ?{core::int*} #t1.{self::Test1::prop} = self::getInt() : #t2;
- core::num* v5 = let final self::Test1* #t3 = t in let final core::int* #t4 = #t3.{self::Test1::prop} in #t4.{core::num::==}(null) ?{core::num*} #t3.{self::Test1::prop} = self::getNum() as{TypeError} core::int* : #t4;
- core::int* v7 = let final self::Test1* #t5 = t in #t5.{self::Test1::prop} = #t5.{self::Test1::prop}.{core::num::+}(self::getInt());
- core::num* v8 = let final self::Test1* #t6 = t in #t6.{self::Test1::prop} = #t6.{self::Test1::prop}.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = let final self::Test1* #t7 = t in #t7.{self::Test1::prop} = #t7.{self::Test1::prop}.{core::num::+}(1);
- core::int* v11 = let final self::Test1* #t8 = t in let final core::int* #t9 = #t8.{self::Test1::prop} in let final core::int* #t10 = #t8.{self::Test1::prop} = #t9.{core::num::+}(1) in #t9;
+ core::int* v4 = let final self::Test1* #t1 = t in let final core::int* #t2 = #t1.{self::Test1::prop}{core::int*} in #t2 == null ?{core::int*} #t1.{self::Test1::prop} = self::getInt() : #t2;
+ core::num* v5 = let final self::Test1* #t3 = t in let final core::int* #t4 = #t3.{self::Test1::prop}{core::int*} in #t4 == null ?{core::num*} #t3.{self::Test1::prop} = self::getNum() as{TypeError} core::int* : #t4;
+ core::int* v7 = let final self::Test1* #t5 = t in #t5.{self::Test1::prop} = #t5.{self::Test1::prop}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = let final self::Test1* #t6 = t in #t6.{self::Test1::prop} = #t6.{self::Test1::prop}{core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = let final self::Test1* #t7 = t in #t7.{self::Test1::prop} = #t7.{self::Test1::prop}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final self::Test1* #t8 = t in let final core::int* #t9 = #t8.{self::Test1::prop}{core::int*} in let final core::int* #t10 = #t8.{self::Test1::prop} = #t9.{core::num::+}(1){(core::num*) →* core::int*} in #t9;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -37,14 +37,14 @@
core::int* v1 = t.{self::Test2::prop} = self::getInt();
core::num* v2 = t.{self::Test2::prop} = self::getNum();
core::double* v3 = t.{self::Test2::prop} = self::getDouble();
- core::num* v4 = let final self::Test2* #t11 = t in let final core::num* #t12 = #t11.{self::Test2::prop} in #t12.{core::num::==}(null) ?{core::num*} #t11.{self::Test2::prop} = self::getInt() : #t12;
- core::num* v5 = let final self::Test2* #t13 = t in let final core::num* #t14 = #t13.{self::Test2::prop} in #t14.{core::num::==}(null) ?{core::num*} #t13.{self::Test2::prop} = self::getNum() : #t14;
- core::num* v6 = let final self::Test2* #t15 = t in let final core::num* #t16 = #t15.{self::Test2::prop} in #t16.{core::num::==}(null) ?{core::num*} #t15.{self::Test2::prop} = self::getDouble() : #t16;
- core::num* v7 = let final self::Test2* #t17 = t in #t17.{self::Test2::prop} = #t17.{self::Test2::prop}.{core::num::+}(self::getInt());
- core::num* v8 = let final self::Test2* #t18 = t in #t18.{self::Test2::prop} = #t18.{self::Test2::prop}.{core::num::+}(self::getNum());
- core::num* v9 = let final self::Test2* #t19 = t in #t19.{self::Test2::prop} = #t19.{self::Test2::prop}.{core::num::+}(self::getDouble());
- core::num* v10 = let final self::Test2* #t20 = t in #t20.{self::Test2::prop} = #t20.{self::Test2::prop}.{core::num::+}(1);
- core::num* v11 = let final self::Test2* #t21 = t in let final core::num* #t22 = #t21.{self::Test2::prop} in let final core::num* #t23 = #t21.{self::Test2::prop} = #t22.{core::num::+}(1) in #t22;
+ core::num* v4 = let final self::Test2* #t11 = t in let final core::num* #t12 = #t11.{self::Test2::prop}{core::num*} in #t12 == null ?{core::num*} #t11.{self::Test2::prop} = self::getInt() : #t12;
+ core::num* v5 = let final self::Test2* #t13 = t in let final core::num* #t14 = #t13.{self::Test2::prop}{core::num*} in #t14 == null ?{core::num*} #t13.{self::Test2::prop} = self::getNum() : #t14;
+ core::num* v6 = let final self::Test2* #t15 = t in let final core::num* #t16 = #t15.{self::Test2::prop}{core::num*} in #t16 == null ?{core::num*} #t15.{self::Test2::prop} = self::getDouble() : #t16;
+ core::num* v7 = let final self::Test2* #t17 = t in #t17.{self::Test2::prop} = #t17.{self::Test2::prop}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = let final self::Test2* #t18 = t in #t18.{self::Test2::prop} = #t18.{self::Test2::prop}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = let final self::Test2* #t19 = t in #t19.{self::Test2::prop} = #t19.{self::Test2::prop}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = let final self::Test2* #t20 = t in #t20.{self::Test2::prop} = #t20.{self::Test2::prop}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final self::Test2* #t21 = t in let final core::num* #t22 = #t21.{self::Test2::prop}{core::num*} in let final core::num* #t23 = #t21.{self::Test2::prop} = #t22.{core::num::+}(1){(core::num*) →* core::num*} in #t22;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -65,13 +65,13 @@
static method test3(self::Test3* t) → void {
core::num* v2 = t.{self::Test3::prop} = self::getNum() as{TypeError} core::double*;
core::double* v3 = t.{self::Test3::prop} = self::getDouble();
- core::num* v5 = let final self::Test3* #t24 = t in let final core::double* #t25 = #t24.{self::Test3::prop} in #t25.{core::num::==}(null) ?{core::num*} #t24.{self::Test3::prop} = self::getNum() as{TypeError} core::double* : #t25;
- core::double* v6 = let final self::Test3* #t26 = t in let final core::double* #t27 = #t26.{self::Test3::prop} in #t27.{core::num::==}(null) ?{core::double*} #t26.{self::Test3::prop} = self::getDouble() : #t27;
- core::double* v7 = let final self::Test3* #t28 = t in #t28.{self::Test3::prop} = #t28.{self::Test3::prop}.{core::double::+}(self::getInt());
- core::double* v8 = let final self::Test3* #t29 = t in #t29.{self::Test3::prop} = #t29.{self::Test3::prop}.{core::double::+}(self::getNum());
- core::double* v9 = let final self::Test3* #t30 = t in #t30.{self::Test3::prop} = #t30.{self::Test3::prop}.{core::double::+}(self::getDouble());
- core::double* v10 = let final self::Test3* #t31 = t in #t31.{self::Test3::prop} = #t31.{self::Test3::prop}.{core::double::+}(1);
- core::double* v11 = let final self::Test3* #t32 = t in let final core::double* #t33 = #t32.{self::Test3::prop} in let final core::double* #t34 = #t32.{self::Test3::prop} = #t33.{core::double::+}(1) in #t33;
+ core::num* v5 = let final self::Test3* #t24 = t in let final core::double* #t25 = #t24.{self::Test3::prop}{core::double*} in #t25 == null ?{core::num*} #t24.{self::Test3::prop} = self::getNum() as{TypeError} core::double* : #t25;
+ core::double* v6 = let final self::Test3* #t26 = t in let final core::double* #t27 = #t26.{self::Test3::prop}{core::double*} in #t27 == null ?{core::double*} #t26.{self::Test3::prop} = self::getDouble() : #t27;
+ core::double* v7 = let final self::Test3* #t28 = t in #t28.{self::Test3::prop} = #t28.{self::Test3::prop}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = let final self::Test3* #t29 = t in #t29.{self::Test3::prop} = #t29.{self::Test3::prop}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = let final self::Test3* #t30 = t in #t30.{self::Test3::prop} = #t30.{self::Test3::prop}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = let final self::Test3* #t31 = t in #t31.{self::Test3::prop} = #t31.{self::Test3::prop}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final self::Test3* #t32 = t in let final core::double* #t33 = #t32.{self::Test3::prop}{core::double*} in let final core::double* #t34 = #t32.{self::Test3::prop} = #t33.{core::double::+}(1){(core::num*) →* core::double*} in #t33;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.transformed.expect
index 36077e1..f994d28 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.transformed.expect
@@ -10,12 +10,12 @@
static method test(self::Test1* t) → void {
core::int* v1 = t.{self::Test1::prop} = self::getInt();
core::num* v2 = t.{self::Test1::prop} = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final self::Test1* #t1 = t in let final core::int* #t2 = #t1.{self::Test1::prop} in #t2.{core::num::==}(null) ?{core::int*} #t1.{self::Test1::prop} = self::getInt() : #t2;
- core::num* v5 = let final self::Test1* #t3 = t in let final core::int* #t4 = #t3.{self::Test1::prop} in #t4.{core::num::==}(null) ?{core::num*} #t3.{self::Test1::prop} = self::getNum() as{TypeError} core::int* : #t4;
- core::int* v7 = let final self::Test1* #t5 = t in #t5.{self::Test1::prop} = #t5.{self::Test1::prop}.{core::num::+}(self::getInt());
- core::num* v8 = let final self::Test1* #t6 = t in #t6.{self::Test1::prop} = #t6.{self::Test1::prop}.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = let final self::Test1* #t7 = t in #t7.{self::Test1::prop} = #t7.{self::Test1::prop}.{core::num::+}(1);
- core::int* v11 = let final self::Test1* #t8 = t in let final core::int* #t9 = #t8.{self::Test1::prop} in let final core::int* #t10 = #t8.{self::Test1::prop} = #t9.{core::num::+}(1) in #t9;
+ core::int* v4 = let final self::Test1* #t1 = t in let final core::int* #t2 = #t1.{self::Test1::prop}{core::int*} in #t2 == null ?{core::int*} #t1.{self::Test1::prop} = self::getInt() : #t2;
+ core::num* v5 = let final self::Test1* #t3 = t in let final core::int* #t4 = #t3.{self::Test1::prop}{core::int*} in #t4 == null ?{core::num*} #t3.{self::Test1::prop} = self::getNum() as{TypeError} core::int* : #t4;
+ core::int* v7 = let final self::Test1* #t5 = t in #t5.{self::Test1::prop} = #t5.{self::Test1::prop}{core::int*}.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = let final self::Test1* #t6 = t in #t6.{self::Test1::prop} = #t6.{self::Test1::prop}{core::int*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = let final self::Test1* #t7 = t in #t7.{self::Test1::prop} = #t7.{self::Test1::prop}{core::int*}.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final self::Test1* #t8 = t in let final core::int* #t9 = #t8.{self::Test1::prop}{core::int*} in let final core::int* #t10 = #t8.{self::Test1::prop} = #t9.{core::num::+}(1){(core::num*) →* core::int*} in #t9;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -37,14 +37,14 @@
core::int* v1 = t.{self::Test2::prop} = self::getInt();
core::num* v2 = t.{self::Test2::prop} = self::getNum();
core::double* v3 = t.{self::Test2::prop} = self::getDouble();
- core::num* v4 = let final self::Test2* #t11 = t in let final core::num* #t12 = #t11.{self::Test2::prop} in #t12.{core::num::==}(null) ?{core::num*} #t11.{self::Test2::prop} = self::getInt() : #t12;
- core::num* v5 = let final self::Test2* #t13 = t in let final core::num* #t14 = #t13.{self::Test2::prop} in #t14.{core::num::==}(null) ?{core::num*} #t13.{self::Test2::prop} = self::getNum() : #t14;
- core::num* v6 = let final self::Test2* #t15 = t in let final core::num* #t16 = #t15.{self::Test2::prop} in #t16.{core::num::==}(null) ?{core::num*} #t15.{self::Test2::prop} = self::getDouble() : #t16;
- core::num* v7 = let final self::Test2* #t17 = t in #t17.{self::Test2::prop} = #t17.{self::Test2::prop}.{core::num::+}(self::getInt());
- core::num* v8 = let final self::Test2* #t18 = t in #t18.{self::Test2::prop} = #t18.{self::Test2::prop}.{core::num::+}(self::getNum());
- core::num* v9 = let final self::Test2* #t19 = t in #t19.{self::Test2::prop} = #t19.{self::Test2::prop}.{core::num::+}(self::getDouble());
- core::num* v10 = let final self::Test2* #t20 = t in #t20.{self::Test2::prop} = #t20.{self::Test2::prop}.{core::num::+}(1);
- core::num* v11 = let final self::Test2* #t21 = t in let final core::num* #t22 = #t21.{self::Test2::prop} in let final core::num* #t23 = #t21.{self::Test2::prop} = #t22.{core::num::+}(1) in #t22;
+ core::num* v4 = let final self::Test2* #t11 = t in let final core::num* #t12 = #t11.{self::Test2::prop}{core::num*} in #t12 == null ?{core::num*} #t11.{self::Test2::prop} = self::getInt() : #t12;
+ core::num* v5 = let final self::Test2* #t13 = t in let final core::num* #t14 = #t13.{self::Test2::prop}{core::num*} in #t14 == null ?{core::num*} #t13.{self::Test2::prop} = self::getNum() : #t14;
+ core::num* v6 = let final self::Test2* #t15 = t in let final core::num* #t16 = #t15.{self::Test2::prop}{core::num*} in #t16 == null ?{core::num*} #t15.{self::Test2::prop} = self::getDouble() : #t16;
+ core::num* v7 = let final self::Test2* #t17 = t in #t17.{self::Test2::prop} = #t17.{self::Test2::prop}{core::num*}.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = let final self::Test2* #t18 = t in #t18.{self::Test2::prop} = #t18.{self::Test2::prop}{core::num*}.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = let final self::Test2* #t19 = t in #t19.{self::Test2::prop} = #t19.{self::Test2::prop}{core::num*}.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = let final self::Test2* #t20 = t in #t20.{self::Test2::prop} = #t20.{self::Test2::prop}{core::num*}.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final self::Test2* #t21 = t in let final core::num* #t22 = #t21.{self::Test2::prop}{core::num*} in let final core::num* #t23 = #t21.{self::Test2::prop} = #t22.{core::num::+}(1){(core::num*) →* core::num*} in #t22;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -65,13 +65,13 @@
static method test3(self::Test3* t) → void {
core::num* v2 = t.{self::Test3::prop} = self::getNum() as{TypeError} core::double*;
core::double* v3 = t.{self::Test3::prop} = self::getDouble();
- core::num* v5 = let final self::Test3* #t24 = t in let final core::double* #t25 = #t24.{self::Test3::prop} in #t25.{core::num::==}(null) ?{core::num*} #t24.{self::Test3::prop} = self::getNum() as{TypeError} core::double* : #t25;
- core::double* v6 = let final self::Test3* #t26 = t in let final core::double* #t27 = #t26.{self::Test3::prop} in #t27.{core::num::==}(null) ?{core::double*} #t26.{self::Test3::prop} = self::getDouble() : #t27;
- core::double* v7 = let final self::Test3* #t28 = t in #t28.{self::Test3::prop} = #t28.{self::Test3::prop}.{core::double::+}(self::getInt());
- core::double* v8 = let final self::Test3* #t29 = t in #t29.{self::Test3::prop} = #t29.{self::Test3::prop}.{core::double::+}(self::getNum());
- core::double* v9 = let final self::Test3* #t30 = t in #t30.{self::Test3::prop} = #t30.{self::Test3::prop}.{core::double::+}(self::getDouble());
- core::double* v10 = let final self::Test3* #t31 = t in #t31.{self::Test3::prop} = #t31.{self::Test3::prop}.{core::double::+}(1);
- core::double* v11 = let final self::Test3* #t32 = t in let final core::double* #t33 = #t32.{self::Test3::prop} in let final core::double* #t34 = #t32.{self::Test3::prop} = #t33.{core::double::+}(1) in #t33;
+ core::num* v5 = let final self::Test3* #t24 = t in let final core::double* #t25 = #t24.{self::Test3::prop}{core::double*} in #t25 == null ?{core::num*} #t24.{self::Test3::prop} = self::getNum() as{TypeError} core::double* : #t25;
+ core::double* v6 = let final self::Test3* #t26 = t in let final core::double* #t27 = #t26.{self::Test3::prop}{core::double*} in #t27 == null ?{core::double*} #t26.{self::Test3::prop} = self::getDouble() : #t27;
+ core::double* v7 = let final self::Test3* #t28 = t in #t28.{self::Test3::prop} = #t28.{self::Test3::prop}{core::double*}.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = let final self::Test3* #t29 = t in #t29.{self::Test3::prop} = #t29.{self::Test3::prop}{core::double*}.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = let final self::Test3* #t30 = t in #t30.{self::Test3::prop} = #t30.{self::Test3::prop}{core::double*}.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = let final self::Test3* #t31 = t in #t31.{self::Test3::prop} = #t31.{self::Test3::prop}{core::double*}.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final self::Test3* #t32 = t in let final core::double* #t33 = #t32.{self::Test3::prop}{core::double*} in let final core::double* #t34 = #t32.{self::Test3::prop} = #t33.{core::double::+}(1){(core::num*) →* core::double*} in #t33;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.expect
index cd7e710..090413f 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.expect
@@ -41,34 +41,34 @@
return null;
static method test_topLevelVariable() → void {
self::topLevelVariable = self::f<self::B*>();
- self::topLevelVariable.{self::A::==}(null) ?{self::B*} self::topLevelVariable = self::f<self::B*>() : null;
- self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>());
- self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>());
- self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
- self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
+ self::topLevelVariable == null ?{self::B*} self::topLevelVariable = self::f<self::B*>() : null;
+ self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = self::topLevelVariable = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = self::topLevelVariable in #t1.{self::A::==}(null) ?{self::B*} self::topLevelVariable = self::f<self::B*>() : #t1;
- self::A* v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>());
- self::C* v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>());
- self::B* v6 = self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = self::topLevelVariable in let final self::B* #t3 = self::topLevelVariable = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = self::topLevelVariable in #t1 == null ?{self::B*} self::topLevelVariable = self::f<self::B*>() : #t1;
+ self::A* v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = self::topLevelVariable in let final self::B* #t3 = self::topLevelVariable = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
static method test_staticVariable() → void {
self::B::staticVariable = self::f<self::B*>();
- self::B::staticVariable.{self::A::==}(null) ?{self::B*} self::B::staticVariable = self::f<self::B*>() : null;
- self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>());
- self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>());
- self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
- self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
+ self::B::staticVariable == null ?{self::B*} self::B::staticVariable = self::f<self::B*>() : null;
+ self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = self::B::staticVariable = self::f<self::B*>();
- self::B* v2 = let final self::B* #t4 = self::B::staticVariable in #t4.{self::A::==}(null) ?{self::B*} self::B::staticVariable = self::f<self::B*>() : #t4;
- self::A* v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>());
- self::C* v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>());
- self::B* v6 = self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
- self::B* v7 = let final self::B* #t5 = self::B::staticVariable in let final self::B* #t6 = self::B::staticVariable = #t5.{self::B::-}(1) in #t5;
+ self::B* v2 = let final self::B* #t4 = self::B::staticVariable in #t4 == null ?{self::B*} self::B::staticVariable = self::f<self::B*>() : #t4;
+ self::A* v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t5 = self::B::staticVariable in let final self::B* #t6 = self::B::staticVariable = #t5.{self::B::-}(1){(core::int*) →* self::B*} in #t5;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.transformed.expect
index cd7e710..090413f 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.transformed.expect
@@ -41,34 +41,34 @@
return null;
static method test_topLevelVariable() → void {
self::topLevelVariable = self::f<self::B*>();
- self::topLevelVariable.{self::A::==}(null) ?{self::B*} self::topLevelVariable = self::f<self::B*>() : null;
- self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>());
- self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>());
- self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
- self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
+ self::topLevelVariable == null ?{self::B*} self::topLevelVariable = self::f<self::B*>() : null;
+ self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = self::topLevelVariable = self::f<self::B*>();
- self::B* v2 = let final self::B* #t1 = self::topLevelVariable in #t1.{self::A::==}(null) ?{self::B*} self::topLevelVariable = self::f<self::B*>() : #t1;
- self::A* v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>());
- self::C* v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>());
- self::B* v6 = self::topLevelVariable = self::topLevelVariable.{self::B::-}(1);
- self::B* v7 = let final self::B* #t2 = self::topLevelVariable in let final self::B* #t3 = self::topLevelVariable = #t2.{self::B::-}(1) in #t2;
+ self::B* v2 = let final self::B* #t1 = self::topLevelVariable in #t1 == null ?{self::B*} self::topLevelVariable = self::f<self::B*>() : #t1;
+ self::A* v3 = self::topLevelVariable = self::topLevelVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = self::topLevelVariable = self::topLevelVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = self::topLevelVariable = self::topLevelVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = self::topLevelVariable = self::topLevelVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t2 = self::topLevelVariable in let final self::B* #t3 = self::topLevelVariable = #t2.{self::B::-}(1){(core::int*) →* self::B*} in #t2;
}
static method test_staticVariable() → void {
self::B::staticVariable = self::f<self::B*>();
- self::B::staticVariable.{self::A::==}(null) ?{self::B*} self::B::staticVariable = self::f<self::B*>() : null;
- self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>());
- self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>());
- self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
- self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
+ self::B::staticVariable == null ?{self::B*} self::B::staticVariable = self::f<self::B*>() : null;
+ self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
self::B* v1 = self::B::staticVariable = self::f<self::B*>();
- self::B* v2 = let final self::B* #t4 = self::B::staticVariable in #t4.{self::A::==}(null) ?{self::B*} self::B::staticVariable = self::f<self::B*>() : #t4;
- self::A* v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()) as{TypeError} self::B*;
- self::B* v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>());
- self::C* v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>());
- self::B* v6 = self::B::staticVariable = self::B::staticVariable.{self::B::-}(1);
- self::B* v7 = let final self::B* #t5 = self::B::staticVariable in let final self::B* #t6 = self::B::staticVariable = #t5.{self::B::-}(1) in #t5;
+ self::B* v2 = let final self::B* #t4 = self::B::staticVariable in #t4 == null ?{self::B*} self::B::staticVariable = self::f<self::B*>() : #t4;
+ self::A* v3 = self::B::staticVariable = self::B::staticVariable.{self::B::+}(self::f<self::C*>()){(self::C*) →* self::A*} as{TypeError} self::B*;
+ self::B* v4 = self::B::staticVariable = self::B::staticVariable.{self::B::*}(self::f<self::B*>()){(self::B*) →* self::B*};
+ self::C* v5 = self::B::staticVariable = self::B::staticVariable.{self::B::&}(self::f<self::A*>()){(self::A*) →* self::C*};
+ self::B* v6 = self::B::staticVariable = self::B::staticVariable.{self::B::-}(1){(core::int*) →* self::B*};
+ self::B* v7 = let final self::B* #t5 = self::B::staticVariable in let final self::B* #t6 = self::B::staticVariable = #t5.{self::B::-}(1){(core::int*) →* self::B*} in #t5;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.expect
index b9a69ea..ae43fd0 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.expect
@@ -14,35 +14,35 @@
static method test1() → void {
core::int* v1 = self::topLevelInt = self::getInt();
core::num* v2 = self::topLevelInt = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final core::int* #t1 = self::topLevelInt in #t1.{core::num::==}(null) ?{core::int*} self::topLevelInt = self::getInt() : #t1;
- core::num* v5 = let final core::int* #t2 = self::topLevelInt in #t2.{core::num::==}(null) ?{core::num*} self::topLevelInt = self::getNum() as{TypeError} core::int* : #t2;
- core::int* v7 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getInt());
- core::num* v8 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = self::topLevelInt = self::topLevelInt.{core::num::+}(1);
- core::int* v11 = let final core::int* #t3 = self::topLevelInt in let final core::int* #t4 = self::topLevelInt = #t3.{core::num::+}(1) in #t3;
+ core::int* v4 = let final core::int* #t1 = self::topLevelInt in #t1 == null ?{core::int*} self::topLevelInt = self::getInt() : #t1;
+ core::num* v5 = let final core::int* #t2 = self::topLevelInt in #t2 == null ?{core::num*} self::topLevelInt = self::getNum() as{TypeError} core::int* : #t2;
+ core::int* v7 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = self::topLevelInt = self::topLevelInt.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t3 = self::topLevelInt in let final core::int* #t4 = self::topLevelInt = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3;
}
static method test2() → void {
core::int* v1 = self::topLevelNum = self::getInt();
core::num* v2 = self::topLevelNum = self::getNum();
core::double* v3 = self::topLevelNum = self::getDouble();
- core::num* v4 = let final core::num* #t5 = self::topLevelNum in #t5.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getInt() : #t5;
- core::num* v5 = let final core::num* #t6 = self::topLevelNum in #t6.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getNum() : #t6;
- core::num* v6 = let final core::num* #t7 = self::topLevelNum in #t7.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getDouble() : #t7;
- core::num* v7 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getInt());
- core::num* v8 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getNum());
- core::num* v9 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getDouble());
- core::num* v10 = self::topLevelNum = self::topLevelNum.{core::num::+}(1);
- core::num* v11 = let final core::num* #t8 = self::topLevelNum in let final core::num* #t9 = self::topLevelNum = #t8.{core::num::+}(1) in #t8;
+ core::num* v4 = let final core::num* #t5 = self::topLevelNum in #t5 == null ?{core::num*} self::topLevelNum = self::getInt() : #t5;
+ core::num* v5 = let final core::num* #t6 = self::topLevelNum in #t6 == null ?{core::num*} self::topLevelNum = self::getNum() : #t6;
+ core::num* v6 = let final core::num* #t7 = self::topLevelNum in #t7 == null ?{core::num*} self::topLevelNum = self::getDouble() : #t7;
+ core::num* v7 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = self::topLevelNum = self::topLevelNum.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t8 = self::topLevelNum in let final core::num* #t9 = self::topLevelNum = #t8.{core::num::+}(1){(core::num*) →* core::num*} in #t8;
}
static method test3() → void {
core::num* v2 = self::topLevelDouble = self::getNum() as{TypeError} core::double*;
core::double* v3 = self::topLevelDouble = self::getDouble();
- core::num* v5 = let final core::double* #t10 = self::topLevelDouble in #t10.{core::num::==}(null) ?{core::num*} self::topLevelDouble = self::getNum() as{TypeError} core::double* : #t10;
- core::double* v6 = let final core::double* #t11 = self::topLevelDouble in #t11.{core::num::==}(null) ?{core::double*} self::topLevelDouble = self::getDouble() : #t11;
- core::double* v7 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getInt());
- core::double* v8 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getNum());
- core::double* v9 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getDouble());
- core::double* v10 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(1);
- core::double* v11 = let final core::double* #t12 = self::topLevelDouble in let final core::double* #t13 = self::topLevelDouble = #t12.{core::double::+}(1) in #t12;
+ core::num* v5 = let final core::double* #t10 = self::topLevelDouble in #t10 == null ?{core::num*} self::topLevelDouble = self::getNum() as{TypeError} core::double* : #t10;
+ core::double* v6 = let final core::double* #t11 = self::topLevelDouble in #t11 == null ?{core::double*} self::topLevelDouble = self::getDouble() : #t11;
+ core::double* v7 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t12 = self::topLevelDouble in let final core::double* #t13 = self::topLevelDouble = #t12.{core::double::+}(1){(core::num*) →* core::double*} in #t12;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.transformed.expect
index b9a69ea..ae43fd0 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.transformed.expect
@@ -14,35 +14,35 @@
static method test1() → void {
core::int* v1 = self::topLevelInt = self::getInt();
core::num* v2 = self::topLevelInt = self::getNum() as{TypeError} core::int*;
- core::int* v4 = let final core::int* #t1 = self::topLevelInt in #t1.{core::num::==}(null) ?{core::int*} self::topLevelInt = self::getInt() : #t1;
- core::num* v5 = let final core::int* #t2 = self::topLevelInt in #t2.{core::num::==}(null) ?{core::num*} self::topLevelInt = self::getNum() as{TypeError} core::int* : #t2;
- core::int* v7 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getInt());
- core::num* v8 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getNum()) as{TypeError} core::int*;
- core::int* v10 = self::topLevelInt = self::topLevelInt.{core::num::+}(1);
- core::int* v11 = let final core::int* #t3 = self::topLevelInt in let final core::int* #t4 = self::topLevelInt = #t3.{core::num::+}(1) in #t3;
+ core::int* v4 = let final core::int* #t1 = self::topLevelInt in #t1 == null ?{core::int*} self::topLevelInt = self::getInt() : #t1;
+ core::num* v5 = let final core::int* #t2 = self::topLevelInt in #t2 == null ?{core::num*} self::topLevelInt = self::getNum() as{TypeError} core::int* : #t2;
+ core::int* v7 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getInt()){(core::num*) →* core::int*};
+ core::num* v8 = self::topLevelInt = self::topLevelInt.{core::num::+}(self::getNum()){(core::num*) →* core::num*} as{TypeError} core::int*;
+ core::int* v10 = self::topLevelInt = self::topLevelInt.{core::num::+}(1){(core::num*) →* core::int*};
+ core::int* v11 = let final core::int* #t3 = self::topLevelInt in let final core::int* #t4 = self::topLevelInt = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3;
}
static method test2() → void {
core::int* v1 = self::topLevelNum = self::getInt();
core::num* v2 = self::topLevelNum = self::getNum();
core::double* v3 = self::topLevelNum = self::getDouble();
- core::num* v4 = let final core::num* #t5 = self::topLevelNum in #t5.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getInt() : #t5;
- core::num* v5 = let final core::num* #t6 = self::topLevelNum in #t6.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getNum() : #t6;
- core::num* v6 = let final core::num* #t7 = self::topLevelNum in #t7.{core::num::==}(null) ?{core::num*} self::topLevelNum = self::getDouble() : #t7;
- core::num* v7 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getInt());
- core::num* v8 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getNum());
- core::num* v9 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getDouble());
- core::num* v10 = self::topLevelNum = self::topLevelNum.{core::num::+}(1);
- core::num* v11 = let final core::num* #t8 = self::topLevelNum in let final core::num* #t9 = self::topLevelNum = #t8.{core::num::+}(1) in #t8;
+ core::num* v4 = let final core::num* #t5 = self::topLevelNum in #t5 == null ?{core::num*} self::topLevelNum = self::getInt() : #t5;
+ core::num* v5 = let final core::num* #t6 = self::topLevelNum in #t6 == null ?{core::num*} self::topLevelNum = self::getNum() : #t6;
+ core::num* v6 = let final core::num* #t7 = self::topLevelNum in #t7 == null ?{core::num*} self::topLevelNum = self::getDouble() : #t7;
+ core::num* v7 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getInt()){(core::num*) →* core::num*};
+ core::num* v8 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getNum()){(core::num*) →* core::num*};
+ core::num* v9 = self::topLevelNum = self::topLevelNum.{core::num::+}(self::getDouble()){(core::num*) →* core::num*};
+ core::num* v10 = self::topLevelNum = self::topLevelNum.{core::num::+}(1){(core::num*) →* core::num*};
+ core::num* v11 = let final core::num* #t8 = self::topLevelNum in let final core::num* #t9 = self::topLevelNum = #t8.{core::num::+}(1){(core::num*) →* core::num*} in #t8;
}
static method test3() → void {
core::num* v2 = self::topLevelDouble = self::getNum() as{TypeError} core::double*;
core::double* v3 = self::topLevelDouble = self::getDouble();
- core::num* v5 = let final core::double* #t10 = self::topLevelDouble in #t10.{core::num::==}(null) ?{core::num*} self::topLevelDouble = self::getNum() as{TypeError} core::double* : #t10;
- core::double* v6 = let final core::double* #t11 = self::topLevelDouble in #t11.{core::num::==}(null) ?{core::double*} self::topLevelDouble = self::getDouble() : #t11;
- core::double* v7 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getInt());
- core::double* v8 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getNum());
- core::double* v9 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getDouble());
- core::double* v10 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(1);
- core::double* v11 = let final core::double* #t12 = self::topLevelDouble in let final core::double* #t13 = self::topLevelDouble = #t12.{core::double::+}(1) in #t12;
+ core::num* v5 = let final core::double* #t10 = self::topLevelDouble in #t10 == null ?{core::num*} self::topLevelDouble = self::getNum() as{TypeError} core::double* : #t10;
+ core::double* v6 = let final core::double* #t11 = self::topLevelDouble in #t11 == null ?{core::double*} self::topLevelDouble = self::getDouble() : #t11;
+ core::double* v7 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getInt()){(core::num*) →* core::double*};
+ core::double* v8 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getNum()){(core::num*) →* core::double*};
+ core::double* v9 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(self::getDouble()){(core::num*) →* core::double*};
+ core::double* v10 = self::topLevelDouble = self::topLevelDouble.{core::double::+}(1){(core::num*) →* core::double*};
+ core::double* v11 = let final core::double* #t12 = self::topLevelDouble in let final core::double* #t13 = self::topLevelDouble = #t12.{core::double::+}(1){(core::num*) →* core::double*} in #t12;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.expect
index 7527873..7934529 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.expect
@@ -57,6 +57,6 @@
;
}
static field self::A* a = new self::A::•();
-static field self::C* x = self::a.{self::A::b}.{self::B::c};
-static field self::C* y = let final self::B* #t1 = self::a.{self::A::b} in let final self::C* #t2 = #t1.{self::B::c} in #t2.{self::C::==}(null) ?{self::C*} #t1.{self::B::c} = new self::D::•() : #t2;
+static field self::C* x = self::a.{self::A::b}{self::B*}.{self::B::c}{self::C*};
+static field self::C* y = let final self::B* #t1 = self::a.{self::A::b}{self::B*} in let final self::C* #t2 = #t1.{self::B::c}{self::C*} in #t2 == null ?{self::C*} #t1.{self::B::c} = new self::D::•() : #t2;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.transformed.expect
index 7527873..7934529 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.transformed.expect
@@ -57,6 +57,6 @@
;
}
static field self::A* a = new self::A::•();
-static field self::C* x = self::a.{self::A::b}.{self::B::c};
-static field self::C* y = let final self::B* #t1 = self::a.{self::A::b} in let final self::C* #t2 = #t1.{self::B::c} in #t2.{self::C::==}(null) ?{self::C*} #t1.{self::B::c} = new self::D::•() : #t2;
+static field self::C* x = self::a.{self::A::b}{self::B*}.{self::B::c}{self::C*};
+static field self::C* y = let final self::B* #t1 = self::a.{self::A::b}{self::B*} in let final self::C* #t2 = #t1.{self::B::c}{self::C*} in #t2 == null ?{self::C*} #t1.{self::B::c} = new self::D::•() : #t2;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.expect
index 05c93c1..07d3dfd 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.expect
@@ -55,6 +55,6 @@
;
}
static field self::A* a = new self::A::•();
-static field self::C* x = self::a.{self::A::b}.{self::B::c};
-static field self::C* y = let final self::B* #t1 = self::a.{self::A::b} in let final self::C* #t2 = #t1.{self::B::c} in #t2.{self::C::==}(null) ?{self::C*} #t1.{self::B::c} = new self::D::•() : #t2;
+static field self::C* x = self::a.{self::A::b}{self::B*}.{self::B::c}{self::C*};
+static field self::C* y = let final self::B* #t1 = self::a.{self::A::b}{self::B*} in let final self::C* #t2 = #t1.{self::B::c}{self::C*} in #t2 == null ?{self::C*} #t1.{self::B::c} = new self::D::•() : #t2;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.transformed.expect
index 05c93c1..07d3dfd 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.transformed.expect
@@ -55,6 +55,6 @@
;
}
static field self::A* a = new self::A::•();
-static field self::C* x = self::a.{self::A::b}.{self::B::c};
-static field self::C* y = let final self::B* #t1 = self::a.{self::A::b} in let final self::C* #t2 = #t1.{self::B::c} in #t2.{self::C::==}(null) ?{self::C*} #t1.{self::B::c} = new self::D::•() : #t2;
+static field self::C* x = self::a.{self::A::b}{self::B*}.{self::B::c}{self::C*};
+static field self::C* y = let final self::B* #t1 = self::a.{self::A::b}{self::B*} in let final self::C* #t2 = #t1.{self::B::c}{self::C*} in #t2 == null ?{self::C*} #t1.{self::B::c} = new self::D::•() : #t2;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.expect
index a842dc0..21df0fc 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.expect
@@ -28,6 +28,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::A* a = new self::A::•();
-static field () →* invalid-type x = () → invalid-type => self::a.{self::A::b};
-static field () →* () →* () →* invalid-type y = () → () →* () →* invalid-type => self::a.{self::A::c};
+static field () →* invalid-type x = () → invalid-type => self::a.{self::A::b}{invalid-type};
+static field () →* () →* () →* invalid-type y = () → () →* () →* invalid-type => self::a.{self::A::c}{() →* () →* invalid-type};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.transformed.expect
index a842dc0..21df0fc 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.transformed.expect
@@ -28,6 +28,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::A* a = new self::A::•();
-static field () →* invalid-type x = () → invalid-type => self::a.{self::A::b};
-static field () →* () →* () →* invalid-type y = () → () →* () →* invalid-type => self::a.{self::A::c};
+static field () →* invalid-type x = () → invalid-type => self::a.{self::A::b}{invalid-type};
+static field () →* () →* () →* invalid-type y = () → () →* () →* invalid-type => self::a.{self::A::c}{() →* () →* invalid-type};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.expect
index 08191b9..18cf625 100644
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.expect
@@ -24,7 +24,7 @@
;
method f() → void {}
}
-static field void x = new self::C::•().{self::C::f}();
+static field void x = new self::C::•().{self::C::f}(){() →* void};
static method main() → dynamic {
self::x;
}
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.transformed.expect
index 08191b9..18cf625 100644
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.transformed.expect
@@ -24,7 +24,7 @@
;
method f() → void {}
}
-static field void x = new self::C::•().{self::C::f}();
+static field void x = new self::C::•().{self::C::f}(){() →* void};
static method main() → dynamic {
self::x;
}
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.expect
index fa1ffe6..35f8118 100644
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.expect
@@ -78,10 +78,10 @@
method f(core::Object* o) → void {}
}
static method g1(self::C* c) → void {
- c.{self::C::f}("hi");
+ c.{self::C::f}("hi"){(core::Object*) →* void};
}
static method g2(self::E* e) → void {
- e.{self::I2::f}("hi");
+ e.{self::I2::f}("hi"){(core::Object*) →* void};
}
static method main() → dynamic {
self::g1(new self::D::•());
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.transformed.expect
index fa1ffe6..35f8118 100644
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.transformed.expect
@@ -78,10 +78,10 @@
method f(core::Object* o) → void {}
}
static method g1(self::C* c) → void {
- c.{self::C::f}("hi");
+ c.{self::C::f}("hi"){(core::Object*) →* void};
}
static method g2(self::E* e) → void {
- e.{self::I2::f}("hi");
+ e.{self::I2::f}("hi"){(core::Object*) →* void};
}
static method main() → dynamic {
self::g1(new self::D::•());
diff --git a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.expect b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.expect
index 0683b1f..fa63c03 100644
--- a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.expect
@@ -21,5 +21,5 @@
}
static method main() → dynamic {
self::Class* c;
- () →* core::num* f = let final self::Class* #t1 = c in #t1.{self::Class::==}(null) ?{() →* core::num*} null : #t1.{self::Class::method}<core::num*>;
+ () →* core::num* f = let final self::Class* #t1 = c in #t1 == null ?{() →* core::num*} null : #t1.{self::Class::method}{<T extends core::Object* = dynamic>() →* T*}<core::num*>;
}
diff --git a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.transformed.expect
index 0683b1f..fa63c03 100644
--- a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.transformed.expect
@@ -21,5 +21,5 @@
}
static method main() → dynamic {
self::Class* c;
- () →* core::num* f = let final self::Class* #t1 = c in #t1.{self::Class::==}(null) ?{() →* core::num*} null : #t1.{self::Class::method}<core::num*>;
+ () →* core::num* f = let final self::Class* #t1 = c in #t1 == null ?{() →* core::num*} null : #t1.{self::Class::method}{<T extends core::Object* = dynamic>() →* T*}<core::num*>;
}
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.expect
index b551bed..facdace 100644
--- a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.expect
@@ -123,15 +123,15 @@
static method f<T extends core::Object* = dynamic>() → self::f::T*
return null;
static method test1(self::G* g) → void {
- let final self::G* #t1 = g in #t1.{self::G::target} = #t1.{self::G::target}.{self::A::*}(self::f<self::D*>());
- self::C* x = let final self::G* #t2 = g in #t2.{self::G::target} = #t2.{self::G::target}.{self::A::*}(self::f<self::D*>());
+ let final self::G* #t1 = g in #t1.{self::G::target} = #t1.{self::G::target}{self::A*}.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*};
+ self::C* x = let final self::G* #t2 = g in #t2.{self::G::target} = #t2.{self::G::target}{self::A*}.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*};
}
static method test2(self::G* g) → void {
- let final self::G* #t3 = g in #t3.{self::G::target} = #t3.{self::G::target}.{self::A::+}(1);
- self::C* x = let final self::G* #t4 = g in #t4.{self::G::target} = #t4.{self::G::target}.{self::A::+}(1);
+ let final self::G* #t3 = g in #t3.{self::G::target} = #t3.{self::G::target}{self::A*}.{self::A::+}(1){(core::int*) →* self::C*};
+ self::C* x = let final self::G* #t4 = g in #t4.{self::G::target} = #t4.{self::G::target}{self::A*}.{self::A::+}(1){(core::int*) →* self::C*};
}
static method test3(self::G* g) → void {
- let final self::G* #t5 = g in #t5.{self::G::target} = #t5.{self::G::target}.{self::A::+}(1);
- self::A* x = let final self::G* #t6 = g in let final self::A* #t7 = #t6.{self::G::target} in let final self::C* #t8 = #t6.{self::G::target} = #t7.{self::A::+}(1) in #t7;
+ let final self::G* #t5 = g in #t5.{self::G::target} = #t5.{self::G::target}{self::A*}.{self::A::+}(1){(core::int*) →* self::C*};
+ self::A* x = let final self::G* #t6 = g in let final self::A* #t7 = #t6.{self::G::target}{self::A*} in let final self::C* #t8 = #t6.{self::G::target} = #t7.{self::A::+}(1){(core::int*) →* self::C*} in #t7;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.transformed.expect
index b551bed..facdace 100644
--- a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.transformed.expect
@@ -123,15 +123,15 @@
static method f<T extends core::Object* = dynamic>() → self::f::T*
return null;
static method test1(self::G* g) → void {
- let final self::G* #t1 = g in #t1.{self::G::target} = #t1.{self::G::target}.{self::A::*}(self::f<self::D*>());
- self::C* x = let final self::G* #t2 = g in #t2.{self::G::target} = #t2.{self::G::target}.{self::A::*}(self::f<self::D*>());
+ let final self::G* #t1 = g in #t1.{self::G::target} = #t1.{self::G::target}{self::A*}.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*};
+ self::C* x = let final self::G* #t2 = g in #t2.{self::G::target} = #t2.{self::G::target}{self::A*}.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*};
}
static method test2(self::G* g) → void {
- let final self::G* #t3 = g in #t3.{self::G::target} = #t3.{self::G::target}.{self::A::+}(1);
- self::C* x = let final self::G* #t4 = g in #t4.{self::G::target} = #t4.{self::G::target}.{self::A::+}(1);
+ let final self::G* #t3 = g in #t3.{self::G::target} = #t3.{self::G::target}{self::A*}.{self::A::+}(1){(core::int*) →* self::C*};
+ self::C* x = let final self::G* #t4 = g in #t4.{self::G::target} = #t4.{self::G::target}{self::A*}.{self::A::+}(1){(core::int*) →* self::C*};
}
static method test3(self::G* g) → void {
- let final self::G* #t5 = g in #t5.{self::G::target} = #t5.{self::G::target}.{self::A::+}(1);
- self::A* x = let final self::G* #t6 = g in let final self::A* #t7 = #t6.{self::G::target} in let final self::C* #t8 = #t6.{self::G::target} = #t7.{self::A::+}(1) in #t7;
+ let final self::G* #t5 = g in #t5.{self::G::target} = #t5.{self::G::target}{self::A*}.{self::A::+}(1){(core::int*) →* self::C*};
+ self::A* x = let final self::G* #t6 = g in let final self::A* #t7 = #t6.{self::G::target}{self::A*} in let final self::C* #t8 = #t6.{self::G::target} = #t7.{self::A::+}(1){(core::int*) →* self::C*} in #t7;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.expect
index 4151ea0..d52af61 100644
--- a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.expect
@@ -23,10 +23,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c = new self::C::•();
-static field core::int* field_ref = self::c.{self::C::field};
-static field core::int* getter_ref = self::c.{self::C::getter};
-static field () →* core::int* function_ref = self::c.{self::C::function};
-static field core::List<core::int*>* field_ref_list = <core::int*>[self::c.{self::C::field}];
-static field core::List<core::int*>* getter_ref_list = <core::int*>[self::c.{self::C::getter}];
-static field core::List<() →* core::int*>* function_ref_list = <() →* core::int*>[self::c.{self::C::function}];
+static field core::int* field_ref = self::c.{self::C::field}{core::int*};
+static field core::int* getter_ref = self::c.{self::C::getter}{core::int*};
+static field () →* core::int* function_ref = self::c.{self::C::function}{() →* core::int*};
+static field core::List<core::int*>* field_ref_list = <core::int*>[self::c.{self::C::field}{core::int*}];
+static field core::List<core::int*>* getter_ref_list = <core::int*>[self::c.{self::C::getter}{core::int*}];
+static field core::List<() →* core::int*>* function_ref_list = <() →* core::int*>[self::c.{self::C::function}{() →* core::int*}];
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.transformed.expect
index c23ee62..6c6d71c 100644
--- a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.transformed.expect
@@ -23,10 +23,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static field self::C* c = new self::C::•();
-static field core::int* field_ref = self::c.{self::C::field};
-static field core::int* getter_ref = self::c.{self::C::getter};
-static field () →* core::int* function_ref = self::c.{self::C::function};
-static field core::List<core::int*>* field_ref_list = core::_GrowableList::_literal1<core::int*>(self::c.{self::C::field});
-static field core::List<core::int*>* getter_ref_list = core::_GrowableList::_literal1<core::int*>(self::c.{self::C::getter});
-static field core::List<() →* core::int*>* function_ref_list = core::_GrowableList::_literal1<() →* core::int*>(self::c.{self::C::function});
+static field core::int* field_ref = self::c.{self::C::field}{core::int*};
+static field core::int* getter_ref = self::c.{self::C::getter}{core::int*};
+static field () →* core::int* function_ref = self::c.{self::C::function}{() →* core::int*};
+static field core::List<core::int*>* field_ref_list = core::_GrowableList::_literal1<core::int*>(self::c.{self::C::field}{core::int*});
+static field core::List<core::int*>* getter_ref_list = core::_GrowableList::_literal1<core::int*>(self::c.{self::C::getter}{core::int*});
+static field core::List<() →* core::int*>* function_ref_list = core::_GrowableList::_literal1<() →* core::int*>(self::c.{self::C::function}{() →* core::int*});
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.expect
index a2976ca..0c920ee 100644
--- a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.expect
@@ -108,15 +108,15 @@
return null;
static set target(self::B* value) → void {}
static method test1() → void {
- self::target = self::target.{self::A::*}(self::f<self::D*>());
- self::C* x = self::target = self::target.{self::A::*}(self::f<self::D*>());
+ self::target = self::target.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*};
+ self::C* x = self::target = self::target.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*};
}
static method test2() → void {
- self::target = self::target.{self::A::+}(1);
- self::C* x = self::target = self::target.{self::A::+}(1);
+ self::target = self::target.{self::A::+}(1){(core::int*) →* self::C*};
+ self::C* x = self::target = self::target.{self::A::+}(1){(core::int*) →* self::C*};
}
static method test3() → void {
- self::target = self::target.{self::A::+}(1);
- self::A* x = let final self::A* #t1 = self::target in let final self::C* #t2 = self::target = #t1.{self::A::+}(1) in #t1;
+ self::target = self::target.{self::A::+}(1){(core::int*) →* self::C*};
+ self::A* x = let final self::A* #t1 = self::target in let final self::C* #t2 = self::target = #t1.{self::A::+}(1){(core::int*) →* self::C*} in #t1;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.transformed.expect
index a2976ca..0c920ee 100644
--- a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.transformed.expect
@@ -108,15 +108,15 @@
return null;
static set target(self::B* value) → void {}
static method test1() → void {
- self::target = self::target.{self::A::*}(self::f<self::D*>());
- self::C* x = self::target = self::target.{self::A::*}(self::f<self::D*>());
+ self::target = self::target.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*};
+ self::C* x = self::target = self::target.{self::A::*}(self::f<self::D*>()){(self::D*) →* self::C*};
}
static method test2() → void {
- self::target = self::target.{self::A::+}(1);
- self::C* x = self::target = self::target.{self::A::+}(1);
+ self::target = self::target.{self::A::+}(1){(core::int*) →* self::C*};
+ self::C* x = self::target = self::target.{self::A::+}(1){(core::int*) →* self::C*};
}
static method test3() → void {
- self::target = self::target.{self::A::+}(1);
- self::A* x = let final self::A* #t1 = self::target in let final self::C* #t2 = self::target = #t1.{self::A::+}(1) in #t1;
+ self::target = self::target.{self::A::+}(1){(core::int*) →* self::C*};
+ self::A* x = let final self::A* #t1 = self::target in let final self::C* #t2 = self::target = #t1.{self::A::+}(1){(core::int*) →* self::C*} in #t1;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.expect
index 8be3350..69cac39 100644
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.expect
@@ -98,7 +98,7 @@
method foo() → self::C*
return new self::C::•();
}
-static field self::B* x = self::bar().{self::G::foo}();
+static field self::B* x = self::bar().{self::G::foo}(){() →* self::B*};
static method bar() → self::G*
return new self::H::•();
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.transformed.expect
index 8be3350..69cac39 100644
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.transformed.expect
@@ -98,7 +98,7 @@
method foo() → self::C*
return new self::C::•();
}
-static field self::B* x = self::bar().{self::G::foo}();
+static field self::B* x = self::bar().{self::G::foo}(){() →* self::B*};
static method bar() → self::G*
return new self::H::•();
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
index 129610f..169486b 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
@@ -2,11 +2,11 @@
import self as self;
import "dart:core" as core;
-static field core::List<core::int*>* v = (#C1).call<core::int*>(() → core::int* {
+static field core::List<core::int*>* v = (#C1)<core::int*>(() → core::int* {
return 1;
-});
+}){(() →* core::int*) →* core::List<core::int*>*};
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
index cf09c4f..633c890 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
@@ -2,11 +2,11 @@
import self as self;
import "dart:core" as core;
-static field core::List<core::int*>* v = (#C1).call<core::int*>(() → core::int* {
+static field core::List<core::int*>* v = (#C1)<core::int*>(() → core::int* {
return 1;
-});
+}){(() →* core::int*) →* core::List<core::int*>*};
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
index 129610f..169486b 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
@@ -2,11 +2,11 @@
import self as self;
import "dart:core" as core;
-static field core::List<core::int*>* v = (#C1).call<core::int*>(() → core::int* {
+static field core::List<core::int*>* v = (#C1)<core::int*>(() → core::int* {
return 1;
-});
+}){(() →* core::int*) →* core::List<core::int*>*};
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return <self::f::T*>[g.call()];
+ return <self::f::T*>[g(){() →* self::f::T*}];
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
index cf09c4f..633c890 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
@@ -2,11 +2,11 @@
import self as self;
import "dart:core" as core;
-static field core::List<core::int*>* v = (#C1).call<core::int*>(() → core::int* {
+static field core::List<core::int*>* v = (#C1)<core::int*>(() → core::int* {
return 1;
-});
+}){(() →* core::int*) →* core::List<core::int*>*};
static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
- return core::_GrowableList::_literal1<self::f::T*>(g.call());
+ return core::_GrowableList::_literal1<self::f::T*>(g(){() →* self::f::T*});
static method main() → dynamic {
self::v;
}
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.expect b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.expect
index 42f01d5..7e0013f 100644
--- a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.expect
+++ b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.expect
@@ -5,7 +5,7 @@
static field void y = self::run<void>(#C1);
static method run<T extends core::Object* = dynamic>(() →* self::run::T* f) → self::run::T* {
core::print("running");
- self::run::T* t = f.call();
+ self::run::T* t = f(){() →* self::run::T*};
core::print("done running");
return t;
}
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
index 42f01d5..7e0013f 100644
--- a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
static field void y = self::run<void>(#C1);
static method run<T extends core::Object* = dynamic>(() →* self::run::T* f) → self::run::T* {
core::print("running");
- self::run::T* t = f.call();
+ self::run::T* t = f(){() →* self::run::T*};
core::print("done running");
return t;
}
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.strong.expect b/pkg/front_end/testcases/late_lowering/compound.dart.strong.expect
index 7d24707..72b278b 100644
--- a/pkg/front_end/testcases/late_lowering/compound.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/compound.dart.strong.expect
@@ -13,36 +13,36 @@
static method main() → dynamic {
lowered core::int? #local1;
function #local1#get() → core::int
- return let final core::int? #t1 = #local1 in #t1.==(null) ?{core::int} throw new _in::LateError::localNI("local1") : #t1{core::int};
+ return let final core::int? #t1 = #local1 in #t1 == null ?{core::int} throw new _in::LateError::localNI("local1") : #t1{core::int};
function #local1#set(core::int #t2) → dynamic
return #local1 = #t2;
- #local1#set.call(0);
- self::expect(0, #local1#get.call());
- #local1#set.call(#local1#get.call().{core::num::+}(2));
- self::expect(2, #local1#get.call());
+ #local1#set(0){(core::int) → dynamic};
+ self::expect(0, #local1#get(){() → core::int});
+ #local1#set(#local1#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
+ self::expect(2, #local1#get(){() → core::int});
lowered core::int? #local2;
function #local2#get() → core::int
- return let final core::int? #t3 = #local2 in #t3.==(null) ?{core::int} #local2 = 1 : #t3{core::int};
+ return let final core::int? #t3 = #local2 in #t3 == null ?{core::int} #local2 = 1 : #t3{core::int};
function #local2#set(core::int #t4) → dynamic
return #local2 = #t4;
- self::expect(1, #local2#get.call());
- #local2#set.call(#local2#get.call().{core::num::+}(2));
- self::expect(3, #local2#get.call());
+ self::expect(1, #local2#get(){() → core::int});
+ #local2#set(#local2#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
+ self::expect(3, #local2#get(){() → core::int});
}
static method error() → dynamic {
lowered final core::int? #local;
function #local#get() → core::int
- return let final core::int? #t5 = #local in #t5.==(null) ?{core::int} throw new _in::LateError::localNI("local") : #t5{core::int};
+ return let final core::int? #t5 = #local in #t5 == null ?{core::int} throw new _in::LateError::localNI("local") : #t5{core::int};
function #local#set(core::int #t6) → dynamic
- if(#local.==(null))
+ if(#local == null)
return #local = #t6;
else
throw new _in::LateError::localAI("local");
- #local#set.call((let final Never #t7 = invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
+ #local#set((let final Never #t7 = invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
local += 0;
- ^^^^^" in #local#get.call()).{core::num::+}(0));
+ ^^^^^" in #local#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/compound.dart.strong.transformed.expect
index 7d24707..72b278b 100644
--- a/pkg/front_end/testcases/late_lowering/compound.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/compound.dart.strong.transformed.expect
@@ -13,36 +13,36 @@
static method main() → dynamic {
lowered core::int? #local1;
function #local1#get() → core::int
- return let final core::int? #t1 = #local1 in #t1.==(null) ?{core::int} throw new _in::LateError::localNI("local1") : #t1{core::int};
+ return let final core::int? #t1 = #local1 in #t1 == null ?{core::int} throw new _in::LateError::localNI("local1") : #t1{core::int};
function #local1#set(core::int #t2) → dynamic
return #local1 = #t2;
- #local1#set.call(0);
- self::expect(0, #local1#get.call());
- #local1#set.call(#local1#get.call().{core::num::+}(2));
- self::expect(2, #local1#get.call());
+ #local1#set(0){(core::int) → dynamic};
+ self::expect(0, #local1#get(){() → core::int});
+ #local1#set(#local1#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
+ self::expect(2, #local1#get(){() → core::int});
lowered core::int? #local2;
function #local2#get() → core::int
- return let final core::int? #t3 = #local2 in #t3.==(null) ?{core::int} #local2 = 1 : #t3{core::int};
+ return let final core::int? #t3 = #local2 in #t3 == null ?{core::int} #local2 = 1 : #t3{core::int};
function #local2#set(core::int #t4) → dynamic
return #local2 = #t4;
- self::expect(1, #local2#get.call());
- #local2#set.call(#local2#get.call().{core::num::+}(2));
- self::expect(3, #local2#get.call());
+ self::expect(1, #local2#get(){() → core::int});
+ #local2#set(#local2#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
+ self::expect(3, #local2#get(){() → core::int});
}
static method error() → dynamic {
lowered final core::int? #local;
function #local#get() → core::int
- return let final core::int? #t5 = #local in #t5.==(null) ?{core::int} throw new _in::LateError::localNI("local") : #t5{core::int};
+ return let final core::int? #t5 = #local in #t5 == null ?{core::int} throw new _in::LateError::localNI("local") : #t5{core::int};
function #local#set(core::int #t6) → dynamic
- if(#local.==(null))
+ if(#local == null)
return #local = #t6;
else
throw new _in::LateError::localAI("local");
- #local#set.call((let final Never #t7 = invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
+ #local#set((let final Never #t7 = invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
local += 0;
- ^^^^^" in #local#get.call()).{core::num::+}(0));
+ ^^^^^" in #local#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.weak.expect b/pkg/front_end/testcases/late_lowering/compound.dart.weak.expect
index 4433e65..918a8c7 100644
--- a/pkg/front_end/testcases/late_lowering/compound.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/compound.dart.weak.expect
@@ -19,10 +19,10 @@
#local1#isSet = true;
return #local1 = #t1;
}
- #local1#set.call(0);
- self::expect(0, #local1#get.call());
- #local1#set.call(#local1#get.call().{core::num::+}(2));
- self::expect(2, #local1#get.call());
+ #local1#set(0){(core::int) → dynamic};
+ self::expect(0, #local1#get(){() → core::int});
+ #local1#set(#local1#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
+ self::expect(2, #local1#get(){() → core::int});
lowered core::int? #local2;
lowered core::bool #local2#isSet = false;
function #local2#get() → core::int {
@@ -36,9 +36,9 @@
#local2#isSet = true;
return #local2 = #t2;
}
- self::expect(1, #local2#get.call());
- #local2#set.call(#local2#get.call().{core::num::+}(2));
- self::expect(3, #local2#get.call());
+ self::expect(1, #local2#get(){() → core::int});
+ #local2#set(#local2#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
+ self::expect(3, #local2#get(){() → core::int});
}
static method error() → dynamic {
lowered final core::int? #local;
@@ -52,11 +52,11 @@
#local#isSet = true;
return #local = #t3;
}
- #local#set.call((let final Never #t4 = invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
+ #local#set((let final Never #t4 = invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
local += 0;
- ^^^^^" in #local#get.call()).{core::num::+}(0));
+ ^^^^^" in #local#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/compound.dart.weak.transformed.expect
index 4433e65..918a8c7 100644
--- a/pkg/front_end/testcases/late_lowering/compound.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/compound.dart.weak.transformed.expect
@@ -19,10 +19,10 @@
#local1#isSet = true;
return #local1 = #t1;
}
- #local1#set.call(0);
- self::expect(0, #local1#get.call());
- #local1#set.call(#local1#get.call().{core::num::+}(2));
- self::expect(2, #local1#get.call());
+ #local1#set(0){(core::int) → dynamic};
+ self::expect(0, #local1#get(){() → core::int});
+ #local1#set(#local1#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
+ self::expect(2, #local1#get(){() → core::int});
lowered core::int? #local2;
lowered core::bool #local2#isSet = false;
function #local2#get() → core::int {
@@ -36,9 +36,9 @@
#local2#isSet = true;
return #local2 = #t2;
}
- self::expect(1, #local2#get.call());
- #local2#set.call(#local2#get.call().{core::num::+}(2));
- self::expect(3, #local2#get.call());
+ self::expect(1, #local2#get(){() → core::int});
+ #local2#set(#local2#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
+ self::expect(3, #local2#get(){() → core::int});
}
static method error() → dynamic {
lowered final core::int? #local;
@@ -52,11 +52,11 @@
#local#isSet = true;
return #local = #t3;
}
- #local#set.call((let final Never #t4 = invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
+ #local#set((let final Never #t4 = invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
local += 0;
- ^^^^^" in #local#get.call()).{core::num::+}(0));
+ ^^^^^" in #local#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.strong.expect b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.strong.expect
index 4a03bd6..4427289 100644
--- a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.strong.expect
@@ -21,11 +21,11 @@
: super core::Object::•()
;
get invariantField() → core::num
- return let final core::num? #t1 = this.{self::A::_#A#invariantField} in #t1.==(null) ?{core::num} throw new _in::LateError::fieldNI("invariantField") : #t1{core::num};
+ return let final core::num? #t1 = this.{self::A::_#A#invariantField} in #t1 == null ?{core::num} throw new _in::LateError::fieldNI("invariantField") : #t1{core::num};
set invariantField(core::num #t2) → void
this.{self::A::_#A#invariantField} = #t2;
get covariantField() → core::num
- return let final core::num? #t3 = this.{self::A::_#A#covariantField} in #t3.==(null) ?{core::num} throw new _in::LateError::fieldNI("covariantField") : #t3{core::num};
+ return let final core::num? #t3 = this.{self::A::_#A#covariantField} in #t3 == null ?{core::num} throw new _in::LateError::fieldNI("covariantField") : #t3{core::num};
set covariantField(covariant core::num #t4) → void
this.{self::A::_#A#covariantField} = #t4;
}
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.expect
index d679533..d7714fc 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.expect
@@ -78,32 +78,32 @@
}
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t2 = #local4 in #t2.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
+ return let final core::int? #t2 = #local4 in #t2 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
function #local4#set(core::int #t3) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t3;
else
throw new _in::LateError::localAI("local4");
lowered final FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t4 = #local6 in #t4.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t5) → dynamic
- if(#local6.==(null))
+ if(#local6 == null)
return #local6 = #t5;
else
throw new _in::LateError::localAI("local6");
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t6 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:30:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(T%) → dynamic};
let final Never #t7 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:31:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t8 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:32:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
};
static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional = <T extends core::Object? = dynamic>(core::bool b, T% value) → Null {
lowered final T? #local2;
@@ -119,51 +119,51 @@
}
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t10 = #local4 in #t10.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t10{core::int};
+ return let final core::int? #t10 = #local4 in #t10 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t10{core::int};
function #local4#set(core::int #t11) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t11;
else
throw new _in::LateError::localAI("local4");
lowered final FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t12 = #local6 in #t12.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t12{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t12 = #local6 in #t12 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t12{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t13) → dynamic
- if(#local6.==(null))
+ if(#local6 == null)
return #local6 = #t13;
else
throw new _in::LateError::localAI("local6");
if(b) {
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t14 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:70:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(T%) → dynamic};
let final Never #t15 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:71:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t16 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:72:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
};
static field () → Null fieldCompound = () → Null {
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t17 = #local4 in #t17.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t17{core::int};
+ return let final core::int? #t17 = #local4 in #t17 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t17{core::int};
function #local4#set(core::int #t18) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t18;
else
throw new _in::LateError::localAI("local4");
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
let final Never #t19 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:88:3: Error: Late final variable '#local4' definitely assigned.
local4 += 0; // error
- ^^^^^^^" in #local4#set.call(#local4#get.call().{core::num::+}(0));
+ ^^^^^^^" in #local4#set(#local4#get(){() → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
lowered final self::methodDirect::T? #local2;
@@ -179,32 +179,32 @@
}
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t21 = #local4 in #t21.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t21{core::int};
+ return let final core::int? #t21 = #local4 in #t21 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t21{core::int};
function #local4#set(core::int #t22) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t22;
else
throw new _in::LateError::localAI("local4");
lowered final FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t23 = #local6 in #t23.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t23{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t23 = #local6 in #t23 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t23{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t24) → dynamic
- if(#local6.==(null))
+ if(#local6 == null)
return #local6 = #t24;
else
throw new _in::LateError::localAI("local6");
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodDirect::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t25 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:16:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(self::methodDirect::T%) → dynamic};
let final Never #t26 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:17:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t27 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:18:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
}
static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic {
lowered final self::methodConditional::T? #local2;
@@ -220,50 +220,50 @@
}
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t29 = #local4 in #t29.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t29{core::int};
+ return let final core::int? #t29 = #local4 in #t29 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t29{core::int};
function #local4#set(core::int #t30) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t30;
else
throw new _in::LateError::localAI("local4");
lowered final FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t31 = #local6 in #t31.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t31{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t31 = #local6 in #t31 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t31{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t32) → dynamic
- if(#local6.==(null))
+ if(#local6 == null)
return #local6 = #t32;
else
throw new _in::LateError::localAI("local6");
if(b) {
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t33 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:50:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(self::methodConditional::T%) → dynamic};
let final Never #t34 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:51:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t35 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:52:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
}
static method methodCompound() → dynamic {
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t36 = #local4 in #t36.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t36{core::int};
+ return let final core::int? #t36 = #local4 in #t36 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t36{core::int};
function #local4#set(core::int #t37) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t37;
else
throw new _in::LateError::localAI("local4");
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
let final Never #t38 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:80:3: Error: Late final variable '#local4' definitely assigned.
local4 += 0; // error
- ^^^^^^^" in #local4#set.call(#local4#get.call().{core::num::+}(0));
+ ^^^^^^^" in #local4#set(#local4#get(){() → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.transformed.expect
index d679533..d7714fc 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.transformed.expect
@@ -78,32 +78,32 @@
}
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t2 = #local4 in #t2.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
+ return let final core::int? #t2 = #local4 in #t2 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
function #local4#set(core::int #t3) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t3;
else
throw new _in::LateError::localAI("local4");
lowered final FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t4 = #local6 in #t4.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t5) → dynamic
- if(#local6.==(null))
+ if(#local6 == null)
return #local6 = #t5;
else
throw new _in::LateError::localAI("local6");
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t6 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:30:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(T%) → dynamic};
let final Never #t7 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:31:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t8 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:32:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
};
static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional = <T extends core::Object? = dynamic>(core::bool b, T% value) → Null {
lowered final T? #local2;
@@ -119,51 +119,51 @@
}
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t10 = #local4 in #t10.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t10{core::int};
+ return let final core::int? #t10 = #local4 in #t10 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t10{core::int};
function #local4#set(core::int #t11) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t11;
else
throw new _in::LateError::localAI("local4");
lowered final FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t12 = #local6 in #t12.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t12{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t12 = #local6 in #t12 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t12{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t13) → dynamic
- if(#local6.==(null))
+ if(#local6 == null)
return #local6 = #t13;
else
throw new _in::LateError::localAI("local6");
if(b) {
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t14 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:70:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(T%) → dynamic};
let final Never #t15 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:71:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t16 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:72:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
};
static field () → Null fieldCompound = () → Null {
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t17 = #local4 in #t17.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t17{core::int};
+ return let final core::int? #t17 = #local4 in #t17 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t17{core::int};
function #local4#set(core::int #t18) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t18;
else
throw new _in::LateError::localAI("local4");
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
let final Never #t19 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:88:3: Error: Late final variable '#local4' definitely assigned.
local4 += 0; // error
- ^^^^^^^" in #local4#set.call(#local4#get.call().{core::num::+}(0));
+ ^^^^^^^" in #local4#set(#local4#get(){() → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
lowered final self::methodDirect::T? #local2;
@@ -179,32 +179,32 @@
}
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t21 = #local4 in #t21.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t21{core::int};
+ return let final core::int? #t21 = #local4 in #t21 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t21{core::int};
function #local4#set(core::int #t22) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t22;
else
throw new _in::LateError::localAI("local4");
lowered final FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t23 = #local6 in #t23.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t23{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t23 = #local6 in #t23 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t23{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t24) → dynamic
- if(#local6.==(null))
+ if(#local6 == null)
return #local6 = #t24;
else
throw new _in::LateError::localAI("local6");
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodDirect::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t25 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:16:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(self::methodDirect::T%) → dynamic};
let final Never #t26 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:17:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t27 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:18:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
}
static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic {
lowered final self::methodConditional::T? #local2;
@@ -220,50 +220,50 @@
}
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t29 = #local4 in #t29.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t29{core::int};
+ return let final core::int? #t29 = #local4 in #t29 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t29{core::int};
function #local4#set(core::int #t30) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t30;
else
throw new _in::LateError::localAI("local4");
lowered final FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t31 = #local6 in #t31.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t31{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t31 = #local6 in #t31 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t31{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t32) → dynamic
- if(#local6.==(null))
+ if(#local6 == null)
return #local6 = #t32;
else
throw new _in::LateError::localAI("local6");
if(b) {
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t33 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:50:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(self::methodConditional::T%) → dynamic};
let final Never #t34 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:51:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t35 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:52:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
}
static method methodCompound() → dynamic {
lowered final core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t36 = #local4 in #t36.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t36{core::int};
+ return let final core::int? #t36 = #local4 in #t36 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t36{core::int};
function #local4#set(core::int #t37) → dynamic
- if(#local4.==(null))
+ if(#local4 == null)
return #local4 = #t37;
else
throw new _in::LateError::localAI("local4");
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
let final Never #t38 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:80:3: Error: Late final variable '#local4' definitely assigned.
local4 += 0; // error
- ^^^^^^^" in #local4#set.call(#local4#get.call().{core::num::+}(0));
+ ^^^^^^^" in #local4#set(#local4#get(){() → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.expect
index 5f281d8..62841e6a 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.expect
@@ -98,18 +98,18 @@
#local6#isSet = true;
return #local6 = #t3;
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:30:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(T%) → dynamic};
let final Never #t5 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:31:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t6 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:32:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
};
static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional = <T extends core::Object? = dynamic>(core::bool b, T% value) → Null {
lowered final T? #local2;
@@ -146,22 +146,22 @@
return #local6 = #t9;
}
if(b) {
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t10 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:70:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(T%) → dynamic};
let final Never #t11 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:71:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t12 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:72:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
};
static field () → Null fieldCompound = () → Null {
lowered final core::int? #local4;
@@ -175,10 +175,10 @@
#local4#isSet = true;
return #local4 = #t13;
}
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
let final Never #t14 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:88:3: Error: Late final variable '#local4' definitely assigned.
local4 += 0; // error
- ^^^^^^^" in #local4#set.call(#local4#get.call().{core::num::+}(0));
+ ^^^^^^^" in #local4#set(#local4#get(){() → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
lowered final self::methodDirect::T? #local2;
@@ -214,18 +214,18 @@
#local6#isSet = true;
return #local6 = #t17;
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodDirect::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t18 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:16:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(self::methodDirect::T%) → dynamic};
let final Never #t19 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:17:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t20 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:18:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
}
static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic {
lowered final self::methodConditional::T? #local2;
@@ -262,22 +262,22 @@
return #local6 = #t23;
}
if(b) {
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t24 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:50:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(self::methodConditional::T%) → dynamic};
let final Never #t25 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:51:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t26 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:52:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
}
static method methodCompound() → dynamic {
lowered final core::int? #local4;
@@ -291,9 +291,9 @@
#local4#isSet = true;
return #local4 = #t27;
}
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
let final Never #t28 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:80:3: Error: Late final variable '#local4' definitely assigned.
local4 += 0; // error
- ^^^^^^^" in #local4#set.call(#local4#get.call().{core::num::+}(0));
+ ^^^^^^^" in #local4#set(#local4#get(){() → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.transformed.expect
index 5f281d8..62841e6a 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.transformed.expect
@@ -98,18 +98,18 @@
#local6#isSet = true;
return #local6 = #t3;
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:30:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(T%) → dynamic};
let final Never #t5 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:31:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t6 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:32:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
};
static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional = <T extends core::Object? = dynamic>(core::bool b, T% value) → Null {
lowered final T? #local2;
@@ -146,22 +146,22 @@
return #local6 = #t9;
}
if(b) {
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t10 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:70:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(T%) → dynamic};
let final Never #t11 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:71:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t12 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:72:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
};
static field () → Null fieldCompound = () → Null {
lowered final core::int? #local4;
@@ -175,10 +175,10 @@
#local4#isSet = true;
return #local4 = #t13;
}
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
let final Never #t14 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:88:3: Error: Late final variable '#local4' definitely assigned.
local4 += 0; // error
- ^^^^^^^" in #local4#set.call(#local4#get.call().{core::num::+}(0));
+ ^^^^^^^" in #local4#set(#local4#get(){() → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
lowered final self::methodDirect::T? #local2;
@@ -214,18 +214,18 @@
#local6#isSet = true;
return #local6 = #t17;
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodDirect::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t18 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:16:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(self::methodDirect::T%) → dynamic};
let final Never #t19 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:17:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t20 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:18:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
}
static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic {
lowered final self::methodConditional::T? #local2;
@@ -262,22 +262,22 @@
return #local6 = #t23;
}
if(b) {
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
}
- #local2#set.call(value);
- #local4#set.call(0);
- #local6#set.call(0);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
+ #local4#set(0){(core::int) → dynamic};
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
let final Never #t24 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:50:3: Error: Late final variable '#local2' definitely assigned.
local2 = value; // error
- ^^^^^^^" in #local2#set.call(value);
+ ^^^^^^^" in #local2#set(value){(self::methodConditional::T%) → dynamic};
let final Never #t25 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:51:3: Error: Late final variable '#local4' definitely assigned.
local4 = 0; // error
- ^^^^^^^" in #local4#set.call(0);
+ ^^^^^^^" in #local4#set(0){(core::int) → dynamic};
let final Never #t26 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:52:3: Error: Late final variable '#local6' definitely assigned.
local6 = 0; // error
- ^^^^^^^" in #local6#set.call(0);
+ ^^^^^^^" in #local6#set(0){(FutureOr<core::int>) → dynamic};
}
static method methodCompound() → dynamic {
lowered final core::int? #local4;
@@ -291,9 +291,9 @@
#local4#isSet = true;
return #local4 = #t27;
}
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
let final Never #t28 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:80:3: Error: Late final variable '#local4' definitely assigned.
local4 += 0; // error
- ^^^^^^^" in #local4#set.call(#local4#get.call().{core::num::+}(0));
+ ^^^^^^^" in #local4#set(#local4#get(){() → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.expect
index ca083c7..0b556b4 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.expect
@@ -109,13 +109,13 @@
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t2 = #local4 in #t2.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
+ return let final core::int? #t2 = #local4 in #t2 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
function #local4#set(core::int #t3) → dynamic
return #local4 = #t3;
FutureOr<core::int>local5;
lowered FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t4 = #local6 in #t4.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t5) → dynamic
return #local6 = #t5;
lowered T? #local7;
@@ -136,20 +136,20 @@
^^^^^^" in local1;
let final Never #t8 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:35:3: Error: Late variable 'local2' without initializer is definitely unassigned.
local2; // error
- ^^^^^^" in #local2#get.call();
+ ^^^^^^" in #local2#get(){() → T%};
let final Never #t9 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:36:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
let final Never #t10 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:37:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4; // error
- ^^^^^^" in #local4#get.call();
+ ^^^^^^" in #local4#get(){() → core::int};
let final Never #t11 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:38:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
let final Never #t12 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:39:3: Error: Late variable 'local6' without initializer is definitely unassigned.
local6; // error
- ^^^^^^" in #local6#get.call();
- #local7#get.call();
+ ^^^^^^" in #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → T%};
};
static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional = <T extends core::Object? = dynamic>(core::bool b, T% value) → Null {
T% local1;
@@ -164,13 +164,13 @@
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t14 = #local4 in #t14.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t14{core::int};
+ return let final core::int? #t14 = #local4 in #t14 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t14{core::int};
function #local4#set(core::int #t15) → dynamic
return #local4 = #t15;
FutureOr<core::int>local5;
lowered FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t16 = #local6 in #t16.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t16{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t16 = #local6 in #t16 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t16{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t17) → dynamic
return #local6 = #t17;
lowered T? #local7;
@@ -188,40 +188,40 @@
}
if(b) {
local1 = value;
- #local2#set.call(value);
+ #local2#set(value){(T%) → dynamic};
local3 = 0;
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
local5 = 0;
- #local6#set.call(0);
- #local7#get.call();
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
+ #local7#get(){() → T%};
}
let final Never #t19 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:90:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
local1; // error
^^^^^^" in local1;
- #local2#get.call();
+ #local2#get(){() → T%};
let final Never #t20 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:92:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
- #local4#get.call();
+ #local4#get(){() → core::int};
let final Never #t21 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:94:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
- #local6#get.call();
- #local7#get.call();
+ #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → T%};
};
static field () → Null fieldCompound = () → Null {
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t22 = #local4 in #t22.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t22{core::int};
+ return let final core::int? #t22 = #local4 in #t22 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t22{core::int};
function #local4#set(core::int #t23) → dynamic
return #local4 = #t23;
local3 = (let final Never #t24 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
- #local4#set.call((let final Never #t25 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
+ #local4#set((let final Never #t25 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in #local4#get.call()).{core::num::+}(0));
+ ^^^^^^" in #local4#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
self::methodDirect::T% local1;
@@ -236,13 +236,13 @@
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t27 = #local4 in #t27.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t27{core::int};
+ return let final core::int? #t27 = #local4 in #t27 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t27{core::int};
function #local4#set(core::int #t28) → dynamic
return #local4 = #t28;
FutureOr<core::int>local5;
lowered FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t29 = #local6 in #t29.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t29{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t29 = #local6 in #t29 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t29{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t30) → dynamic
return #local6 = #t30;
lowered self::methodDirect::T? #local7;
@@ -263,20 +263,20 @@
^^^^^^" in local1;
let final Never #t33 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:17:3: Error: Late variable 'local2' without initializer is definitely unassigned.
local2; // error
- ^^^^^^" in #local2#get.call();
+ ^^^^^^" in #local2#get(){() → self::methodDirect::T%};
let final Never #t34 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:18:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
let final Never #t35 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:19:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4; // error
- ^^^^^^" in #local4#get.call();
+ ^^^^^^" in #local4#get(){() → core::int};
let final Never #t36 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:20:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
let final Never #t37 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:21:3: Error: Late variable 'local6' without initializer is definitely unassigned.
local6; // error
- ^^^^^^" in #local6#get.call();
- #local7#get.call();
+ ^^^^^^" in #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → self::methodDirect::T%};
}
static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic {
self::methodConditional::T% local1;
@@ -291,13 +291,13 @@
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t39 = #local4 in #t39.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t39{core::int};
+ return let final core::int? #t39 = #local4 in #t39 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t39{core::int};
function #local4#set(core::int #t40) → dynamic
return #local4 = #t40;
FutureOr<core::int>local5;
lowered FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t41 = #local6 in #t41.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t41{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t41 = #local6 in #t41 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t41{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t42) → dynamic
return #local6 = #t42;
lowered self::methodConditional::T? #local7;
@@ -315,39 +315,39 @@
}
if(b) {
local1 = value;
- #local2#set.call(value);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
local3 = 0;
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
local5 = 0;
- #local6#set.call(0);
- #local7#set.call(value);
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
+ #local7#set(value){(self::methodConditional::T%) → dynamic};
}
let final Never #t44 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:62:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
local1; // error
^^^^^^" in local1;
- #local2#get.call();
+ #local2#get(){() → self::methodConditional::T%};
let final Never #t45 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:64:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
- #local4#get.call();
+ #local4#get(){() → core::int};
let final Never #t46 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:66:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
- #local6#get.call();
- #local7#get.call();
+ #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → self::methodConditional::T%};
}
static method methodCompound() → dynamic {
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t47 = #local4 in #t47.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t47{core::int};
+ return let final core::int? #t47 = #local4 in #t47 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t47{core::int};
function #local4#set(core::int #t48) → dynamic
return #local4 = #t48;
local3 = (let final Never #t49 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
- #local4#set.call((let final Never #t50 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
+ #local4#set((let final Never #t50 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in #local4#get.call()).{core::num::+}(0));
+ ^^^^^^" in #local4#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.transformed.expect
index ca083c7..0b556b4 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.transformed.expect
@@ -109,13 +109,13 @@
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t2 = #local4 in #t2.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
+ return let final core::int? #t2 = #local4 in #t2 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
function #local4#set(core::int #t3) → dynamic
return #local4 = #t3;
FutureOr<core::int>local5;
lowered FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t4 = #local6 in #t4.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t5) → dynamic
return #local6 = #t5;
lowered T? #local7;
@@ -136,20 +136,20 @@
^^^^^^" in local1;
let final Never #t8 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:35:3: Error: Late variable 'local2' without initializer is definitely unassigned.
local2; // error
- ^^^^^^" in #local2#get.call();
+ ^^^^^^" in #local2#get(){() → T%};
let final Never #t9 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:36:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
let final Never #t10 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:37:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4; // error
- ^^^^^^" in #local4#get.call();
+ ^^^^^^" in #local4#get(){() → core::int};
let final Never #t11 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:38:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
let final Never #t12 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:39:3: Error: Late variable 'local6' without initializer is definitely unassigned.
local6; // error
- ^^^^^^" in #local6#get.call();
- #local7#get.call();
+ ^^^^^^" in #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → T%};
};
static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional = <T extends core::Object? = dynamic>(core::bool b, T% value) → Null {
T% local1;
@@ -164,13 +164,13 @@
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t14 = #local4 in #t14.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t14{core::int};
+ return let final core::int? #t14 = #local4 in #t14 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t14{core::int};
function #local4#set(core::int #t15) → dynamic
return #local4 = #t15;
FutureOr<core::int>local5;
lowered FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t16 = #local6 in #t16.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t16{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t16 = #local6 in #t16 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t16{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t17) → dynamic
return #local6 = #t17;
lowered T? #local7;
@@ -188,40 +188,40 @@
}
if(b) {
local1 = value;
- #local2#set.call(value);
+ #local2#set(value){(T%) → dynamic};
local3 = 0;
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
local5 = 0;
- #local6#set.call(0);
- #local7#get.call();
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
+ #local7#get(){() → T%};
}
let final Never #t19 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:90:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
local1; // error
^^^^^^" in local1;
- #local2#get.call();
+ #local2#get(){() → T%};
let final Never #t20 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:92:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
- #local4#get.call();
+ #local4#get(){() → core::int};
let final Never #t21 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:94:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
- #local6#get.call();
- #local7#get.call();
+ #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → T%};
};
static field () → Null fieldCompound = () → Null {
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t22 = #local4 in #t22.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t22{core::int};
+ return let final core::int? #t22 = #local4 in #t22 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t22{core::int};
function #local4#set(core::int #t23) → dynamic
return #local4 = #t23;
local3 = (let final Never #t24 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
- #local4#set.call((let final Never #t25 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
+ #local4#set((let final Never #t25 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in #local4#get.call()).{core::num::+}(0));
+ ^^^^^^" in #local4#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
self::methodDirect::T% local1;
@@ -236,13 +236,13 @@
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t27 = #local4 in #t27.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t27{core::int};
+ return let final core::int? #t27 = #local4 in #t27 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t27{core::int};
function #local4#set(core::int #t28) → dynamic
return #local4 = #t28;
FutureOr<core::int>local5;
lowered FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t29 = #local6 in #t29.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t29{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t29 = #local6 in #t29 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t29{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t30) → dynamic
return #local6 = #t30;
lowered self::methodDirect::T? #local7;
@@ -263,20 +263,20 @@
^^^^^^" in local1;
let final Never #t33 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:17:3: Error: Late variable 'local2' without initializer is definitely unassigned.
local2; // error
- ^^^^^^" in #local2#get.call();
+ ^^^^^^" in #local2#get(){() → self::methodDirect::T%};
let final Never #t34 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:18:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
let final Never #t35 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:19:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4; // error
- ^^^^^^" in #local4#get.call();
+ ^^^^^^" in #local4#get(){() → core::int};
let final Never #t36 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:20:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
let final Never #t37 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:21:3: Error: Late variable 'local6' without initializer is definitely unassigned.
local6; // error
- ^^^^^^" in #local6#get.call();
- #local7#get.call();
+ ^^^^^^" in #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → self::methodDirect::T%};
}
static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic {
self::methodConditional::T% local1;
@@ -291,13 +291,13 @@
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t39 = #local4 in #t39.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t39{core::int};
+ return let final core::int? #t39 = #local4 in #t39 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t39{core::int};
function #local4#set(core::int #t40) → dynamic
return #local4 = #t40;
FutureOr<core::int>local5;
lowered FutureOr<core::int>? #local6;
function #local6#get() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t41 = #local6 in #t41.==(null) ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t41{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t41 = #local6 in #t41 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t41{FutureOr<core::int>};
function #local6#set(FutureOr<core::int>#t42) → dynamic
return #local6 = #t42;
lowered self::methodConditional::T? #local7;
@@ -315,39 +315,39 @@
}
if(b) {
local1 = value;
- #local2#set.call(value);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
local3 = 0;
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
local5 = 0;
- #local6#set.call(0);
- #local7#set.call(value);
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
+ #local7#set(value){(self::methodConditional::T%) → dynamic};
}
let final Never #t44 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:62:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
local1; // error
^^^^^^" in local1;
- #local2#get.call();
+ #local2#get(){() → self::methodConditional::T%};
let final Never #t45 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:64:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
- #local4#get.call();
+ #local4#get(){() → core::int};
let final Never #t46 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:66:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
- #local6#get.call();
- #local7#get.call();
+ #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → self::methodConditional::T%};
}
static method methodCompound() → dynamic {
core::int local3;
lowered core::int? #local4;
function #local4#get() → core::int
- return let final core::int? #t47 = #local4 in #t47.==(null) ?{core::int} throw new _in::LateError::localNI("local4") : #t47{core::int};
+ return let final core::int? #t47 = #local4 in #t47 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t47{core::int};
function #local4#set(core::int #t48) → dynamic
return #local4 = #t48;
local3 = (let final Never #t49 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
- #local4#set.call((let final Never #t50 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
+ #local4#set((let final Never #t50 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in #local4#get.call()).{core::num::+}(0));
+ ^^^^^^" in #local4#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.expect
index da7e307..2c9947c 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.expect
@@ -142,20 +142,20 @@
^^^^^^" in local1;
let final Never #t6 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:35:3: Error: Late variable 'local2' without initializer is definitely unassigned.
local2; // error
- ^^^^^^" in #local2#get.call();
+ ^^^^^^" in #local2#get(){() → T%};
let final Never #t7 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:36:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
let final Never #t8 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:37:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4; // error
- ^^^^^^" in #local4#get.call();
+ ^^^^^^" in #local4#get(){() → core::int};
let final Never #t9 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:38:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
let final Never #t10 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:39:3: Error: Late variable 'local6' without initializer is definitely unassigned.
local6; // error
- ^^^^^^" in #local6#get.call();
- #local7#get.call();
+ ^^^^^^" in #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → T%};
};
static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional = <T extends core::Object? = dynamic>(core::bool b, T% value) → Null {
T% local1;
@@ -200,26 +200,26 @@
}
if(b) {
local1 = value;
- #local2#set.call(value);
+ #local2#set(value){(T%) → dynamic};
local3 = 0;
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
local5 = 0;
- #local6#set.call(0);
- #local7#get.call();
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
+ #local7#get(){() → T%};
}
let final Never #t15 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:90:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
local1; // error
^^^^^^" in local1;
- #local2#get.call();
+ #local2#get(){() → T%};
let final Never #t16 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:92:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
- #local4#get.call();
+ #local4#get(){() → core::int};
let final Never #t17 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:94:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
- #local6#get.call();
- #local7#get.call();
+ #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → T%};
};
static field () → Null fieldCompound = () → Null {
core::int local3;
@@ -233,10 +233,10 @@
}
local3 = (let final Never #t19 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
- #local4#set.call((let final Never #t20 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
+ #local4#set((let final Never #t20 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in #local4#get.call()).{core::num::+}(0));
+ ^^^^^^" in #local4#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
self::methodDirect::T% local1;
@@ -284,20 +284,20 @@
^^^^^^" in local1;
let final Never #t26 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:17:3: Error: Late variable 'local2' without initializer is definitely unassigned.
local2; // error
- ^^^^^^" in #local2#get.call();
+ ^^^^^^" in #local2#get(){() → self::methodDirect::T%};
let final Never #t27 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:18:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
let final Never #t28 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:19:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4; // error
- ^^^^^^" in #local4#get.call();
+ ^^^^^^" in #local4#get(){() → core::int};
let final Never #t29 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:20:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
let final Never #t30 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:21:3: Error: Late variable 'local6' without initializer is definitely unassigned.
local6; // error
- ^^^^^^" in #local6#get.call();
- #local7#get.call();
+ ^^^^^^" in #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → self::methodDirect::T%};
}
static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic {
self::methodConditional::T% local1;
@@ -342,26 +342,26 @@
}
if(b) {
local1 = value;
- #local2#set.call(value);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
local3 = 0;
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
local5 = 0;
- #local6#set.call(0);
- #local7#set.call(value);
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
+ #local7#set(value){(self::methodConditional::T%) → dynamic};
}
let final Never #t35 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:62:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
local1; // error
^^^^^^" in local1;
- #local2#get.call();
+ #local2#get(){() → self::methodConditional::T%};
let final Never #t36 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:64:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
- #local4#get.call();
+ #local4#get(){() → core::int};
let final Never #t37 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:66:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
- #local6#get.call();
- #local7#get.call();
+ #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → self::methodConditional::T%};
}
static method methodCompound() → dynamic {
core::int local3;
@@ -375,9 +375,9 @@
}
local3 = (let final Never #t39 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
- #local4#set.call((let final Never #t40 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
+ #local4#set((let final Never #t40 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in #local4#get.call()).{core::num::+}(0));
+ ^^^^^^" in #local4#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.transformed.expect
index da7e307..2c9947c 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.transformed.expect
@@ -142,20 +142,20 @@
^^^^^^" in local1;
let final Never #t6 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:35:3: Error: Late variable 'local2' without initializer is definitely unassigned.
local2; // error
- ^^^^^^" in #local2#get.call();
+ ^^^^^^" in #local2#get(){() → T%};
let final Never #t7 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:36:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
let final Never #t8 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:37:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4; // error
- ^^^^^^" in #local4#get.call();
+ ^^^^^^" in #local4#get(){() → core::int};
let final Never #t9 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:38:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
let final Never #t10 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:39:3: Error: Late variable 'local6' without initializer is definitely unassigned.
local6; // error
- ^^^^^^" in #local6#get.call();
- #local7#get.call();
+ ^^^^^^" in #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → T%};
};
static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional = <T extends core::Object? = dynamic>(core::bool b, T% value) → Null {
T% local1;
@@ -200,26 +200,26 @@
}
if(b) {
local1 = value;
- #local2#set.call(value);
+ #local2#set(value){(T%) → dynamic};
local3 = 0;
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
local5 = 0;
- #local6#set.call(0);
- #local7#get.call();
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
+ #local7#get(){() → T%};
}
let final Never #t15 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:90:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
local1; // error
^^^^^^" in local1;
- #local2#get.call();
+ #local2#get(){() → T%};
let final Never #t16 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:92:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
- #local4#get.call();
+ #local4#get(){() → core::int};
let final Never #t17 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:94:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
- #local6#get.call();
- #local7#get.call();
+ #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → T%};
};
static field () → Null fieldCompound = () → Null {
core::int local3;
@@ -233,10 +233,10 @@
}
local3 = (let final Never #t19 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
- #local4#set.call((let final Never #t20 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
+ #local4#set((let final Never #t20 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in #local4#get.call()).{core::num::+}(0));
+ ^^^^^^" in #local4#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
self::methodDirect::T% local1;
@@ -284,20 +284,20 @@
^^^^^^" in local1;
let final Never #t26 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:17:3: Error: Late variable 'local2' without initializer is definitely unassigned.
local2; // error
- ^^^^^^" in #local2#get.call();
+ ^^^^^^" in #local2#get(){() → self::methodDirect::T%};
let final Never #t27 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:18:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
let final Never #t28 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:19:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4; // error
- ^^^^^^" in #local4#get.call();
+ ^^^^^^" in #local4#get(){() → core::int};
let final Never #t29 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:20:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
let final Never #t30 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:21:3: Error: Late variable 'local6' without initializer is definitely unassigned.
local6; // error
- ^^^^^^" in #local6#get.call();
- #local7#get.call();
+ ^^^^^^" in #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → self::methodDirect::T%};
}
static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic {
self::methodConditional::T% local1;
@@ -342,26 +342,26 @@
}
if(b) {
local1 = value;
- #local2#set.call(value);
+ #local2#set(value){(self::methodConditional::T%) → dynamic};
local3 = 0;
- #local4#set.call(0);
+ #local4#set(0){(core::int) → dynamic};
local5 = 0;
- #local6#set.call(0);
- #local7#set.call(value);
+ #local6#set(0){(FutureOr<core::int>) → dynamic};
+ #local7#set(value){(self::methodConditional::T%) → dynamic};
}
let final Never #t35 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:62:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
local1; // error
^^^^^^" in local1;
- #local2#get.call();
+ #local2#get(){() → self::methodConditional::T%};
let final Never #t36 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:64:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3; // error
^^^^^^" in local3;
- #local4#get.call();
+ #local4#get(){() → core::int};
let final Never #t37 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:66:3: Error: Non-nullable variable 'local5' must be assigned before it can be used.
local5; // error
^^^^^^" in local5;
- #local6#get.call();
- #local7#get.call();
+ #local6#get(){() → FutureOr<core::int>};
+ #local7#get(){() → self::methodConditional::T%};
}
static method methodCompound() → dynamic {
core::int local3;
@@ -375,9 +375,9 @@
}
local3 = (let final Never #t39 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
- #local4#set.call((let final Never #t40 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
+ #local4#set((let final Never #t40 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in #local4#get.call()).{core::num::+}(0));
+ ^^^^^^" in #local4#get(){() → core::int}).{core::num::+}(0){(core::num) → core::int}){(core::int) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.expect
index f982c6a..d1f6fd6 100644
--- a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.expect
@@ -45,7 +45,7 @@
: self::A::_#A#property4 = property4, self::A::_#A#property5#isSet = true, self::A::_#A#property5 = property5, self::A::_#A#property6 = property6, super core::Object::•()
;
get property4() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#property4} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("property4") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#property4} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t1{core::int};
set property4(core::int #t2) → void
this.{self::A::_#A#property4} = #t2;
get property5() → core::int?
@@ -55,7 +55,7 @@
this.{self::A::_#A#property5} = #t3;
}
get property6() → core::int
- return let final core::int? #t4 = this.{self::A::_#A#property6} in #t4.==(null) ?{core::int} throw new _in::LateError::fieldNI("property6") : #t4{core::int};
+ return let final core::int? #t4 = this.{self::A::_#A#property6} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t4{core::int};
set property6(covariant core::int #t5) → void
this.{self::A::_#A#property6} = #t5;
}
@@ -68,16 +68,16 @@
: self::B1::_#B1#property4 = property4, self::B1::_#B1#property5 = property5, self::B1::_#B1#property6#isSet = true, self::B1::_#B1#property6 = property6, super core::Object::•()
;
get property4() → core::int
- return let final core::int? #t6 = this.{self::B1::_#B1#property4} in #t6.==(null) ?{core::int} throw new _in::LateError::fieldNI("property4") : #t6{core::int};
+ return let final core::int? #t6 = this.{self::B1::_#B1#property4} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t6{core::int};
set property4(core::int #t7) → void
- if(this.{self::B1::_#B1#property4}.==(null))
+ if(this.{self::B1::_#B1#property4} == null)
this.{self::B1::_#B1#property4} = #t7;
else
throw new _in::LateError::fieldAI("property4");
get property5() → core::int
- return let final core::int? #t8 = this.{self::B1::_#B1#property5} in #t8.==(null) ?{core::int} throw new _in::LateError::fieldNI("property5") : #t8{core::int};
+ return let final core::int? #t8 = this.{self::B1::_#B1#property5} in #t8 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t8{core::int};
set property5(core::int #t9) → void
- if(this.{self::B1::_#B1#property5}.==(null))
+ if(this.{self::B1::_#B1#property5} == null)
this.{self::B1::_#B1#property5} = #t9;
else
throw new _in::LateError::fieldAI("property5");
@@ -107,15 +107,15 @@
: self::C1::_#C1#property4 = property4, self::C1::_#C1#property5 = property5, self::C1::_#C1#property6 = property6, super core::Object::•()
;
get property4() → core::int
- return let final core::int? #t11 = this.{self::C1::_#C1#property4} in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("property4") : #t11{core::int};
+ return let final core::int? #t11 = this.{self::C1::_#C1#property4} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t11{core::int};
set property4(core::int #t12) → void
this.{self::C1::_#C1#property4} = #t12;
get property5() → core::int
- return let final core::int? #t13 = this.{self::C1::_#C1#property5} in #t13.==(null) ?{core::int} throw new _in::LateError::fieldNI("property5") : #t13{core::int};
+ return let final core::int? #t13 = this.{self::C1::_#C1#property5} in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t13{core::int};
set property5(core::int #t14) → void
this.{self::C1::_#C1#property5} = #t14;
get property6() → core::int
- return let final core::int? #t15 = this.{self::C1::_#C1#property6} in #t15.==(null) ?{core::int} throw new _in::LateError::fieldNI("property6") : #t15{core::int};
+ return let final core::int? #t15 = this.{self::C1::_#C1#property6} in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t15{core::int};
set property6(core::int #t16) → void
this.{self::C1::_#C1#property6} = #t16;
}
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.transformed.expect
index f982c6a..d1f6fd6 100644
--- a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.transformed.expect
@@ -45,7 +45,7 @@
: self::A::_#A#property4 = property4, self::A::_#A#property5#isSet = true, self::A::_#A#property5 = property5, self::A::_#A#property6 = property6, super core::Object::•()
;
get property4() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#property4} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("property4") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#property4} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t1{core::int};
set property4(core::int #t2) → void
this.{self::A::_#A#property4} = #t2;
get property5() → core::int?
@@ -55,7 +55,7 @@
this.{self::A::_#A#property5} = #t3;
}
get property6() → core::int
- return let final core::int? #t4 = this.{self::A::_#A#property6} in #t4.==(null) ?{core::int} throw new _in::LateError::fieldNI("property6") : #t4{core::int};
+ return let final core::int? #t4 = this.{self::A::_#A#property6} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t4{core::int};
set property6(covariant core::int #t5) → void
this.{self::A::_#A#property6} = #t5;
}
@@ -68,16 +68,16 @@
: self::B1::_#B1#property4 = property4, self::B1::_#B1#property5 = property5, self::B1::_#B1#property6#isSet = true, self::B1::_#B1#property6 = property6, super core::Object::•()
;
get property4() → core::int
- return let final core::int? #t6 = this.{self::B1::_#B1#property4} in #t6.==(null) ?{core::int} throw new _in::LateError::fieldNI("property4") : #t6{core::int};
+ return let final core::int? #t6 = this.{self::B1::_#B1#property4} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t6{core::int};
set property4(core::int #t7) → void
- if(this.{self::B1::_#B1#property4}.==(null))
+ if(this.{self::B1::_#B1#property4} == null)
this.{self::B1::_#B1#property4} = #t7;
else
throw new _in::LateError::fieldAI("property4");
get property5() → core::int
- return let final core::int? #t8 = this.{self::B1::_#B1#property5} in #t8.==(null) ?{core::int} throw new _in::LateError::fieldNI("property5") : #t8{core::int};
+ return let final core::int? #t8 = this.{self::B1::_#B1#property5} in #t8 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t8{core::int};
set property5(core::int #t9) → void
- if(this.{self::B1::_#B1#property5}.==(null))
+ if(this.{self::B1::_#B1#property5} == null)
this.{self::B1::_#B1#property5} = #t9;
else
throw new _in::LateError::fieldAI("property5");
@@ -107,15 +107,15 @@
: self::C1::_#C1#property4 = property4, self::C1::_#C1#property5 = property5, self::C1::_#C1#property6 = property6, super core::Object::•()
;
get property4() → core::int
- return let final core::int? #t11 = this.{self::C1::_#C1#property4} in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("property4") : #t11{core::int};
+ return let final core::int? #t11 = this.{self::C1::_#C1#property4} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t11{core::int};
set property4(core::int #t12) → void
this.{self::C1::_#C1#property4} = #t12;
get property5() → core::int
- return let final core::int? #t13 = this.{self::C1::_#C1#property5} in #t13.==(null) ?{core::int} throw new _in::LateError::fieldNI("property5") : #t13{core::int};
+ return let final core::int? #t13 = this.{self::C1::_#C1#property5} in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t13{core::int};
set property5(core::int #t14) → void
this.{self::C1::_#C1#property5} = #t14;
get property6() → core::int
- return let final core::int? #t15 = this.{self::C1::_#C1#property6} in #t15.==(null) ?{core::int} throw new _in::LateError::fieldNI("property6") : #t15{core::int};
+ return let final core::int? #t15 = this.{self::C1::_#C1#property6} in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t15{core::int};
set property6(core::int #t16) → void
this.{self::C1::_#C1#property6} = #t16;
}
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.expect
index b34786e..5f86747 100644
--- a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.expect
@@ -8,8 +8,8 @@
static method main() → dynamic {
lowered core::int? #local;
function #local#get() → core::int
- return let final core::int? #t1 = #local in #t1.==(null) ?{core::int} throw new _in::LateError::localNI("local") : #t1{core::int};
+ return let final core::int? #t1 = #local in #t1 == null ?{core::int} throw new _in::LateError::localNI("local") : #t1{core::int};
function #local#set(core::int #t2) → dynamic
return #local = #t2;
- #local#set.call(self::f<core::int>(0));
+ #local#set(self::f<core::int>(0)){(core::int) → dynamic};
}
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.transformed.expect
index b34786e..5f86747 100644
--- a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.transformed.expect
@@ -8,8 +8,8 @@
static method main() → dynamic {
lowered core::int? #local;
function #local#get() → core::int
- return let final core::int? #t1 = #local in #t1.==(null) ?{core::int} throw new _in::LateError::localNI("local") : #t1{core::int};
+ return let final core::int? #t1 = #local in #t1 == null ?{core::int} throw new _in::LateError::localNI("local") : #t1{core::int};
function #local#set(core::int #t2) → dynamic
return #local = #t2;
- #local#set.call(self::f<core::int>(0));
+ #local#set(self::f<core::int>(0)){(core::int) → dynamic};
}
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.expect
index 4a7ba84..6d53db1 100644
--- a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.expect
@@ -14,5 +14,5 @@
#local#isSet = true;
return #local = #t1;
}
- #local#set.call(self::f<core::int>(0));
+ #local#set(self::f<core::int>(0)){(core::int) → dynamic};
}
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.transformed.expect
index 4a7ba84..6d53db1 100644
--- a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.transformed.expect
@@ -14,5 +14,5 @@
#local#isSet = true;
return #local = #t1;
}
- #local#set.call(self::f<core::int>(0));
+ #local#set(self::f<core::int>(0)){(core::int) → dynamic};
}
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.strong.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.strong.expect
index 477672b..d3abc93 100644
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.strong.expect
@@ -18,10 +18,10 @@
: super core::Object::•()
;
static get nonNullableStaticField() → core::int
- return let final core::int? #t1 = self::Class::_#nonNullableStaticField in #t1.==(null) ?{core::int} let final core::int #t2 = (let final core::int #t3 = self::Class::nonNullableStaticFieldReads in let final core::int #t4 = self::Class::nonNullableStaticFieldReads = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticField.{core::num::+}(1) : 0 in self::Class::_#nonNullableStaticField.==(null) ?{core::int} self::Class::_#nonNullableStaticField = #t2 : throw new _in::LateError::fieldADI("nonNullableStaticField") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#nonNullableStaticField in #t1 == null ?{core::int} let final core::int #t2 = (let final core::int #t3 = self::Class::nonNullableStaticFieldReads in let final core::int #t4 = self::Class::nonNullableStaticFieldReads = #t3.{core::num::+}(1){(core::num) → core::int} in #t3) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticField.{core::num::+}(1){(core::num) → core::int} : 0 in self::Class::_#nonNullableStaticField == null ?{core::int} self::Class::_#nonNullableStaticField = #t2 : throw new _in::LateError::fieldADI("nonNullableStaticField") : #t1{core::int};
static get nullableStaticField() → core::int? {
if(!self::Class::_#nullableStaticField#isSet) {
- final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1) in #t6).{core::num::==}(0) ?{core::int} self::Class::nullableStaticField.{core::Object::hashCode} : 0;
+ final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1){(core::num) → core::int} in #t6) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticField.{core::Object::hashCode}{core::int} : 0;
if(self::Class::_#nullableStaticField#isSet)
throw new _in::LateError::fieldADI("nullableStaticField");
self::Class::_#nullableStaticField = #t5;
@@ -30,10 +30,10 @@
return self::Class::_#nullableStaticField;
}
get nonNullableInstanceField() → core::int
- return let final core::int? #t8 = this.{self::Class::_#Class#nonNullableInstanceField} in #t8.==(null) ?{core::int} let final core::int #t9 = (let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} in let final core::int #t11 = this.{self::Class::nonNullableInstanceFieldReads} = #t10.{core::num::+}(1) in #t10).{core::num::==}(0) ?{core::int} this.{self::Class::nonNullableInstanceField}.{core::num::+}(1) : 0 in this.{self::Class::_#Class#nonNullableInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#nonNullableInstanceField} = #t9 : throw new _in::LateError::fieldADI("nonNullableInstanceField") : #t8{core::int};
+ return let final core::int? #t8 = this.{self::Class::_#Class#nonNullableInstanceField} in #t8 == null ?{core::int} let final core::int #t9 = (let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads}{core::int} in let final core::int #t11 = this.{self::Class::nonNullableInstanceFieldReads} = #t10.{core::num::+}(1){(core::num) → core::int} in #t10) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} this.{self::Class::nonNullableInstanceField}{core::int}.{core::num::+}(1){(core::num) → core::int} : 0 in this.{self::Class::_#Class#nonNullableInstanceField} == null ?{core::int} this.{self::Class::_#Class#nonNullableInstanceField} = #t9 : throw new _in::LateError::fieldADI("nonNullableInstanceField") : #t8{core::int};
get nullableInstanceField() → core::int? {
if(!this.{self::Class::_#Class#nullableInstanceField#isSet}) {
- final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int} this.{self::Class::nullableInstanceField}.{core::Object::hashCode} : 0;
+ final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads}{core::int} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} this.{self::Class::nullableInstanceField}{core::int?}.{core::Object::hashCode}{core::int} : 0;
if(this.{self::Class::_#Class#nullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nullableInstanceField");
this.{self::Class::_#Class#nullableInstanceField} = #t12;
@@ -48,10 +48,10 @@
static field core::int? _#nullableTopLevelField = null;
static field core::bool _#nullableTopLevelField#isSet = false;
static get nonNullableTopLevelField() → core::int
- return let final core::int? #t15 = self::_#nonNullableTopLevelField in #t15.==(null) ?{core::int} let final core::int #t16 = (let final core::int #t17 = self::nonNullableTopLevelFieldReads in let final core::int #t18 = self::nonNullableTopLevelFieldReads = #t17.{core::num::+}(1) in #t17).{core::num::==}(0) ?{core::int} self::nonNullableTopLevelField.{core::num::+}(1) : 0 in self::_#nonNullableTopLevelField.==(null) ?{core::int} self::_#nonNullableTopLevelField = #t16 : throw new _in::LateError::fieldADI("nonNullableTopLevelField") : #t15{core::int};
+ return let final core::int? #t15 = self::_#nonNullableTopLevelField in #t15 == null ?{core::int} let final core::int #t16 = (let final core::int #t17 = self::nonNullableTopLevelFieldReads in let final core::int #t18 = self::nonNullableTopLevelFieldReads = #t17.{core::num::+}(1){(core::num) → core::int} in #t17) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableTopLevelField.{core::num::+}(1){(core::num) → core::int} : 0 in self::_#nonNullableTopLevelField == null ?{core::int} self::_#nonNullableTopLevelField = #t16 : throw new _in::LateError::fieldADI("nonNullableTopLevelField") : #t15{core::int};
static get nullableTopLevelField() → core::int? {
if(!self::_#nullableTopLevelField#isSet) {
- final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1) in #t20).{core::num::==}(0) ?{core::int} self::nullableTopLevelField.{core::Object::hashCode} : 0;
+ final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1){(core::num) → core::int} in #t20) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableTopLevelField.{core::Object::hashCode}{core::int} : 0;
if(self::_#nullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nullableTopLevelField");
self::_#nullableTopLevelField = #t19;
@@ -64,13 +64,13 @@
self::throws(() → core::int? => self::nullableTopLevelField, "Read nullableTopLevelField");
self::throws(() → core::int => self::Class::nonNullableStaticField, "Read nonNullableStaticField");
self::throws(() → core::int? => self::Class::nullableStaticField, "Read nullableStaticField");
- self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}, "Read nonNullableInstanceField");
- self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}, "Read nullableInstanceField");
+ self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}{core::int}, "Read nonNullableInstanceField");
+ self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}{core::int?}, "Read nullableInstanceField");
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.strong.transformed.expect
index 477672b..d3abc93 100644
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.strong.transformed.expect
@@ -18,10 +18,10 @@
: super core::Object::•()
;
static get nonNullableStaticField() → core::int
- return let final core::int? #t1 = self::Class::_#nonNullableStaticField in #t1.==(null) ?{core::int} let final core::int #t2 = (let final core::int #t3 = self::Class::nonNullableStaticFieldReads in let final core::int #t4 = self::Class::nonNullableStaticFieldReads = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticField.{core::num::+}(1) : 0 in self::Class::_#nonNullableStaticField.==(null) ?{core::int} self::Class::_#nonNullableStaticField = #t2 : throw new _in::LateError::fieldADI("nonNullableStaticField") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#nonNullableStaticField in #t1 == null ?{core::int} let final core::int #t2 = (let final core::int #t3 = self::Class::nonNullableStaticFieldReads in let final core::int #t4 = self::Class::nonNullableStaticFieldReads = #t3.{core::num::+}(1){(core::num) → core::int} in #t3) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticField.{core::num::+}(1){(core::num) → core::int} : 0 in self::Class::_#nonNullableStaticField == null ?{core::int} self::Class::_#nonNullableStaticField = #t2 : throw new _in::LateError::fieldADI("nonNullableStaticField") : #t1{core::int};
static get nullableStaticField() → core::int? {
if(!self::Class::_#nullableStaticField#isSet) {
- final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1) in #t6).{core::num::==}(0) ?{core::int} self::Class::nullableStaticField.{core::Object::hashCode} : 0;
+ final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1){(core::num) → core::int} in #t6) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticField.{core::Object::hashCode}{core::int} : 0;
if(self::Class::_#nullableStaticField#isSet)
throw new _in::LateError::fieldADI("nullableStaticField");
self::Class::_#nullableStaticField = #t5;
@@ -30,10 +30,10 @@
return self::Class::_#nullableStaticField;
}
get nonNullableInstanceField() → core::int
- return let final core::int? #t8 = this.{self::Class::_#Class#nonNullableInstanceField} in #t8.==(null) ?{core::int} let final core::int #t9 = (let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} in let final core::int #t11 = this.{self::Class::nonNullableInstanceFieldReads} = #t10.{core::num::+}(1) in #t10).{core::num::==}(0) ?{core::int} this.{self::Class::nonNullableInstanceField}.{core::num::+}(1) : 0 in this.{self::Class::_#Class#nonNullableInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#nonNullableInstanceField} = #t9 : throw new _in::LateError::fieldADI("nonNullableInstanceField") : #t8{core::int};
+ return let final core::int? #t8 = this.{self::Class::_#Class#nonNullableInstanceField} in #t8 == null ?{core::int} let final core::int #t9 = (let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads}{core::int} in let final core::int #t11 = this.{self::Class::nonNullableInstanceFieldReads} = #t10.{core::num::+}(1){(core::num) → core::int} in #t10) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} this.{self::Class::nonNullableInstanceField}{core::int}.{core::num::+}(1){(core::num) → core::int} : 0 in this.{self::Class::_#Class#nonNullableInstanceField} == null ?{core::int} this.{self::Class::_#Class#nonNullableInstanceField} = #t9 : throw new _in::LateError::fieldADI("nonNullableInstanceField") : #t8{core::int};
get nullableInstanceField() → core::int? {
if(!this.{self::Class::_#Class#nullableInstanceField#isSet}) {
- final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int} this.{self::Class::nullableInstanceField}.{core::Object::hashCode} : 0;
+ final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads}{core::int} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} this.{self::Class::nullableInstanceField}{core::int?}.{core::Object::hashCode}{core::int} : 0;
if(this.{self::Class::_#Class#nullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nullableInstanceField");
this.{self::Class::_#Class#nullableInstanceField} = #t12;
@@ -48,10 +48,10 @@
static field core::int? _#nullableTopLevelField = null;
static field core::bool _#nullableTopLevelField#isSet = false;
static get nonNullableTopLevelField() → core::int
- return let final core::int? #t15 = self::_#nonNullableTopLevelField in #t15.==(null) ?{core::int} let final core::int #t16 = (let final core::int #t17 = self::nonNullableTopLevelFieldReads in let final core::int #t18 = self::nonNullableTopLevelFieldReads = #t17.{core::num::+}(1) in #t17).{core::num::==}(0) ?{core::int} self::nonNullableTopLevelField.{core::num::+}(1) : 0 in self::_#nonNullableTopLevelField.==(null) ?{core::int} self::_#nonNullableTopLevelField = #t16 : throw new _in::LateError::fieldADI("nonNullableTopLevelField") : #t15{core::int};
+ return let final core::int? #t15 = self::_#nonNullableTopLevelField in #t15 == null ?{core::int} let final core::int #t16 = (let final core::int #t17 = self::nonNullableTopLevelFieldReads in let final core::int #t18 = self::nonNullableTopLevelFieldReads = #t17.{core::num::+}(1){(core::num) → core::int} in #t17) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableTopLevelField.{core::num::+}(1){(core::num) → core::int} : 0 in self::_#nonNullableTopLevelField == null ?{core::int} self::_#nonNullableTopLevelField = #t16 : throw new _in::LateError::fieldADI("nonNullableTopLevelField") : #t15{core::int};
static get nullableTopLevelField() → core::int? {
if(!self::_#nullableTopLevelField#isSet) {
- final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1) in #t20).{core::num::==}(0) ?{core::int} self::nullableTopLevelField.{core::Object::hashCode} : 0;
+ final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1){(core::num) → core::int} in #t20) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableTopLevelField.{core::Object::hashCode}{core::int} : 0;
if(self::_#nullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nullableTopLevelField");
self::_#nullableTopLevelField = #t19;
@@ -64,13 +64,13 @@
self::throws(() → core::int? => self::nullableTopLevelField, "Read nullableTopLevelField");
self::throws(() → core::int => self::Class::nonNullableStaticField, "Read nonNullableStaticField");
self::throws(() → core::int? => self::Class::nullableStaticField, "Read nullableStaticField");
- self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}, "Read nonNullableInstanceField");
- self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}, "Read nullableInstanceField");
+ self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}{core::int}, "Read nonNullableInstanceField");
+ self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}{core::int?}, "Read nullableInstanceField");
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.expect
index f0df89a..f070b2f 100644
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.expect
@@ -21,7 +21,7 @@
;
static get nonNullableStaticField() → core::int {
if(!self::Class::_#nonNullableStaticField#isSet) {
- final core::int #t1 = (let final core::int #t2 = self::Class::nonNullableStaticFieldReads in let final core::int #t3 = self::Class::nonNullableStaticFieldReads = #t2.{core::num::+}(1) in #t2).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticField.{core::num::+}(1) : 0;
+ final core::int #t1 = (let final core::int #t2 = self::Class::nonNullableStaticFieldReads in let final core::int #t3 = self::Class::nonNullableStaticFieldReads = #t2.{core::num::+}(1){(core::num) → core::int} in #t2) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticField.{core::num::+}(1){(core::num) → core::int} : 0;
if(self::Class::_#nonNullableStaticField#isSet)
throw new _in::LateError::fieldADI("nonNullableStaticField");
self::Class::_#nonNullableStaticField = #t1;
@@ -31,7 +31,7 @@
}
static get nullableStaticField() → core::int? {
if(!self::Class::_#nullableStaticField#isSet) {
- final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1) in #t6).{core::num::==}(0) ?{core::int} self::Class::nullableStaticField.{core::Object::hashCode} : 0;
+ final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1){(core::num) → core::int} in #t6) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticField.{core::Object::hashCode}{core::int} : 0;
if(self::Class::_#nullableStaticField#isSet)
throw new _in::LateError::fieldADI("nullableStaticField");
self::Class::_#nullableStaticField = #t5;
@@ -41,7 +41,7 @@
}
get nonNullableInstanceField() → core::int {
if(!this.{self::Class::_#Class#nonNullableInstanceField#isSet}) {
- final core::int #t8 = (let final core::int #t9 = this.{self::Class::nonNullableInstanceFieldReads} in let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} = #t9.{core::num::+}(1) in #t9).{core::num::==}(0) ?{core::int} this.{self::Class::nonNullableInstanceField}.{core::num::+}(1) : 0;
+ final core::int #t8 = (let final core::int #t9 = this.{self::Class::nonNullableInstanceFieldReads}{core::int} in let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} = #t9.{core::num::+}(1){(core::num) → core::int} in #t9) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} this.{self::Class::nonNullableInstanceField}{core::int}.{core::num::+}(1){(core::num) → core::int} : 0;
if(this.{self::Class::_#Class#nonNullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nonNullableInstanceField");
this.{self::Class::_#Class#nonNullableInstanceField} = #t8;
@@ -51,7 +51,7 @@
}
get nullableInstanceField() → core::int? {
if(!this.{self::Class::_#Class#nullableInstanceField#isSet}) {
- final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int} this.{self::Class::nullableInstanceField}.{core::Object::hashCode} : 0;
+ final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads}{core::int} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} this.{self::Class::nullableInstanceField}{core::int?}.{core::Object::hashCode}{core::int} : 0;
if(this.{self::Class::_#Class#nullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nullableInstanceField");
this.{self::Class::_#Class#nullableInstanceField} = #t12;
@@ -68,7 +68,7 @@
static field core::bool _#nullableTopLevelField#isSet = false;
static get nonNullableTopLevelField() → core::int {
if(!self::_#nonNullableTopLevelField#isSet) {
- final core::int #t15 = (let final core::int #t16 = self::nonNullableTopLevelFieldReads in let final core::int #t17 = self::nonNullableTopLevelFieldReads = #t16.{core::num::+}(1) in #t16).{core::num::==}(0) ?{core::int} self::nonNullableTopLevelField.{core::num::+}(1) : 0;
+ final core::int #t15 = (let final core::int #t16 = self::nonNullableTopLevelFieldReads in let final core::int #t17 = self::nonNullableTopLevelFieldReads = #t16.{core::num::+}(1){(core::num) → core::int} in #t16) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableTopLevelField.{core::num::+}(1){(core::num) → core::int} : 0;
if(self::_#nonNullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nonNullableTopLevelField");
self::_#nonNullableTopLevelField = #t15;
@@ -78,7 +78,7 @@
}
static get nullableTopLevelField() → core::int? {
if(!self::_#nullableTopLevelField#isSet) {
- final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1) in #t20).{core::num::==}(0) ?{core::int} self::nullableTopLevelField.{core::Object::hashCode} : 0;
+ final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1){(core::num) → core::int} in #t20) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableTopLevelField.{core::Object::hashCode}{core::int} : 0;
if(self::_#nullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nullableTopLevelField");
self::_#nullableTopLevelField = #t19;
@@ -91,13 +91,13 @@
self::throws(() → core::int? => self::nullableTopLevelField, "Read nullableTopLevelField");
self::throws(() → core::int => self::Class::nonNullableStaticField, "Read nonNullableStaticField");
self::throws(() → core::int? => self::Class::nullableStaticField, "Read nullableStaticField");
- self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}, "Read nonNullableInstanceField");
- self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}, "Read nullableInstanceField");
+ self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}{core::int}, "Read nonNullableInstanceField");
+ self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}{core::int?}, "Read nullableInstanceField");
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.transformed.expect
index f0df89a..f070b2f 100644
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.transformed.expect
@@ -21,7 +21,7 @@
;
static get nonNullableStaticField() → core::int {
if(!self::Class::_#nonNullableStaticField#isSet) {
- final core::int #t1 = (let final core::int #t2 = self::Class::nonNullableStaticFieldReads in let final core::int #t3 = self::Class::nonNullableStaticFieldReads = #t2.{core::num::+}(1) in #t2).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticField.{core::num::+}(1) : 0;
+ final core::int #t1 = (let final core::int #t2 = self::Class::nonNullableStaticFieldReads in let final core::int #t3 = self::Class::nonNullableStaticFieldReads = #t2.{core::num::+}(1){(core::num) → core::int} in #t2) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticField.{core::num::+}(1){(core::num) → core::int} : 0;
if(self::Class::_#nonNullableStaticField#isSet)
throw new _in::LateError::fieldADI("nonNullableStaticField");
self::Class::_#nonNullableStaticField = #t1;
@@ -31,7 +31,7 @@
}
static get nullableStaticField() → core::int? {
if(!self::Class::_#nullableStaticField#isSet) {
- final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1) in #t6).{core::num::==}(0) ?{core::int} self::Class::nullableStaticField.{core::Object::hashCode} : 0;
+ final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1){(core::num) → core::int} in #t6) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticField.{core::Object::hashCode}{core::int} : 0;
if(self::Class::_#nullableStaticField#isSet)
throw new _in::LateError::fieldADI("nullableStaticField");
self::Class::_#nullableStaticField = #t5;
@@ -41,7 +41,7 @@
}
get nonNullableInstanceField() → core::int {
if(!this.{self::Class::_#Class#nonNullableInstanceField#isSet}) {
- final core::int #t8 = (let final core::int #t9 = this.{self::Class::nonNullableInstanceFieldReads} in let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} = #t9.{core::num::+}(1) in #t9).{core::num::==}(0) ?{core::int} this.{self::Class::nonNullableInstanceField}.{core::num::+}(1) : 0;
+ final core::int #t8 = (let final core::int #t9 = this.{self::Class::nonNullableInstanceFieldReads}{core::int} in let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} = #t9.{core::num::+}(1){(core::num) → core::int} in #t9) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} this.{self::Class::nonNullableInstanceField}{core::int}.{core::num::+}(1){(core::num) → core::int} : 0;
if(this.{self::Class::_#Class#nonNullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nonNullableInstanceField");
this.{self::Class::_#Class#nonNullableInstanceField} = #t8;
@@ -51,7 +51,7 @@
}
get nullableInstanceField() → core::int? {
if(!this.{self::Class::_#Class#nullableInstanceField#isSet}) {
- final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int} this.{self::Class::nullableInstanceField}.{core::Object::hashCode} : 0;
+ final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads}{core::int} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} this.{self::Class::nullableInstanceField}{core::int?}.{core::Object::hashCode}{core::int} : 0;
if(this.{self::Class::_#Class#nullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nullableInstanceField");
this.{self::Class::_#Class#nullableInstanceField} = #t12;
@@ -68,7 +68,7 @@
static field core::bool _#nullableTopLevelField#isSet = false;
static get nonNullableTopLevelField() → core::int {
if(!self::_#nonNullableTopLevelField#isSet) {
- final core::int #t15 = (let final core::int #t16 = self::nonNullableTopLevelFieldReads in let final core::int #t17 = self::nonNullableTopLevelFieldReads = #t16.{core::num::+}(1) in #t16).{core::num::==}(0) ?{core::int} self::nonNullableTopLevelField.{core::num::+}(1) : 0;
+ final core::int #t15 = (let final core::int #t16 = self::nonNullableTopLevelFieldReads in let final core::int #t17 = self::nonNullableTopLevelFieldReads = #t16.{core::num::+}(1){(core::num) → core::int} in #t16) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableTopLevelField.{core::num::+}(1){(core::num) → core::int} : 0;
if(self::_#nonNullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nonNullableTopLevelField");
self::_#nonNullableTopLevelField = #t15;
@@ -78,7 +78,7 @@
}
static get nullableTopLevelField() → core::int? {
if(!self::_#nullableTopLevelField#isSet) {
- final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1) in #t20).{core::num::==}(0) ?{core::int} self::nullableTopLevelField.{core::Object::hashCode} : 0;
+ final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1){(core::num) → core::int} in #t20) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableTopLevelField.{core::Object::hashCode}{core::int} : 0;
if(self::_#nullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nullableTopLevelField");
self::_#nullableTopLevelField = #t19;
@@ -91,13 +91,13 @@
self::throws(() → core::int? => self::nullableTopLevelField, "Read nullableTopLevelField");
self::throws(() → core::int => self::Class::nonNullableStaticField, "Read nonNullableStaticField");
self::throws(() → core::int? => self::Class::nullableStaticField, "Read nullableStaticField");
- self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}, "Read nonNullableInstanceField");
- self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}, "Read nullableInstanceField");
+ self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}{core::int}, "Read nonNullableInstanceField");
+ self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}{core::int?}, "Read nullableInstanceField");
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.strong.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.strong.expect
index 74f12ef..db151cd 100644
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.strong.expect
@@ -21,10 +21,10 @@
: super core::Object::•()
;
static get nonNullableStaticField() → core::int
- return let final core::int? #t1 = self::Class::_#nonNullableStaticField in #t1.==(null) ?{core::int} let final core::int #t2 = (let final core::int #t3 = self::Class::nonNullableStaticFieldReads in let final core::int #t4 = self::Class::nonNullableStaticFieldReads = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int*} self::Class::nonNullableStaticField : ini::computeInitialValue() in self::Class::_#nonNullableStaticField.==(null) ?{core::int} self::Class::_#nonNullableStaticField = #t2 : throw new _in::LateError::fieldADI("nonNullableStaticField") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#nonNullableStaticField in #t1 == null ?{core::int} let final core::int #t2 = (let final core::int #t3 = self::Class::nonNullableStaticFieldReads in let final core::int #t4 = self::Class::nonNullableStaticFieldReads = #t3.{core::num::+}(1){(core::num) → core::int} in #t3) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} self::Class::nonNullableStaticField : ini::computeInitialValue() in self::Class::_#nonNullableStaticField == null ?{core::int} self::Class::_#nonNullableStaticField = #t2 : throw new _in::LateError::fieldADI("nonNullableStaticField") : #t1{core::int};
static get nullableStaticField() → core::int? {
if(!self::Class::_#nullableStaticField#isSet) {
- final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1) in #t6).{core::num::==}(0) ?{core::int?} self::Class::nullableStaticField : ini::computeInitialValue();
+ final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1){(core::num) → core::int} in #t6) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} self::Class::nullableStaticField : ini::computeInitialValue();
if(self::Class::_#nullableStaticField#isSet)
throw new _in::LateError::fieldADI("nullableStaticField");
self::Class::_#nullableStaticField = #t5;
@@ -33,10 +33,10 @@
return self::Class::_#nullableStaticField;
}
get nonNullableInstanceField() → core::int
- return let final core::int? #t8 = this.{self::Class::_#Class#nonNullableInstanceField} in #t8.==(null) ?{core::int} let final core::int #t9 = (let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} in let final core::int #t11 = this.{self::Class::nonNullableInstanceFieldReads} = #t10.{core::num::+}(1) in #t10).{core::num::==}(0) ?{core::int*} this.{self::Class::nonNullableInstanceField} : ini::computeInitialValue() in this.{self::Class::_#Class#nonNullableInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#nonNullableInstanceField} = #t9 : throw new _in::LateError::fieldADI("nonNullableInstanceField") : #t8{core::int};
+ return let final core::int? #t8 = this.{self::Class::_#Class#nonNullableInstanceField} in #t8 == null ?{core::int} let final core::int #t9 = (let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads}{core::int} in let final core::int #t11 = this.{self::Class::nonNullableInstanceFieldReads} = #t10.{core::num::+}(1){(core::num) → core::int} in #t10) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} this.{self::Class::nonNullableInstanceField}{core::int} : ini::computeInitialValue() in this.{self::Class::_#Class#nonNullableInstanceField} == null ?{core::int} this.{self::Class::_#Class#nonNullableInstanceField} = #t9 : throw new _in::LateError::fieldADI("nonNullableInstanceField") : #t8{core::int};
get nullableInstanceField() → core::int? {
if(!this.{self::Class::_#Class#nullableInstanceField#isSet}) {
- final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int?} this.{self::Class::nullableInstanceField} : ini::computeInitialValue();
+ final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads}{core::int} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} this.{self::Class::nullableInstanceField}{core::int?} : ini::computeInitialValue();
if(this.{self::Class::_#Class#nullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nullableInstanceField");
this.{self::Class::_#Class#nullableInstanceField} = #t12;
@@ -51,10 +51,10 @@
static field core::int? _#nullableTopLevelField = null;
static field core::bool _#nullableTopLevelField#isSet = false;
static get nonNullableTopLevelField() → core::int
- return let final core::int? #t15 = self::_#nonNullableTopLevelField in #t15.==(null) ?{core::int} let final core::int #t16 = (let final core::int #t17 = self::nonNullableTopLevelFieldReads in let final core::int #t18 = self::nonNullableTopLevelFieldReads = #t17.{core::num::+}(1) in #t17).{core::num::==}(0) ?{core::int*} self::nonNullableTopLevelField : ini::computeInitialValue() in self::_#nonNullableTopLevelField.==(null) ?{core::int} self::_#nonNullableTopLevelField = #t16 : throw new _in::LateError::fieldADI("nonNullableTopLevelField") : #t15{core::int};
+ return let final core::int? #t15 = self::_#nonNullableTopLevelField in #t15 == null ?{core::int} let final core::int #t16 = (let final core::int #t17 = self::nonNullableTopLevelFieldReads in let final core::int #t18 = self::nonNullableTopLevelFieldReads = #t17.{core::num::+}(1){(core::num) → core::int} in #t17) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} self::nonNullableTopLevelField : ini::computeInitialValue() in self::_#nonNullableTopLevelField == null ?{core::int} self::_#nonNullableTopLevelField = #t16 : throw new _in::LateError::fieldADI("nonNullableTopLevelField") : #t15{core::int};
static get nullableTopLevelField() → core::int? {
if(!self::_#nullableTopLevelField#isSet) {
- final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1) in #t20).{core::num::==}(0) ?{core::int?} self::nullableTopLevelField : ini::computeInitialValue();
+ final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1){(core::num) → core::int} in #t20) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} self::nullableTopLevelField : ini::computeInitialValue();
if(self::_#nullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nullableTopLevelField");
self::_#nullableTopLevelField = #t19;
@@ -67,13 +67,13 @@
self::throws(() → core::int? => self::nullableTopLevelField, "Read nullableTopLevelField");
self::throws(() → core::int => self::Class::nonNullableStaticField, "Read nonNullableStaticField");
self::throws(() → core::int? => self::Class::nullableStaticField, "Read nullableStaticField");
- self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}, "Read nonNullableInstanceField");
- self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}, "Read nullableInstanceField");
+ self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}{core::int}, "Read nonNullableInstanceField");
+ self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}{core::int?}, "Read nullableInstanceField");
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.strong.transformed.expect
index 74f12ef..db151cd 100644
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.strong.transformed.expect
@@ -21,10 +21,10 @@
: super core::Object::•()
;
static get nonNullableStaticField() → core::int
- return let final core::int? #t1 = self::Class::_#nonNullableStaticField in #t1.==(null) ?{core::int} let final core::int #t2 = (let final core::int #t3 = self::Class::nonNullableStaticFieldReads in let final core::int #t4 = self::Class::nonNullableStaticFieldReads = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int*} self::Class::nonNullableStaticField : ini::computeInitialValue() in self::Class::_#nonNullableStaticField.==(null) ?{core::int} self::Class::_#nonNullableStaticField = #t2 : throw new _in::LateError::fieldADI("nonNullableStaticField") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#nonNullableStaticField in #t1 == null ?{core::int} let final core::int #t2 = (let final core::int #t3 = self::Class::nonNullableStaticFieldReads in let final core::int #t4 = self::Class::nonNullableStaticFieldReads = #t3.{core::num::+}(1){(core::num) → core::int} in #t3) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} self::Class::nonNullableStaticField : ini::computeInitialValue() in self::Class::_#nonNullableStaticField == null ?{core::int} self::Class::_#nonNullableStaticField = #t2 : throw new _in::LateError::fieldADI("nonNullableStaticField") : #t1{core::int};
static get nullableStaticField() → core::int? {
if(!self::Class::_#nullableStaticField#isSet) {
- final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1) in #t6).{core::num::==}(0) ?{core::int?} self::Class::nullableStaticField : ini::computeInitialValue();
+ final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1){(core::num) → core::int} in #t6) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} self::Class::nullableStaticField : ini::computeInitialValue();
if(self::Class::_#nullableStaticField#isSet)
throw new _in::LateError::fieldADI("nullableStaticField");
self::Class::_#nullableStaticField = #t5;
@@ -33,10 +33,10 @@
return self::Class::_#nullableStaticField;
}
get nonNullableInstanceField() → core::int
- return let final core::int? #t8 = this.{self::Class::_#Class#nonNullableInstanceField} in #t8.==(null) ?{core::int} let final core::int #t9 = (let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} in let final core::int #t11 = this.{self::Class::nonNullableInstanceFieldReads} = #t10.{core::num::+}(1) in #t10).{core::num::==}(0) ?{core::int*} this.{self::Class::nonNullableInstanceField} : ini::computeInitialValue() in this.{self::Class::_#Class#nonNullableInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#nonNullableInstanceField} = #t9 : throw new _in::LateError::fieldADI("nonNullableInstanceField") : #t8{core::int};
+ return let final core::int? #t8 = this.{self::Class::_#Class#nonNullableInstanceField} in #t8 == null ?{core::int} let final core::int #t9 = (let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads}{core::int} in let final core::int #t11 = this.{self::Class::nonNullableInstanceFieldReads} = #t10.{core::num::+}(1){(core::num) → core::int} in #t10) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} this.{self::Class::nonNullableInstanceField}{core::int} : ini::computeInitialValue() in this.{self::Class::_#Class#nonNullableInstanceField} == null ?{core::int} this.{self::Class::_#Class#nonNullableInstanceField} = #t9 : throw new _in::LateError::fieldADI("nonNullableInstanceField") : #t8{core::int};
get nullableInstanceField() → core::int? {
if(!this.{self::Class::_#Class#nullableInstanceField#isSet}) {
- final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int?} this.{self::Class::nullableInstanceField} : ini::computeInitialValue();
+ final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads}{core::int} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} this.{self::Class::nullableInstanceField}{core::int?} : ini::computeInitialValue();
if(this.{self::Class::_#Class#nullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nullableInstanceField");
this.{self::Class::_#Class#nullableInstanceField} = #t12;
@@ -51,10 +51,10 @@
static field core::int? _#nullableTopLevelField = null;
static field core::bool _#nullableTopLevelField#isSet = false;
static get nonNullableTopLevelField() → core::int
- return let final core::int? #t15 = self::_#nonNullableTopLevelField in #t15.==(null) ?{core::int} let final core::int #t16 = (let final core::int #t17 = self::nonNullableTopLevelFieldReads in let final core::int #t18 = self::nonNullableTopLevelFieldReads = #t17.{core::num::+}(1) in #t17).{core::num::==}(0) ?{core::int*} self::nonNullableTopLevelField : ini::computeInitialValue() in self::_#nonNullableTopLevelField.==(null) ?{core::int} self::_#nonNullableTopLevelField = #t16 : throw new _in::LateError::fieldADI("nonNullableTopLevelField") : #t15{core::int};
+ return let final core::int? #t15 = self::_#nonNullableTopLevelField in #t15 == null ?{core::int} let final core::int #t16 = (let final core::int #t17 = self::nonNullableTopLevelFieldReads in let final core::int #t18 = self::nonNullableTopLevelFieldReads = #t17.{core::num::+}(1){(core::num) → core::int} in #t17) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} self::nonNullableTopLevelField : ini::computeInitialValue() in self::_#nonNullableTopLevelField == null ?{core::int} self::_#nonNullableTopLevelField = #t16 : throw new _in::LateError::fieldADI("nonNullableTopLevelField") : #t15{core::int};
static get nullableTopLevelField() → core::int? {
if(!self::_#nullableTopLevelField#isSet) {
- final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1) in #t20).{core::num::==}(0) ?{core::int?} self::nullableTopLevelField : ini::computeInitialValue();
+ final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1){(core::num) → core::int} in #t20) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} self::nullableTopLevelField : ini::computeInitialValue();
if(self::_#nullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nullableTopLevelField");
self::_#nullableTopLevelField = #t19;
@@ -67,13 +67,13 @@
self::throws(() → core::int? => self::nullableTopLevelField, "Read nullableTopLevelField");
self::throws(() → core::int => self::Class::nonNullableStaticField, "Read nonNullableStaticField");
self::throws(() → core::int? => self::Class::nullableStaticField, "Read nullableStaticField");
- self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}, "Read nonNullableInstanceField");
- self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}, "Read nullableInstanceField");
+ self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}{core::int}, "Read nonNullableInstanceField");
+ self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}{core::int?}, "Read nullableInstanceField");
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.expect
index c0f506a..648d9da 100644
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.expect
@@ -24,7 +24,7 @@
;
static get nonNullableStaticField() → core::int {
if(!self::Class::_#nonNullableStaticField#isSet) {
- final core::int #t1 = (let final core::int #t2 = self::Class::nonNullableStaticFieldReads in let final core::int #t3 = self::Class::nonNullableStaticFieldReads = #t2.{core::num::+}(1) in #t2).{core::num::==}(0) ?{core::int*} self::Class::nonNullableStaticField : ini::computeInitialValue();
+ final core::int #t1 = (let final core::int #t2 = self::Class::nonNullableStaticFieldReads in let final core::int #t3 = self::Class::nonNullableStaticFieldReads = #t2.{core::num::+}(1){(core::num) → core::int} in #t2) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} self::Class::nonNullableStaticField : ini::computeInitialValue();
if(self::Class::_#nonNullableStaticField#isSet)
throw new _in::LateError::fieldADI("nonNullableStaticField");
self::Class::_#nonNullableStaticField = #t1;
@@ -34,7 +34,7 @@
}
static get nullableStaticField() → core::int? {
if(!self::Class::_#nullableStaticField#isSet) {
- final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1) in #t6).{core::num::==}(0) ?{core::int?} self::Class::nullableStaticField : ini::computeInitialValue();
+ final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1){(core::num) → core::int} in #t6) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} self::Class::nullableStaticField : ini::computeInitialValue();
if(self::Class::_#nullableStaticField#isSet)
throw new _in::LateError::fieldADI("nullableStaticField");
self::Class::_#nullableStaticField = #t5;
@@ -44,7 +44,7 @@
}
get nonNullableInstanceField() → core::int {
if(!this.{self::Class::_#Class#nonNullableInstanceField#isSet}) {
- final core::int #t8 = (let final core::int #t9 = this.{self::Class::nonNullableInstanceFieldReads} in let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} = #t9.{core::num::+}(1) in #t9).{core::num::==}(0) ?{core::int*} this.{self::Class::nonNullableInstanceField} : ini::computeInitialValue();
+ final core::int #t8 = (let final core::int #t9 = this.{self::Class::nonNullableInstanceFieldReads}{core::int} in let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} = #t9.{core::num::+}(1){(core::num) → core::int} in #t9) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} this.{self::Class::nonNullableInstanceField}{core::int} : ini::computeInitialValue();
if(this.{self::Class::_#Class#nonNullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nonNullableInstanceField");
this.{self::Class::_#Class#nonNullableInstanceField} = #t8;
@@ -54,7 +54,7 @@
}
get nullableInstanceField() → core::int? {
if(!this.{self::Class::_#Class#nullableInstanceField#isSet}) {
- final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int?} this.{self::Class::nullableInstanceField} : ini::computeInitialValue();
+ final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads}{core::int} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} this.{self::Class::nullableInstanceField}{core::int?} : ini::computeInitialValue();
if(this.{self::Class::_#Class#nullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nullableInstanceField");
this.{self::Class::_#Class#nullableInstanceField} = #t12;
@@ -71,7 +71,7 @@
static field core::bool _#nullableTopLevelField#isSet = false;
static get nonNullableTopLevelField() → core::int {
if(!self::_#nonNullableTopLevelField#isSet) {
- final core::int #t15 = (let final core::int #t16 = self::nonNullableTopLevelFieldReads in let final core::int #t17 = self::nonNullableTopLevelFieldReads = #t16.{core::num::+}(1) in #t16).{core::num::==}(0) ?{core::int*} self::nonNullableTopLevelField : ini::computeInitialValue();
+ final core::int #t15 = (let final core::int #t16 = self::nonNullableTopLevelFieldReads in let final core::int #t17 = self::nonNullableTopLevelFieldReads = #t16.{core::num::+}(1){(core::num) → core::int} in #t16) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} self::nonNullableTopLevelField : ini::computeInitialValue();
if(self::_#nonNullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nonNullableTopLevelField");
self::_#nonNullableTopLevelField = #t15;
@@ -81,7 +81,7 @@
}
static get nullableTopLevelField() → core::int? {
if(!self::_#nullableTopLevelField#isSet) {
- final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1) in #t20).{core::num::==}(0) ?{core::int?} self::nullableTopLevelField : ini::computeInitialValue();
+ final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1){(core::num) → core::int} in #t20) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} self::nullableTopLevelField : ini::computeInitialValue();
if(self::_#nullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nullableTopLevelField");
self::_#nullableTopLevelField = #t19;
@@ -94,13 +94,13 @@
self::throws(() → core::int? => self::nullableTopLevelField, "Read nullableTopLevelField");
self::throws(() → core::int => self::Class::nonNullableStaticField, "Read nonNullableStaticField");
self::throws(() → core::int? => self::Class::nullableStaticField, "Read nullableStaticField");
- self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}, "Read nonNullableInstanceField");
- self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}, "Read nullableInstanceField");
+ self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}{core::int}, "Read nonNullableInstanceField");
+ self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}{core::int?}, "Read nullableInstanceField");
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.transformed.expect
index c0f506a..648d9da 100644
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.transformed.expect
@@ -24,7 +24,7 @@
;
static get nonNullableStaticField() → core::int {
if(!self::Class::_#nonNullableStaticField#isSet) {
- final core::int #t1 = (let final core::int #t2 = self::Class::nonNullableStaticFieldReads in let final core::int #t3 = self::Class::nonNullableStaticFieldReads = #t2.{core::num::+}(1) in #t2).{core::num::==}(0) ?{core::int*} self::Class::nonNullableStaticField : ini::computeInitialValue();
+ final core::int #t1 = (let final core::int #t2 = self::Class::nonNullableStaticFieldReads in let final core::int #t3 = self::Class::nonNullableStaticFieldReads = #t2.{core::num::+}(1){(core::num) → core::int} in #t2) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} self::Class::nonNullableStaticField : ini::computeInitialValue();
if(self::Class::_#nonNullableStaticField#isSet)
throw new _in::LateError::fieldADI("nonNullableStaticField");
self::Class::_#nonNullableStaticField = #t1;
@@ -34,7 +34,7 @@
}
static get nullableStaticField() → core::int? {
if(!self::Class::_#nullableStaticField#isSet) {
- final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1) in #t6).{core::num::==}(0) ?{core::int?} self::Class::nullableStaticField : ini::computeInitialValue();
+ final core::int? #t5 = (let final core::int #t6 = self::Class::nullableStaticFieldReads in let final core::int #t7 = self::Class::nullableStaticFieldReads = #t6.{core::num::+}(1){(core::num) → core::int} in #t6) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} self::Class::nullableStaticField : ini::computeInitialValue();
if(self::Class::_#nullableStaticField#isSet)
throw new _in::LateError::fieldADI("nullableStaticField");
self::Class::_#nullableStaticField = #t5;
@@ -44,7 +44,7 @@
}
get nonNullableInstanceField() → core::int {
if(!this.{self::Class::_#Class#nonNullableInstanceField#isSet}) {
- final core::int #t8 = (let final core::int #t9 = this.{self::Class::nonNullableInstanceFieldReads} in let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} = #t9.{core::num::+}(1) in #t9).{core::num::==}(0) ?{core::int*} this.{self::Class::nonNullableInstanceField} : ini::computeInitialValue();
+ final core::int #t8 = (let final core::int #t9 = this.{self::Class::nonNullableInstanceFieldReads}{core::int} in let final core::int #t10 = this.{self::Class::nonNullableInstanceFieldReads} = #t9.{core::num::+}(1){(core::num) → core::int} in #t9) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} this.{self::Class::nonNullableInstanceField}{core::int} : ini::computeInitialValue();
if(this.{self::Class::_#Class#nonNullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nonNullableInstanceField");
this.{self::Class::_#Class#nonNullableInstanceField} = #t8;
@@ -54,7 +54,7 @@
}
get nullableInstanceField() → core::int? {
if(!this.{self::Class::_#Class#nullableInstanceField#isSet}) {
- final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int?} this.{self::Class::nullableInstanceField} : ini::computeInitialValue();
+ final core::int? #t12 = (let final core::int #t13 = this.{self::Class::nullableInstanceFieldReads}{core::int} in let final core::int #t14 = this.{self::Class::nullableInstanceFieldReads} = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} this.{self::Class::nullableInstanceField}{core::int?} : ini::computeInitialValue();
if(this.{self::Class::_#Class#nullableInstanceField#isSet})
throw new _in::LateError::fieldADI("nullableInstanceField");
this.{self::Class::_#Class#nullableInstanceField} = #t12;
@@ -71,7 +71,7 @@
static field core::bool _#nullableTopLevelField#isSet = false;
static get nonNullableTopLevelField() → core::int {
if(!self::_#nonNullableTopLevelField#isSet) {
- final core::int #t15 = (let final core::int #t16 = self::nonNullableTopLevelFieldReads in let final core::int #t17 = self::nonNullableTopLevelFieldReads = #t16.{core::num::+}(1) in #t16).{core::num::==}(0) ?{core::int*} self::nonNullableTopLevelField : ini::computeInitialValue();
+ final core::int #t15 = (let final core::int #t16 = self::nonNullableTopLevelFieldReads in let final core::int #t17 = self::nonNullableTopLevelFieldReads = #t16.{core::num::+}(1){(core::num) → core::int} in #t16) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int*} self::nonNullableTopLevelField : ini::computeInitialValue();
if(self::_#nonNullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nonNullableTopLevelField");
self::_#nonNullableTopLevelField = #t15;
@@ -81,7 +81,7 @@
}
static get nullableTopLevelField() → core::int? {
if(!self::_#nullableTopLevelField#isSet) {
- final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1) in #t20).{core::num::==}(0) ?{core::int?} self::nullableTopLevelField : ini::computeInitialValue();
+ final core::int? #t19 = (let final core::int #t20 = self::nullableTopLevelFieldReads in let final core::int #t21 = self::nullableTopLevelFieldReads = #t20.{core::num::+}(1){(core::num) → core::int} in #t20) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int?} self::nullableTopLevelField : ini::computeInitialValue();
if(self::_#nullableTopLevelField#isSet)
throw new _in::LateError::fieldADI("nullableTopLevelField");
self::_#nullableTopLevelField = #t19;
@@ -94,13 +94,13 @@
self::throws(() → core::int? => self::nullableTopLevelField, "Read nullableTopLevelField");
self::throws(() → core::int => self::Class::nonNullableStaticField, "Read nonNullableStaticField");
self::throws(() → core::int? => self::Class::nullableStaticField, "Read nullableStaticField");
- self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}, "Read nonNullableInstanceField");
- self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}, "Read nullableInstanceField");
+ self::throws(() → core::int => new self::Class::•().{self::Class::nonNullableInstanceField}{core::int}, "Read nonNullableInstanceField");
+ self::throws(() → core::int? => new self::Class::•().{self::Class::nullableInstanceField}{core::int?}, "Read nullableInstanceField");
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.expect
index 3ed20f7..7fabb2c 100644
--- a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.expect
@@ -22,7 +22,7 @@
: self2::Class::_#Class#foo = foo, super core::Object::•()
;
get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int
- return let final core::int? #t1 = this.{self2::Class::_#Class#foo} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("foo") : #t1{core::int};
+ return let final core::int? #t1 = this.{self2::Class::_#Class#foo} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("foo") : #t1{core::int};
set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t2) → void
this.{self2::Class::_#Class#foo} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.transformed.expect
index 3ed20f7..7fabb2c 100644
--- a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.transformed.expect
@@ -22,7 +22,7 @@
: self2::Class::_#Class#foo = foo, super core::Object::•()
;
get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int
- return let final core::int? #t1 = this.{self2::Class::_#Class#foo} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("foo") : #t1{core::int};
+ return let final core::int? #t1 = this.{self2::Class::_#Class#foo} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("foo") : #t1{core::int};
set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t2) → void
this.{self2::Class::_#Class#foo} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.expect
index 0cfc574..28c123d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.expect
@@ -11,13 +11,13 @@
: self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field = field, super core::Object::•()
;
get field() → core::int
- return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1.==(null) ?{core::int} this.{self::Class::_#Class#field} = 10 : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1 == null ?{core::int} this.{self::Class::_#Class#field} = 10 : #t1{core::int};
set field(core::int #t2) → void
this.{self::Class::_#Class#field} = #t2;
}
@@ -37,54 +37,54 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.transformed.expect
index 0cfc574..28c123d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.transformed.expect
@@ -11,13 +11,13 @@
: self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field = field, super core::Object::•()
;
get field() → core::int
- return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1.==(null) ?{core::int} this.{self::Class::_#Class#field} = 10 : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1 == null ?{core::int} this.{self::Class::_#Class#field} = 10 : #t1{core::int};
set field(core::int #t2) → void
this.{self::Class::_#Class#field} = #t2;
}
@@ -37,54 +37,54 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.expect
index 9dc836f..2d027b7 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.expect
@@ -12,7 +12,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -45,54 +45,54 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.transformed.expect
index 9dc836f..2d027b7 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.transformed.expect
@@ -12,7 +12,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -45,54 +45,54 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.expect
index 6e465d7..000fb2c 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.expect
@@ -12,13 +12,13 @@
: self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field = field, super core::Object::•()
;
get field() → core::int
- return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
set field(core::int #t2) → void
this.{self::Class::_#Class#field} = #t2;
}
@@ -38,60 +38,60 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.transformed.expect
index 6e465d7..000fb2c 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.transformed.expect
@@ -12,13 +12,13 @@
: self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field = field, super core::Object::•()
;
get field() → core::int
- return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
set field(core::int #t2) → void
this.{self::Class::_#Class#field} = #t2;
}
@@ -38,60 +38,60 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.expect
index 5c9ecce..f5cd606 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -41,60 +41,60 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.transformed.expect
index 5c9ecce..f5cd606 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -41,60 +41,60 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.expect
index c480ab9..ce2bf76 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.expect
@@ -12,15 +12,15 @@
: self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field = field, super core::Object::•()
;
get field() → core::int
- return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
set field(core::int #t2) → void
- if(this.{self::Class::_#Class#field}.==(null))
+ if(this.{self::Class::_#Class#field} == null)
this.{self::Class::_#Class#field} = #t2;
else
throw new _in::LateError::fieldAI("field");
@@ -41,48 +41,48 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
self::throws(() → core::int => c4.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Class c6 = new self::Class::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class1.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class1.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
self::throws(() → core::int => c4.{self::Class::field} = 88, "Write value to initialized Class.field");
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Subclass c6 = new self::Subclass::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method main() → dynamic {
@@ -90,13 +90,13 @@
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.transformed.expect
index c480ab9..ce2bf76 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.transformed.expect
@@ -12,15 +12,15 @@
: self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field = field, super core::Object::•()
;
get field() → core::int
- return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Class::_#Class#field} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
set field(core::int #t2) → void
- if(this.{self::Class::_#Class#field}.==(null))
+ if(this.{self::Class::_#Class#field} == null)
this.{self::Class::_#Class#field} = #t2;
else
throw new _in::LateError::fieldAI("field");
@@ -41,48 +41,48 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
self::throws(() → core::int => c4.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Class c6 = new self::Class::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class1.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class1.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
self::throws(() → core::int => c4.{self::Class::field} = 88, "Write value to initialized Class.field");
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Subclass c6 = new self::Subclass::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method main() → dynamic {
@@ -90,13 +90,13 @@
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.expect
index 2f21d23..b126dde 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -44,48 +44,48 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
self::throws(() → core::int => c4.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Class c6 = new self::Class::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class1.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class1.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
self::throws(() → core::int => c4.{self::Class::field} = 88, "Write value to initialized Class.field");
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Subclass c6 = new self::Subclass::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method main() → dynamic {
@@ -93,13 +93,13 @@
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.transformed.expect
index 2f21d23..b126dde 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -44,48 +44,48 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int});
self::throws(() → core::int => c4.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Class c6 = new self::Class::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int => c1.{self::Class::field}, "Read value from uninitialized Class1.field");
+ self::throws(() → core::int => c1.{self::Class::field}{core::int}, "Read value from uninitialized Class1.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int});
self::throws(() → core::int => c4.{self::Class::field} = 88, "Write value to initialized Class.field");
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Subclass c6 = new self::Subclass::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method main() → dynamic {
@@ -93,13 +93,13 @@
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.expect
index 7895ba5..93b440f 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.expect
@@ -12,7 +12,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -47,54 +47,54 @@
return 10;
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int?});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int?});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int?});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int?});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.transformed.expect
index 7895ba5..93b440f 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.transformed.expect
@@ -12,7 +12,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -47,54 +47,54 @@
return 10;
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int?});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int?});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int?});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int?});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.expect
index 7895ba5..93b440f 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.expect
@@ -12,7 +12,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -47,54 +47,54 @@
return 10;
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int?});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int?});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int?});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int?});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.transformed.expect
index 7895ba5..93b440f 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.transformed.expect
@@ -12,7 +12,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -47,54 +47,54 @@
return 10;
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int?});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int?});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::expect(10, c1.{self::Class::field});
+ self::expect(10, c1.{self::Class::field}{core::int?});
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int?});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.expect
index 1692057..c80149e 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -41,60 +41,60 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int?});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int?});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.transformed.expect
index 1692057..c80149e 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.transformed.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -41,60 +41,60 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int?});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int?});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.expect
index 1692057..c80149e 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -41,60 +41,60 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int?});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int?});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.transformed.expect
index 1692057..c80149e 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -41,60 +41,60 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 43;
- self::expect(43, c4.{self::Class::field});
+ self::expect(43, c4.{self::Class::field}{core::int?});
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
c2.{self::Class::field} = 43;
- self::expect(43, c2.{self::Class::field});
+ self::expect(43, c2.{self::Class::field}{core::int?});
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
c3.{self::Class::field} = 89;
- self::expect(89, c3.{self::Class::field});
+ self::expect(89, c3.{self::Class::field}{core::int?});
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
c4.{self::Class::field} = 88;
- self::expect(88, c4.{self::Class::field});
+ self::expect(88, c4.{self::Class::field}{core::int?});
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
c5.{self::Class::field} = 124;
- self::expect(124, c5.{self::Class::field});
+ self::expect(124, c5.{self::Class::field}{core::int?});
}
static method main() → dynamic {
self::test1();
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.expect
index e4e4f30..19ea8be 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -44,48 +44,48 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
self::throws(() → core::int => c4.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Class c6 = new self::Class::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int?});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class1.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class1.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
self::throws(() → core::int => c4.{self::Class::field} = 88, "Write value to initialized Class.field");
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Subclass c6 = new self::Subclass::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int?});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method main() → dynamic {
@@ -93,13 +93,13 @@
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.transformed.expect
index e4e4f30..19ea8be 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.transformed.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -44,48 +44,48 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
self::throws(() → core::int => c4.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Class c6 = new self::Class::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int?});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class1.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class1.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
self::throws(() → core::int => c4.{self::Class::field} = 88, "Write value to initialized Class.field");
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Subclass c6 = new self::Subclass::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int?});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method main() → dynamic {
@@ -93,13 +93,13 @@
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.expect
index e4e4f30..19ea8be 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -44,48 +44,48 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
self::throws(() → core::int => c4.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Class c6 = new self::Class::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int?});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class1.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class1.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
self::throws(() → core::int => c4.{self::Class::field} = 88, "Write value to initialized Class.field");
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Subclass c6 = new self::Subclass::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int?});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method main() → dynamic {
@@ -93,13 +93,13 @@
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.transformed.expect
index e4e4f30..19ea8be 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
;
constructor constructor3(core::int value) → self::Class
- : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1), super core::Object::•()
+ : self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = value.{core::num::+}(1){(core::num) → core::int}, super core::Object::•()
;
constructor constructor4([core::int? field = #C1]) → self::Class
: self::Class::_#Class#field#isSet = true, self::Class::_#Class#field = field, super core::Object::•()
@@ -44,48 +44,48 @@
}
static method test1() → dynamic {
self::Class c1 = new self::Class::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Class c2 = new self::Class::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c3 = new self::Class::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Class c4 = new self::Class::constructor4();
- self::expect(42, c4.{self::Class::field});
+ self::expect(42, c4.{self::Class::field}{core::int?});
self::throws(() → core::int => c4.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Class c5 = new self::Class::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Class c6 = new self::Class::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int?});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method test2() → dynamic {
self::Subclass c1 = new self::Subclass::constructor1();
- self::throws(() → core::int? => c1.{self::Class::field}, "Read value from uninitialized Class1.field");
+ self::throws(() → core::int? => c1.{self::Class::field}{core::int?}, "Read value from uninitialized Class1.field");
c1.{self::Class::field} = 16;
- self::expect(16, c1.{self::Class::field});
+ self::expect(16, c1.{self::Class::field}{core::int?});
self::throws(() → core::int => c1.{self::Class::field} = 17, "Write value to initialized Class.field");
self::Subclass c2 = new self::Subclass::constructor2(42);
- self::expect(42, c2.{self::Class::field});
+ self::expect(42, c2.{self::Class::field}{core::int?});
self::throws(() → core::int => c2.{self::Class::field} = 43, "Write value to initialized Class.field");
self::Subclass c3 = new self::Subclass::constructor3(87);
- self::expect(88, c3.{self::Class::field});
+ self::expect(88, c3.{self::Class::field}{core::int?});
self::throws(() → core::int => c3.{self::Class::field} = 89, "Write value to initialized Class.field");
self::Subclass c4 = new self::Subclass::constructor4();
- self::expect(87, c4.{self::Class::field});
+ self::expect(87, c4.{self::Class::field}{core::int?});
self::throws(() → core::int => c4.{self::Class::field} = 88, "Write value to initialized Class.field");
self::Subclass c5 = new self::Subclass::constructor4(123);
- self::expect(123, c5.{self::Class::field});
+ self::expect(123, c5.{self::Class::field}{core::int?});
self::throws(() → core::int => c5.{self::Class::field} = 124, "Write value to initialized Class.field");
self::Subclass c6 = new self::Subclass::constructor1();
c6.{self::Class::field} = 32;
- self::expect(32, c6.{self::Class::field});
+ self::expect(32, c6.{self::Class::field}{core::int?});
self::throws(() → core::int => c6.{self::Class::field} = 32, "Write value to initialized Class.field");
}
static method main() → dynamic {
@@ -93,13 +93,13 @@
self::test2();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/issue40093.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue40093.dart.strong.expect
index 551b8f0..fe10901 100644
--- a/pkg/front_end/testcases/late_lowering/issue40093.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40093.dart.strong.expect
@@ -16,7 +16,7 @@
import "dart:core" as core;
static method error() → dynamic {
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print(i);
}
for (core::int i in <core::int>[]) {
diff --git a/pkg/front_end/testcases/late_lowering/issue40093.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40093.dart.strong.transformed.expect
index 9d0dbc9..4aedf2e 100644
--- a/pkg/front_end/testcases/late_lowering/issue40093.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40093.dart.strong.transformed.expect
@@ -16,7 +16,7 @@
import "dart:core" as core;
static method error() → dynamic {
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print(i);
}
{
diff --git a/pkg/front_end/testcases/late_lowering/issue40093.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue40093.dart.weak.expect
index 551b8f0..fe10901 100644
--- a/pkg/front_end/testcases/late_lowering/issue40093.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40093.dart.weak.expect
@@ -16,7 +16,7 @@
import "dart:core" as core;
static method error() → dynamic {
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print(i);
}
for (core::int i in <core::int>[]) {
diff --git a/pkg/front_end/testcases/late_lowering/issue40093.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40093.dart.weak.transformed.expect
index 9d0dbc9..4aedf2e 100644
--- a/pkg/front_end/testcases/late_lowering/issue40093.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40093.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
import "dart:core" as core;
static method error() → dynamic {
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print(i);
}
{
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.expect
index b7c4bbf..db187cb 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.expect
@@ -12,17 +12,17 @@
: super core::Object::•()
;
get p1() → core::num
- return let final core::num? #t1 = this.{self::C::_#C#p1} in #t1.==(null) ?{core::num} this.{self::C::_#C#p1} = this.{self::C::pi} : #t1{core::num};
+ return let final core::num? #t1 = this.{self::C::_#C#p1} in #t1 == null ?{core::num} this.{self::C::_#C#p1} = this.{self::C::pi}{core::num} : #t1{core::num};
set p1(core::num #t2) → void
this.{self::C::_#C#p1} = #t2;
get p2() → core::num
- return let final core::num? #t3 = this.{self::C::_#C#p2} in #t3.==(null) ?{core::num} let final core::num #t4 = this.{self::C::pi} in this.{self::C::_#C#p2}.==(null) ?{core::num} this.{self::C::_#C#p2} = #t4 : throw new _in::LateError::fieldADI("p2") : #t3{core::num};
+ return let final core::num? #t3 = this.{self::C::_#C#p2} in #t3 == null ?{core::num} let final core::num #t4 = this.{self::C::pi}{core::num} in this.{self::C::_#C#p2} == null ?{core::num} this.{self::C::_#C#p2} = #t4 : throw new _in::LateError::fieldADI("p2") : #t3{core::num};
}
static method main() → dynamic {
- self::expect(3.14, new self::C::•().{self::C::p1});
- self::expect(3.14, new self::C::•().{self::C::p2});
+ self::expect(3.14, new self::C::•().{self::C::p1}{core::num});
+ self::expect(3.14, new self::C::•().{self::C::p2}{core::num});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.transformed.expect
index b7c4bbf..db187cb 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.transformed.expect
@@ -12,17 +12,17 @@
: super core::Object::•()
;
get p1() → core::num
- return let final core::num? #t1 = this.{self::C::_#C#p1} in #t1.==(null) ?{core::num} this.{self::C::_#C#p1} = this.{self::C::pi} : #t1{core::num};
+ return let final core::num? #t1 = this.{self::C::_#C#p1} in #t1 == null ?{core::num} this.{self::C::_#C#p1} = this.{self::C::pi}{core::num} : #t1{core::num};
set p1(core::num #t2) → void
this.{self::C::_#C#p1} = #t2;
get p2() → core::num
- return let final core::num? #t3 = this.{self::C::_#C#p2} in #t3.==(null) ?{core::num} let final core::num #t4 = this.{self::C::pi} in this.{self::C::_#C#p2}.==(null) ?{core::num} this.{self::C::_#C#p2} = #t4 : throw new _in::LateError::fieldADI("p2") : #t3{core::num};
+ return let final core::num? #t3 = this.{self::C::_#C#p2} in #t3 == null ?{core::num} let final core::num #t4 = this.{self::C::pi}{core::num} in this.{self::C::_#C#p2} == null ?{core::num} this.{self::C::_#C#p2} = #t4 : throw new _in::LateError::fieldADI("p2") : #t3{core::num};
}
static method main() → dynamic {
- self::expect(3.14, new self::C::•().{self::C::p1});
- self::expect(3.14, new self::C::•().{self::C::p2});
+ self::expect(3.14, new self::C::•().{self::C::p1}{core::num});
+ self::expect(3.14, new self::C::•().{self::C::p2}{core::num});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.expect
index b9751eb..17f68d9 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.expect
@@ -14,7 +14,7 @@
;
get p1() → core::num {
if(!this.{self::C::_#C#p1#isSet}) {
- this.{self::C::_#C#p1} = this.{self::C::pi};
+ this.{self::C::_#C#p1} = this.{self::C::pi}{core::num};
this.{self::C::_#C#p1#isSet} = true;
}
return let final core::num? #t1 = this.{self::C::_#C#p1} in #t1{core::num};
@@ -25,7 +25,7 @@
}
get p2() → core::num {
if(!this.{self::C::_#C#p2#isSet}) {
- final core::num #t3 = this.{self::C::pi};
+ final core::num #t3 = this.{self::C::pi}{core::num};
if(this.{self::C::_#C#p2#isSet})
throw new _in::LateError::fieldADI("p2");
this.{self::C::_#C#p2} = #t3;
@@ -35,10 +35,10 @@
}
}
static method main() → dynamic {
- self::expect(3.14, new self::C::•().{self::C::p1});
- self::expect(3.14, new self::C::•().{self::C::p2});
+ self::expect(3.14, new self::C::•().{self::C::p1}{core::num});
+ self::expect(3.14, new self::C::•().{self::C::p2}{core::num});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.transformed.expect
index b9751eb..17f68d9 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.transformed.expect
@@ -14,7 +14,7 @@
;
get p1() → core::num {
if(!this.{self::C::_#C#p1#isSet}) {
- this.{self::C::_#C#p1} = this.{self::C::pi};
+ this.{self::C::_#C#p1} = this.{self::C::pi}{core::num};
this.{self::C::_#C#p1#isSet} = true;
}
return let final core::num? #t1 = this.{self::C::_#C#p1} in #t1{core::num};
@@ -25,7 +25,7 @@
}
get p2() → core::num {
if(!this.{self::C::_#C#p2#isSet}) {
- final core::num #t3 = this.{self::C::pi};
+ final core::num #t3 = this.{self::C::pi}{core::num};
if(this.{self::C::_#C#p2#isSet})
throw new _in::LateError::fieldADI("p2");
this.{self::C::_#C#p2} = #t3;
@@ -35,10 +35,10 @@
}
}
static method main() → dynamic {
- self::expect(3.14, new self::C::•().{self::C::p1});
- self::expect(3.14, new self::C::•().{self::C::p2});
+ self::expect(3.14, new self::C::•().{self::C::p1}{core::num});
+ self::expect(3.14, new self::C::•().{self::C::p2}{core::num});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.expect
index b788f31..747c21c 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.expect
@@ -57,13 +57,13 @@
self::C::s = "was";
self::C c = new self::C::•();
c.{self::C::v} = "here";
- #l#set.call("Run, Forrest, run");
+ #l#set("Run, Forrest, run"){(dynamic) → dynamic};
self::expect("Lily", self::g);
self::expect("was", self::C::s);
- self::expect("here", c.{self::C::v});
- self::expect("Run, Forrest, run", #l#get.call());
+ self::expect("here", c.{self::C::v}{dynamic});
+ self::expect("Run, Forrest, run", #l#get(){() → dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.transformed.expect
index b788f31..747c21c 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.transformed.expect
@@ -57,13 +57,13 @@
self::C::s = "was";
self::C c = new self::C::•();
c.{self::C::v} = "here";
- #l#set.call("Run, Forrest, run");
+ #l#set("Run, Forrest, run"){(dynamic) → dynamic};
self::expect("Lily", self::g);
self::expect("was", self::C::s);
- self::expect("here", c.{self::C::v});
- self::expect("Run, Forrest, run", #l#get.call());
+ self::expect("here", c.{self::C::v}{dynamic});
+ self::expect("Run, Forrest, run", #l#get(){() → dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.expect
index b788f31..747c21c 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.expect
@@ -57,13 +57,13 @@
self::C::s = "was";
self::C c = new self::C::•();
c.{self::C::v} = "here";
- #l#set.call("Run, Forrest, run");
+ #l#set("Run, Forrest, run"){(dynamic) → dynamic};
self::expect("Lily", self::g);
self::expect("was", self::C::s);
- self::expect("here", c.{self::C::v});
- self::expect("Run, Forrest, run", #l#get.call());
+ self::expect("here", c.{self::C::v}{dynamic});
+ self::expect("Run, Forrest, run", #l#get(){() → dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.transformed.expect
index b788f31..747c21c 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.transformed.expect
@@ -57,13 +57,13 @@
self::C::s = "was";
self::C c = new self::C::•();
c.{self::C::v} = "here";
- #l#set.call("Run, Forrest, run");
+ #l#set("Run, Forrest, run"){(dynamic) → dynamic};
self::expect("Lily", self::g);
self::expect("was", self::C::s);
- self::expect("here", c.{self::C::v});
- self::expect("Run, Forrest, run", #l#get.call());
+ self::expect("here", c.{self::C::v}{dynamic});
+ self::expect("Run, Forrest, run", #l#get(){() → dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.expect
index 6de62a5..d676a26 100644
--- a/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.expect
@@ -18,10 +18,10 @@
#value#isSet = true;
return #value = #t1;
}
- () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get.call());
+ () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get(){() → self::A::T%}){(self::A::T%) → dynamic};
(() → Null {
- #value#set.call(this.{self::A::baz}());
- }).call();
+ #value#set(this.{self::A::baz}(){() → self::A::T%}){(self::A::T%) → dynamic};
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.transformed.expect
index 6de62a5..d676a26 100644
--- a/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.transformed.expect
@@ -18,10 +18,10 @@
#value#isSet = true;
return #value = #t1;
}
- () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get.call());
+ () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get(){() → self::A::T%}){(self::A::T%) → dynamic};
(() → Null {
- #value#set.call(this.{self::A::baz}());
- }).call();
+ #value#set(this.{self::A::baz}(){() → self::A::T%}){(self::A::T%) → dynamic};
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.expect
index 6de62a5..d676a26 100644
--- a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.expect
@@ -18,10 +18,10 @@
#value#isSet = true;
return #value = #t1;
}
- () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get.call());
+ () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get(){() → self::A::T%}){(self::A::T%) → dynamic};
(() → Null {
- #value#set.call(this.{self::A::baz}());
- }).call();
+ #value#set(this.{self::A::baz}(){() → self::A::T%}){(self::A::T%) → dynamic};
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.transformed.expect
index 6de62a5..d676a26 100644
--- a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.transformed.expect
@@ -18,10 +18,10 @@
#value#isSet = true;
return #value = #t1;
}
- () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get.call());
+ () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get(){() → self::A::T%}){(self::A::T%) → dynamic};
(() → Null {
- #value#set.call(this.{self::A::baz}());
- }).call();
+ #value#set(this.{self::A::baz}(){() → self::A::T%}){(self::A::T%) → dynamic};
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.expect
index 7df4dbc..a6b0c67 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.expect
@@ -9,9 +9,9 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{self::C::_#C#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::C::_#C#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(covariant core::int #t2) → void
- if(this.{self::C::_#C#x}.==(null))
+ if(this.{self::C::_#C#x} == null)
this.{self::C::_#C#x} = #t2;
else
throw new _in::LateError::fieldAI("x");
@@ -21,7 +21,7 @@
: super self::C::•()
;
set x(covariant core::num value) → void {
- super.{self::C::x} = value.{core::num::toInt}();
+ super.{self::C::x} = value.{core::num::toInt}(){() → core::int};
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.transformed.expect
index 7df4dbc..a6b0c67 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.transformed.expect
@@ -9,9 +9,9 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{self::C::_#C#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::C::_#C#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(covariant core::int #t2) → void
- if(this.{self::C::_#C#x}.==(null))
+ if(this.{self::C::_#C#x} == null)
this.{self::C::_#C#x} = #t2;
else
throw new _in::LateError::fieldAI("x");
@@ -21,7 +21,7 @@
: super self::C::•()
;
set x(covariant core::num value) → void {
- super.{self::C::x} = value.{core::num::toInt}();
+ super.{self::C::x} = value.{core::num::toInt}(){() → core::int};
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.expect
index d0b344e..d709dd3 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.expect
@@ -24,7 +24,7 @@
: super self::C::•()
;
set x(covariant core::num value) → void {
- super.{self::C::x} = value.{core::num::toInt}();
+ super.{self::C::x} = value.{core::num::toInt}(){() → core::int};
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.transformed.expect
index d0b344e..d709dd3 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.transformed.expect
@@ -24,7 +24,7 @@
: super self::C::•()
;
set x(covariant core::num value) → void {
- super.{self::C::x} = value.{core::num::toInt}();
+ super.{self::C::x} = value.{core::num::toInt}(){() → core::int};
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.expect
index 3c27241..d0e94f3 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.expect
@@ -19,7 +19,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{test::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{test::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
this.{test::A::_#A#x} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.transformed.expect
index 3c27241..d0e94f3 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.transformed.expect
@@ -19,7 +19,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{test::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{test::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
this.{test::A::_#A#x} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.expect
index 61f91a8..1f95420 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
this.{self::A::_#A#x} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.transformed.expect
index 61f91a8..1f95420 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.transformed.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
this.{self::A::_#A#x} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect
index 6e6d809..3b1c7df 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect
@@ -10,9 +10,9 @@
: super iss::B::•()
;
no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x() → core::int?
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x(core::int? value) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
static method main() → dynamic {
new self::C::•();
@@ -29,7 +29,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{iss::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{iss::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
this.{iss::A::_#A#x} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect
index 6854c03..4655921 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect
@@ -10,9 +10,9 @@
: super iss::B::•()
;
no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x() → core::int?
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x(core::int? value) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
static method main() → dynamic {
new self::C::•();
@@ -29,7 +29,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{iss::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{iss::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
this.{iss::A::_#A#x} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.expect
index bf446b5..2434dbc 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.expect
@@ -10,13 +10,13 @@
: super iss::B::•()
;
no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x#isSet() → core::bool
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x() → core::int?
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x#isSet(core::bool value) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x(core::int? value) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
static method main() → dynamic {
new self::C::•();
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect
index cea7ad0..4f3a9d5 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect
@@ -9,13 +9,13 @@
synthetic constructor •() → self::C
;
no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x#isSet() → core::bool
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x#isSet, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x#isSet, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x() → core::int?
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x#isSet(core::bool value) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x#isSet=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x#isSet=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x(core::int? value) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.transformed.expect
index 8d7842a..2919d71 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.transformed.expect
@@ -10,13 +10,13 @@
: super iss::B::•()
;
no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x#isSet() → core::bool
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x() → core::int?
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x#isSet(core::bool value) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x(core::int? value) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
static method main() → dynamic {
new self::C::•();
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.expect
index f550130..f4abe91 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.expect
@@ -35,12 +35,12 @@
self::expect("lateValue", self::C::s);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.transformed.expect
index f550130..f4abe91 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.transformed.expect
@@ -35,12 +35,12 @@
self::expect("lateValue", self::C::s);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.expect
index f550130..f4abe91 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.expect
@@ -35,12 +35,12 @@
self::expect("lateValue", self::C::s);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.transformed.expect
index f550130..f4abe91 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.transformed.expect
@@ -35,12 +35,12 @@
self::expect("lateValue", self::C::s);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.expect
index e2cc0e7..b441856 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.expect
@@ -22,7 +22,7 @@
: super core::Object::•()
;
get y() → self::B::T?
- return this.{self::B::_y};
+ return this.{self::B::_y}{self::B::T?};
set y(generic-covariant-impl self::B::T? val) → void {
this.{self::B::_y} = val;
}
@@ -36,12 +36,12 @@
self::throws(() → void => b.{self::B::y} = 0.5);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.transformed.expect
index e2cc0e7..b441856 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.transformed.expect
@@ -22,7 +22,7 @@
: super core::Object::•()
;
get y() → self::B::T?
- return this.{self::B::_y};
+ return this.{self::B::_y}{self::B::T?};
set y(generic-covariant-impl self::B::T? val) → void {
this.{self::B::_y} = val;
}
@@ -36,12 +36,12 @@
self::throws(() → void => b.{self::B::y} = 0.5);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.expect
index e2cc0e7..b441856 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.expect
@@ -22,7 +22,7 @@
: super core::Object::•()
;
get y() → self::B::T?
- return this.{self::B::_y};
+ return this.{self::B::_y}{self::B::T?};
set y(generic-covariant-impl self::B::T? val) → void {
this.{self::B::_y} = val;
}
@@ -36,12 +36,12 @@
self::throws(() → void => b.{self::B::y} = 0.5);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.transformed.expect
index e2cc0e7..b441856 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.transformed.expect
@@ -22,7 +22,7 @@
: super core::Object::•()
;
get y() → self::B::T?
- return this.{self::B::_y};
+ return this.{self::B::_y}{self::B::T?};
set y(generic-covariant-impl self::B::T? val) → void {
this.{self::B::_y} = val;
}
@@ -36,12 +36,12 @@
self::throws(() → void => b.{self::B::y} = 0.5);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.expect
index 6d44223..c104bcb 100644
--- a/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.expect
@@ -6,39 +6,39 @@
static method main(core::List<core::String> args) → dynamic {
lowered () →? core::int #recursiveInitLocal;
function #recursiveInitLocal#get() → () → core::int
- return let final () →? core::int #t1 = #recursiveInitLocal in #t1.==(null) ?{() → core::int} throw new _in::LateError::localNI("recursiveInitLocal") : #t1{() → core::int};
+ return let final () →? core::int #t1 = #recursiveInitLocal in #t1 == null ?{() → core::int} throw new _in::LateError::localNI("recursiveInitLocal") : #t1{() → core::int};
function #recursiveInitLocal#set(() → core::int #t2) → dynamic
return #recursiveInitLocal = #t2;
lowered final core::int? #local;
function #local#get() → core::int
- return let final core::int? #t3 = #local in #t3.==(null) ?{core::int} let final core::int #t4 = #recursiveInitLocal#get.call().call() in #local.==(null) ?{core::int} #local = #t4 : throw new _in::LateError::localADI("local") : #t3{core::int};
+ return let final core::int? #t3 = #local in #t3 == null ?{core::int} let final core::int #t4 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int} in #local == null ?{core::int} #local = #t4 : throw new _in::LateError::localADI("local") : #t3{core::int};
core::bool doRecursiveInitLocal = true;
- #recursiveInitLocal#set.call(() → core::int {
+ #recursiveInitLocal#set(() → core::int {
core::print("Executing initializer");
if(doRecursiveInitLocal) {
doRecursiveInitLocal = false;
core::print("Trigger recursive initialization");
- core::int val = #local#get.call();
+ core::int val = #local#get(){() → core::int};
core::print("Final local has value ${val}");
core::print("Returning 4 from initializer");
return 4;
}
core::print("Returning 3 from initializer");
return 3;
- });
+ }){(() → core::int) → dynamic};
self::throws(() → Null {
- core::int val = #local#get.call();
+ core::int val = #local#get(){() → core::int};
core::print("Final local has value ${val}");
}, "Read local");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.transformed.expect
index 6d44223..c104bcb 100644
--- a/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.transformed.expect
@@ -6,39 +6,39 @@
static method main(core::List<core::String> args) → dynamic {
lowered () →? core::int #recursiveInitLocal;
function #recursiveInitLocal#get() → () → core::int
- return let final () →? core::int #t1 = #recursiveInitLocal in #t1.==(null) ?{() → core::int} throw new _in::LateError::localNI("recursiveInitLocal") : #t1{() → core::int};
+ return let final () →? core::int #t1 = #recursiveInitLocal in #t1 == null ?{() → core::int} throw new _in::LateError::localNI("recursiveInitLocal") : #t1{() → core::int};
function #recursiveInitLocal#set(() → core::int #t2) → dynamic
return #recursiveInitLocal = #t2;
lowered final core::int? #local;
function #local#get() → core::int
- return let final core::int? #t3 = #local in #t3.==(null) ?{core::int} let final core::int #t4 = #recursiveInitLocal#get.call().call() in #local.==(null) ?{core::int} #local = #t4 : throw new _in::LateError::localADI("local") : #t3{core::int};
+ return let final core::int? #t3 = #local in #t3 == null ?{core::int} let final core::int #t4 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int} in #local == null ?{core::int} #local = #t4 : throw new _in::LateError::localADI("local") : #t3{core::int};
core::bool doRecursiveInitLocal = true;
- #recursiveInitLocal#set.call(() → core::int {
+ #recursiveInitLocal#set(() → core::int {
core::print("Executing initializer");
if(doRecursiveInitLocal) {
doRecursiveInitLocal = false;
core::print("Trigger recursive initialization");
- core::int val = #local#get.call();
+ core::int val = #local#get(){() → core::int};
core::print("Final local has value ${val}");
core::print("Returning 4 from initializer");
return 4;
}
core::print("Returning 3 from initializer");
return 3;
- });
+ }){(() → core::int) → dynamic};
self::throws(() → Null {
- core::int val = #local#get.call();
+ core::int val = #local#get(){() → core::int};
core::print("Final local has value ${val}");
}, "Read local");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.expect
index bc6ab71..b70b183 100644
--- a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.expect
@@ -16,7 +16,7 @@
lowered core::bool #local#isSet = false;
function #local#get() → core::int {
if(!#local#isSet) {
- final core::int #t2 = #recursiveInitLocal#get.call().call();
+ final core::int #t2 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int};
if(#local#isSet)
throw new _in::LateError::localADI("local");
#local = #t2;
@@ -25,32 +25,32 @@
return #local{core::int};
}
core::bool doRecursiveInitLocal = true;
- #recursiveInitLocal#set.call(() → core::int {
+ #recursiveInitLocal#set(() → core::int {
core::print("Executing initializer");
if(doRecursiveInitLocal) {
doRecursiveInitLocal = false;
core::print("Trigger recursive initialization");
- core::int val = #local#get.call();
+ core::int val = #local#get(){() → core::int};
core::print("Final local has value ${val}");
core::print("Returning 4 from initializer");
return 4;
}
core::print("Returning 3 from initializer");
return 3;
- });
+ }){(() → core::int) → dynamic};
self::throws(() → Null {
- core::int val = #local#get.call();
+ core::int val = #local#get(){() → core::int};
core::print("Final local has value ${val}");
}, "Read local");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.transformed.expect
index bc6ab71..b70b183 100644
--- a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
lowered core::bool #local#isSet = false;
function #local#get() → core::int {
if(!#local#isSet) {
- final core::int #t2 = #recursiveInitLocal#get.call().call();
+ final core::int #t2 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int};
if(#local#isSet)
throw new _in::LateError::localADI("local");
#local = #t2;
@@ -25,32 +25,32 @@
return #local{core::int};
}
core::bool doRecursiveInitLocal = true;
- #recursiveInitLocal#set.call(() → core::int {
+ #recursiveInitLocal#set(() → core::int {
core::print("Executing initializer");
if(doRecursiveInitLocal) {
doRecursiveInitLocal = false;
core::print("Trigger recursive initialization");
- core::int val = #local#get.call();
+ core::int val = #local#get(){() → core::int};
core::print("Final local has value ${val}");
core::print("Returning 4 from initializer");
return 4;
}
core::print("Returning 3 from initializer");
return 3;
- });
+ }){(() → core::int) → dynamic};
self::throws(() → Null {
- core::int val = #local#get.call();
+ core::int val = #local#get(){() → core::int};
core::print("Final local has value ${val}");
}, "Read local");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.expect
index 40eb00c..6d935a7 100644
--- a/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.expect
@@ -21,46 +21,46 @@
;
@#C1
get instanceField() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#instanceField} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#instanceField} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
@#C1
set instanceField(core::int #t2) → void
this.{self::A::_#A#instanceField} = #t2;
@#C1
get finalInstanceField() → core::int
- return let final core::int? #t3 = this.{self::A::_#A#finalInstanceField} in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t3{core::int};
+ return let final core::int? #t3 = this.{self::A::_#A#finalInstanceField} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t3{core::int};
@#C1
set finalInstanceField(core::int #t4) → void
- if(this.{self::A::_#A#finalInstanceField}.==(null))
+ if(this.{self::A::_#A#finalInstanceField} == null)
this.{self::A::_#A#finalInstanceField} = #t4;
else
throw new _in::LateError::fieldAI("finalInstanceField");
@#C1
get finalInstanceFieldWithInitializer() → core::int
- return let final core::int? #t5 = this.{self::A::_#A#finalInstanceFieldWithInitializer} in #t5.==(null) ?{core::int} let final core::int #t6 = 0 in this.{self::A::_#A#finalInstanceFieldWithInitializer}.==(null) ?{core::int} this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t6 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::A::_#A#finalInstanceFieldWithInitializer} in #t5 == null ?{core::int} let final core::int #t6 = 0 in this.{self::A::_#A#finalInstanceFieldWithInitializer} == null ?{core::int} this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t6 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t5{core::int};
@#C1
get covariantInstanceField() → core::num
- return let final core::num? #t7 = this.{self::A::_#A#covariantInstanceField} in #t7.==(null) ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t7{core::num};
+ return let final core::num? #t7 = this.{self::A::_#A#covariantInstanceField} in #t7 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t7{core::num};
@#C1
set covariantInstanceField(covariant core::num #t8) → void
this.{self::A::_#A#covariantInstanceField} = #t8;
@#C1
static get staticField() → core::int
- return let final core::int? #t9 = self::A::_#staticField in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t9{core::int};
+ return let final core::int? #t9 = self::A::_#staticField in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t9{core::int};
@#C1
static set staticField(core::int #t10) → void
self::A::_#staticField = #t10;
@#C1
static get finalStaticField() → core::int
- return let final core::int? #t11 = self::A::_#finalStaticField in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t11{core::int};
+ return let final core::int? #t11 = self::A::_#finalStaticField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t11{core::int};
@#C1
static set finalStaticField(core::int #t12) → void
- if(self::A::_#finalStaticField.==(null))
+ if(self::A::_#finalStaticField == null)
self::A::_#finalStaticField = #t12;
else
throw new _in::LateError::fieldAI("finalStaticField");
@#C1
static get finalStaticFieldWithInitializer() → core::int
- return let final core::int? #t13 = self::A::_#finalStaticFieldWithInitializer in #t13.==(null) ?{core::int} let final core::int #t14 = 0 in self::A::_#finalStaticFieldWithInitializer.==(null) ?{core::int} self::A::_#finalStaticFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t13{core::int};
+ return let final core::int? #t13 = self::A::_#finalStaticFieldWithInitializer in #t13 == null ?{core::int} let final core::int #t14 = 0 in self::A::_#finalStaticFieldWithInitializer == null ?{core::int} self::A::_#finalStaticFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t13{core::int};
}
abstract class B extends core::Object /*isMixinDeclaration*/ {
field core::int? _#B#instanceField = null;
@@ -72,46 +72,46 @@
static field core::int? _#finalStaticFieldWithInitializer = null;
@#C1
get instanceField() → core::int
- return let final core::int? #t15 = this.{self::B::_#B#instanceField} in #t15.==(null) ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t15{core::int};
+ return let final core::int? #t15 = this.{self::B::_#B#instanceField} in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t15{core::int};
@#C1
set instanceField(core::int #t16) → void
this.{self::B::_#B#instanceField} = #t16;
@#C1
get finalInstanceField() → core::int
- return let final core::int? #t17 = this.{self::B::_#B#finalInstanceField} in #t17.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t17{core::int};
+ return let final core::int? #t17 = this.{self::B::_#B#finalInstanceField} in #t17 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t17{core::int};
@#C1
set finalInstanceField(core::int #t18) → void
- if(this.{self::B::_#B#finalInstanceField}.==(null))
+ if(this.{self::B::_#B#finalInstanceField} == null)
this.{self::B::_#B#finalInstanceField} = #t18;
else
throw new _in::LateError::fieldAI("finalInstanceField");
@#C1
get finalInstanceFieldWithInitializer() → core::int
- return let final core::int? #t19 = this.{self::B::_#B#finalInstanceFieldWithInitializer} in #t19.==(null) ?{core::int} let final core::int #t20 = 0 in this.{self::B::_#B#finalInstanceFieldWithInitializer}.==(null) ?{core::int} this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t20 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t19{core::int};
+ return let final core::int? #t19 = this.{self::B::_#B#finalInstanceFieldWithInitializer} in #t19 == null ?{core::int} let final core::int #t20 = 0 in this.{self::B::_#B#finalInstanceFieldWithInitializer} == null ?{core::int} this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t20 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t19{core::int};
@#C1
get covariantInstanceField() → core::num
- return let final core::num? #t21 = this.{self::B::_#B#covariantInstanceField} in #t21.==(null) ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t21{core::num};
+ return let final core::num? #t21 = this.{self::B::_#B#covariantInstanceField} in #t21 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t21{core::num};
@#C1
set covariantInstanceField(covariant core::num #t22) → void
this.{self::B::_#B#covariantInstanceField} = #t22;
@#C1
static get staticField() → core::int
- return let final core::int? #t23 = self::B::_#staticField in #t23.==(null) ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t23{core::int};
+ return let final core::int? #t23 = self::B::_#staticField in #t23 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t23{core::int};
@#C1
static set staticField(core::int #t24) → void
self::B::_#staticField = #t24;
@#C1
static get finalStaticField() → core::int
- return let final core::int? #t25 = self::B::_#finalStaticField in #t25.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t25{core::int};
+ return let final core::int? #t25 = self::B::_#finalStaticField in #t25 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t25{core::int};
@#C1
static set finalStaticField(core::int #t26) → void
- if(self::B::_#finalStaticField.==(null))
+ if(self::B::_#finalStaticField == null)
self::B::_#finalStaticField = #t26;
else
throw new _in::LateError::fieldAI("finalStaticField");
@#C1
static get finalStaticFieldWithInitializer() → core::int
- return let final core::int? #t27 = self::B::_#finalStaticFieldWithInitializer in #t27.==(null) ?{core::int} let final core::int #t28 = 0 in self::B::_#finalStaticFieldWithInitializer.==(null) ?{core::int} self::B::_#finalStaticFieldWithInitializer = #t28 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t27{core::int};
+ return let final core::int? #t27 = self::B::_#finalStaticFieldWithInitializer in #t27 == null ?{core::int} let final core::int #t28 = 0 in self::B::_#finalStaticFieldWithInitializer == null ?{core::int} self::B::_#finalStaticFieldWithInitializer = #t28 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t27{core::int};
}
extension Extension on self::A {
static field extensionStaticField = self::_#Extension|extensionStaticField;
@@ -131,40 +131,40 @@
static field core::int? _#Extension|finalExtensionStaticFieldWithInitializer = null;
@#C1
static get topLevelField() → core::int
- return let final core::int? #t29 = self::_#topLevelField in #t29.==(null) ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t29{core::int};
+ return let final core::int? #t29 = self::_#topLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t29{core::int};
@#C1
static set topLevelField(core::int #t30) → void
self::_#topLevelField = #t30;
@#C1
static get finalTopLevelField() → core::int
- return let final core::int? #t31 = self::_#finalTopLevelField in #t31.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalTopLevelField") : #t31{core::int};
+ return let final core::int? #t31 = self::_#finalTopLevelField in #t31 == null ?{core::int} throw new _in::LateError::fieldNI("finalTopLevelField") : #t31{core::int};
@#C1
static set finalTopLevelField(core::int #t32) → void
- if(self::_#finalTopLevelField.==(null))
+ if(self::_#finalTopLevelField == null)
self::_#finalTopLevelField = #t32;
else
throw new _in::LateError::fieldAI("finalTopLevelField");
@#C1
static get finalTopLevelFieldWithInitializer() → core::int
- return let final core::int? #t33 = self::_#finalTopLevelFieldWithInitializer in #t33.==(null) ?{core::int} let final core::int #t34 = 0 in self::_#finalTopLevelFieldWithInitializer.==(null) ?{core::int} self::_#finalTopLevelFieldWithInitializer = #t34 : throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer") : #t33{core::int};
+ return let final core::int? #t33 = self::_#finalTopLevelFieldWithInitializer in #t33 == null ?{core::int} let final core::int #t34 = 0 in self::_#finalTopLevelFieldWithInitializer == null ?{core::int} self::_#finalTopLevelFieldWithInitializer = #t34 : throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer") : #t33{core::int};
@#C1
static get Extension|extensionStaticField() → core::int
- return let final core::int? #t35 = self::_#Extension|extensionStaticField in #t35.==(null) ?{core::int} throw new _in::LateError::fieldNI("extensionStaticField") : #t35{core::int};
+ return let final core::int? #t35 = self::_#Extension|extensionStaticField in #t35 == null ?{core::int} throw new _in::LateError::fieldNI("extensionStaticField") : #t35{core::int};
@#C1
static set Extension|extensionStaticField(core::int #t36) → void
self::_#Extension|extensionStaticField = #t36;
@#C1
static get Extension|finalExtensionStaticField() → core::int
- return let final core::int? #t37 = self::_#Extension|finalExtensionStaticField in #t37.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalExtensionStaticField") : #t37{core::int};
+ return let final core::int? #t37 = self::_#Extension|finalExtensionStaticField in #t37 == null ?{core::int} throw new _in::LateError::fieldNI("finalExtensionStaticField") : #t37{core::int};
@#C1
static set Extension|finalExtensionStaticField(core::int #t38) → void
- if(self::_#Extension|finalExtensionStaticField.==(null))
+ if(self::_#Extension|finalExtensionStaticField == null)
self::_#Extension|finalExtensionStaticField = #t38;
else
throw new _in::LateError::fieldAI("finalExtensionStaticField");
@#C1
static get Extension|finalExtensionStaticFieldWithInitializer() → core::int
- return let final core::int? #t39 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t39.==(null) ?{core::int} let final core::int #t40 = 0 in self::_#Extension|finalExtensionStaticFieldWithInitializer.==(null) ?{core::int} self::_#Extension|finalExtensionStaticFieldWithInitializer = #t40 : throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer") : #t39{core::int};
+ return let final core::int? #t39 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t39 == null ?{core::int} let final core::int #t40 = 0 in self::_#Extension|finalExtensionStaticFieldWithInitializer == null ?{core::int} self::_#Extension|finalExtensionStaticFieldWithInitializer = #t40 : throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer") : #t39{core::int};
static method main() → dynamic {}
constants {
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.transformed.expect
index 5f7ea3c..63b9c40 100644
--- a/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.transformed.expect
@@ -21,46 +21,46 @@
;
@#C1
get instanceField() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#instanceField} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#instanceField} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
@#C1
set instanceField(core::int #t2) → void
this.{self::A::_#A#instanceField} = #t2;
@#C1
get finalInstanceField() → core::int
- return let final core::int? #t3 = this.{self::A::_#A#finalInstanceField} in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t3{core::int};
+ return let final core::int? #t3 = this.{self::A::_#A#finalInstanceField} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t3{core::int};
@#C1
set finalInstanceField(core::int #t4) → void
- if(this.{self::A::_#A#finalInstanceField}.==(null))
+ if(this.{self::A::_#A#finalInstanceField} == null)
this.{self::A::_#A#finalInstanceField} = #t4;
else
throw new _in::LateError::fieldAI("finalInstanceField");
@#C1
get finalInstanceFieldWithInitializer() → core::int
- return let final core::int? #t5 = this.{self::A::_#A#finalInstanceFieldWithInitializer} in #t5.==(null) ?{core::int} let final core::int #t6 = 0 in this.{self::A::_#A#finalInstanceFieldWithInitializer}.==(null) ?{core::int} this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t6 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::A::_#A#finalInstanceFieldWithInitializer} in #t5 == null ?{core::int} let final core::int #t6 = 0 in this.{self::A::_#A#finalInstanceFieldWithInitializer} == null ?{core::int} this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t6 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t5{core::int};
@#C1
get covariantInstanceField() → core::num
- return let final core::num? #t7 = this.{self::A::_#A#covariantInstanceField} in #t7.==(null) ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t7{core::num};
+ return let final core::num? #t7 = this.{self::A::_#A#covariantInstanceField} in #t7 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t7{core::num};
@#C1
set covariantInstanceField(covariant core::num #t8) → void
this.{self::A::_#A#covariantInstanceField} = #t8;
@#C1
static get staticField() → core::int
- return let final core::int? #t9 = self::A::_#staticField in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t9{core::int};
+ return let final core::int? #t9 = self::A::_#staticField in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t9{core::int};
@#C1
static set staticField(core::int #t10) → void
self::A::_#staticField = #t10;
@#C1
static get finalStaticField() → core::int
- return let final core::int? #t11 = self::A::_#finalStaticField in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t11{core::int};
+ return let final core::int? #t11 = self::A::_#finalStaticField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t11{core::int};
@#C1
static set finalStaticField(core::int #t12) → void
- if(self::A::_#finalStaticField.==(null))
+ if(self::A::_#finalStaticField == null)
self::A::_#finalStaticField = #t12;
else
throw new _in::LateError::fieldAI("finalStaticField");
@#C1
static get finalStaticFieldWithInitializer() → core::int
- return let final core::int? #t13 = self::A::_#finalStaticFieldWithInitializer in #t13.==(null) ?{core::int} let final core::int #t14 = 0 in self::A::_#finalStaticFieldWithInitializer.==(null) ?{core::int} self::A::_#finalStaticFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t13{core::int};
+ return let final core::int? #t13 = self::A::_#finalStaticFieldWithInitializer in #t13 == null ?{core::int} let final core::int #t14 = 0 in self::A::_#finalStaticFieldWithInitializer == null ?{core::int} self::A::_#finalStaticFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t13{core::int};
}
abstract class B extends core::Object /*isMixinDeclaration*/ {
field core::int? _#B#instanceField = null;
@@ -72,46 +72,46 @@
static field core::int? _#finalStaticFieldWithInitializer = null;
@#C1
get instanceField() → core::int
- return let final core::int? #t15 = this.{self::B::_#B#instanceField} in #t15.==(null) ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t15{core::int};
+ return let final core::int? #t15 = this.{self::B::_#B#instanceField} in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t15{core::int};
@#C1
set instanceField(core::int #t16) → void
this.{self::B::_#B#instanceField} = #t16;
@#C1
get finalInstanceField() → core::int
- return let final core::int? #t17 = this.{self::B::_#B#finalInstanceField} in #t17.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t17{core::int};
+ return let final core::int? #t17 = this.{self::B::_#B#finalInstanceField} in #t17 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t17{core::int};
@#C1
set finalInstanceField(core::int #t18) → void
- if(this.{self::B::_#B#finalInstanceField}.==(null))
+ if(this.{self::B::_#B#finalInstanceField} == null)
this.{self::B::_#B#finalInstanceField} = #t18;
else
throw new _in::LateError::fieldAI("finalInstanceField");
@#C1
get finalInstanceFieldWithInitializer() → core::int
- return let final core::int? #t19 = this.{self::B::_#B#finalInstanceFieldWithInitializer} in #t19.==(null) ?{core::int} let final core::int #t20 = 0 in this.{self::B::_#B#finalInstanceFieldWithInitializer}.==(null) ?{core::int} this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t20 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t19{core::int};
+ return let final core::int? #t19 = this.{self::B::_#B#finalInstanceFieldWithInitializer} in #t19 == null ?{core::int} let final core::int #t20 = 0 in this.{self::B::_#B#finalInstanceFieldWithInitializer} == null ?{core::int} this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t20 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t19{core::int};
@#C1
get covariantInstanceField() → core::num
- return let final core::num? #t21 = this.{self::B::_#B#covariantInstanceField} in #t21.==(null) ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t21{core::num};
+ return let final core::num? #t21 = this.{self::B::_#B#covariantInstanceField} in #t21 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t21{core::num};
@#C1
set covariantInstanceField(covariant core::num #t22) → void
this.{self::B::_#B#covariantInstanceField} = #t22;
@#C1
static get staticField() → core::int
- return let final core::int? #t23 = self::B::_#staticField in #t23.==(null) ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t23{core::int};
+ return let final core::int? #t23 = self::B::_#staticField in #t23 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t23{core::int};
@#C1
static set staticField(core::int #t24) → void
self::B::_#staticField = #t24;
@#C1
static get finalStaticField() → core::int
- return let final core::int? #t25 = self::B::_#finalStaticField in #t25.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t25{core::int};
+ return let final core::int? #t25 = self::B::_#finalStaticField in #t25 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t25{core::int};
@#C1
static set finalStaticField(core::int #t26) → void
- if(self::B::_#finalStaticField.==(null))
+ if(self::B::_#finalStaticField == null)
self::B::_#finalStaticField = #t26;
else
throw new _in::LateError::fieldAI("finalStaticField");
@#C1
static get finalStaticFieldWithInitializer() → core::int
- return let final core::int? #t27 = self::B::_#finalStaticFieldWithInitializer in #t27.==(null) ?{core::int} let final core::int #t28 = 0 in self::B::_#finalStaticFieldWithInitializer.==(null) ?{core::int} self::B::_#finalStaticFieldWithInitializer = #t28 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t27{core::int};
+ return let final core::int? #t27 = self::B::_#finalStaticFieldWithInitializer in #t27 == null ?{core::int} let final core::int #t28 = 0 in self::B::_#finalStaticFieldWithInitializer == null ?{core::int} self::B::_#finalStaticFieldWithInitializer = #t28 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t27{core::int};
}
extension Extension on self::A {
static field extensionStaticField = self::_#Extension|extensionStaticField;
@@ -131,40 +131,40 @@
static field core::int? _#Extension|finalExtensionStaticFieldWithInitializer = null;
@#C1
static get topLevelField() → core::int
- return let final core::int? #t29 = self::_#topLevelField in #t29.==(null) ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t29{core::int};
+ return let final core::int? #t29 = self::_#topLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t29{core::int};
@#C1
static set topLevelField(core::int #t30) → void
self::_#topLevelField = #t30;
@#C1
static get finalTopLevelField() → core::int
- return let final core::int? #t31 = self::_#finalTopLevelField in #t31.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalTopLevelField") : #t31{core::int};
+ return let final core::int? #t31 = self::_#finalTopLevelField in #t31 == null ?{core::int} throw new _in::LateError::fieldNI("finalTopLevelField") : #t31{core::int};
@#C1
static set finalTopLevelField(core::int #t32) → void
- if(self::_#finalTopLevelField.==(null))
+ if(self::_#finalTopLevelField == null)
self::_#finalTopLevelField = #t32;
else
throw new _in::LateError::fieldAI("finalTopLevelField");
@#C1
static get finalTopLevelFieldWithInitializer() → core::int
- return let final core::int? #t33 = self::_#finalTopLevelFieldWithInitializer in #t33.==(null) ?{core::int} let final core::int #t34 = 0 in self::_#finalTopLevelFieldWithInitializer.==(null) ?{core::int} self::_#finalTopLevelFieldWithInitializer = #t34 : throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer") : #t33{core::int};
+ return let final core::int? #t33 = self::_#finalTopLevelFieldWithInitializer in #t33 == null ?{core::int} let final core::int #t34 = 0 in self::_#finalTopLevelFieldWithInitializer == null ?{core::int} self::_#finalTopLevelFieldWithInitializer = #t34 : throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer") : #t33{core::int};
@#C1
static get Extension|extensionStaticField() → core::int
- return let final core::int? #t35 = self::_#Extension|extensionStaticField in #t35.==(null) ?{core::int} throw new _in::LateError::fieldNI("extensionStaticField") : #t35{core::int};
+ return let final core::int? #t35 = self::_#Extension|extensionStaticField in #t35 == null ?{core::int} throw new _in::LateError::fieldNI("extensionStaticField") : #t35{core::int};
@#C1
static set Extension|extensionStaticField(core::int #t36) → void
self::_#Extension|extensionStaticField = #t36;
@#C1
static get Extension|finalExtensionStaticField() → core::int
- return let final core::int? #t37 = self::_#Extension|finalExtensionStaticField in #t37.==(null) ?{core::int} throw new _in::LateError::fieldNI("finalExtensionStaticField") : #t37{core::int};
+ return let final core::int? #t37 = self::_#Extension|finalExtensionStaticField in #t37 == null ?{core::int} throw new _in::LateError::fieldNI("finalExtensionStaticField") : #t37{core::int};
@#C1
static set Extension|finalExtensionStaticField(core::int #t38) → void
- if(self::_#Extension|finalExtensionStaticField.==(null))
+ if(self::_#Extension|finalExtensionStaticField == null)
self::_#Extension|finalExtensionStaticField = #t38;
else
throw new _in::LateError::fieldAI("finalExtensionStaticField");
@#C1
static get Extension|finalExtensionStaticFieldWithInitializer() → core::int
- return let final core::int? #t39 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t39.==(null) ?{core::int} let final core::int #t40 = 0 in self::_#Extension|finalExtensionStaticFieldWithInitializer.==(null) ?{core::int} self::_#Extension|finalExtensionStaticFieldWithInitializer = #t40 : throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer") : #t39{core::int};
+ return let final core::int? #t39 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t39 == null ?{core::int} let final core::int #t40 = 0 in self::_#Extension|finalExtensionStaticFieldWithInitializer == null ?{core::int} self::_#Extension|finalExtensionStaticFieldWithInitializer = #t40 : throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer") : #t39{core::int};
static method main() → dynamic {}
constants {
diff --git a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.expect
index d9bfacd..4a776ea 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.expect
@@ -15,7 +15,7 @@
: super core::Object::•()
;
get nonNullableInstanceField() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#nonNullableInstanceField} in #t1.==(null) ?{core::int} this.{self::A::_#A#nonNullableInstanceField} = 0 : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#nonNullableInstanceField} in #t1 == null ?{core::int} this.{self::A::_#A#nonNullableInstanceField} = 0 : #t1{core::int};
set nonNullableInstanceField(core::int #t2) → void
this.{self::A::_#A#nonNullableInstanceField} = #t2;
get nullableInstanceField() → core::int? {
@@ -30,7 +30,7 @@
this.{self::A::_#A#nullableInstanceField} = #t3;
}
static get nonNullableStaticField() → core::int
- return let final core::int? #t4 = self::A::_#nonNullableStaticField in #t4.==(null) ?{core::int} self::A::_#nonNullableStaticField = 0 : #t4{core::int};
+ return let final core::int? #t4 = self::A::_#nonNullableStaticField in #t4 == null ?{core::int} self::A::_#nonNullableStaticField = 0 : #t4{core::int};
static set nonNullableStaticField(core::int #t5) → void
self::A::_#nonNullableStaticField = #t5;
static get nullableStaticField() → core::int? {
@@ -63,7 +63,7 @@
static method method() → core::int?
return null;
static get nonNullableTopLevelField() → core::int
- return let final core::int? #t7 = self::_#nonNullableTopLevelField in #t7.==(null) ?{core::int} self::_#nonNullableTopLevelField = 0 : #t7{core::int};
+ return let final core::int? #t7 = self::_#nonNullableTopLevelField in #t7 == null ?{core::int} self::_#nonNullableTopLevelField = 0 : #t7{core::int};
static set nonNullableTopLevelField(core::int #t8) → void
self::_#nonNullableTopLevelField = #t8;
static get nullableTopLevelField() → core::int? {
diff --git a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.transformed.expect
index d9bfacd..4a776ea 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.transformed.expect
@@ -15,7 +15,7 @@
: super core::Object::•()
;
get nonNullableInstanceField() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#nonNullableInstanceField} in #t1.==(null) ?{core::int} this.{self::A::_#A#nonNullableInstanceField} = 0 : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#nonNullableInstanceField} in #t1 == null ?{core::int} this.{self::A::_#A#nonNullableInstanceField} = 0 : #t1{core::int};
set nonNullableInstanceField(core::int #t2) → void
this.{self::A::_#A#nonNullableInstanceField} = #t2;
get nullableInstanceField() → core::int? {
@@ -30,7 +30,7 @@
this.{self::A::_#A#nullableInstanceField} = #t3;
}
static get nonNullableStaticField() → core::int
- return let final core::int? #t4 = self::A::_#nonNullableStaticField in #t4.==(null) ?{core::int} self::A::_#nonNullableStaticField = 0 : #t4{core::int};
+ return let final core::int? #t4 = self::A::_#nonNullableStaticField in #t4 == null ?{core::int} self::A::_#nonNullableStaticField = 0 : #t4{core::int};
static set nonNullableStaticField(core::int #t5) → void
self::A::_#nonNullableStaticField = #t5;
static get nullableStaticField() → core::int? {
@@ -63,7 +63,7 @@
static method method() → core::int?
return null;
static get nonNullableTopLevelField() → core::int
- return let final core::int? #t7 = self::_#nonNullableTopLevelField in #t7.==(null) ?{core::int} self::_#nonNullableTopLevelField = 0 : #t7{core::int};
+ return let final core::int? #t7 = self::_#nonNullableTopLevelField in #t7 == null ?{core::int} self::_#nonNullableTopLevelField = 0 : #t7{core::int};
static set nonNullableTopLevelField(core::int #t8) → void
self::_#nonNullableTopLevelField = #t8;
static get nullableTopLevelField() → core::int? {
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.expect
index 4030034..887bd2f 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.expect
@@ -15,11 +15,11 @@
: self::Class::field = field, super core::Object::•()
;
static get lateStaticField1() → core::int
- return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1.==(null) ?{core::int} self::Class::_#lateStaticField1 = 87 : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} self::Class::_#lateStaticField1 = 87 : #t1{core::int};
static set lateStaticField1(core::int #t2) → void
self::Class::_#lateStaticField1 = #t2;
static get lateStaticField2() → core::int
- return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3.==(null) ?{core::int} self::Class::_#lateStaticField2 = 42 : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} self::Class::_#lateStaticField2 = 42 : #t3{core::int};
static set lateStaticField2(core::int #t4) → void
self::Class::_#lateStaticField2 = #t4;
static method staticMethod() → dynamic {
@@ -28,12 +28,12 @@
self::expect(43, self::Class::lateStaticField2);
}
get lateInstanceField() → core::int
- return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5.==(null) ?{core::int} this.{self::Class::_#Class#lateInstanceField} = 16 : #t5{core::int};
+ return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5 == null ?{core::int} this.{self::Class::_#Class#lateInstanceField} = 16 : #t5{core::int};
set lateInstanceField(core::int #t6) → void
this.{self::Class::_#Class#lateInstanceField} = #t6;
get lateGenericField1() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField1#isSet}) {
- this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field};
+ this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field}{self::Class::T%};
this.{self::Class::_#Class#lateGenericField1#isSet} = true;
}
return let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericField1} in #t7{self::Class::T%};
@@ -44,7 +44,7 @@
}
get lateGenericField2() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField2#isSet}) {
- this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field};
+ this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field}{self::Class::T%};
this.{self::Class::_#Class#lateGenericField2#isSet} = true;
}
return let final self::Class::T? #t9 = this.{self::Class::_#Class#lateGenericField2} in #t9{self::Class::T%};
@@ -54,14 +54,14 @@
this.{self::Class::_#Class#lateGenericField2} = #t10;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
this.{self::Class::lateInstanceField} = 17;
- self::expect(17, this.{self::Class::lateInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericField1});
+ self::expect(17, this.{self::Class::lateInstanceField}{core::int});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericField1}{self::Class::T%});
this.{self::Class::lateGenericField1} = value;
- self::expect(value, this.{self::Class::lateGenericField1});
+ self::expect(value, this.{self::Class::lateGenericField1}{self::Class::T%});
this.{self::Class::lateGenericField2} = value;
- self::expect(value, this.{self::Class::lateGenericField2});
+ self::expect(value, this.{self::Class::lateGenericField2}{self::Class::T%});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -77,15 +77,15 @@
static field core::int? _#Extension|lateExtensionField1 = null;
static field core::int? _#Extension|lateExtensionField2 = null;
static get lateTopLevelField1() → core::int
- return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11.==(null) ?{core::int} self::_#lateTopLevelField1 = 123 : #t11{core::int};
+ return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11 == null ?{core::int} self::_#lateTopLevelField1 = 123 : #t11{core::int};
static set lateTopLevelField1(core::int #t12) → void
self::_#lateTopLevelField1 = #t12;
static get Extension|lateExtensionField1() → core::int
- return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13.==(null) ?{core::int} self::_#Extension|lateExtensionField1 = 87 : #t13{core::int};
+ return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13 == null ?{core::int} self::_#Extension|lateExtensionField1 = 87 : #t13{core::int};
static set Extension|lateExtensionField1(core::int #t14) → void
self::_#Extension|lateExtensionField1 = #t14;
static get Extension|lateExtensionField2() → core::int
- return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15.==(null) ?{core::int} self::_#Extension|lateExtensionField2 = 42 : #t15{core::int};
+ return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15 == null ?{core::int} self::_#Extension|lateExtensionField2 = 42 : #t15{core::int};
static set Extension|lateExtensionField2(core::int #t16) → void
self::_#Extension|lateExtensionField2 = #t16;
static method Extension|staticMethod() → dynamic {
@@ -101,13 +101,13 @@
self::Class::lateStaticField1 = 88;
self::expect(88, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}(42);
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(42){(core::int) → dynamic};
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|lateExtensionField1 = 88;
self::expect(88, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.transformed.expect
index 4030034..887bd2f 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.transformed.expect
@@ -15,11 +15,11 @@
: self::Class::field = field, super core::Object::•()
;
static get lateStaticField1() → core::int
- return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1.==(null) ?{core::int} self::Class::_#lateStaticField1 = 87 : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} self::Class::_#lateStaticField1 = 87 : #t1{core::int};
static set lateStaticField1(core::int #t2) → void
self::Class::_#lateStaticField1 = #t2;
static get lateStaticField2() → core::int
- return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3.==(null) ?{core::int} self::Class::_#lateStaticField2 = 42 : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} self::Class::_#lateStaticField2 = 42 : #t3{core::int};
static set lateStaticField2(core::int #t4) → void
self::Class::_#lateStaticField2 = #t4;
static method staticMethod() → dynamic {
@@ -28,12 +28,12 @@
self::expect(43, self::Class::lateStaticField2);
}
get lateInstanceField() → core::int
- return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5.==(null) ?{core::int} this.{self::Class::_#Class#lateInstanceField} = 16 : #t5{core::int};
+ return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5 == null ?{core::int} this.{self::Class::_#Class#lateInstanceField} = 16 : #t5{core::int};
set lateInstanceField(core::int #t6) → void
this.{self::Class::_#Class#lateInstanceField} = #t6;
get lateGenericField1() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField1#isSet}) {
- this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field};
+ this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field}{self::Class::T%};
this.{self::Class::_#Class#lateGenericField1#isSet} = true;
}
return let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericField1} in #t7{self::Class::T%};
@@ -44,7 +44,7 @@
}
get lateGenericField2() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField2#isSet}) {
- this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field};
+ this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field}{self::Class::T%};
this.{self::Class::_#Class#lateGenericField2#isSet} = true;
}
return let final self::Class::T? #t9 = this.{self::Class::_#Class#lateGenericField2} in #t9{self::Class::T%};
@@ -54,14 +54,14 @@
this.{self::Class::_#Class#lateGenericField2} = #t10;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
this.{self::Class::lateInstanceField} = 17;
- self::expect(17, this.{self::Class::lateInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericField1});
+ self::expect(17, this.{self::Class::lateInstanceField}{core::int});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericField1}{self::Class::T%});
this.{self::Class::lateGenericField1} = value;
- self::expect(value, this.{self::Class::lateGenericField1});
+ self::expect(value, this.{self::Class::lateGenericField1}{self::Class::T%});
this.{self::Class::lateGenericField2} = value;
- self::expect(value, this.{self::Class::lateGenericField2});
+ self::expect(value, this.{self::Class::lateGenericField2}{self::Class::T%});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -77,15 +77,15 @@
static field core::int? _#Extension|lateExtensionField1 = null;
static field core::int? _#Extension|lateExtensionField2 = null;
static get lateTopLevelField1() → core::int
- return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11.==(null) ?{core::int} self::_#lateTopLevelField1 = 123 : #t11{core::int};
+ return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11 == null ?{core::int} self::_#lateTopLevelField1 = 123 : #t11{core::int};
static set lateTopLevelField1(core::int #t12) → void
self::_#lateTopLevelField1 = #t12;
static get Extension|lateExtensionField1() → core::int
- return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13.==(null) ?{core::int} self::_#Extension|lateExtensionField1 = 87 : #t13{core::int};
+ return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13 == null ?{core::int} self::_#Extension|lateExtensionField1 = 87 : #t13{core::int};
static set Extension|lateExtensionField1(core::int #t14) → void
self::_#Extension|lateExtensionField1 = #t14;
static get Extension|lateExtensionField2() → core::int
- return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15.==(null) ?{core::int} self::_#Extension|lateExtensionField2 = 42 : #t15{core::int};
+ return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15 == null ?{core::int} self::_#Extension|lateExtensionField2 = 42 : #t15{core::int};
static set Extension|lateExtensionField2(core::int #t16) → void
self::_#Extension|lateExtensionField2 = #t16;
static method Extension|staticMethod() → dynamic {
@@ -101,13 +101,13 @@
self::Class::lateStaticField1 = 88;
self::expect(88, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}(42);
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(42){(core::int) → dynamic};
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|lateExtensionField1 = 88;
self::expect(88, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.expect
index f6025fa..e6772f8 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.expect
@@ -57,7 +57,7 @@
}
get lateGenericField1() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField1#isSet}) {
- this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field};
+ this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field}{self::Class::T%};
this.{self::Class::_#Class#lateGenericField1#isSet} = true;
}
return let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericField1} in #t7{self::Class::T%};
@@ -68,7 +68,7 @@
}
get lateGenericField2() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField2#isSet}) {
- this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field};
+ this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field}{self::Class::T%};
this.{self::Class::_#Class#lateGenericField2#isSet} = true;
}
return let final self::Class::T? #t9 = this.{self::Class::_#Class#lateGenericField2} in #t9{self::Class::T%};
@@ -78,14 +78,14 @@
this.{self::Class::_#Class#lateGenericField2} = #t10;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
this.{self::Class::lateInstanceField} = 17;
- self::expect(17, this.{self::Class::lateInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericField1});
+ self::expect(17, this.{self::Class::lateInstanceField}{core::int});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericField1}{self::Class::T%});
this.{self::Class::lateGenericField1} = value;
- self::expect(value, this.{self::Class::lateGenericField1});
+ self::expect(value, this.{self::Class::lateGenericField1}{self::Class::T%});
this.{self::Class::lateGenericField2} = value;
- self::expect(value, this.{self::Class::lateGenericField2});
+ self::expect(value, this.{self::Class::lateGenericField2}{self::Class::T%});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -151,13 +151,13 @@
self::Class::lateStaticField1 = 88;
self::expect(88, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}(42);
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(42){(core::int) → dynamic};
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|lateExtensionField1 = 88;
self::expect(88, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.transformed.expect
index f6025fa..e6772f8 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.transformed.expect
@@ -57,7 +57,7 @@
}
get lateGenericField1() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField1#isSet}) {
- this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field};
+ this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field}{self::Class::T%};
this.{self::Class::_#Class#lateGenericField1#isSet} = true;
}
return let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericField1} in #t7{self::Class::T%};
@@ -68,7 +68,7 @@
}
get lateGenericField2() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField2#isSet}) {
- this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field};
+ this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field}{self::Class::T%};
this.{self::Class::_#Class#lateGenericField2#isSet} = true;
}
return let final self::Class::T? #t9 = this.{self::Class::_#Class#lateGenericField2} in #t9{self::Class::T%};
@@ -78,14 +78,14 @@
this.{self::Class::_#Class#lateGenericField2} = #t10;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
this.{self::Class::lateInstanceField} = 17;
- self::expect(17, this.{self::Class::lateInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericField1});
+ self::expect(17, this.{self::Class::lateInstanceField}{core::int});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericField1}{self::Class::T%});
this.{self::Class::lateGenericField1} = value;
- self::expect(value, this.{self::Class::lateGenericField1});
+ self::expect(value, this.{self::Class::lateGenericField1}{self::Class::T%});
this.{self::Class::lateGenericField2} = value;
- self::expect(value, this.{self::Class::lateGenericField2});
+ self::expect(value, this.{self::Class::lateGenericField2}{self::Class::T%});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -151,13 +151,13 @@
self::Class::lateStaticField1 = 88;
self::expect(88, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}(42);
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(42){(core::int) → dynamic};
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|lateExtensionField1 = 88;
self::expect(88, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.expect
index 8bbf5d9..c2b89ff 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.expect
@@ -13,11 +13,11 @@
: super core::Object::•()
;
static get lateStaticField1() → core::int
- return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
static set lateStaticField1(core::int #t2) → void
self::Class::_#lateStaticField1 = #t2;
static get lateStaticField2() → core::int
- return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
static set lateStaticField2(core::int #t4) → void
self::Class::_#lateStaticField2 = #t4;
static method staticMethod() → dynamic {
@@ -26,7 +26,7 @@
self::expect(42, self::Class::lateStaticField2);
}
get lateInstanceField() → core::int
- return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
set lateInstanceField(core::int #t6) → void
this.{self::Class::_#Class#lateInstanceField} = #t6;
get lateGenericInstanceField() → self::Class::T%
@@ -36,12 +36,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t8;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::throws(() → core::int => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
- self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
+ self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField}{self::Class::T%}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T%});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -57,15 +57,15 @@
static field core::int? _#Extension|lateExtensionField1 = null;
static field core::int? _#Extension|lateExtensionField2 = null;
static get lateTopLevelField() → core::int
- return let final core::int? #t9 = self::_#lateTopLevelField in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t9{core::int};
+ return let final core::int? #t9 = self::_#lateTopLevelField in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t9{core::int};
static set lateTopLevelField(core::int #t10) → void
self::_#lateTopLevelField = #t10;
static get Extension|lateExtensionField1() → core::int
- return let final core::int? #t11 = self::_#Extension|lateExtensionField1 in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t11{core::int};
+ return let final core::int? #t11 = self::_#Extension|lateExtensionField1 in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t11{core::int};
static set Extension|lateExtensionField1(core::int #t12) → void
self::_#Extension|lateExtensionField1 = #t12;
static get Extension|lateExtensionField2() → core::int
- return let final core::int? #t13 = self::_#Extension|lateExtensionField2 in #t13.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t13{core::int};
+ return let final core::int? #t13 = self::_#Extension|lateExtensionField2 in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t13{core::int};
static set Extension|lateExtensionField2(core::int #t14) → void
self::_#Extension|lateExtensionField2 = #t14;
static method Extension|staticMethod() → dynamic {
@@ -81,27 +81,27 @@
self::Class::lateStaticField1 = 87;
self::expect(87, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int) → dynamic};
self::Class<core::int> c = new self::Class::•<core::int>();
- self::throws(() → core::int => c.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => c.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
c.{self::Class::lateInstanceField} = 16;
- self::expect(16, c.{self::Class::lateInstanceField});
- self::throws(() → core::int => c.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, c.{self::Class::lateInstanceField}{core::int});
+ self::throws(() → core::int => c.{self::Class::lateGenericInstanceField}{core::int}, "Read value from uninitialized Class.lateGenericInstanceField");
c.{self::Class::lateGenericInstanceField} = 0;
- self::expect(0, c.{self::Class::lateGenericInstanceField});
+ self::expect(0, c.{self::Class::lateGenericInstanceField}{core::int});
self::throws(() → core::int => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.transformed.expect
index 8bbf5d9..c2b89ff 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.transformed.expect
@@ -13,11 +13,11 @@
: super core::Object::•()
;
static get lateStaticField1() → core::int
- return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
static set lateStaticField1(core::int #t2) → void
self::Class::_#lateStaticField1 = #t2;
static get lateStaticField2() → core::int
- return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
static set lateStaticField2(core::int #t4) → void
self::Class::_#lateStaticField2 = #t4;
static method staticMethod() → dynamic {
@@ -26,7 +26,7 @@
self::expect(42, self::Class::lateStaticField2);
}
get lateInstanceField() → core::int
- return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
set lateInstanceField(core::int #t6) → void
this.{self::Class::_#Class#lateInstanceField} = #t6;
get lateGenericInstanceField() → self::Class::T%
@@ -36,12 +36,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t8;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::throws(() → core::int => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
- self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
+ self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField}{self::Class::T%}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T%});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -57,15 +57,15 @@
static field core::int? _#Extension|lateExtensionField1 = null;
static field core::int? _#Extension|lateExtensionField2 = null;
static get lateTopLevelField() → core::int
- return let final core::int? #t9 = self::_#lateTopLevelField in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t9{core::int};
+ return let final core::int? #t9 = self::_#lateTopLevelField in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t9{core::int};
static set lateTopLevelField(core::int #t10) → void
self::_#lateTopLevelField = #t10;
static get Extension|lateExtensionField1() → core::int
- return let final core::int? #t11 = self::_#Extension|lateExtensionField1 in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t11{core::int};
+ return let final core::int? #t11 = self::_#Extension|lateExtensionField1 in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t11{core::int};
static set Extension|lateExtensionField1(core::int #t12) → void
self::_#Extension|lateExtensionField1 = #t12;
static get Extension|lateExtensionField2() → core::int
- return let final core::int? #t13 = self::_#Extension|lateExtensionField2 in #t13.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t13{core::int};
+ return let final core::int? #t13 = self::_#Extension|lateExtensionField2 in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t13{core::int};
static set Extension|lateExtensionField2(core::int #t14) → void
self::_#Extension|lateExtensionField2 = #t14;
static method Extension|staticMethod() → dynamic {
@@ -81,27 +81,27 @@
self::Class::lateStaticField1 = 87;
self::expect(87, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int) → dynamic};
self::Class<core::int> c = new self::Class::•<core::int>();
- self::throws(() → core::int => c.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => c.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
c.{self::Class::lateInstanceField} = 16;
- self::expect(16, c.{self::Class::lateInstanceField});
- self::throws(() → core::int => c.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, c.{self::Class::lateInstanceField}{core::int});
+ self::throws(() → core::int => c.{self::Class::lateGenericInstanceField}{core::int}, "Read value from uninitialized Class.lateGenericInstanceField");
c.{self::Class::lateGenericInstanceField} = 0;
- self::expect(0, c.{self::Class::lateGenericInstanceField});
+ self::expect(0, c.{self::Class::lateGenericInstanceField}{core::int});
self::throws(() → core::int => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.expect
index c20d687..a491c07 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.expect
@@ -45,12 +45,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t8;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::throws(() → core::int => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
- self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
+ self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField}{self::Class::T%}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T%});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -101,27 +101,27 @@
self::Class::lateStaticField1 = 87;
self::expect(87, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int) → dynamic};
self::Class<core::int> c = new self::Class::•<core::int>();
- self::throws(() → core::int => c.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => c.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
c.{self::Class::lateInstanceField} = 16;
- self::expect(16, c.{self::Class::lateInstanceField});
- self::throws(() → core::int => c.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, c.{self::Class::lateInstanceField}{core::int});
+ self::throws(() → core::int => c.{self::Class::lateGenericInstanceField}{core::int}, "Read value from uninitialized Class.lateGenericInstanceField");
c.{self::Class::lateGenericInstanceField} = 0;
- self::expect(0, c.{self::Class::lateGenericInstanceField});
+ self::expect(0, c.{self::Class::lateGenericInstanceField}{core::int});
self::throws(() → core::int => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.transformed.expect
index c20d687..a491c07 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.transformed.expect
@@ -45,12 +45,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t8;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::throws(() → core::int => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
- self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
+ self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField}{self::Class::T%}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T%});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -101,27 +101,27 @@
self::Class::lateStaticField1 = 87;
self::expect(87, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int) → dynamic};
self::Class<core::int> c = new self::Class::•<core::int>();
- self::throws(() → core::int => c.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => c.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
c.{self::Class::lateInstanceField} = 16;
- self::expect(16, c.{self::Class::lateInstanceField});
- self::throws(() → core::int => c.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, c.{self::Class::lateInstanceField}{core::int});
+ self::throws(() → core::int => c.{self::Class::lateGenericInstanceField}{core::int}, "Read value from uninitialized Class.lateGenericInstanceField");
c.{self::Class::lateGenericInstanceField} = 0;
- self::expect(0, c.{self::Class::lateGenericInstanceField});
+ self::expect(0, c.{self::Class::lateGenericInstanceField}{core::int});
self::throws(() → core::int => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.strong.expect
index dc87dd2..e811cfb 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.strong.expect
@@ -16,9 +16,9 @@
: super self::B::•(x)
;
get y() → core::int
- return let final core::int? #t1 = this.{self::C::_#C#y} in #t1.==(null) ?{core::int} let final core::int #t2 = this.{self::B::x}.{core::num::+}(1) in this.{self::C::_#C#y}.==(null) ?{core::int} this.{self::C::_#C#y} = #t2 : throw new _in::LateError::fieldADI("y") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::C::_#C#y} in #t1 == null ?{core::int} let final core::int #t2 = this.{self::B::x}{core::int}.{core::num::+}(1){(core::num) → core::int} in this.{self::C::_#C#y} == null ?{core::int} this.{self::C::_#C#y} = #t2 : throw new _in::LateError::fieldADI("y") : #t1{core::int};
method method() → dynamic
- return this.{self::B::x};
+ return this.{self::B::x}{core::int};
}
class Class<T extends core::Object? = dynamic> extends core::Object {
static field core::int? lateStaticField1Init = null;
@@ -38,12 +38,12 @@
return self::Class::lateStaticField1Init = value;
}
static get lateStaticField1() → core::int
- return let final core::int? #t3 = self::Class::_#lateStaticField1 in #t3.==(null) ?{core::int} let final core::int #t4 = self::Class::initLateStaticField1(87) in self::Class::_#lateStaticField1.==(null) ?{core::int} self::Class::_#lateStaticField1 = #t4 : throw new _in::LateError::fieldADI("lateStaticField1") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#lateStaticField1 in #t3 == null ?{core::int} let final core::int #t4 = self::Class::initLateStaticField1(87) in self::Class::_#lateStaticField1 == null ?{core::int} self::Class::_#lateStaticField1 = #t4 : throw new _in::LateError::fieldADI("lateStaticField1") : #t3{core::int};
static method initLateStaticField2(core::int value) → core::int {
return self::Class::lateStaticField2Init = value;
}
static get lateStaticField2() → core::int
- return let final core::int? #t5 = self::Class::_#lateStaticField2 in #t5.==(null) ?{core::int} let final core::int #t6 = self::Class::initLateStaticField2(42) in self::Class::_#lateStaticField2.==(null) ?{core::int} self::Class::_#lateStaticField2 = #t6 : throw new _in::LateError::fieldADI("lateStaticField2") : #t5{core::int};
+ return let final core::int? #t5 = self::Class::_#lateStaticField2 in #t5 == null ?{core::int} let final core::int #t6 = self::Class::initLateStaticField2(42) in self::Class::_#lateStaticField2 == null ?{core::int} self::Class::_#lateStaticField2 = #t6 : throw new _in::LateError::fieldADI("lateStaticField2") : #t5{core::int};
static method staticMethod() → dynamic {
self::expect(null, self::Class::lateStaticField2Init);
self::expect(42, self::Class::lateStaticField2);
@@ -53,13 +53,13 @@
return this.{self::Class::lateInstanceFieldInit} = value;
}
get lateInstanceField() → core::int
- return let final core::int? #t7 = this.{self::Class::_#Class#lateInstanceField} in #t7.==(null) ?{core::int} let final core::int #t8 = this.{self::Class::initLateInstanceField}(16) in this.{self::Class::_#Class#lateInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#lateInstanceField} = #t8 : throw new _in::LateError::fieldADI("lateInstanceField") : #t7{core::int};
+ return let final core::int? #t7 = this.{self::Class::_#Class#lateInstanceField} in #t7 == null ?{core::int} let final core::int #t8 = this.{self::Class::initLateInstanceField}(16){(core::int) → core::int} in this.{self::Class::_#Class#lateInstanceField} == null ?{core::int} this.{self::Class::_#Class#lateInstanceField} = #t8 : throw new _in::LateError::fieldADI("lateInstanceField") : #t7{core::int};
method initLateGenericField(generic-covariant-impl self::Class::T% value) → self::Class::T% {
return this.{self::Class::lateGenericFieldInit} = value;
}
get lateGenericField() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField#isSet}) {
- final self::Class::T% #t9 = this.{self::Class::initLateGenericField}(this.{self::Class::field});
+ final self::Class::T% #t9 = this.{self::Class::initLateGenericField}(this.{self::Class::field}{self::Class::T%}){(self::Class::T%) → self::Class::T%};
if(this.{self::Class::_#Class#lateGenericField#isSet})
throw new _in::LateError::fieldADI("lateGenericField");
this.{self::Class::_#Class#lateGenericField} = #t9;
@@ -68,12 +68,12 @@
return let final self::Class::T? #t10 = this.{self::Class::_#Class#lateGenericField} in #t10{self::Class::T%};
}
method instanceMethod() → dynamic {
- self::expect(null, this.{self::Class::lateInstanceFieldInit});
- self::expect(16, this.{self::Class::lateInstanceField});
- self::expect(16, this.{self::Class::lateInstanceFieldInit});
- self::expect(null, this.{self::Class::lateGenericFieldInit});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericFieldInit});
+ self::expect(null, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
+ self::expect(16, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(null, this.{self::Class::lateGenericFieldInit}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericField}{self::Class::T%});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericFieldInit}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -97,17 +97,17 @@
return self::lateTopLevelField1Init = value;
}
static get lateTopLevelField1() → core::int
- return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11.==(null) ?{core::int} let final core::int #t12 = self::initLateTopLevelField1(123) in self::_#lateTopLevelField1.==(null) ?{core::int} self::_#lateTopLevelField1 = #t12 : throw new _in::LateError::fieldADI("lateTopLevelField1") : #t11{core::int};
+ return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11 == null ?{core::int} let final core::int #t12 = self::initLateTopLevelField1(123) in self::_#lateTopLevelField1 == null ?{core::int} self::_#lateTopLevelField1 = #t12 : throw new _in::LateError::fieldADI("lateTopLevelField1") : #t11{core::int};
static method Extension|initLateExtensionField1(core::int value) → core::int {
return self::Extension|lateExtensionField1Init = value;
}
static get Extension|lateExtensionField1() → core::int
- return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13.==(null) ?{core::int} let final core::int #t14 = self::Extension|initLateExtensionField1(87) in self::_#Extension|lateExtensionField1.==(null) ?{core::int} self::_#Extension|lateExtensionField1 = #t14 : throw new _in::LateError::fieldADI("lateExtensionField1") : #t13{core::int};
+ return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13 == null ?{core::int} let final core::int #t14 = self::Extension|initLateExtensionField1(87) in self::_#Extension|lateExtensionField1 == null ?{core::int} self::_#Extension|lateExtensionField1 = #t14 : throw new _in::LateError::fieldADI("lateExtensionField1") : #t13{core::int};
static method Extension|initLateExtensionField2(core::int value) → core::int {
return self::Extension|lateExtensionField2Init = value;
}
static get Extension|lateExtensionField2() → core::int
- return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15.==(null) ?{core::int} let final core::int #t16 = self::Extension|initLateExtensionField2(42) in self::_#Extension|lateExtensionField2.==(null) ?{core::int} self::_#Extension|lateExtensionField2 = #t16 : throw new _in::LateError::fieldADI("lateExtensionField2") : #t15{core::int};
+ return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15 == null ?{core::int} let final core::int #t16 = self::Extension|initLateExtensionField2(42) in self::_#Extension|lateExtensionField2 == null ?{core::int} self::_#Extension|lateExtensionField2 = #t16 : throw new _in::LateError::fieldADI("lateExtensionField2") : #t15{core::int};
static method Extension|staticMethod() → dynamic {
self::expect(null, self::Extension|lateExtensionField2Init);
self::expect(42, self::Extension|lateExtensionField2);
@@ -121,14 +121,14 @@
self::expect(87, self::Class::lateStaticField1);
self::expect(87, self::Class::lateStaticField1Init);
self::Class::staticMethod();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}();
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(){() → dynamic};
self::expect(null, self::Extension|lateExtensionField1Init);
self::expect(87, self::Extension|lateExtensionField1);
self::expect(87, self::Extension|lateExtensionField1Init);
self::Extension|staticMethod();
- self::expect(2, new self::C::•(1).{self::C::y});
+ self::expect(2, new self::C::•(1).{self::C::y}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.strong.transformed.expect
index dc87dd2..e811cfb 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.strong.transformed.expect
@@ -16,9 +16,9 @@
: super self::B::•(x)
;
get y() → core::int
- return let final core::int? #t1 = this.{self::C::_#C#y} in #t1.==(null) ?{core::int} let final core::int #t2 = this.{self::B::x}.{core::num::+}(1) in this.{self::C::_#C#y}.==(null) ?{core::int} this.{self::C::_#C#y} = #t2 : throw new _in::LateError::fieldADI("y") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::C::_#C#y} in #t1 == null ?{core::int} let final core::int #t2 = this.{self::B::x}{core::int}.{core::num::+}(1){(core::num) → core::int} in this.{self::C::_#C#y} == null ?{core::int} this.{self::C::_#C#y} = #t2 : throw new _in::LateError::fieldADI("y") : #t1{core::int};
method method() → dynamic
- return this.{self::B::x};
+ return this.{self::B::x}{core::int};
}
class Class<T extends core::Object? = dynamic> extends core::Object {
static field core::int? lateStaticField1Init = null;
@@ -38,12 +38,12 @@
return self::Class::lateStaticField1Init = value;
}
static get lateStaticField1() → core::int
- return let final core::int? #t3 = self::Class::_#lateStaticField1 in #t3.==(null) ?{core::int} let final core::int #t4 = self::Class::initLateStaticField1(87) in self::Class::_#lateStaticField1.==(null) ?{core::int} self::Class::_#lateStaticField1 = #t4 : throw new _in::LateError::fieldADI("lateStaticField1") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#lateStaticField1 in #t3 == null ?{core::int} let final core::int #t4 = self::Class::initLateStaticField1(87) in self::Class::_#lateStaticField1 == null ?{core::int} self::Class::_#lateStaticField1 = #t4 : throw new _in::LateError::fieldADI("lateStaticField1") : #t3{core::int};
static method initLateStaticField2(core::int value) → core::int {
return self::Class::lateStaticField2Init = value;
}
static get lateStaticField2() → core::int
- return let final core::int? #t5 = self::Class::_#lateStaticField2 in #t5.==(null) ?{core::int} let final core::int #t6 = self::Class::initLateStaticField2(42) in self::Class::_#lateStaticField2.==(null) ?{core::int} self::Class::_#lateStaticField2 = #t6 : throw new _in::LateError::fieldADI("lateStaticField2") : #t5{core::int};
+ return let final core::int? #t5 = self::Class::_#lateStaticField2 in #t5 == null ?{core::int} let final core::int #t6 = self::Class::initLateStaticField2(42) in self::Class::_#lateStaticField2 == null ?{core::int} self::Class::_#lateStaticField2 = #t6 : throw new _in::LateError::fieldADI("lateStaticField2") : #t5{core::int};
static method staticMethod() → dynamic {
self::expect(null, self::Class::lateStaticField2Init);
self::expect(42, self::Class::lateStaticField2);
@@ -53,13 +53,13 @@
return this.{self::Class::lateInstanceFieldInit} = value;
}
get lateInstanceField() → core::int
- return let final core::int? #t7 = this.{self::Class::_#Class#lateInstanceField} in #t7.==(null) ?{core::int} let final core::int #t8 = this.{self::Class::initLateInstanceField}(16) in this.{self::Class::_#Class#lateInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#lateInstanceField} = #t8 : throw new _in::LateError::fieldADI("lateInstanceField") : #t7{core::int};
+ return let final core::int? #t7 = this.{self::Class::_#Class#lateInstanceField} in #t7 == null ?{core::int} let final core::int #t8 = this.{self::Class::initLateInstanceField}(16){(core::int) → core::int} in this.{self::Class::_#Class#lateInstanceField} == null ?{core::int} this.{self::Class::_#Class#lateInstanceField} = #t8 : throw new _in::LateError::fieldADI("lateInstanceField") : #t7{core::int};
method initLateGenericField(generic-covariant-impl self::Class::T% value) → self::Class::T% {
return this.{self::Class::lateGenericFieldInit} = value;
}
get lateGenericField() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField#isSet}) {
- final self::Class::T% #t9 = this.{self::Class::initLateGenericField}(this.{self::Class::field});
+ final self::Class::T% #t9 = this.{self::Class::initLateGenericField}(this.{self::Class::field}{self::Class::T%}){(self::Class::T%) → self::Class::T%};
if(this.{self::Class::_#Class#lateGenericField#isSet})
throw new _in::LateError::fieldADI("lateGenericField");
this.{self::Class::_#Class#lateGenericField} = #t9;
@@ -68,12 +68,12 @@
return let final self::Class::T? #t10 = this.{self::Class::_#Class#lateGenericField} in #t10{self::Class::T%};
}
method instanceMethod() → dynamic {
- self::expect(null, this.{self::Class::lateInstanceFieldInit});
- self::expect(16, this.{self::Class::lateInstanceField});
- self::expect(16, this.{self::Class::lateInstanceFieldInit});
- self::expect(null, this.{self::Class::lateGenericFieldInit});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericFieldInit});
+ self::expect(null, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
+ self::expect(16, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(null, this.{self::Class::lateGenericFieldInit}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericField}{self::Class::T%});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericFieldInit}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -97,17 +97,17 @@
return self::lateTopLevelField1Init = value;
}
static get lateTopLevelField1() → core::int
- return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11.==(null) ?{core::int} let final core::int #t12 = self::initLateTopLevelField1(123) in self::_#lateTopLevelField1.==(null) ?{core::int} self::_#lateTopLevelField1 = #t12 : throw new _in::LateError::fieldADI("lateTopLevelField1") : #t11{core::int};
+ return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11 == null ?{core::int} let final core::int #t12 = self::initLateTopLevelField1(123) in self::_#lateTopLevelField1 == null ?{core::int} self::_#lateTopLevelField1 = #t12 : throw new _in::LateError::fieldADI("lateTopLevelField1") : #t11{core::int};
static method Extension|initLateExtensionField1(core::int value) → core::int {
return self::Extension|lateExtensionField1Init = value;
}
static get Extension|lateExtensionField1() → core::int
- return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13.==(null) ?{core::int} let final core::int #t14 = self::Extension|initLateExtensionField1(87) in self::_#Extension|lateExtensionField1.==(null) ?{core::int} self::_#Extension|lateExtensionField1 = #t14 : throw new _in::LateError::fieldADI("lateExtensionField1") : #t13{core::int};
+ return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13 == null ?{core::int} let final core::int #t14 = self::Extension|initLateExtensionField1(87) in self::_#Extension|lateExtensionField1 == null ?{core::int} self::_#Extension|lateExtensionField1 = #t14 : throw new _in::LateError::fieldADI("lateExtensionField1") : #t13{core::int};
static method Extension|initLateExtensionField2(core::int value) → core::int {
return self::Extension|lateExtensionField2Init = value;
}
static get Extension|lateExtensionField2() → core::int
- return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15.==(null) ?{core::int} let final core::int #t16 = self::Extension|initLateExtensionField2(42) in self::_#Extension|lateExtensionField2.==(null) ?{core::int} self::_#Extension|lateExtensionField2 = #t16 : throw new _in::LateError::fieldADI("lateExtensionField2") : #t15{core::int};
+ return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15 == null ?{core::int} let final core::int #t16 = self::Extension|initLateExtensionField2(42) in self::_#Extension|lateExtensionField2 == null ?{core::int} self::_#Extension|lateExtensionField2 = #t16 : throw new _in::LateError::fieldADI("lateExtensionField2") : #t15{core::int};
static method Extension|staticMethod() → dynamic {
self::expect(null, self::Extension|lateExtensionField2Init);
self::expect(42, self::Extension|lateExtensionField2);
@@ -121,14 +121,14 @@
self::expect(87, self::Class::lateStaticField1);
self::expect(87, self::Class::lateStaticField1Init);
self::Class::staticMethod();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}();
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(){() → dynamic};
self::expect(null, self::Extension|lateExtensionField1Init);
self::expect(87, self::Extension|lateExtensionField1);
self::expect(87, self::Extension|lateExtensionField1Init);
self::Extension|staticMethod();
- self::expect(2, new self::C::•(1).{self::C::y});
+ self::expect(2, new self::C::•(1).{self::C::y}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.expect
index 5d1075d..1a1bda3 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.expect
@@ -17,7 +17,7 @@
;
get y() → core::int {
if(!this.{self::C::_#C#y#isSet}) {
- final core::int #t1 = this.{self::B::x}.{core::num::+}(1);
+ final core::int #t1 = this.{self::B::x}{core::int}.{core::num::+}(1){(core::num) → core::int};
if(this.{self::C::_#C#y#isSet})
throw new _in::LateError::fieldADI("y");
this.{self::C::_#C#y} = #t1;
@@ -26,7 +26,7 @@
return let final core::int? #t2 = this.{self::C::_#C#y} in #t2{core::int};
}
method method() → dynamic
- return this.{self::B::x};
+ return this.{self::B::x}{core::int};
}
class Class<T extends core::Object? = dynamic> extends core::Object {
static field core::int? lateStaticField1Init = null;
@@ -81,7 +81,7 @@
}
get lateInstanceField() → core::int {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- final core::int #t7 = this.{self::Class::initLateInstanceField}(16);
+ final core::int #t7 = this.{self::Class::initLateInstanceField}(16){(core::int) → core::int};
if(this.{self::Class::_#Class#lateInstanceField#isSet})
throw new _in::LateError::fieldADI("lateInstanceField");
this.{self::Class::_#Class#lateInstanceField} = #t7;
@@ -94,7 +94,7 @@
}
get lateGenericField() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField#isSet}) {
- final self::Class::T% #t9 = this.{self::Class::initLateGenericField}(this.{self::Class::field});
+ final self::Class::T% #t9 = this.{self::Class::initLateGenericField}(this.{self::Class::field}{self::Class::T%}){(self::Class::T%) → self::Class::T%};
if(this.{self::Class::_#Class#lateGenericField#isSet})
throw new _in::LateError::fieldADI("lateGenericField");
this.{self::Class::_#Class#lateGenericField} = #t9;
@@ -103,12 +103,12 @@
return let final self::Class::T? #t10 = this.{self::Class::_#Class#lateGenericField} in #t10{self::Class::T%};
}
method instanceMethod() → dynamic {
- self::expect(null, this.{self::Class::lateInstanceFieldInit});
- self::expect(16, this.{self::Class::lateInstanceField});
- self::expect(16, this.{self::Class::lateInstanceFieldInit});
- self::expect(null, this.{self::Class::lateGenericFieldInit});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericFieldInit});
+ self::expect(null, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
+ self::expect(16, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(null, this.{self::Class::lateGenericFieldInit}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericField}{self::Class::T%});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericFieldInit}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -185,14 +185,14 @@
self::expect(87, self::Class::lateStaticField1);
self::expect(87, self::Class::lateStaticField1Init);
self::Class::staticMethod();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}();
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(){() → dynamic};
self::expect(null, self::Extension|lateExtensionField1Init);
self::expect(87, self::Extension|lateExtensionField1);
self::expect(87, self::Extension|lateExtensionField1Init);
self::Extension|staticMethod();
- self::expect(2, new self::C::•(1).{self::C::y});
+ self::expect(2, new self::C::•(1).{self::C::y}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.transformed.expect
index 5d1075d..1a1bda3 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.transformed.expect
@@ -17,7 +17,7 @@
;
get y() → core::int {
if(!this.{self::C::_#C#y#isSet}) {
- final core::int #t1 = this.{self::B::x}.{core::num::+}(1);
+ final core::int #t1 = this.{self::B::x}{core::int}.{core::num::+}(1){(core::num) → core::int};
if(this.{self::C::_#C#y#isSet})
throw new _in::LateError::fieldADI("y");
this.{self::C::_#C#y} = #t1;
@@ -26,7 +26,7 @@
return let final core::int? #t2 = this.{self::C::_#C#y} in #t2{core::int};
}
method method() → dynamic
- return this.{self::B::x};
+ return this.{self::B::x}{core::int};
}
class Class<T extends core::Object? = dynamic> extends core::Object {
static field core::int? lateStaticField1Init = null;
@@ -81,7 +81,7 @@
}
get lateInstanceField() → core::int {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- final core::int #t7 = this.{self::Class::initLateInstanceField}(16);
+ final core::int #t7 = this.{self::Class::initLateInstanceField}(16){(core::int) → core::int};
if(this.{self::Class::_#Class#lateInstanceField#isSet})
throw new _in::LateError::fieldADI("lateInstanceField");
this.{self::Class::_#Class#lateInstanceField} = #t7;
@@ -94,7 +94,7 @@
}
get lateGenericField() → self::Class::T% {
if(!this.{self::Class::_#Class#lateGenericField#isSet}) {
- final self::Class::T% #t9 = this.{self::Class::initLateGenericField}(this.{self::Class::field});
+ final self::Class::T% #t9 = this.{self::Class::initLateGenericField}(this.{self::Class::field}{self::Class::T%}){(self::Class::T%) → self::Class::T%};
if(this.{self::Class::_#Class#lateGenericField#isSet})
throw new _in::LateError::fieldADI("lateGenericField");
this.{self::Class::_#Class#lateGenericField} = #t9;
@@ -103,12 +103,12 @@
return let final self::Class::T? #t10 = this.{self::Class::_#Class#lateGenericField} in #t10{self::Class::T%};
}
method instanceMethod() → dynamic {
- self::expect(null, this.{self::Class::lateInstanceFieldInit});
- self::expect(16, this.{self::Class::lateInstanceField});
- self::expect(16, this.{self::Class::lateInstanceFieldInit});
- self::expect(null, this.{self::Class::lateGenericFieldInit});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericFieldInit});
+ self::expect(null, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
+ self::expect(16, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(null, this.{self::Class::lateGenericFieldInit}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericField}{self::Class::T%});
+ self::expect(this.{self::Class::field}{self::Class::T%}, this.{self::Class::lateGenericFieldInit}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -185,14 +185,14 @@
self::expect(87, self::Class::lateStaticField1);
self::expect(87, self::Class::lateStaticField1Init);
self::Class::staticMethod();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}();
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(){() → dynamic};
self::expect(null, self::Extension|lateExtensionField1Init);
self::expect(87, self::Extension|lateExtensionField1);
self::expect(87, self::Extension|lateExtensionField1Init);
self::Extension|staticMethod();
- self::expect(2, new self::C::•(1).{self::C::y});
+ self::expect(2, new self::C::•(1).{self::C::y}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.expect
index f425376..089ee2a 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.expect
@@ -11,16 +11,16 @@
: super core::Object::•()
;
static get lateStaticField1() → core::int
- return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
static set lateStaticField1(core::int #t2) → void
- if(self::Class::_#lateStaticField1.==(null))
+ if(self::Class::_#lateStaticField1 == null)
self::Class::_#lateStaticField1 = #t2;
else
throw new _in::LateError::fieldAI("lateStaticField1");
static get lateStaticField2() → core::int
- return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
static set lateStaticField2(core::int #t4) → void
- if(self::Class::_#lateStaticField2.==(null))
+ if(self::Class::_#lateStaticField2 == null)
self::Class::_#lateStaticField2 = #t4;
else
throw new _in::LateError::fieldAI("lateStaticField2");
@@ -31,16 +31,16 @@
self::throws(() → core::int => self::Class::lateStaticField2 = 43, "Write value to initialized Class.lateStaticField2");
}
get lateInstanceField() → core::int
- return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
set lateInstanceField(core::int #t6) → void
- if(this.{self::Class::_#Class#lateInstanceField}.==(null))
+ if(this.{self::Class::_#Class#lateInstanceField} == null)
this.{self::Class::_#Class#lateInstanceField} = #t6;
else
throw new _in::LateError::fieldAI("lateInstanceField");
method instanceMethod() → dynamic {
- self::throws(() → core::int => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
self::throws(() → core::int => this.{self::Class::lateInstanceField} = 17, "Write value to initialized Class.lateInstanceField");
}
}
@@ -57,23 +57,23 @@
static field core::int? _#Extension|lateExtensionField1 = null;
static field core::int? _#Extension|lateExtensionField2 = null;
static get lateTopLevelField() → core::int
- return let final core::int? #t7 = self::_#lateTopLevelField in #t7.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t7{core::int};
+ return let final core::int? #t7 = self::_#lateTopLevelField in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t7{core::int};
static set lateTopLevelField(core::int #t8) → void
- if(self::_#lateTopLevelField.==(null))
+ if(self::_#lateTopLevelField == null)
self::_#lateTopLevelField = #t8;
else
throw new _in::LateError::fieldAI("lateTopLevelField");
static get Extension|lateExtensionField1() → core::int
- return let final core::int? #t9 = self::_#Extension|lateExtensionField1 in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t9{core::int};
+ return let final core::int? #t9 = self::_#Extension|lateExtensionField1 in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t9{core::int};
static set Extension|lateExtensionField1(core::int #t10) → void
- if(self::_#Extension|lateExtensionField1.==(null))
+ if(self::_#Extension|lateExtensionField1 == null)
self::_#Extension|lateExtensionField1 = #t10;
else
throw new _in::LateError::fieldAI("lateExtensionField1");
static get Extension|lateExtensionField2() → core::int
- return let final core::int? #t11 = self::_#Extension|lateExtensionField2 in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t11{core::int};
+ return let final core::int? #t11 = self::_#Extension|lateExtensionField2 in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t11{core::int};
static set Extension|lateExtensionField2(core::int #t12) → void
- if(self::_#Extension|lateExtensionField2.==(null))
+ if(self::_#Extension|lateExtensionField2 == null)
self::_#Extension|lateExtensionField2 = #t12;
else
throw new _in::LateError::fieldAI("lateExtensionField2");
@@ -93,7 +93,7 @@
self::expect(87, self::Class::lateStaticField1);
self::throws(() → core::int => self::Class::lateStaticField1 = 88, "Write value to initialized Class.lateStaticField1");
self::Class::staticMethod();
- new self::Class::•().{self::Class::instanceMethod}();
+ new self::Class::•().{self::Class::instanceMethod}(){() → dynamic};
self::throws(() → core::int => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
@@ -101,13 +101,13 @@
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.transformed.expect
index f425376..089ee2a 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.transformed.expect
@@ -11,16 +11,16 @@
: super core::Object::•()
;
static get lateStaticField1() → core::int
- return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
static set lateStaticField1(core::int #t2) → void
- if(self::Class::_#lateStaticField1.==(null))
+ if(self::Class::_#lateStaticField1 == null)
self::Class::_#lateStaticField1 = #t2;
else
throw new _in::LateError::fieldAI("lateStaticField1");
static get lateStaticField2() → core::int
- return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
static set lateStaticField2(core::int #t4) → void
- if(self::Class::_#lateStaticField2.==(null))
+ if(self::Class::_#lateStaticField2 == null)
self::Class::_#lateStaticField2 = #t4;
else
throw new _in::LateError::fieldAI("lateStaticField2");
@@ -31,16 +31,16 @@
self::throws(() → core::int => self::Class::lateStaticField2 = 43, "Write value to initialized Class.lateStaticField2");
}
get lateInstanceField() → core::int
- return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
set lateInstanceField(core::int #t6) → void
- if(this.{self::Class::_#Class#lateInstanceField}.==(null))
+ if(this.{self::Class::_#Class#lateInstanceField} == null)
this.{self::Class::_#Class#lateInstanceField} = #t6;
else
throw new _in::LateError::fieldAI("lateInstanceField");
method instanceMethod() → dynamic {
- self::throws(() → core::int => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
self::throws(() → core::int => this.{self::Class::lateInstanceField} = 17, "Write value to initialized Class.lateInstanceField");
}
}
@@ -57,23 +57,23 @@
static field core::int? _#Extension|lateExtensionField1 = null;
static field core::int? _#Extension|lateExtensionField2 = null;
static get lateTopLevelField() → core::int
- return let final core::int? #t7 = self::_#lateTopLevelField in #t7.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t7{core::int};
+ return let final core::int? #t7 = self::_#lateTopLevelField in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t7{core::int};
static set lateTopLevelField(core::int #t8) → void
- if(self::_#lateTopLevelField.==(null))
+ if(self::_#lateTopLevelField == null)
self::_#lateTopLevelField = #t8;
else
throw new _in::LateError::fieldAI("lateTopLevelField");
static get Extension|lateExtensionField1() → core::int
- return let final core::int? #t9 = self::_#Extension|lateExtensionField1 in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t9{core::int};
+ return let final core::int? #t9 = self::_#Extension|lateExtensionField1 in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t9{core::int};
static set Extension|lateExtensionField1(core::int #t10) → void
- if(self::_#Extension|lateExtensionField1.==(null))
+ if(self::_#Extension|lateExtensionField1 == null)
self::_#Extension|lateExtensionField1 = #t10;
else
throw new _in::LateError::fieldAI("lateExtensionField1");
static get Extension|lateExtensionField2() → core::int
- return let final core::int? #t11 = self::_#Extension|lateExtensionField2 in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t11{core::int};
+ return let final core::int? #t11 = self::_#Extension|lateExtensionField2 in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t11{core::int};
static set Extension|lateExtensionField2(core::int #t12) → void
- if(self::_#Extension|lateExtensionField2.==(null))
+ if(self::_#Extension|lateExtensionField2 == null)
self::_#Extension|lateExtensionField2 = #t12;
else
throw new _in::LateError::fieldAI("lateExtensionField2");
@@ -93,7 +93,7 @@
self::expect(87, self::Class::lateStaticField1);
self::throws(() → core::int => self::Class::lateStaticField1 = 88, "Write value to initialized Class.lateStaticField1");
self::Class::staticMethod();
- new self::Class::•().{self::Class::instanceMethod}();
+ new self::Class::•().{self::Class::instanceMethod}(){() → dynamic};
self::throws(() → core::int => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
@@ -101,13 +101,13 @@
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.expect
index e2db739..b24630c 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.expect
@@ -47,9 +47,9 @@
this.{self::Class::_#Class#lateInstanceField} = #t6;
}
method instanceMethod() → dynamic {
- self::throws(() → core::int => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
self::throws(() → core::int => this.{self::Class::lateInstanceField} = 17, "Write value to initialized Class.lateInstanceField");
}
}
@@ -113,7 +113,7 @@
self::expect(87, self::Class::lateStaticField1);
self::throws(() → core::int => self::Class::lateStaticField1 = 88, "Write value to initialized Class.lateStaticField1");
self::Class::staticMethod();
- new self::Class::•().{self::Class::instanceMethod}();
+ new self::Class::•().{self::Class::instanceMethod}(){() → dynamic};
self::throws(() → core::int => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
@@ -121,13 +121,13 @@
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.transformed.expect
index e2db739..b24630c 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.transformed.expect
@@ -47,9 +47,9 @@
this.{self::Class::_#Class#lateInstanceField} = #t6;
}
method instanceMethod() → dynamic {
- self::throws(() → core::int => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int});
self::throws(() → core::int => this.{self::Class::lateInstanceField} = 17, "Write value to initialized Class.lateInstanceField");
}
}
@@ -113,7 +113,7 @@
self::expect(87, self::Class::lateStaticField1);
self::throws(() → core::int => self::Class::lateStaticField1 = 88, "Write value to initialized Class.lateStaticField1");
self::Class::staticMethod();
- new self::Class::•().{self::Class::instanceMethod}();
+ new self::Class::•().{self::Class::instanceMethod}(){() → dynamic};
self::throws(() → core::int => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
@@ -121,13 +121,13 @@
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.strong.expect
index b219a6f..76b2806 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.strong.expect
@@ -10,9 +10,9 @@
}
lowered final core::int? #lateLocal;
function #lateLocal#get() → core::int
- return let final core::int? #t1 = #lateLocal in #t1.==(null) ?{core::int} let final core::int #t2 = initLateLocal.call(123) in #lateLocal.==(null) ?{core::int} #lateLocal = #t2 : throw new _in::LateError::localADI("lateLocal") : #t1{core::int};
+ return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} let final core::int #t2 = initLateLocal(123){(core::int) → core::int} in #lateLocal == null ?{core::int} #lateLocal = #t2 : throw new _in::LateError::localADI("lateLocal") : #t1{core::int};
self::expect(null, lateLocalInit);
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int});
self::expect(123, lateLocalInit);
function local<T extends core::Object? = dynamic>(T% value) → Null {
T? lateGenericLocalInit;
@@ -23,7 +23,7 @@
lowered core::bool #lateGenericLocal#isSet = false;
function #lateGenericLocal#get() → T% {
if(!#lateGenericLocal#isSet) {
- final T% #t3 = initLateGenericLocal.call(value);
+ final T% #t3 = initLateGenericLocal(value){(T%) → T%};
if(#lateGenericLocal#isSet)
throw new _in::LateError::localADI("lateGenericLocal");
#lateGenericLocal = #t3;
@@ -32,14 +32,14 @@
return #lateGenericLocal{T%};
}
self::expect(null, lateGenericLocalInit);
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#get(){() → T%});
self::expect(value, lateGenericLocalInit);
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.strong.transformed.expect
index b219a6f..76b2806 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.strong.transformed.expect
@@ -10,9 +10,9 @@
}
lowered final core::int? #lateLocal;
function #lateLocal#get() → core::int
- return let final core::int? #t1 = #lateLocal in #t1.==(null) ?{core::int} let final core::int #t2 = initLateLocal.call(123) in #lateLocal.==(null) ?{core::int} #lateLocal = #t2 : throw new _in::LateError::localADI("lateLocal") : #t1{core::int};
+ return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} let final core::int #t2 = initLateLocal(123){(core::int) → core::int} in #lateLocal == null ?{core::int} #lateLocal = #t2 : throw new _in::LateError::localADI("lateLocal") : #t1{core::int};
self::expect(null, lateLocalInit);
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int});
self::expect(123, lateLocalInit);
function local<T extends core::Object? = dynamic>(T% value) → Null {
T? lateGenericLocalInit;
@@ -23,7 +23,7 @@
lowered core::bool #lateGenericLocal#isSet = false;
function #lateGenericLocal#get() → T% {
if(!#lateGenericLocal#isSet) {
- final T% #t3 = initLateGenericLocal.call(value);
+ final T% #t3 = initLateGenericLocal(value){(T%) → T%};
if(#lateGenericLocal#isSet)
throw new _in::LateError::localADI("lateGenericLocal");
#lateGenericLocal = #t3;
@@ -32,14 +32,14 @@
return #lateGenericLocal{T%};
}
self::expect(null, lateGenericLocalInit);
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#get(){() → T%});
self::expect(value, lateGenericLocalInit);
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.expect
index fd2146f..49e5b26 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.expect
@@ -12,7 +12,7 @@
lowered core::bool #lateLocal#isSet = false;
function #lateLocal#get() → core::int {
if(!#lateLocal#isSet) {
- final core::int #t1 = initLateLocal.call(123);
+ final core::int #t1 = initLateLocal(123){(core::int) → core::int};
if(#lateLocal#isSet)
throw new _in::LateError::localADI("lateLocal");
#lateLocal = #t1;
@@ -21,7 +21,7 @@
return #lateLocal{core::int};
}
self::expect(null, lateLocalInit);
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int});
self::expect(123, lateLocalInit);
function local<T extends core::Object? = dynamic>(T% value) → Null {
T? lateGenericLocalInit;
@@ -32,7 +32,7 @@
lowered core::bool #lateGenericLocal#isSet = false;
function #lateGenericLocal#get() → T% {
if(!#lateGenericLocal#isSet) {
- final T% #t2 = initLateGenericLocal.call(value);
+ final T% #t2 = initLateGenericLocal(value){(T%) → T%};
if(#lateGenericLocal#isSet)
throw new _in::LateError::localADI("lateGenericLocal");
#lateGenericLocal = #t2;
@@ -41,14 +41,14 @@
return #lateGenericLocal{T%};
}
self::expect(null, lateGenericLocalInit);
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#get(){() → T%});
self::expect(value, lateGenericLocalInit);
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.transformed.expect
index fd2146f..49e5b26 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.transformed.expect
@@ -12,7 +12,7 @@
lowered core::bool #lateLocal#isSet = false;
function #lateLocal#get() → core::int {
if(!#lateLocal#isSet) {
- final core::int #t1 = initLateLocal.call(123);
+ final core::int #t1 = initLateLocal(123){(core::int) → core::int};
if(#lateLocal#isSet)
throw new _in::LateError::localADI("lateLocal");
#lateLocal = #t1;
@@ -21,7 +21,7 @@
return #lateLocal{core::int};
}
self::expect(null, lateLocalInit);
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int});
self::expect(123, lateLocalInit);
function local<T extends core::Object? = dynamic>(T% value) → Null {
T? lateGenericLocalInit;
@@ -32,7 +32,7 @@
lowered core::bool #lateGenericLocal#isSet = false;
function #lateGenericLocal#get() → T% {
if(!#lateGenericLocal#isSet) {
- final T% #t2 = initLateGenericLocal.call(value);
+ final T% #t2 = initLateGenericLocal(value){(T%) → T%};
if(#lateGenericLocal#isSet)
throw new _in::LateError::localADI("lateGenericLocal");
#lateGenericLocal = #t2;
@@ -41,14 +41,14 @@
return #lateGenericLocal{T%};
}
self::expect(null, lateGenericLocalInit);
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#get(){() → T%});
self::expect(value, lateGenericLocalInit);
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.expect
index 103a9f9..39fa4f1 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.expect
@@ -4,24 +4,24 @@
import "dart:_internal" as _in;
static method main() → dynamic {
- core::bool b = (() → core::bool => false).call();
+ core::bool b = (() → core::bool => false)(){() → core::bool};
lowered final core::int? #lateLocal;
function #lateLocal#get() → core::int
- return let final core::int? #t1 = #lateLocal in #t1.==(null) ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
+ return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
function #lateLocal#set(core::int #t2) → dynamic
- if(#lateLocal.==(null))
+ if(#lateLocal == null)
return #lateLocal = #t2;
else
throw new _in::LateError::localAI("lateLocal");
if(b) {
- #lateLocal#set.call(123);
+ #lateLocal#set(123){(core::int) → dynamic};
}
- self::throws(() → core::int => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
+ self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
if(!b) {
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int});
}
- self::throws(() → core::int => #lateLocal#set.call(124), "Write value to initialized lateLocal");
+ self::throws(() → core::int => #lateLocal#set(124){(core::int) → dynamic}, "Write value to initialized lateLocal");
function local<T extends core::Object? = dynamic>(T% value) → Null {
lowered final T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -35,27 +35,27 @@
return #lateGenericLocal = #t3;
}
if(b) {
- #lateGenericLocal#set.call(value);
+ #lateGenericLocal#set(value){(T%) → dynamic};
}
- self::throws(() → T% => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
+ self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
if(!b) {
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T%});
}
- self::throws(() → T% => #lateGenericLocal#set.call(value), "Write value to initialized lateGenericLocal");
+ self::throws(() → T% => #lateGenericLocal#set(value){(T%) → dynamic}, "Write value to initialized lateGenericLocal");
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.transformed.expect
index 103a9f9..39fa4f1 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.transformed.expect
@@ -4,24 +4,24 @@
import "dart:_internal" as _in;
static method main() → dynamic {
- core::bool b = (() → core::bool => false).call();
+ core::bool b = (() → core::bool => false)(){() → core::bool};
lowered final core::int? #lateLocal;
function #lateLocal#get() → core::int
- return let final core::int? #t1 = #lateLocal in #t1.==(null) ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
+ return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
function #lateLocal#set(core::int #t2) → dynamic
- if(#lateLocal.==(null))
+ if(#lateLocal == null)
return #lateLocal = #t2;
else
throw new _in::LateError::localAI("lateLocal");
if(b) {
- #lateLocal#set.call(123);
+ #lateLocal#set(123){(core::int) → dynamic};
}
- self::throws(() → core::int => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
+ self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
if(!b) {
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int});
}
- self::throws(() → core::int => #lateLocal#set.call(124), "Write value to initialized lateLocal");
+ self::throws(() → core::int => #lateLocal#set(124){(core::int) → dynamic}, "Write value to initialized lateLocal");
function local<T extends core::Object? = dynamic>(T% value) → Null {
lowered final T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -35,27 +35,27 @@
return #lateGenericLocal = #t3;
}
if(b) {
- #lateGenericLocal#set.call(value);
+ #lateGenericLocal#set(value){(T%) → dynamic};
}
- self::throws(() → T% => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
+ self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
if(!b) {
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T%});
}
- self::throws(() → T% => #lateGenericLocal#set.call(value), "Write value to initialized lateGenericLocal");
+ self::throws(() → T% => #lateGenericLocal#set(value){(T%) → dynamic}, "Write value to initialized lateGenericLocal");
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.expect
index 4ed637a..996032d 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.expect
@@ -4,7 +4,7 @@
import "dart:_internal" as _in;
static method main() → dynamic {
- core::bool b = (() → core::bool => false).call();
+ core::bool b = (() → core::bool => false)(){() → core::bool};
lowered final core::int? #lateLocal;
lowered core::bool #lateLocal#isSet = false;
function #lateLocal#get() → core::int
@@ -17,14 +17,14 @@
return #lateLocal = #t1;
}
if(b) {
- #lateLocal#set.call(123);
+ #lateLocal#set(123){(core::int) → dynamic};
}
- self::throws(() → core::int => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
+ self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
if(!b) {
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int});
}
- self::throws(() → core::int => #lateLocal#set.call(124), "Write value to initialized lateLocal");
+ self::throws(() → core::int => #lateLocal#set(124){(core::int) → dynamic}, "Write value to initialized lateLocal");
function local<T extends core::Object? = dynamic>(T% value) → Null {
lowered final T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -38,27 +38,27 @@
return #lateGenericLocal = #t2;
}
if(b) {
- #lateGenericLocal#set.call(value);
+ #lateGenericLocal#set(value){(T%) → dynamic};
}
- self::throws(() → T% => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
+ self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
if(!b) {
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T%});
}
- self::throws(() → T% => #lateGenericLocal#set.call(value), "Write value to initialized lateGenericLocal");
+ self::throws(() → T% => #lateGenericLocal#set(value){(T%) → dynamic}, "Write value to initialized lateGenericLocal");
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.transformed.expect
index 4ed637a..996032d 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
import "dart:_internal" as _in;
static method main() → dynamic {
- core::bool b = (() → core::bool => false).call();
+ core::bool b = (() → core::bool => false)(){() → core::bool};
lowered final core::int? #lateLocal;
lowered core::bool #lateLocal#isSet = false;
function #lateLocal#get() → core::int
@@ -17,14 +17,14 @@
return #lateLocal = #t1;
}
if(b) {
- #lateLocal#set.call(123);
+ #lateLocal#set(123){(core::int) → dynamic};
}
- self::throws(() → core::int => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
+ self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
if(!b) {
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int});
}
- self::throws(() → core::int => #lateLocal#set.call(124), "Write value to initialized lateLocal");
+ self::throws(() → core::int => #lateLocal#set(124){(core::int) → dynamic}, "Write value to initialized lateLocal");
function local<T extends core::Object? = dynamic>(T% value) → Null {
lowered final T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -38,27 +38,27 @@
return #lateGenericLocal = #t2;
}
if(b) {
- #lateGenericLocal#set.call(value);
+ #lateGenericLocal#set(value){(T%) → dynamic};
}
- self::throws(() → T% => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
+ self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
if(!b) {
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T%});
}
- self::throws(() → T% => #lateGenericLocal#set.call(value), "Write value to initialized lateGenericLocal");
+ self::throws(() → T% => #lateGenericLocal#set(value){(T%) → dynamic}, "Write value to initialized lateGenericLocal");
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.strong.expect
index 705fc46..f4ed7b4 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.strong.expect
@@ -56,7 +56,7 @@
}
get lateInstanceField() → core::int? {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- final core::int? #t3 = this.{self::Class::initLateInstanceField}(16);
+ final core::int? #t3 = this.{self::Class::initLateInstanceField}(16){(core::int) → core::int?};
if(this.{self::Class::_#Class#lateInstanceField#isSet})
throw new _in::LateError::fieldADI("lateInstanceField");
this.{self::Class::_#Class#lateInstanceField} = #t3;
@@ -69,7 +69,7 @@
}
get lateGenericInstanceField() → self::Class::T? {
if(!this.{self::Class::_#Class#lateGenericInstanceField#isSet}) {
- final self::Class::T? #t4 = this.{self::Class::initLateGenericInstanceField}(this.{self::Class::field});
+ final self::Class::T? #t4 = this.{self::Class::initLateGenericInstanceField}(this.{self::Class::field}{self::Class::T?}){(self::Class::T?) → self::Class::T?};
if(this.{self::Class::_#Class#lateGenericInstanceField#isSet})
throw new _in::LateError::fieldADI("lateGenericInstanceField");
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
@@ -78,12 +78,12 @@
return this.{self::Class::_#Class#lateGenericInstanceField};
}
method instanceMethod() → dynamic {
- self::expect(null, this.{self::Class::lateInstanceFieldInit});
- self::expect(16, this.{self::Class::lateInstanceField});
- self::expect(16, this.{self::Class::lateInstanceFieldInit});
- self::expect(null, this.{self::Class::lateGenericInstanceFieldInit});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceFieldInit});
+ self::expect(null, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(null, this.{self::Class::lateGenericInstanceFieldInit}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceFieldInit}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -160,15 +160,15 @@
self::expect(87, self::Class::lateStaticField1);
self::expect(87, self::Class::lateStaticField1Init);
self::Class::staticMethod();
- new self::Class::•<core::int?>(null).{self::Class::instanceMethod}();
- new self::Class::•<core::int?>(0).{self::Class::instanceMethod}();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}();
+ new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(){() → dynamic};
+ new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(){() → dynamic};
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(){() → dynamic};
self::expect(null, self::Extension|lateExtensionField1Init);
self::expect(87, self::Extension|lateExtensionField1);
self::expect(87, self::Extension|lateExtensionField1Init);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.strong.transformed.expect
index 705fc46..f4ed7b4 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.strong.transformed.expect
@@ -56,7 +56,7 @@
}
get lateInstanceField() → core::int? {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- final core::int? #t3 = this.{self::Class::initLateInstanceField}(16);
+ final core::int? #t3 = this.{self::Class::initLateInstanceField}(16){(core::int) → core::int?};
if(this.{self::Class::_#Class#lateInstanceField#isSet})
throw new _in::LateError::fieldADI("lateInstanceField");
this.{self::Class::_#Class#lateInstanceField} = #t3;
@@ -69,7 +69,7 @@
}
get lateGenericInstanceField() → self::Class::T? {
if(!this.{self::Class::_#Class#lateGenericInstanceField#isSet}) {
- final self::Class::T? #t4 = this.{self::Class::initLateGenericInstanceField}(this.{self::Class::field});
+ final self::Class::T? #t4 = this.{self::Class::initLateGenericInstanceField}(this.{self::Class::field}{self::Class::T?}){(self::Class::T?) → self::Class::T?};
if(this.{self::Class::_#Class#lateGenericInstanceField#isSet})
throw new _in::LateError::fieldADI("lateGenericInstanceField");
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
@@ -78,12 +78,12 @@
return this.{self::Class::_#Class#lateGenericInstanceField};
}
method instanceMethod() → dynamic {
- self::expect(null, this.{self::Class::lateInstanceFieldInit});
- self::expect(16, this.{self::Class::lateInstanceField});
- self::expect(16, this.{self::Class::lateInstanceFieldInit});
- self::expect(null, this.{self::Class::lateGenericInstanceFieldInit});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceFieldInit});
+ self::expect(null, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(null, this.{self::Class::lateGenericInstanceFieldInit}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceFieldInit}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -160,15 +160,15 @@
self::expect(87, self::Class::lateStaticField1);
self::expect(87, self::Class::lateStaticField1Init);
self::Class::staticMethod();
- new self::Class::•<core::int?>(null).{self::Class::instanceMethod}();
- new self::Class::•<core::int?>(0).{self::Class::instanceMethod}();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}();
+ new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(){() → dynamic};
+ new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(){() → dynamic};
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(){() → dynamic};
self::expect(null, self::Extension|lateExtensionField1Init);
self::expect(87, self::Extension|lateExtensionField1);
self::expect(87, self::Extension|lateExtensionField1Init);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.expect
index 705fc46..f4ed7b4 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.expect
@@ -56,7 +56,7 @@
}
get lateInstanceField() → core::int? {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- final core::int? #t3 = this.{self::Class::initLateInstanceField}(16);
+ final core::int? #t3 = this.{self::Class::initLateInstanceField}(16){(core::int) → core::int?};
if(this.{self::Class::_#Class#lateInstanceField#isSet})
throw new _in::LateError::fieldADI("lateInstanceField");
this.{self::Class::_#Class#lateInstanceField} = #t3;
@@ -69,7 +69,7 @@
}
get lateGenericInstanceField() → self::Class::T? {
if(!this.{self::Class::_#Class#lateGenericInstanceField#isSet}) {
- final self::Class::T? #t4 = this.{self::Class::initLateGenericInstanceField}(this.{self::Class::field});
+ final self::Class::T? #t4 = this.{self::Class::initLateGenericInstanceField}(this.{self::Class::field}{self::Class::T?}){(self::Class::T?) → self::Class::T?};
if(this.{self::Class::_#Class#lateGenericInstanceField#isSet})
throw new _in::LateError::fieldADI("lateGenericInstanceField");
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
@@ -78,12 +78,12 @@
return this.{self::Class::_#Class#lateGenericInstanceField};
}
method instanceMethod() → dynamic {
- self::expect(null, this.{self::Class::lateInstanceFieldInit});
- self::expect(16, this.{self::Class::lateInstanceField});
- self::expect(16, this.{self::Class::lateInstanceFieldInit});
- self::expect(null, this.{self::Class::lateGenericInstanceFieldInit});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceFieldInit});
+ self::expect(null, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(null, this.{self::Class::lateGenericInstanceFieldInit}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceFieldInit}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -160,15 +160,15 @@
self::expect(87, self::Class::lateStaticField1);
self::expect(87, self::Class::lateStaticField1Init);
self::Class::staticMethod();
- new self::Class::•<core::int?>(null).{self::Class::instanceMethod}();
- new self::Class::•<core::int?>(0).{self::Class::instanceMethod}();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}();
+ new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(){() → dynamic};
+ new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(){() → dynamic};
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(){() → dynamic};
self::expect(null, self::Extension|lateExtensionField1Init);
self::expect(87, self::Extension|lateExtensionField1);
self::expect(87, self::Extension|lateExtensionField1Init);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.transformed.expect
index 705fc46..f4ed7b4 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.transformed.expect
@@ -56,7 +56,7 @@
}
get lateInstanceField() → core::int? {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- final core::int? #t3 = this.{self::Class::initLateInstanceField}(16);
+ final core::int? #t3 = this.{self::Class::initLateInstanceField}(16){(core::int) → core::int?};
if(this.{self::Class::_#Class#lateInstanceField#isSet})
throw new _in::LateError::fieldADI("lateInstanceField");
this.{self::Class::_#Class#lateInstanceField} = #t3;
@@ -69,7 +69,7 @@
}
get lateGenericInstanceField() → self::Class::T? {
if(!this.{self::Class::_#Class#lateGenericInstanceField#isSet}) {
- final self::Class::T? #t4 = this.{self::Class::initLateGenericInstanceField}(this.{self::Class::field});
+ final self::Class::T? #t4 = this.{self::Class::initLateGenericInstanceField}(this.{self::Class::field}{self::Class::T?}){(self::Class::T?) → self::Class::T?};
if(this.{self::Class::_#Class#lateGenericInstanceField#isSet})
throw new _in::LateError::fieldADI("lateGenericInstanceField");
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
@@ -78,12 +78,12 @@
return this.{self::Class::_#Class#lateGenericInstanceField};
}
method instanceMethod() → dynamic {
- self::expect(null, this.{self::Class::lateInstanceFieldInit});
- self::expect(16, this.{self::Class::lateInstanceField});
- self::expect(16, this.{self::Class::lateInstanceFieldInit});
- self::expect(null, this.{self::Class::lateGenericInstanceFieldInit});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceFieldInit});
+ self::expect(null, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
+ self::expect(16, this.{self::Class::lateInstanceFieldInit}{core::int?});
+ self::expect(null, this.{self::Class::lateGenericInstanceFieldInit}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceFieldInit}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -160,15 +160,15 @@
self::expect(87, self::Class::lateStaticField1);
self::expect(87, self::Class::lateStaticField1Init);
self::Class::staticMethod();
- new self::Class::•<core::int?>(null).{self::Class::instanceMethod}();
- new self::Class::•<core::int?>(0).{self::Class::instanceMethod}();
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}();
+ new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(){() → dynamic};
+ new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(){() → dynamic};
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(){() → dynamic};
self::expect(null, self::Extension|lateExtensionField1Init);
self::expect(87, self::Extension|lateExtensionField1);
self::expect(87, self::Extension|lateExtensionField1Init);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.expect
index b107b44..b47d0dd 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.expect
@@ -58,13 +58,13 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::throws(() → core::int? => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
self::throws(() → core::int => this.{self::Class::lateInstanceField} = 17, "Write value to initialized Class.lateInstanceField");
- self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}{self::Class::T?}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField} = value, "Write value to initialized Class.lateGenericInstanceField");
}
}
@@ -128,9 +128,9 @@
self::expect(87, self::Class::lateStaticField1);
self::throws(() → core::int => self::Class::lateStaticField1 = 88, "Write value to initialized Class.lateStaticField1");
self::Class::staticMethod();
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int) → dynamic};
self::throws(() → core::int? => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
@@ -138,13 +138,13 @@
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.transformed.expect
index b107b44..b47d0dd 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.transformed.expect
@@ -58,13 +58,13 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::throws(() → core::int? => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
self::throws(() → core::int => this.{self::Class::lateInstanceField} = 17, "Write value to initialized Class.lateInstanceField");
- self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}{self::Class::T?}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField} = value, "Write value to initialized Class.lateGenericInstanceField");
}
}
@@ -128,9 +128,9 @@
self::expect(87, self::Class::lateStaticField1);
self::throws(() → core::int => self::Class::lateStaticField1 = 88, "Write value to initialized Class.lateStaticField1");
self::Class::staticMethod();
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int) → dynamic};
self::throws(() → core::int? => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
@@ -138,13 +138,13 @@
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.expect
index b107b44..b47d0dd 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.expect
@@ -58,13 +58,13 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::throws(() → core::int? => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
self::throws(() → core::int => this.{self::Class::lateInstanceField} = 17, "Write value to initialized Class.lateInstanceField");
- self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}{self::Class::T?}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField} = value, "Write value to initialized Class.lateGenericInstanceField");
}
}
@@ -128,9 +128,9 @@
self::expect(87, self::Class::lateStaticField1);
self::throws(() → core::int => self::Class::lateStaticField1 = 88, "Write value to initialized Class.lateStaticField1");
self::Class::staticMethod();
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int) → dynamic};
self::throws(() → core::int? => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
@@ -138,13 +138,13 @@
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.transformed.expect
index b107b44..b47d0dd 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.transformed.expect
@@ -58,13 +58,13 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic {
- self::throws(() → core::int? => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
self::throws(() → core::int => this.{self::Class::lateInstanceField} = 17, "Write value to initialized Class.lateInstanceField");
- self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}{self::Class::T?}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
self::throws(() → self::Class::T% => this.{self::Class::lateGenericInstanceField} = value, "Write value to initialized Class.lateGenericInstanceField");
}
}
@@ -128,9 +128,9 @@
self::expect(87, self::Class::lateStaticField1);
self::throws(() → core::int => self::Class::lateStaticField1 = 88, "Write value to initialized Class.lateStaticField1");
self::Class::staticMethod();
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int) → dynamic};
self::throws(() → core::int? => self::Extension|lateExtensionField1, "Read value from uninitialized Extension.lateExtensionField1");
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
@@ -138,13 +138,13 @@
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.strong.expect
index d2e95b9..9d9501d 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.strong.expect
@@ -12,7 +12,7 @@
lowered core::bool #lateLocal#isSet = false;
function #lateLocal#get() → core::int? {
if(!#lateLocal#isSet) {
- final core::int? #t1 = initLateLocal.call(123);
+ final core::int? #t1 = initLateLocal(123){(core::int?) → core::int?};
if(#lateLocal#isSet)
throw new _in::LateError::localADI("lateLocal");
#lateLocal = #t1;
@@ -21,7 +21,7 @@
return #lateLocal;
}
self::expect(null, lateLocalInit);
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int?});
self::expect(123, lateLocalInit);
function local<T extends core::Object? = dynamic>(T? value) → Null {
T? lateGenericLocalInit;
@@ -32,7 +32,7 @@
lowered core::bool #lateGenericLocal#isSet = false;
function #lateGenericLocal#get() → T? {
if(!#lateGenericLocal#isSet) {
- final T? #t2 = initLateGenericLocal.call(value);
+ final T? #t2 = initLateGenericLocal(value){(T?) → T?};
if(#lateGenericLocal#isSet)
throw new _in::LateError::localADI("lateGenericLocal");
#lateGenericLocal = #t2;
@@ -41,14 +41,14 @@
return #lateGenericLocal;
}
self::expect(null, lateGenericLocalInit);
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#get(){() → T?});
self::expect(value, lateGenericLocalInit);
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.strong.transformed.expect
index d2e95b9..9d9501d 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.strong.transformed.expect
@@ -12,7 +12,7 @@
lowered core::bool #lateLocal#isSet = false;
function #lateLocal#get() → core::int? {
if(!#lateLocal#isSet) {
- final core::int? #t1 = initLateLocal.call(123);
+ final core::int? #t1 = initLateLocal(123){(core::int?) → core::int?};
if(#lateLocal#isSet)
throw new _in::LateError::localADI("lateLocal");
#lateLocal = #t1;
@@ -21,7 +21,7 @@
return #lateLocal;
}
self::expect(null, lateLocalInit);
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int?});
self::expect(123, lateLocalInit);
function local<T extends core::Object? = dynamic>(T? value) → Null {
T? lateGenericLocalInit;
@@ -32,7 +32,7 @@
lowered core::bool #lateGenericLocal#isSet = false;
function #lateGenericLocal#get() → T? {
if(!#lateGenericLocal#isSet) {
- final T? #t2 = initLateGenericLocal.call(value);
+ final T? #t2 = initLateGenericLocal(value){(T?) → T?};
if(#lateGenericLocal#isSet)
throw new _in::LateError::localADI("lateGenericLocal");
#lateGenericLocal = #t2;
@@ -41,14 +41,14 @@
return #lateGenericLocal;
}
self::expect(null, lateGenericLocalInit);
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#get(){() → T?});
self::expect(value, lateGenericLocalInit);
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.expect
index d2e95b9..9d9501d 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.expect
@@ -12,7 +12,7 @@
lowered core::bool #lateLocal#isSet = false;
function #lateLocal#get() → core::int? {
if(!#lateLocal#isSet) {
- final core::int? #t1 = initLateLocal.call(123);
+ final core::int? #t1 = initLateLocal(123){(core::int?) → core::int?};
if(#lateLocal#isSet)
throw new _in::LateError::localADI("lateLocal");
#lateLocal = #t1;
@@ -21,7 +21,7 @@
return #lateLocal;
}
self::expect(null, lateLocalInit);
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int?});
self::expect(123, lateLocalInit);
function local<T extends core::Object? = dynamic>(T? value) → Null {
T? lateGenericLocalInit;
@@ -32,7 +32,7 @@
lowered core::bool #lateGenericLocal#isSet = false;
function #lateGenericLocal#get() → T? {
if(!#lateGenericLocal#isSet) {
- final T? #t2 = initLateGenericLocal.call(value);
+ final T? #t2 = initLateGenericLocal(value){(T?) → T?};
if(#lateGenericLocal#isSet)
throw new _in::LateError::localADI("lateGenericLocal");
#lateGenericLocal = #t2;
@@ -41,14 +41,14 @@
return #lateGenericLocal;
}
self::expect(null, lateGenericLocalInit);
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#get(){() → T?});
self::expect(value, lateGenericLocalInit);
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.transformed.expect
index d2e95b9..9d9501d 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.transformed.expect
@@ -12,7 +12,7 @@
lowered core::bool #lateLocal#isSet = false;
function #lateLocal#get() → core::int? {
if(!#lateLocal#isSet) {
- final core::int? #t1 = initLateLocal.call(123);
+ final core::int? #t1 = initLateLocal(123){(core::int?) → core::int?};
if(#lateLocal#isSet)
throw new _in::LateError::localADI("lateLocal");
#lateLocal = #t1;
@@ -21,7 +21,7 @@
return #lateLocal;
}
self::expect(null, lateLocalInit);
- self::expect(123, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int?});
self::expect(123, lateLocalInit);
function local<T extends core::Object? = dynamic>(T? value) → Null {
T? lateGenericLocalInit;
@@ -32,7 +32,7 @@
lowered core::bool #lateGenericLocal#isSet = false;
function #lateGenericLocal#get() → T? {
if(!#lateGenericLocal#isSet) {
- final T? #t2 = initLateGenericLocal.call(value);
+ final T? #t2 = initLateGenericLocal(value){(T?) → T?};
if(#lateGenericLocal#isSet)
throw new _in::LateError::localADI("lateGenericLocal");
#lateGenericLocal = #t2;
@@ -41,14 +41,14 @@
return #lateGenericLocal;
}
self::expect(null, lateGenericLocalInit);
- self::expect(value, #lateGenericLocal#get.call());
+ self::expect(value, #lateGenericLocal#get(){() → T?});
self::expect(value, lateGenericLocalInit);
}
- local.call<core::int?>(null);
- local.call<core::int?>(42);
- local.call<core::int>(42);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(42){(core::int?) → Null};
+ local<core::int>(42){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.expect
index 9fa00df..23b5b00 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.expect
@@ -15,12 +15,12 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int? => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- if(1.{core::num::==}(1)) {
- self::expect(123, #lateLocal#set.call(123));
+ self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
+ if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
+ self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
}
- self::expect(123, #lateLocal#get.call());
- self::throws(() → core::int => #lateLocal#set.call(124), "Write value to initialized lateLocal");
+ self::expect(123, #lateLocal#get(){() → core::int?});
+ self::throws(() → core::int => #lateLocal#set(124){(core::int?) → dynamic}, "Write value to initialized lateLocal");
function local<T extends core::Object? = dynamic>(T? value) → Null {
lowered final T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -33,26 +33,26 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T? => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- if(1.{core::num::==}(1)) {
- self::expect(value, #lateGenericLocal#set.call(value));
+ self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
+ if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
+ self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
}
- self::expect(value, #lateGenericLocal#get.call());
- self::throws(() → T? => #lateGenericLocal#set.call(value), "Write value to initialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#get(){() → T?});
+ self::throws(() → T? => #lateGenericLocal#set(value){(T?) → dynamic}, "Write value to initialized lateGenericLocal");
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(null);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(null){(core::int?) → Null};
+ local<core::int>(0){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.transformed.expect
index b844175..024f237 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.transformed.expect
@@ -15,12 +15,12 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int? => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- if(1.{core::num::==}(1)) {
- self::expect(123, #lateLocal#set.call(123));
+ self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
+ if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
+ self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
}
- self::expect(123, #lateLocal#get.call());
- self::throws(() → core::int => #lateLocal#set.call(124), "Write value to initialized lateLocal");
+ self::expect(123, #lateLocal#get(){() → core::int?});
+ self::throws(() → core::int => #lateLocal#set(124){(core::int?) → dynamic}, "Write value to initialized lateLocal");
function local<T extends core::Object? = dynamic>(T? value) → Null {
lowered final T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -33,26 +33,26 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T? => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- if(1.{core::num::==}(1)) {
- self::expect(value, #lateGenericLocal#set.call(value));
+ self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
+ if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
+ self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
}
- self::expect(value, #lateGenericLocal#get.call());
- self::throws(() → T? => #lateGenericLocal#set.call(value), "Write value to initialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#get(){() → T?});
+ self::throws(() → T? => #lateGenericLocal#set(value){(T?) → dynamic}, "Write value to initialized lateGenericLocal");
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(null);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(null){(core::int?) → Null};
+ local<core::int>(0){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
@@ -63,6 +63,6 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///late_final_nullable_local_without_initializer.dart:12:9 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///late_final_nullable_local_without_initializer.dart:26:11 -> BoolConstant(true)
-Extra constant evaluation: evaluated: 81, effectively constant: 2
+Evaluated: EqualsCall @ org-dartlang-testcase:///late_final_nullable_local_without_initializer.dart:12:9 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///late_final_nullable_local_without_initializer.dart:26:11 -> BoolConstant(true)
+Extra constant evaluation: evaluated: 69, effectively constant: 2
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.expect
index 9fa00df..23b5b00 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.expect
@@ -15,12 +15,12 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int? => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- if(1.{core::num::==}(1)) {
- self::expect(123, #lateLocal#set.call(123));
+ self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
+ if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
+ self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
}
- self::expect(123, #lateLocal#get.call());
- self::throws(() → core::int => #lateLocal#set.call(124), "Write value to initialized lateLocal");
+ self::expect(123, #lateLocal#get(){() → core::int?});
+ self::throws(() → core::int => #lateLocal#set(124){(core::int?) → dynamic}, "Write value to initialized lateLocal");
function local<T extends core::Object? = dynamic>(T? value) → Null {
lowered final T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -33,26 +33,26 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T? => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- if(1.{core::num::==}(1)) {
- self::expect(value, #lateGenericLocal#set.call(value));
+ self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
+ if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
+ self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
}
- self::expect(value, #lateGenericLocal#get.call());
- self::throws(() → T? => #lateGenericLocal#set.call(value), "Write value to initialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#get(){() → T?});
+ self::throws(() → T? => #lateGenericLocal#set(value){(T?) → dynamic}, "Write value to initialized lateGenericLocal");
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(null);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(null){(core::int?) → Null};
+ local<core::int>(0){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.transformed.expect
index b844175..024f237 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.transformed.expect
@@ -15,12 +15,12 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int? => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- if(1.{core::num::==}(1)) {
- self::expect(123, #lateLocal#set.call(123));
+ self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
+ if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
+ self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
}
- self::expect(123, #lateLocal#get.call());
- self::throws(() → core::int => #lateLocal#set.call(124), "Write value to initialized lateLocal");
+ self::expect(123, #lateLocal#get(){() → core::int?});
+ self::throws(() → core::int => #lateLocal#set(124){(core::int?) → dynamic}, "Write value to initialized lateLocal");
function local<T extends core::Object? = dynamic>(T? value) → Null {
lowered final T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -33,26 +33,26 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T? => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- if(1.{core::num::==}(1)) {
- self::expect(value, #lateGenericLocal#set.call(value));
+ self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
+ if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
+ self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
}
- self::expect(value, #lateGenericLocal#get.call());
- self::throws(() → T? => #lateGenericLocal#set.call(value), "Write value to initialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#get(){() → T?});
+ self::throws(() → T? => #lateGenericLocal#set(value){(T?) → dynamic}, "Write value to initialized lateGenericLocal");
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(null);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(null){(core::int?) → Null};
+ local<core::int>(0){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
@@ -63,6 +63,6 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///late_final_nullable_local_without_initializer.dart:12:9 -> BoolConstant(true)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///late_final_nullable_local_without_initializer.dart:26:11 -> BoolConstant(true)
-Extra constant evaluation: evaluated: 81, effectively constant: 2
+Evaluated: EqualsCall @ org-dartlang-testcase:///late_final_nullable_local_without_initializer.dart:12:9 -> BoolConstant(true)
+Evaluated: EqualsCall @ org-dartlang-testcase:///late_final_nullable_local_without_initializer.dart:26:11 -> BoolConstant(true)
+Extra constant evaluation: evaluated: 69, effectively constant: 2
diff --git a/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.expect
index 2a49ff2..e6f3126 100644
--- a/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.expect
@@ -150,7 +150,7 @@
self::_#field3 = #t14;
}
static get field4() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t15 = self::_#field4 in #t15.==(null) ?{FutureOr<core::int>} self::_#field4 = self::method4() : #t15{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t15 = self::_#field4 in #t15 == null ?{FutureOr<core::int>} self::_#field4 = self::method4() : #t15{FutureOr<core::int>};
static set field4(FutureOr<core::int>#t16) → void
self::_#field4 = #t16;
static get field5() → FutureOr<core::int?> {
diff --git a/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.transformed.expect
index 2a49ff2..e6f3126 100644
--- a/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.transformed.expect
@@ -150,7 +150,7 @@
self::_#field3 = #t14;
}
static get field4() → FutureOr<core::int>
- return let final FutureOr<core::int>? #t15 = self::_#field4 in #t15.==(null) ?{FutureOr<core::int>} self::_#field4 = self::method4() : #t15{FutureOr<core::int>};
+ return let final FutureOr<core::int>? #t15 = self::_#field4 in #t15 == null ?{FutureOr<core::int>} self::_#field4 = self::method4() : #t15{FutureOr<core::int>};
static set field4(FutureOr<core::int>#t16) → void
self::_#field4 = #t16;
static get field5() → FutureOr<core::int?> {
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.expect
index 77cb4ba..3e73dd7 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.expect
@@ -5,12 +5,12 @@
static method main() → dynamic {
lowered core::int? #lateLocal;
function #lateLocal#get() → core::int
- return let final core::int? #t1 = #lateLocal in #t1.==(null) ?{core::int} #lateLocal = 123 : #t1{core::int};
+ return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} #lateLocal = 123 : #t1{core::int};
function #lateLocal#set(core::int #t2) → dynamic
return #lateLocal = #t2;
- self::expect(123, #lateLocal#get.call());
- self::expect(124, #lateLocal#set.call(124));
- self::expect(124, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int});
+ self::expect(124, #lateLocal#set(124){(core::int) → dynamic});
+ self::expect(124, #lateLocal#get(){() → core::int});
function local<T extends core::Object? = dynamic>(T% value1, T% value2) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -25,15 +25,15 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t3;
}
- self::expect(value1, #lateGenericLocal#get.call());
- self::expect(value2, #lateGenericLocal#set.call(value2));
- self::expect(value2, #lateGenericLocal#get.call());
+ self::expect(value1, #lateGenericLocal#get(){() → T%});
+ self::expect(value2, #lateGenericLocal#set(value2){(T%) → dynamic});
+ self::expect(value2, #lateGenericLocal#get(){() → T%});
}
- local.call<core::int?>(null, 0);
- local.call<core::int?>(0, null);
- local.call<core::int>(0, 42);
+ local<core::int?>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int?>(0, null){(core::int?, core::int?) → Null};
+ local<core::int>(0, 42){(core::int, core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.transformed.expect
index 77cb4ba..3e73dd7 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.transformed.expect
@@ -5,12 +5,12 @@
static method main() → dynamic {
lowered core::int? #lateLocal;
function #lateLocal#get() → core::int
- return let final core::int? #t1 = #lateLocal in #t1.==(null) ?{core::int} #lateLocal = 123 : #t1{core::int};
+ return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} #lateLocal = 123 : #t1{core::int};
function #lateLocal#set(core::int #t2) → dynamic
return #lateLocal = #t2;
- self::expect(123, #lateLocal#get.call());
- self::expect(124, #lateLocal#set.call(124));
- self::expect(124, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int});
+ self::expect(124, #lateLocal#set(124){(core::int) → dynamic});
+ self::expect(124, #lateLocal#get(){() → core::int});
function local<T extends core::Object? = dynamic>(T% value1, T% value2) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -25,15 +25,15 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t3;
}
- self::expect(value1, #lateGenericLocal#get.call());
- self::expect(value2, #lateGenericLocal#set.call(value2));
- self::expect(value2, #lateGenericLocal#get.call());
+ self::expect(value1, #lateGenericLocal#get(){() → T%});
+ self::expect(value2, #lateGenericLocal#set(value2){(T%) → dynamic});
+ self::expect(value2, #lateGenericLocal#get(){() → T%});
}
- local.call<core::int?>(null, 0);
- local.call<core::int?>(0, null);
- local.call<core::int>(0, 42);
+ local<core::int?>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int?>(0, null){(core::int?, core::int?) → Null};
+ local<core::int>(0, 42){(core::int, core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.expect
index 8942212..caa8e52 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.expect
@@ -16,9 +16,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::expect(123, #lateLocal#get.call());
- self::expect(124, #lateLocal#set.call(124));
- self::expect(124, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int});
+ self::expect(124, #lateLocal#set(124){(core::int) → dynamic});
+ self::expect(124, #lateLocal#get(){() → core::int});
function local<T extends core::Object? = dynamic>(T% value1, T% value2) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -33,15 +33,15 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::expect(value1, #lateGenericLocal#get.call());
- self::expect(value2, #lateGenericLocal#set.call(value2));
- self::expect(value2, #lateGenericLocal#get.call());
+ self::expect(value1, #lateGenericLocal#get(){() → T%});
+ self::expect(value2, #lateGenericLocal#set(value2){(T%) → dynamic});
+ self::expect(value2, #lateGenericLocal#get(){() → T%});
}
- local.call<core::int?>(null, 0);
- local.call<core::int?>(0, null);
- local.call<core::int>(0, 42);
+ local<core::int?>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int?>(0, null){(core::int?, core::int?) → Null};
+ local<core::int>(0, 42){(core::int, core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.transformed.expect
index 8942212..caa8e52 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.transformed.expect
@@ -16,9 +16,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::expect(123, #lateLocal#get.call());
- self::expect(124, #lateLocal#set.call(124));
- self::expect(124, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int});
+ self::expect(124, #lateLocal#set(124){(core::int) → dynamic});
+ self::expect(124, #lateLocal#get(){() → core::int});
function local<T extends core::Object? = dynamic>(T% value1, T% value2) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -33,15 +33,15 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::expect(value1, #lateGenericLocal#get.call());
- self::expect(value2, #lateGenericLocal#set.call(value2));
- self::expect(value2, #lateGenericLocal#get.call());
+ self::expect(value1, #lateGenericLocal#get(){() → T%});
+ self::expect(value2, #lateGenericLocal#set(value2){(T%) → dynamic});
+ self::expect(value2, #lateGenericLocal#get(){() → T%});
}
- local.call<core::int?>(null, 0);
- local.call<core::int?>(0, null);
- local.call<core::int>(0, 42);
+ local<core::int?>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int?>(0, null){(core::int?, core::int?) → Null};
+ local<core::int>(0, 42){(core::int, core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.expect
index 40781ea..1269386 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.expect
@@ -6,12 +6,12 @@
static method main() → dynamic {
lowered core::int? #lateLocal;
function #lateLocal#get() → core::int
- return let final core::int? #t1 = #lateLocal in #t1.==(null) ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
+ return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
function #lateLocal#set(core::int #t2) → dynamic
return #lateLocal = #t2;
- self::throws(() → core::int => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
+ self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int});
function local<T extends core::Object? = dynamic>(T% value) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -21,22 +21,22 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t3;
}
- self::throws(() → T% => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T%});
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(0){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.transformed.expect
index 40781ea..1269386 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.transformed.expect
@@ -6,12 +6,12 @@
static method main() → dynamic {
lowered core::int? #lateLocal;
function #lateLocal#get() → core::int
- return let final core::int? #t1 = #lateLocal in #t1.==(null) ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
+ return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
function #lateLocal#set(core::int #t2) → dynamic
return #lateLocal = #t2;
- self::throws(() → core::int => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
+ self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int});
function local<T extends core::Object? = dynamic>(T% value) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -21,22 +21,22 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t3;
}
- self::throws(() → T% => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T%});
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(0){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.expect
index 237c5ac..aa3df9d 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.expect
@@ -12,9 +12,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
+ self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int});
function local<T extends core::Object? = dynamic>(T% value) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -24,22 +24,22 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T% => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T%});
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(0){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.transformed.expect
index 237c5ac..aa3df9d 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.transformed.expect
@@ -12,9 +12,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
+ self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int});
function local<T extends core::Object? = dynamic>(T% value) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -24,22 +24,22 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T% => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T%});
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(0){(core::int) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.expect
index b8d325b..af5acbd 100644
--- a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.expect
@@ -16,39 +16,39 @@
: super core::Object::•()
;
static get uninitializedNonFinalStaticField() → core::int
- return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
static set uninitializedNonFinalStaticField(core::int #t2) → void
self::Class::_#uninitializedNonFinalStaticField = #t2;
static get uninitializedFinalStaticField() → core::int
- return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
static set uninitializedFinalStaticField(core::int #t4) → void
- if(self::Class::_#uninitializedFinalStaticField.==(null))
+ if(self::Class::_#uninitializedFinalStaticField == null)
self::Class::_#uninitializedFinalStaticField = #t4;
else
throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
static get initializedNonFinalStaticField() → core::int
- return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5.==(null) ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
+ return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
static set initializedNonFinalStaticField(core::int #t6) → void
self::Class::_#initializedNonFinalStaticField = #t6;
static get initializedFinalStaticField() → core::int
- return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7.==(null) ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField.==(null) ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
+ return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7 == null ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
get uninitializedNonFinalInstanceField() → core::int
- return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField} in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField") : #t9{core::int};
+ return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField") : #t9{core::int};
set uninitializedNonFinalInstanceField(core::int #t10) → void
this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = #t10;
get uninitializedFinalInstanceField() → core::int
- return let final core::int? #t11 = this.{self::Class::_#Class#uninitializedFinalInstanceField} in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t11{core::int};
+ return let final core::int? #t11 = this.{self::Class::_#Class#uninitializedFinalInstanceField} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t11{core::int};
set uninitializedFinalInstanceField(core::int #t12) → void
- if(this.{self::Class::_#Class#uninitializedFinalInstanceField}.==(null))
+ if(this.{self::Class::_#Class#uninitializedFinalInstanceField} == null)
this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t12;
else
throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
get initializedNonFinalInstanceField() → core::int
- return let final core::int? #t13 = this.{self::Class::_#Class#initializedNonFinalInstanceField} in #t13.==(null) ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t13{core::int};
+ return let final core::int? #t13 = this.{self::Class::_#Class#initializedNonFinalInstanceField} in #t13 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t13{core::int};
set initializedNonFinalInstanceField(core::int #t14) → void
this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t14;
get initializedFinalInstanceField() → core::int
- return let final core::int? #t15 = this.{self::Class::_#Class#initializedFinalInstanceField} in #t15.==(null) ?{core::int} let final core::int #t16 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t16 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t15{core::int};
+ return let final core::int? #t15 = this.{self::Class::_#Class#initializedFinalInstanceField} in #t15 == null ?{core::int} let final core::int #t16 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t16 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t15{core::int};
}
static field core::int? _#uninitializedNonFinalTopLevelField = null;
static field core::int? _#uninitializedFinalTopLevelField = null;
@@ -66,7 +66,7 @@
}
lowered core::int? #nonNullableUninitializedNonFinalLocal;
function #nonNullableUninitializedNonFinalLocal#get() → core::int
- return let final core::int? #t18 = #nonNullableUninitializedNonFinalLocal in #t18.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t18{core::int};
+ return let final core::int? #t18 = #nonNullableUninitializedNonFinalLocal in #t18 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t18{core::int};
function #nonNullableUninitializedNonFinalLocal#set(core::int #t19) → dynamic
return #nonNullableUninitializedNonFinalLocal = #t19;
lowered final core::int? #nullableUninitializedFinalLocal;
@@ -82,9 +82,9 @@
}
lowered final core::int? #nonNullableUninitializedFinalLocal;
function #nonNullableUninitializedFinalLocal#get() → core::int
- return let final core::int? #t21 = #nonNullableUninitializedFinalLocal in #t21.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t21{core::int};
+ return let final core::int? #t21 = #nonNullableUninitializedFinalLocal in #t21 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t21{core::int};
function #nonNullableUninitializedFinalLocal#set(core::int #t22) → dynamic
- if(#nonNullableUninitializedFinalLocal.==(null))
+ if(#nonNullableUninitializedFinalLocal == null)
return #nonNullableUninitializedFinalLocal = #t22;
else
throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
@@ -103,7 +103,7 @@
}
lowered core::int? #nonNullableInitializedNonFinalLocal;
function #nonNullableInitializedNonFinalLocal#get() → core::int
- return let final core::int? #t24 = #nonNullableInitializedNonFinalLocal in #t24.==(null) ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t24{core::int};
+ return let final core::int? #t24 = #nonNullableInitializedNonFinalLocal in #t24 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t24{core::int};
function #nonNullableInitializedNonFinalLocal#set(core::int #t25) → dynamic
return #nonNullableInitializedNonFinalLocal = #t25;
lowered final core::int? #nullableInitializedFinalLocal;
@@ -120,22 +120,22 @@
}
lowered final core::int? #nonNullableInitializedFinalLocal;
function #nonNullableInitializedFinalLocal#get() → core::int
- return let final core::int? #t27 = #nonNullableInitializedFinalLocal in #t27.==(null) ?{core::int} let final core::int #t28 = 0 in #nonNullableInitializedFinalLocal.==(null) ?{core::int} #nonNullableInitializedFinalLocal = #t28 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t27{core::int};
+ return let final core::int? #t27 = #nonNullableInitializedFinalLocal in #t27 == null ?{core::int} let final core::int #t28 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t28 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t27{core::int};
}
static get uninitializedNonFinalTopLevelField() → core::int
- return let final core::int? #t29 = self::_#uninitializedNonFinalTopLevelField in #t29.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t29{core::int};
+ return let final core::int? #t29 = self::_#uninitializedNonFinalTopLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t29{core::int};
static set uninitializedNonFinalTopLevelField(core::int #t30) → void
self::_#uninitializedNonFinalTopLevelField = #t30;
static get uninitializedFinalTopLevelField() → core::int
- return let final core::int? #t31 = self::_#uninitializedFinalTopLevelField in #t31.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t31{core::int};
+ return let final core::int? #t31 = self::_#uninitializedFinalTopLevelField in #t31 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t31{core::int};
static set uninitializedFinalTopLevelField(core::int #t32) → void
- if(self::_#uninitializedFinalTopLevelField.==(null))
+ if(self::_#uninitializedFinalTopLevelField == null)
self::_#uninitializedFinalTopLevelField = #t32;
else
throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
static get initializedNonFinalTopLevelField() → core::int
- return let final core::int? #t33 = self::_#initializedNonFinalTopLevelField in #t33.==(null) ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t33{core::int};
+ return let final core::int? #t33 = self::_#initializedNonFinalTopLevelField in #t33 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t33{core::int};
static set initializedNonFinalTopLevelField(core::int #t34) → void
self::_#initializedNonFinalTopLevelField = #t34;
static get initializedFinalTopLevelField() → core::int
- return let final core::int? #t35 = self::_#initializedFinalTopLevelField in #t35.==(null) ?{core::int} let final core::int #t36 = 0 in self::_#initializedFinalTopLevelField.==(null) ?{core::int} self::_#initializedFinalTopLevelField = #t36 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t35{core::int};
+ return let final core::int? #t35 = self::_#initializedFinalTopLevelField in #t35 == null ?{core::int} let final core::int #t36 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t36 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t35{core::int};
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.transformed.expect
index dd059f5..3d43dd6 100644
--- a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.transformed.expect
@@ -16,39 +16,39 @@
: super core::Object::•()
;
static get uninitializedNonFinalStaticField() → core::int
- return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
static set uninitializedNonFinalStaticField(core::int #t2) → void
self::Class::_#uninitializedNonFinalStaticField = #t2;
static get uninitializedFinalStaticField() → core::int
- return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
static set uninitializedFinalStaticField(core::int #t4) → void
- if(self::Class::_#uninitializedFinalStaticField.==(null))
+ if(self::Class::_#uninitializedFinalStaticField == null)
self::Class::_#uninitializedFinalStaticField = #t4;
else
throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
static get initializedNonFinalStaticField() → core::int
- return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5.==(null) ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
+ return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
static set initializedNonFinalStaticField(core::int #t6) → void
self::Class::_#initializedNonFinalStaticField = #t6;
static get initializedFinalStaticField() → core::int
- return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7.==(null) ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField.==(null) ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
+ return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7 == null ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
get uninitializedNonFinalInstanceField() → core::int
- return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField} in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField") : #t9{core::int};
+ return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField") : #t9{core::int};
set uninitializedNonFinalInstanceField(core::int #t10) → void
this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = #t10;
get uninitializedFinalInstanceField() → core::int
- return let final core::int? #t11 = this.{self::Class::_#Class#uninitializedFinalInstanceField} in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t11{core::int};
+ return let final core::int? #t11 = this.{self::Class::_#Class#uninitializedFinalInstanceField} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t11{core::int};
set uninitializedFinalInstanceField(core::int #t12) → void
- if(this.{self::Class::_#Class#uninitializedFinalInstanceField}.==(null))
+ if(this.{self::Class::_#Class#uninitializedFinalInstanceField} == null)
this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t12;
else
throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
get initializedNonFinalInstanceField() → core::int
- return let final core::int? #t13 = this.{self::Class::_#Class#initializedNonFinalInstanceField} in #t13.==(null) ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t13{core::int};
+ return let final core::int? #t13 = this.{self::Class::_#Class#initializedNonFinalInstanceField} in #t13 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t13{core::int};
set initializedNonFinalInstanceField(core::int #t14) → void
this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t14;
get initializedFinalInstanceField() → core::int
- return let final core::int? #t15 = this.{self::Class::_#Class#initializedFinalInstanceField} in #t15.==(null) ?{core::int} let final core::int #t16 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t16 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t15{core::int};
+ return let final core::int? #t15 = this.{self::Class::_#Class#initializedFinalInstanceField} in #t15 == null ?{core::int} let final core::int #t16 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t16 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t15{core::int};
}
static field core::int? _#uninitializedNonFinalTopLevelField = null;
static field core::int? _#uninitializedFinalTopLevelField = null;
@@ -66,7 +66,7 @@
}
lowered core::int? #nonNullableUninitializedNonFinalLocal;
function #nonNullableUninitializedNonFinalLocal#get() → core::int
- return let final core::int? #t18 = #nonNullableUninitializedNonFinalLocal in #t18.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t18{core::int};
+ return let final core::int? #t18 = #nonNullableUninitializedNonFinalLocal in #t18 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t18{core::int};
function #nonNullableUninitializedNonFinalLocal#set(core::int #t19) → dynamic
return #nonNullableUninitializedNonFinalLocal = #t19;
lowered final core::int? #nullableUninitializedFinalLocal;
@@ -82,9 +82,9 @@
}
lowered final core::int? #nonNullableUninitializedFinalLocal;
function #nonNullableUninitializedFinalLocal#get() → core::int
- return let final core::int? #t21 = #nonNullableUninitializedFinalLocal in #t21.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t21{core::int};
+ return let final core::int? #t21 = #nonNullableUninitializedFinalLocal in #t21 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t21{core::int};
function #nonNullableUninitializedFinalLocal#set(core::int #t22) → dynamic
- if(#nonNullableUninitializedFinalLocal.==(null))
+ if(#nonNullableUninitializedFinalLocal == null)
return #nonNullableUninitializedFinalLocal = #t22;
else
throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
@@ -103,7 +103,7 @@
}
lowered core::int? #nonNullableInitializedNonFinalLocal;
function #nonNullableInitializedNonFinalLocal#get() → core::int
- return let final core::int? #t24 = #nonNullableInitializedNonFinalLocal in #t24.==(null) ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t24{core::int};
+ return let final core::int? #t24 = #nonNullableInitializedNonFinalLocal in #t24 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t24{core::int};
function #nonNullableInitializedNonFinalLocal#set(core::int #t25) → dynamic
return #nonNullableInitializedNonFinalLocal = #t25;
lowered final core::int? #nullableInitializedFinalLocal;
@@ -120,25 +120,25 @@
}
lowered final core::int? #nonNullableInitializedFinalLocal;
function #nonNullableInitializedFinalLocal#get() → core::int
- return let final core::int? #t27 = #nonNullableInitializedFinalLocal in #t27.==(null) ?{core::int} let final core::int #t28 = 0 in #nonNullableInitializedFinalLocal.==(null) ?{core::int} #nonNullableInitializedFinalLocal = #t28 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t27{core::int};
+ return let final core::int? #t27 = #nonNullableInitializedFinalLocal in #t27 == null ?{core::int} let final core::int #t28 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t28 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t27{core::int};
}
static get uninitializedNonFinalTopLevelField() → core::int
- return let final core::int? #t29 = self::_#uninitializedNonFinalTopLevelField in #t29.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t29{core::int};
+ return let final core::int? #t29 = self::_#uninitializedNonFinalTopLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t29{core::int};
static set uninitializedNonFinalTopLevelField(core::int #t30) → void
self::_#uninitializedNonFinalTopLevelField = #t30;
static get uninitializedFinalTopLevelField() → core::int
- return let final core::int? #t31 = self::_#uninitializedFinalTopLevelField in #t31.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t31{core::int};
+ return let final core::int? #t31 = self::_#uninitializedFinalTopLevelField in #t31 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t31{core::int};
static set uninitializedFinalTopLevelField(core::int #t32) → void
- if(self::_#uninitializedFinalTopLevelField.==(null))
+ if(self::_#uninitializedFinalTopLevelField == null)
self::_#uninitializedFinalTopLevelField = #t32;
else
throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
static get initializedNonFinalTopLevelField() → core::int
- return let final core::int? #t33 = self::_#initializedNonFinalTopLevelField in #t33.==(null) ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t33{core::int};
+ return let final core::int? #t33 = self::_#initializedNonFinalTopLevelField in #t33 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t33{core::int};
static set initializedNonFinalTopLevelField(core::int #t34) → void
self::_#initializedNonFinalTopLevelField = #t34;
static get initializedFinalTopLevelField() → core::int
- return let final core::int? #t35 = self::_#initializedFinalTopLevelField in #t35.==(null) ?{core::int} let final core::int #t36 = 0 in self::_#initializedFinalTopLevelField.==(null) ?{core::int} self::_#initializedFinalTopLevelField = #t36 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t35{core::int};
+ return let final core::int? #t35 = self::_#initializedFinalTopLevelField in #t35 == null ?{core::int} let final core::int #t36 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t36 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t35{core::int};
Extra constant evaluation status:
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.expect
index 36b9cb9..162ff86 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.expect
@@ -50,7 +50,7 @@
return 16;
get lateInstanceField() → core::int? {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- this.{self::Class::_#Class#lateInstanceField} = this.{self::Class::lateInstanceFieldInit}();
+ this.{self::Class::_#Class#lateInstanceField} = this.{self::Class::lateInstanceFieldInit}(){() → core::int?};
this.{self::Class::_#Class#lateInstanceField#isSet} = true;
}
return this.{self::Class::_#Class#lateInstanceField};
@@ -60,10 +60,10 @@
this.{self::Class::_#Class#lateInstanceField} = #t3;
}
method lateGenericInstanceFieldInit() → self::Class::T?
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class::T?};
get lateGenericInstanceField() → self::Class::T? {
if(!this.{self::Class::_#Class#lateGenericInstanceField#isSet}) {
- this.{self::Class::_#Class#lateGenericInstanceField} = this.{self::Class::lateGenericInstanceFieldInit}();
+ this.{self::Class::_#Class#lateGenericInstanceField} = this.{self::Class::lateGenericInstanceFieldInit}(){() → self::Class::T?};
this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
}
return this.{self::Class::_#Class#lateGenericInstanceField};
@@ -73,12 +73,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T? value) → dynamic {
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
this.{self::Class::lateInstanceField} = 17;
- self::expect(17, this.{self::Class::lateInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceField});
+ self::expect(17, this.{self::Class::lateInstanceField}{core::int?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -152,16 +152,16 @@
self::Class::lateStaticField1 = 88;
self::expect(88, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(0);
- new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(null);
- new self::Class::•<core::int>(null).{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}(null);
+ new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int>(null).{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(null){(core::int?) → dynamic};
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|lateExtensionField1 = 88;
self::expect(88, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.transformed.expect
index 36b9cb9..162ff86 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.transformed.expect
@@ -50,7 +50,7 @@
return 16;
get lateInstanceField() → core::int? {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- this.{self::Class::_#Class#lateInstanceField} = this.{self::Class::lateInstanceFieldInit}();
+ this.{self::Class::_#Class#lateInstanceField} = this.{self::Class::lateInstanceFieldInit}(){() → core::int?};
this.{self::Class::_#Class#lateInstanceField#isSet} = true;
}
return this.{self::Class::_#Class#lateInstanceField};
@@ -60,10 +60,10 @@
this.{self::Class::_#Class#lateInstanceField} = #t3;
}
method lateGenericInstanceFieldInit() → self::Class::T?
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class::T?};
get lateGenericInstanceField() → self::Class::T? {
if(!this.{self::Class::_#Class#lateGenericInstanceField#isSet}) {
- this.{self::Class::_#Class#lateGenericInstanceField} = this.{self::Class::lateGenericInstanceFieldInit}();
+ this.{self::Class::_#Class#lateGenericInstanceField} = this.{self::Class::lateGenericInstanceFieldInit}(){() → self::Class::T?};
this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
}
return this.{self::Class::_#Class#lateGenericInstanceField};
@@ -73,12 +73,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T? value) → dynamic {
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
this.{self::Class::lateInstanceField} = 17;
- self::expect(17, this.{self::Class::lateInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceField});
+ self::expect(17, this.{self::Class::lateInstanceField}{core::int?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -152,16 +152,16 @@
self::Class::lateStaticField1 = 88;
self::expect(88, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(0);
- new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(null);
- new self::Class::•<core::int>(null).{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}(null);
+ new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int>(null).{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(null){(core::int?) → dynamic};
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|lateExtensionField1 = 88;
self::expect(88, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.expect
index 36b9cb9..162ff86 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.expect
@@ -50,7 +50,7 @@
return 16;
get lateInstanceField() → core::int? {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- this.{self::Class::_#Class#lateInstanceField} = this.{self::Class::lateInstanceFieldInit}();
+ this.{self::Class::_#Class#lateInstanceField} = this.{self::Class::lateInstanceFieldInit}(){() → core::int?};
this.{self::Class::_#Class#lateInstanceField#isSet} = true;
}
return this.{self::Class::_#Class#lateInstanceField};
@@ -60,10 +60,10 @@
this.{self::Class::_#Class#lateInstanceField} = #t3;
}
method lateGenericInstanceFieldInit() → self::Class::T?
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class::T?};
get lateGenericInstanceField() → self::Class::T? {
if(!this.{self::Class::_#Class#lateGenericInstanceField#isSet}) {
- this.{self::Class::_#Class#lateGenericInstanceField} = this.{self::Class::lateGenericInstanceFieldInit}();
+ this.{self::Class::_#Class#lateGenericInstanceField} = this.{self::Class::lateGenericInstanceFieldInit}(){() → self::Class::T?};
this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
}
return this.{self::Class::_#Class#lateGenericInstanceField};
@@ -73,12 +73,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T? value) → dynamic {
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
this.{self::Class::lateInstanceField} = 17;
- self::expect(17, this.{self::Class::lateInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceField});
+ self::expect(17, this.{self::Class::lateInstanceField}{core::int?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -152,16 +152,16 @@
self::Class::lateStaticField1 = 88;
self::expect(88, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(0);
- new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(null);
- new self::Class::•<core::int>(null).{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}(null);
+ new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int>(null).{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(null){(core::int?) → dynamic};
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|lateExtensionField1 = 88;
self::expect(88, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.transformed.expect
index 36b9cb9..162ff86 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.transformed.expect
@@ -50,7 +50,7 @@
return 16;
get lateInstanceField() → core::int? {
if(!this.{self::Class::_#Class#lateInstanceField#isSet}) {
- this.{self::Class::_#Class#lateInstanceField} = this.{self::Class::lateInstanceFieldInit}();
+ this.{self::Class::_#Class#lateInstanceField} = this.{self::Class::lateInstanceFieldInit}(){() → core::int?};
this.{self::Class::_#Class#lateInstanceField#isSet} = true;
}
return this.{self::Class::_#Class#lateInstanceField};
@@ -60,10 +60,10 @@
this.{self::Class::_#Class#lateInstanceField} = #t3;
}
method lateGenericInstanceFieldInit() → self::Class::T?
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class::T?};
get lateGenericInstanceField() → self::Class::T? {
if(!this.{self::Class::_#Class#lateGenericInstanceField#isSet}) {
- this.{self::Class::_#Class#lateGenericInstanceField} = this.{self::Class::lateGenericInstanceFieldInit}();
+ this.{self::Class::_#Class#lateGenericInstanceField} = this.{self::Class::lateGenericInstanceFieldInit}(){() → self::Class::T?};
this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
}
return this.{self::Class::_#Class#lateGenericInstanceField};
@@ -73,12 +73,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T? value) → dynamic {
- self::expect(16, this.{self::Class::lateInstanceField});
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
this.{self::Class::lateInstanceField} = 17;
- self::expect(17, this.{self::Class::lateInstanceField});
- self::expect(this.{self::Class::field}, this.{self::Class::lateGenericInstanceField});
+ self::expect(17, this.{self::Class::lateInstanceField}{core::int?});
+ self::expect(this.{self::Class::field}{self::Class::T?}, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -152,16 +152,16 @@
self::Class::lateStaticField1 = 88;
self::expect(88, self::Class::lateStaticField1);
self::Class::staticMethod();
- new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(0);
- new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(null);
- new self::Class::•<core::int>(null).{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>(0).{self::Class::instanceMethod}(null);
+ new self::Class::•<core::int?>(null).{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int?>(0).{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int>(null).{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>(0).{self::Class::instanceMethod}(null){(core::int?) → dynamic};
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|lateExtensionField1 = 88;
self::expect(88, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.expect
index d01d771..79ec9e1 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.expect
@@ -45,12 +45,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T? value) → dynamic {
- self::throws(() → core::int? => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
- self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
+ self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}{self::Class::T?}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -105,19 +105,19 @@
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.transformed.expect
index d01d771..79ec9e1 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.transformed.expect
@@ -45,12 +45,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T? value) → dynamic {
- self::throws(() → core::int? => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
- self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
+ self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}{self::Class::T?}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -105,19 +105,19 @@
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.expect
index d01d771..79ec9e1 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.expect
@@ -45,12 +45,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T? value) → dynamic {
- self::throws(() → core::int? => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
- self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
+ self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}{self::Class::T?}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -105,19 +105,19 @@
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.transformed.expect
index d01d771..79ec9e1 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.transformed.expect
@@ -45,12 +45,12 @@
this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
}
method instanceMethod(generic-covariant-impl self::Class::T? value) → dynamic {
- self::throws(() → core::int? => this.{self::Class::lateInstanceField}, "Read value from uninitialized Class.lateInstanceField");
+ self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
this.{self::Class::lateInstanceField} = 16;
- self::expect(16, this.{self::Class::lateInstanceField});
- self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}, "Read value from uninitialized Class.lateGenericInstanceField");
+ self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
+ self::throws(() → self::Class::T? => this.{self::Class::lateGenericInstanceField}{self::Class::T?}, "Read value from uninitialized Class.lateGenericInstanceField");
this.{self::Class::lateGenericInstanceField} = value;
- self::expect(value, this.{self::Class::lateGenericInstanceField});
+ self::expect(value, this.{self::Class::lateGenericInstanceField}{self::Class::T?});
}
}
extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
@@ -105,19 +105,19 @@
self::Extension|lateExtensionField1 = 87;
self::expect(87, self::Extension|lateExtensionField1);
self::Extension|staticMethod();
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int?>().{self::Class::instanceMethod}(0);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(null);
- new self::Class::•<core::int>().{self::Class::instanceMethod}(0);
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int?>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(null){(core::int?) → dynamic};
+ new self::Class::•<core::int>().{self::Class::instanceMethod}(0){(core::int?) → dynamic};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.expect
index 12dcc96..a150002 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.expect
@@ -18,9 +18,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::expect(123, #lateLocal#get.call());
- self::expect(124, #lateLocal#set.call(124));
- self::expect(124, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int?});
+ self::expect(124, #lateLocal#set(124){(core::int?) → dynamic});
+ self::expect(124, #lateLocal#get(){() → core::int?});
function local<T extends core::Object? = dynamic>(T? value1, T? value2) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -35,16 +35,16 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::expect(value1, #lateGenericLocal#get.call());
- self::expect(value2, #lateGenericLocal#set.call(value2));
- self::expect(value2, #lateGenericLocal#get.call());
+ self::expect(value1, #lateGenericLocal#get(){() → T?});
+ self::expect(value2, #lateGenericLocal#set(value2){(T?) → dynamic});
+ self::expect(value2, #lateGenericLocal#get(){() → T?});
}
- local.call<core::int?>(null, 0);
- local.call<core::int?>(0, null);
- local.call<core::int>(null, 0);
- local.call<core::int>(0, null);
+ local<core::int?>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int?>(0, null){(core::int?, core::int?) → Null};
+ local<core::int>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int>(0, null){(core::int?, core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.transformed.expect
index 12dcc96..a150002 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.transformed.expect
@@ -18,9 +18,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::expect(123, #lateLocal#get.call());
- self::expect(124, #lateLocal#set.call(124));
- self::expect(124, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int?});
+ self::expect(124, #lateLocal#set(124){(core::int?) → dynamic});
+ self::expect(124, #lateLocal#get(){() → core::int?});
function local<T extends core::Object? = dynamic>(T? value1, T? value2) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -35,16 +35,16 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::expect(value1, #lateGenericLocal#get.call());
- self::expect(value2, #lateGenericLocal#set.call(value2));
- self::expect(value2, #lateGenericLocal#get.call());
+ self::expect(value1, #lateGenericLocal#get(){() → T?});
+ self::expect(value2, #lateGenericLocal#set(value2){(T?) → dynamic});
+ self::expect(value2, #lateGenericLocal#get(){() → T?});
}
- local.call<core::int?>(null, 0);
- local.call<core::int?>(0, null);
- local.call<core::int>(null, 0);
- local.call<core::int>(0, null);
+ local<core::int?>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int?>(0, null){(core::int?, core::int?) → Null};
+ local<core::int>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int>(0, null){(core::int?, core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.expect
index 12dcc96..a150002 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.expect
@@ -18,9 +18,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::expect(123, #lateLocal#get.call());
- self::expect(124, #lateLocal#set.call(124));
- self::expect(124, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int?});
+ self::expect(124, #lateLocal#set(124){(core::int?) → dynamic});
+ self::expect(124, #lateLocal#get(){() → core::int?});
function local<T extends core::Object? = dynamic>(T? value1, T? value2) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -35,16 +35,16 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::expect(value1, #lateGenericLocal#get.call());
- self::expect(value2, #lateGenericLocal#set.call(value2));
- self::expect(value2, #lateGenericLocal#get.call());
+ self::expect(value1, #lateGenericLocal#get(){() → T?});
+ self::expect(value2, #lateGenericLocal#set(value2){(T?) → dynamic});
+ self::expect(value2, #lateGenericLocal#get(){() → T?});
}
- local.call<core::int?>(null, 0);
- local.call<core::int?>(0, null);
- local.call<core::int>(null, 0);
- local.call<core::int>(0, null);
+ local<core::int?>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int?>(0, null){(core::int?, core::int?) → Null};
+ local<core::int>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int>(0, null){(core::int?, core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.transformed.expect
index 12dcc96..a150002 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.transformed.expect
@@ -18,9 +18,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::expect(123, #lateLocal#get.call());
- self::expect(124, #lateLocal#set.call(124));
- self::expect(124, #lateLocal#get.call());
+ self::expect(123, #lateLocal#get(){() → core::int?});
+ self::expect(124, #lateLocal#set(124){(core::int?) → dynamic});
+ self::expect(124, #lateLocal#get(){() → core::int?});
function local<T extends core::Object? = dynamic>(T? value1, T? value2) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -35,16 +35,16 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::expect(value1, #lateGenericLocal#get.call());
- self::expect(value2, #lateGenericLocal#set.call(value2));
- self::expect(value2, #lateGenericLocal#get.call());
+ self::expect(value1, #lateGenericLocal#get(){() → T?});
+ self::expect(value2, #lateGenericLocal#set(value2){(T?) → dynamic});
+ self::expect(value2, #lateGenericLocal#get(){() → T?});
}
- local.call<core::int?>(null, 0);
- local.call<core::int?>(0, null);
- local.call<core::int>(null, 0);
- local.call<core::int>(0, null);
+ local<core::int?>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int?>(0, null){(core::int?, core::int?) → Null};
+ local<core::int>(null, 0){(core::int?, core::int?) → Null};
+ local<core::int>(0, null){(core::int?, core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.expect
index 7fa4edc..6167145 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.expect
@@ -12,9 +12,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int? => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
+ self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int?});
function local<T extends core::Object? = dynamic>(T? value) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -24,23 +24,23 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T? => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T?});
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(null);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(null){(core::int?) → Null};
+ local<core::int>(0){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.transformed.expect
index 7fa4edc..6167145 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.transformed.expect
@@ -12,9 +12,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int? => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
+ self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int?});
function local<T extends core::Object? = dynamic>(T? value) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -24,23 +24,23 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T? => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T?});
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(null);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(null){(core::int?) → Null};
+ local<core::int>(0){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.expect
index 7fa4edc..6167145 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.expect
@@ -12,9 +12,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int? => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
+ self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int?});
function local<T extends core::Object? = dynamic>(T? value) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -24,23 +24,23 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T? => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T?});
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(null);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(null){(core::int?) → Null};
+ local<core::int>(0){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.transformed.expect
index 7fa4edc..6167145 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.transformed.expect
@@ -12,9 +12,9 @@
#lateLocal#isSet = true;
return #lateLocal = #t1;
}
- self::throws(() → core::int? => #lateLocal#get.call(), "Read value from uninitialized lateLocal");
- self::expect(123, #lateLocal#set.call(123));
- self::expect(123, #lateLocal#get.call());
+ self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
+ self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
+ self::expect(123, #lateLocal#get(){() → core::int?});
function local<T extends core::Object? = dynamic>(T? value) → Null {
lowered T? #lateGenericLocal;
lowered core::bool #lateGenericLocal#isSet = false;
@@ -24,23 +24,23 @@
#lateGenericLocal#isSet = true;
return #lateGenericLocal = #t2;
}
- self::throws(() → T? => #lateGenericLocal#get.call(), "Read value from uninitialized lateGenericLocal");
- self::expect(value, #lateGenericLocal#set.call(value));
- self::expect(value, #lateGenericLocal#get.call());
+ self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
+ self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
+ self::expect(value, #lateGenericLocal#get(){() → T?});
}
- local.call<core::int?>(null);
- local.call<core::int?>(0);
- local.call<core::int>(null);
- local.call<core::int>(0);
+ local<core::int?>(null){(core::int?) → Null};
+ local<core::int?>(0){(core::int?) → Null};
+ local<core::int>(null){(core::int?) → Null};
+ local<core::int>(0){(core::int?) → Null};
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.strong.expect
index 0dffea5..23e3efa 100644
--- a/pkg/front_end/testcases/late_lowering/late_override.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_override.dart.strong.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
get implementedLateFieldDeclaredGetterSetter() → core::int
- return let final core::int? #t1 = this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("implementedLateFieldDeclaredGetterSetter") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("implementedLateFieldDeclaredGetterSetter") : #t1{core::int};
set implementedLateFieldDeclaredGetterSetter(core::int #t2) → void
this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.strong.transformed.expect
index 0dffea5..23e3efa 100644
--- a/pkg/front_end/testcases/late_lowering/late_override.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_override.dart.strong.transformed.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
get implementedLateFieldDeclaredGetterSetter() → core::int
- return let final core::int? #t1 = this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("implementedLateFieldDeclaredGetterSetter") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("implementedLateFieldDeclaredGetterSetter") : #t1{core::int};
set implementedLateFieldDeclaredGetterSetter(core::int #t2) → void
this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.strong.expect b/pkg/front_end/testcases/late_lowering/later.dart.strong.expect
index 0b84933..0bce815 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.strong.expect
@@ -74,7 +74,7 @@
: super core::Object::•()
;
get b() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#b} in #t1.==(null) ?{core::int} this.{self::A::_#A#b} = this.{self::A::a}.{core::num::*}(2).{core::int::>>}(1) : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#b} in #t1 == null ?{core::int} this.{self::A::_#A#b} = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int} : #t1{core::int};
set b(core::int #t2) → void
this.{self::A::_#A#b} = #t2;
method foo(core::int x) → dynamic {}
@@ -85,7 +85,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t3 = this.{self::B::_#B#x} in #t3.==(null) ?{core::int} let final core::int #t4 = 42 in this.{self::B::_#B#x}.==(null) ?{core::int} this.{self::B::_#B#x} = #t4 : throw new _in::LateError::fieldADI("x") : #t3{core::int};
+ return let final core::int? #t3 = this.{self::B::_#B#x} in #t3 == null ?{core::int} let final core::int #t4 = 42 in this.{self::B::_#B#x} == null ?{core::int} this.{self::B::_#B#x} = #t4 : throw new _in::LateError::fieldADI("x") : #t3{core::int};
}
class C extends core::Object {
field core::int? _#C#x = null;
@@ -93,9 +93,9 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t5 = this.{self::C::_#C#x} in #t5.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::C::_#C#x} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t5{core::int};
set x(core::int #t6) → void
- if(this.{self::C::_#C#x}.==(null))
+ if(this.{self::C::_#C#x} == null)
this.{self::C::_#C#x} = #t6;
else
throw new _in::LateError::fieldAI("x");
@@ -118,7 +118,7 @@
on dynamic catch(final dynamic late, final core::StackTrace e) {
}
}
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print("baz");
}
for (core::String s in <core::String>["baz"]) {
@@ -126,8 +126,8 @@
}
block {
final core::List<core::int> #t7 = <core::int>[];
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t7.{core::List::add}{Invariant}(i);
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t7.{core::List::add}(i){(core::int) → void};
} =>#t7;
}
static method hest() → dynamic async {
@@ -139,21 +139,21 @@
static method fisk() → dynamic async {
lowered core::String? #s1;
function #s1#get() → core::String
- return let final core::String? #t8 = #s1 in #t8.==(null) ?{core::String} #s1 = invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:40:20: Error: `await` expressions are not supported in late local initializers.
+ return let final core::String? #t8 = #s1 in #t8 == null ?{core::String} #s1 = invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:40:20: Error: `await` expressions are not supported in late local initializers.
late String s1 = await hest(); // Error.
^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::String : #t8{core::String};
function #s1#set(core::String #t9) → dynamic
return #s1 = #t9;
lowered core::String? #s2;
function #s2#get() → core::String
- return let final core::String? #t10 = #s2 in #t10.==(null) ?{core::String} #s2 = "${#C1}${invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:41:30: Error: `await` expressions are not supported in late local initializers.
+ return let final core::String? #t10 = #s2 in #t10 == null ?{core::String} #s2 = "${#C1}${invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:41:30: Error: `await` expressions are not supported in late local initializers.
late String s2 = '\${fisk}\${await hest()}\${fisk}'; // Error.
^^^^^"}${#C1}" : #t10{core::String};
function #s2#set(core::String #t11) → dynamic
return #s2 = #t11;
lowered core::Function? #f;
function #f#get() → core::Function
- return let final core::Function? #t12 = #f in #t12.==(null) ?{core::Function} #f = () → asy::Future<dynamic> async => await self::hest() : #t12{core::Function};
+ return let final core::Function? #t12 = #f in #t12 == null ?{core::Function} #f = () → asy::Future<dynamic> async => await self::hest() : #t12{core::Function};
function #f#set(core::Function #t13) → dynamic
return #f = #t13;
}
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
index 12f0ed3..3987725 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
@@ -74,7 +74,7 @@
: super core::Object::•()
;
get b() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#b} in #t1.==(null) ?{core::int} this.{self::A::_#A#b} = this.{self::A::a}.{core::num::*}(2).{core::int::>>}(1) : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#b} in #t1 == null ?{core::int} this.{self::A::_#A#b} = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int} : #t1{core::int};
set b(core::int #t2) → void
this.{self::A::_#A#b} = #t2;
method foo(core::int x) → dynamic {}
@@ -85,7 +85,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t3 = this.{self::B::_#B#x} in #t3.==(null) ?{core::int} let final core::int #t4 = 42 in this.{self::B::_#B#x}.==(null) ?{core::int} this.{self::B::_#B#x} = #t4 : throw new _in::LateError::fieldADI("x") : #t3{core::int};
+ return let final core::int? #t3 = this.{self::B::_#B#x} in #t3 == null ?{core::int} let final core::int #t4 = 42 in this.{self::B::_#B#x} == null ?{core::int} this.{self::B::_#B#x} = #t4 : throw new _in::LateError::fieldADI("x") : #t3{core::int};
}
class C extends core::Object {
field core::int? _#C#x = null;
@@ -93,9 +93,9 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t5 = this.{self::C::_#C#x} in #t5.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::C::_#C#x} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t5{core::int};
set x(core::int #t6) → void
- if(this.{self::C::_#C#x}.==(null))
+ if(this.{self::C::_#C#x} == null)
this.{self::C::_#C#x} = #t6;
else
throw new _in::LateError::fieldAI("x");
@@ -118,7 +118,7 @@
on dynamic catch(final dynamic late, final core::StackTrace e) {
}
}
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print("baz");
}
{
@@ -132,8 +132,8 @@
}
block {
final core::List<core::int> #t7 = core::_GrowableList::•<core::int>(0);
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t7.{core::List::add}{Invariant}(i);
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t7.{core::List::add}(i){(core::int) → void};
} =>#t7;
}
static method hest() → dynamic /* originally async */ {
@@ -204,21 +204,21 @@
{
lowered core::String? #s1;
function #s1#get() → core::String
- return let final core::String? #t11 = #s1 in #t11.==(null) ?{core::String} #s1 = invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:40:20: Error: `await` expressions are not supported in late local initializers.
+ return let final core::String? #t11 = #s1 in #t11 == null ?{core::String} #s1 = invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:40:20: Error: `await` expressions are not supported in late local initializers.
late String s1 = await hest(); // Error.
^^^^^" : #t11{core::String};
function #s1#set(core::String #t12) → dynamic
return #s1 = #t12;
lowered core::String? #s2;
function #s2#get() → core::String
- return let final core::String? #t13 = #s2 in #t13.==(null) ?{core::String} #s2 = "${#C1}${invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:41:30: Error: `await` expressions are not supported in late local initializers.
+ return let final core::String? #t13 = #s2 in #t13 == null ?{core::String} #s2 = "${#C1}${invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:41:30: Error: `await` expressions are not supported in late local initializers.
late String s2 = '\${fisk}\${await hest()}\${fisk}'; // Error.
^^^^^"}${#C1}" : #t13{core::String};
function #s2#set(core::String #t14) → dynamic
return #s2 = #t14;
lowered core::Function? #f;
function #f#get() → core::Function
- return let final core::Function? #t15 = #f in #t15.==(null) ?{core::Function} #f = () → asy::Future<dynamic> /* originally async */ {
+ return let final core::Function? #t15 = #f in #t15 == null ?{core::Function} #f = () → asy::Future<dynamic> /* originally async */ {
final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
FutureOr<dynamic>? :return_value;
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.expect
index 7123dd80..4e66fba 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.expect
@@ -76,7 +76,7 @@
;
get b() → core::int {
if(!this.{self::A::_#A#b#isSet}) {
- this.{self::A::_#A#b} = this.{self::A::a}.{core::num::*}(2).{core::int::>>}(1);
+ this.{self::A::_#A#b} = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int};
this.{self::A::_#A#b#isSet} = true;
}
return let final core::int? #t1 = this.{self::A::_#A#b} in #t1{core::int};
@@ -138,7 +138,7 @@
on dynamic catch(final dynamic late, final core::StackTrace e) {
}
}
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print("baz");
}
for (core::String s in <core::String>["baz"]) {
@@ -146,8 +146,8 @@
}
block {
final core::List<core::int> #t7 = <core::int>[];
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t7.{core::List::add}{Invariant}(i);
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t7.{core::List::add}(i){(core::int) → void};
} =>#t7;
}
static method hest() → dynamic async {
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
index 3bcf2b7..bb87ef7 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
@@ -76,7 +76,7 @@
;
get b() → core::int {
if(!this.{self::A::_#A#b#isSet}) {
- this.{self::A::_#A#b} = this.{self::A::a}.{core::num::*}(2).{core::int::>>}(1);
+ this.{self::A::_#A#b} = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int};
this.{self::A::_#A#b#isSet} = true;
}
return let final core::int? #t1 = this.{self::A::_#A#b} in #t1{core::int};
@@ -138,7 +138,7 @@
on dynamic catch(final dynamic late, final core::StackTrace e) {
}
}
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print("baz");
}
{
@@ -152,8 +152,8 @@
}
block {
final core::List<core::int> #t7 = core::_GrowableList::•<core::int>(0);
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t7.{core::List::add}{Invariant}(i);
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t7.{core::List::add}(i){(core::int) → void};
} =>#t7;
}
static method hest() → dynamic /* originally async */ {
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.expect
index 9e954be..c5e64b1 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.expect
@@ -24,10 +24,10 @@
non::Class::staticFinalField = null;
non::expect(null, non::topLevelField);
non::expect(null, non::finalTopLevelField);
- non::expect(null, c.{non::Class::instanceField});
- non::expect(null, c.{non::Class::finalInstanceField});
- non::expect(null, c.{non::Class::instanceTypeVariable});
- non::expect(null, c.{non::Class::finalInstanceTypeVariable});
+ non::expect(null, c.{non::Class::instanceField}{core::int*});
+ non::expect(null, c.{non::Class::finalInstanceField}{dynamic});
+ non::expect(null, c.{non::Class::instanceTypeVariable}{core::int*});
+ non::expect(null, c.{non::Class::finalInstanceTypeVariable}{core::int*});
non::expect(null, non::Class::staticField);
non::expect(null, non::Class::staticFinalField);
non::throws(() → Null => non::finalTopLevelField = null);
@@ -55,7 +55,7 @@
: super core::Object::•()
;
get instanceField() → core::int
- return let final core::int? #t1 = this.{non::Class::_#Class#instanceField} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
+ return let final core::int? #t1 = this.{non::Class::_#Class#instanceField} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
set instanceField(core::int #t2) → void
this.{non::Class::_#Class#instanceField} = #t2;
get finalInstanceField() → dynamic
@@ -68,18 +68,18 @@
this.{non::Class::_#Class#finalInstanceField} = #t3;
}
get instanceTypeVariable() → non::Class::T
- return let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable} in #t4.==(null) ?{non::Class::T} throw new _in::LateError::fieldNI("instanceTypeVariable") : #t4{non::Class::T};
+ return let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable} in #t4 == null ?{non::Class::T} throw new _in::LateError::fieldNI("instanceTypeVariable") : #t4{non::Class::T};
set instanceTypeVariable(generic-covariant-impl non::Class::T #t5) → void
this.{non::Class::_#Class#instanceTypeVariable} = #t5;
get finalInstanceTypeVariable() → non::Class::T
- return let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable} in #t6.==(null) ?{non::Class::T} throw new _in::LateError::fieldNI("finalInstanceTypeVariable") : #t6{non::Class::T};
+ return let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable} in #t6 == null ?{non::Class::T} throw new _in::LateError::fieldNI("finalInstanceTypeVariable") : #t6{non::Class::T};
set finalInstanceTypeVariable(non::Class::T #t7) → void
- if(this.{non::Class::_#Class#finalInstanceTypeVariable}.==(null))
+ if(this.{non::Class::_#Class#finalInstanceTypeVariable} == null)
this.{non::Class::_#Class#finalInstanceTypeVariable} = #t7;
else
throw new _in::LateError::fieldAI("finalInstanceTypeVariable");
static get staticField() → core::int
- return let final core::int? #t8 = non::Class::_#staticField in #t8.==(null) ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t8{core::int};
+ return let final core::int? #t8 = non::Class::_#staticField in #t8 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t8{core::int};
static set staticField(core::int #t9) → void
non::Class::_#staticField = #t9;
static get staticFinalField() → dynamic
@@ -96,7 +96,7 @@
static field dynamic _#finalTopLevelField = null;
static field core::bool _#finalTopLevelField#isSet = false;
static get topLevelField() → core::int
- return let final core::int? #t11 = non::_#topLevelField in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t11{core::int};
+ return let final core::int? #t11 = non::_#topLevelField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t11{core::int};
static set topLevelField(core::int #t12) → void
non::_#topLevelField = #t12;
static get finalTopLevelField() → dynamic
@@ -111,7 +111,7 @@
static method method<T extends core::Object>(core::bool b, core::int i, non::method::T t) → dynamic {
lowered core::int? #local;
function #local#get() → core::int
- return let final core::int? #t14 = #local in #t14.==(null) ?{core::int} throw new _in::LateError::localNI("local") : #t14{core::int};
+ return let final core::int? #t14 = #local in #t14 == null ?{core::int} throw new _in::LateError::localNI("local") : #t14{core::int};
function #local#set(core::int #t15) → dynamic
return #local = #t15;
lowered final dynamic #finalLocal;
@@ -127,37 +127,37 @@
}
lowered non::method::T? #localTypeVariable;
function #localTypeVariable#get() → non::method::T
- return let final non::method::T? #t17 = #localTypeVariable in #t17.==(null) ?{non::method::T} throw new _in::LateError::localNI("localTypeVariable") : #t17{non::method::T};
+ return let final non::method::T? #t17 = #localTypeVariable in #t17 == null ?{non::method::T} throw new _in::LateError::localNI("localTypeVariable") : #t17{non::method::T};
function #localTypeVariable#set(non::method::T #t18) → dynamic
return #localTypeVariable = #t18;
lowered final non::method::T? #finalLocalTypeVariable;
function #finalLocalTypeVariable#get() → non::method::T
- return let final non::method::T? #t19 = #finalLocalTypeVariable in #t19.==(null) ?{non::method::T} throw new _in::LateError::localNI("finalLocalTypeVariable") : #t19{non::method::T};
+ return let final non::method::T? #t19 = #finalLocalTypeVariable in #t19 == null ?{non::method::T} throw new _in::LateError::localNI("finalLocalTypeVariable") : #t19{non::method::T};
function #finalLocalTypeVariable#set(non::method::T #t20) → dynamic
- if(#finalLocalTypeVariable.==(null))
+ if(#finalLocalTypeVariable == null)
return #finalLocalTypeVariable = #t20;
else
throw new _in::LateError::localAI("finalLocalTypeVariable");
if(b) {
- #local#set.call(i);
- #finalLocal#set.call(i);
- #localTypeVariable#set.call(t);
- #finalLocalTypeVariable#set.call(t);
- non::expect(i, #local#get.call());
- non::expect(i, #finalLocal#get.call());
- non::expect(t, #localTypeVariable#get.call());
- non::expect(t, #finalLocalTypeVariable#get.call());
+ #local#set(i){(core::int) → dynamic};
+ #finalLocal#set(i){(dynamic) → dynamic};
+ #localTypeVariable#set(t){(non::method::T) → dynamic};
+ #finalLocalTypeVariable#set(t){(non::method::T) → dynamic};
+ non::expect(i, #local#get(){() → core::int});
+ non::expect(i, #finalLocal#get(){() → dynamic});
+ non::expect(t, #localTypeVariable#get(){() → non::method::T});
+ non::expect(t, #finalLocalTypeVariable#get(){() → non::method::T});
}
- non::throws(() → void => #finalLocal#set.call(i));
- non::throws(() → void => #finalLocalTypeVariable#set.call(t));
+ non::throws(() → void => #finalLocal#set(i){(dynamic) → dynamic});
+ non::throws(() → void => #finalLocalTypeVariable#set(t){(non::method::T) → dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.transformed.expect
index 9e954be..c5e64b1 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.transformed.expect
@@ -24,10 +24,10 @@
non::Class::staticFinalField = null;
non::expect(null, non::topLevelField);
non::expect(null, non::finalTopLevelField);
- non::expect(null, c.{non::Class::instanceField});
- non::expect(null, c.{non::Class::finalInstanceField});
- non::expect(null, c.{non::Class::instanceTypeVariable});
- non::expect(null, c.{non::Class::finalInstanceTypeVariable});
+ non::expect(null, c.{non::Class::instanceField}{core::int*});
+ non::expect(null, c.{non::Class::finalInstanceField}{dynamic});
+ non::expect(null, c.{non::Class::instanceTypeVariable}{core::int*});
+ non::expect(null, c.{non::Class::finalInstanceTypeVariable}{core::int*});
non::expect(null, non::Class::staticField);
non::expect(null, non::Class::staticFinalField);
non::throws(() → Null => non::finalTopLevelField = null);
@@ -55,7 +55,7 @@
: super core::Object::•()
;
get instanceField() → core::int
- return let final core::int? #t1 = this.{non::Class::_#Class#instanceField} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
+ return let final core::int? #t1 = this.{non::Class::_#Class#instanceField} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
set instanceField(core::int #t2) → void
this.{non::Class::_#Class#instanceField} = #t2;
get finalInstanceField() → dynamic
@@ -68,18 +68,18 @@
this.{non::Class::_#Class#finalInstanceField} = #t3;
}
get instanceTypeVariable() → non::Class::T
- return let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable} in #t4.==(null) ?{non::Class::T} throw new _in::LateError::fieldNI("instanceTypeVariable") : #t4{non::Class::T};
+ return let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable} in #t4 == null ?{non::Class::T} throw new _in::LateError::fieldNI("instanceTypeVariable") : #t4{non::Class::T};
set instanceTypeVariable(generic-covariant-impl non::Class::T #t5) → void
this.{non::Class::_#Class#instanceTypeVariable} = #t5;
get finalInstanceTypeVariable() → non::Class::T
- return let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable} in #t6.==(null) ?{non::Class::T} throw new _in::LateError::fieldNI("finalInstanceTypeVariable") : #t6{non::Class::T};
+ return let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable} in #t6 == null ?{non::Class::T} throw new _in::LateError::fieldNI("finalInstanceTypeVariable") : #t6{non::Class::T};
set finalInstanceTypeVariable(non::Class::T #t7) → void
- if(this.{non::Class::_#Class#finalInstanceTypeVariable}.==(null))
+ if(this.{non::Class::_#Class#finalInstanceTypeVariable} == null)
this.{non::Class::_#Class#finalInstanceTypeVariable} = #t7;
else
throw new _in::LateError::fieldAI("finalInstanceTypeVariable");
static get staticField() → core::int
- return let final core::int? #t8 = non::Class::_#staticField in #t8.==(null) ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t8{core::int};
+ return let final core::int? #t8 = non::Class::_#staticField in #t8 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t8{core::int};
static set staticField(core::int #t9) → void
non::Class::_#staticField = #t9;
static get staticFinalField() → dynamic
@@ -96,7 +96,7 @@
static field dynamic _#finalTopLevelField = null;
static field core::bool _#finalTopLevelField#isSet = false;
static get topLevelField() → core::int
- return let final core::int? #t11 = non::_#topLevelField in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t11{core::int};
+ return let final core::int? #t11 = non::_#topLevelField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t11{core::int};
static set topLevelField(core::int #t12) → void
non::_#topLevelField = #t12;
static get finalTopLevelField() → dynamic
@@ -111,7 +111,7 @@
static method method<T extends core::Object>(core::bool b, core::int i, non::method::T t) → dynamic {
lowered core::int? #local;
function #local#get() → core::int
- return let final core::int? #t14 = #local in #t14.==(null) ?{core::int} throw new _in::LateError::localNI("local") : #t14{core::int};
+ return let final core::int? #t14 = #local in #t14 == null ?{core::int} throw new _in::LateError::localNI("local") : #t14{core::int};
function #local#set(core::int #t15) → dynamic
return #local = #t15;
lowered final dynamic #finalLocal;
@@ -127,37 +127,37 @@
}
lowered non::method::T? #localTypeVariable;
function #localTypeVariable#get() → non::method::T
- return let final non::method::T? #t17 = #localTypeVariable in #t17.==(null) ?{non::method::T} throw new _in::LateError::localNI("localTypeVariable") : #t17{non::method::T};
+ return let final non::method::T? #t17 = #localTypeVariable in #t17 == null ?{non::method::T} throw new _in::LateError::localNI("localTypeVariable") : #t17{non::method::T};
function #localTypeVariable#set(non::method::T #t18) → dynamic
return #localTypeVariable = #t18;
lowered final non::method::T? #finalLocalTypeVariable;
function #finalLocalTypeVariable#get() → non::method::T
- return let final non::method::T? #t19 = #finalLocalTypeVariable in #t19.==(null) ?{non::method::T} throw new _in::LateError::localNI("finalLocalTypeVariable") : #t19{non::method::T};
+ return let final non::method::T? #t19 = #finalLocalTypeVariable in #t19 == null ?{non::method::T} throw new _in::LateError::localNI("finalLocalTypeVariable") : #t19{non::method::T};
function #finalLocalTypeVariable#set(non::method::T #t20) → dynamic
- if(#finalLocalTypeVariable.==(null))
+ if(#finalLocalTypeVariable == null)
return #finalLocalTypeVariable = #t20;
else
throw new _in::LateError::localAI("finalLocalTypeVariable");
if(b) {
- #local#set.call(i);
- #finalLocal#set.call(i);
- #localTypeVariable#set.call(t);
- #finalLocalTypeVariable#set.call(t);
- non::expect(i, #local#get.call());
- non::expect(i, #finalLocal#get.call());
- non::expect(t, #localTypeVariable#get.call());
- non::expect(t, #finalLocalTypeVariable#get.call());
+ #local#set(i){(core::int) → dynamic};
+ #finalLocal#set(i){(dynamic) → dynamic};
+ #localTypeVariable#set(t){(non::method::T) → dynamic};
+ #finalLocalTypeVariable#set(t){(non::method::T) → dynamic};
+ non::expect(i, #local#get(){() → core::int});
+ non::expect(i, #finalLocal#get(){() → dynamic});
+ non::expect(t, #localTypeVariable#get(){() → non::method::T});
+ non::expect(t, #finalLocalTypeVariable#get(){() → non::method::T});
}
- non::throws(() → void => #finalLocal#set.call(i));
- non::throws(() → void => #finalLocalTypeVariable#set.call(t));
+ non::throws(() → void => #finalLocal#set(i){(dynamic) → dynamic});
+ non::throws(() → void => #finalLocalTypeVariable#set(t){(non::method::T) → dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.expect
index f6a85c7..0aace1f 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.expect
@@ -17,10 +17,10 @@
non::Class::staticFinalField = null;
non::expect(null, non::topLevelField);
non::expect(null, non::finalTopLevelField);
- non::expect(null, c.{non::Class::instanceField});
- non::expect(null, c.{non::Class::finalInstanceField});
- non::expect(null, c.{non::Class::instanceTypeVariable});
- non::expect(null, c.{non::Class::finalInstanceTypeVariable});
+ non::expect(null, c.{non::Class::instanceField}{core::int*});
+ non::expect(null, c.{non::Class::finalInstanceField}{dynamic});
+ non::expect(null, c.{non::Class::instanceTypeVariable}{core::int*});
+ non::expect(null, c.{non::Class::finalInstanceTypeVariable}{core::int*});
non::expect(null, non::Class::staticField);
non::expect(null, non::Class::staticFinalField);
non::throws(() → Null => non::finalTopLevelField = null);
@@ -156,25 +156,25 @@
return #finalLocalTypeVariable = #t17;
}
if(b) {
- #local#set.call(i);
- #finalLocal#set.call(i);
- #localTypeVariable#set.call(t);
- #finalLocalTypeVariable#set.call(t);
- non::expect(i, #local#get.call());
- non::expect(i, #finalLocal#get.call());
- non::expect(t, #localTypeVariable#get.call());
- non::expect(t, #finalLocalTypeVariable#get.call());
+ #local#set(i){(core::int) → dynamic};
+ #finalLocal#set(i){(dynamic) → dynamic};
+ #localTypeVariable#set(t){(non::method::T) → dynamic};
+ #finalLocalTypeVariable#set(t){(non::method::T) → dynamic};
+ non::expect(i, #local#get(){() → core::int});
+ non::expect(i, #finalLocal#get(){() → dynamic});
+ non::expect(t, #localTypeVariable#get(){() → non::method::T});
+ non::expect(t, #finalLocalTypeVariable#get(){() → non::method::T});
}
- non::throws(() → void => #finalLocal#set.call(i));
- non::throws(() → void => #finalLocalTypeVariable#set.call(t));
+ non::throws(() → void => #finalLocal#set(i){(dynamic) → dynamic});
+ non::throws(() → void => #finalLocalTypeVariable#set(t){(non::method::T) → dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.transformed.expect
index f6a85c7..0aace1f 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.transformed.expect
@@ -17,10 +17,10 @@
non::Class::staticFinalField = null;
non::expect(null, non::topLevelField);
non::expect(null, non::finalTopLevelField);
- non::expect(null, c.{non::Class::instanceField});
- non::expect(null, c.{non::Class::finalInstanceField});
- non::expect(null, c.{non::Class::instanceTypeVariable});
- non::expect(null, c.{non::Class::finalInstanceTypeVariable});
+ non::expect(null, c.{non::Class::instanceField}{core::int*});
+ non::expect(null, c.{non::Class::finalInstanceField}{dynamic});
+ non::expect(null, c.{non::Class::instanceTypeVariable}{core::int*});
+ non::expect(null, c.{non::Class::finalInstanceTypeVariable}{core::int*});
non::expect(null, non::Class::staticField);
non::expect(null, non::Class::staticFinalField);
non::throws(() → Null => non::finalTopLevelField = null);
@@ -156,25 +156,25 @@
return #finalLocalTypeVariable = #t17;
}
if(b) {
- #local#set.call(i);
- #finalLocal#set.call(i);
- #localTypeVariable#set.call(t);
- #finalLocalTypeVariable#set.call(t);
- non::expect(i, #local#get.call());
- non::expect(i, #finalLocal#get.call());
- non::expect(t, #localTypeVariable#get.call());
- non::expect(t, #finalLocalTypeVariable#get.call());
+ #local#set(i){(core::int) → dynamic};
+ #finalLocal#set(i){(dynamic) → dynamic};
+ #localTypeVariable#set(t){(non::method::T) → dynamic};
+ #finalLocalTypeVariable#set(t){(non::method::T) → dynamic};
+ non::expect(i, #local#get(){() → core::int});
+ non::expect(i, #finalLocal#get(){() → dynamic});
+ non::expect(t, #localTypeVariable#get(){() → non::method::T});
+ non::expect(t, #finalLocalTypeVariable#get(){() → non::method::T});
}
- non::throws(() → void => #finalLocal#set.call(i));
- non::throws(() → void => #finalLocalTypeVariable#set.call(t));
+ non::throws(() → void => #finalLocal#set(i){(dynamic) → dynamic});
+ non::throws(() → void => #finalLocalTypeVariable#set(t){(non::method::T) → dynamic});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.strong.expect b/pkg/front_end/testcases/late_lowering/override.dart.strong.expect
index 6fa984a..15a8681 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.strong.expect
@@ -12,24 +12,24 @@
: super core::Object::•()
;
get field1() → core::int
- return let final core::int? #t1 = this.{self::Class::_#Class#field1} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("field1") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Class::_#Class#field1} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t1{core::int};
set field1(core::int #t2) → void
this.{self::Class::_#Class#field1} = #t2;
get field2() → core::int
- return let final core::int? #t3 = this.{self::Class::_#Class#field2} in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("field2") : #t3{core::int};
+ return let final core::int? #t3 = this.{self::Class::_#Class#field2} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("field2") : #t3{core::int};
set field2(core::int #t4) → void
this.{self::Class::_#Class#field2} = #t4;
get field3() → core::int
- return let final core::int? #t5 = this.{self::Class::_#Class#field3} in #t5.==(null) ?{core::int} throw new _in::LateError::fieldNI("field3") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::Class::_#Class#field3} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t5{core::int};
set field3(core::int #t6) → void
- if(this.{self::Class::_#Class#field3}.==(null))
+ if(this.{self::Class::_#Class#field3} == null)
this.{self::Class::_#Class#field3} = #t6;
else
throw new _in::LateError::fieldAI("field3");
get field4() → core::int
- return let final core::int? #t7 = this.{self::Class::_#Class#field4} in #t7.==(null) ?{core::int} throw new _in::LateError::fieldNI("field4") : #t7{core::int};
+ return let final core::int? #t7 = this.{self::Class::_#Class#field4} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("field4") : #t7{core::int};
set field4(core::int #t8) → void
- if(this.{self::Class::_#Class#field4}.==(null))
+ if(this.{self::Class::_#Class#field4} == null)
this.{self::Class::_#Class#field4} = #t8;
else
throw new _in::LateError::fieldAI("field4");
@@ -43,22 +43,22 @@
: super self::Class::•()
;
get field1() → core::int
- return let final core::int? #t9 = this.{self::SubClass::_#SubClass#field1} in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("field1") : #t9{core::int};
+ return let final core::int? #t9 = this.{self::SubClass::_#SubClass#field1} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t9{core::int};
set field1(core::int #t10) → void
this.{self::SubClass::_#SubClass#field1} = #t10;
get field2() → core::int
- return let final core::int? #t11 = this.{self::SubClass::_#SubClass#field2} in #t11.==(null) ?{core::int} this.{self::SubClass::_#SubClass#field2} = 0 : #t11{core::int};
+ return let final core::int? #t11 = this.{self::SubClass::_#SubClass#field2} in #t11 == null ?{core::int} this.{self::SubClass::_#SubClass#field2} = 0 : #t11{core::int};
set field2(core::int #t12) → void
this.{self::SubClass::_#SubClass#field2} = #t12;
get field3() → core::int
- return let final core::int? #t13 = this.{self::SubClass::_#SubClass#field3} in #t13.==(null) ?{core::int} throw new _in::LateError::fieldNI("field3") : #t13{core::int};
+ return let final core::int? #t13 = this.{self::SubClass::_#SubClass#field3} in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t13{core::int};
set field3(core::int #t14) → void
- if(this.{self::SubClass::_#SubClass#field3}.==(null))
+ if(this.{self::SubClass::_#SubClass#field3} == null)
this.{self::SubClass::_#SubClass#field3} = #t14;
else
throw new _in::LateError::fieldAI("field3");
get field4() → core::int
- return let final core::int? #t15 = this.{self::SubClass::_#SubClass#field4} in #t15.==(null) ?{core::int} let final core::int #t16 = 0 in this.{self::SubClass::_#SubClass#field4}.==(null) ?{core::int} this.{self::SubClass::_#SubClass#field4} = #t16 : throw new _in::LateError::fieldADI("field4") : #t15{core::int};
+ return let final core::int? #t15 = this.{self::SubClass::_#SubClass#field4} in #t15 == null ?{core::int} let final core::int #t16 = 0 in this.{self::SubClass::_#SubClass#field4} == null ?{core::int} this.{self::SubClass::_#SubClass#field4} = #t16 : throw new _in::LateError::fieldADI("field4") : #t15{core::int};
get directField1() → core::int
return super.{self::Class::field1};
set directField1(core::int value) → void {
@@ -77,41 +77,41 @@
static method main() → dynamic {
self::SubClass sc = new self::SubClass::•();
self::Class c = sc;
- self::throws(() → core::int => c.{self::Class::field1}, "Read value from uninitialized SubClass.field1");
- self::throws(() → core::int => sc.{self::SubClass::directField1}, "Read value from uninitialized Class.field1");
+ self::throws(() → core::int => c.{self::Class::field1}{core::int}, "Read value from uninitialized SubClass.field1");
+ self::throws(() → core::int => sc.{self::SubClass::directField1}{core::int}, "Read value from uninitialized Class.field1");
self::expect(42, c.{self::Class::field1} = 42);
- self::expect(42, c.{self::Class::field1});
- self::throws(() → core::int => sc.{self::SubClass::directField1}, "Read value from uninitialized Class.field1");
+ self::expect(42, c.{self::Class::field1}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField1}{core::int}, "Read value from uninitialized Class.field1");
self::expect(87, sc.{self::SubClass::directField1} = 87);
- self::expect(87, sc.{self::SubClass::directField1});
- self::expect(0, c.{self::Class::field2});
- self::throws(() → core::int => sc.{self::SubClass::directField2}, "Read value from uninitialized Class.field2");
+ self::expect(87, sc.{self::SubClass::directField1}{core::int});
+ self::expect(0, c.{self::Class::field2}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField2}{core::int}, "Read value from uninitialized Class.field2");
self::expect(42, c.{self::Class::field2} = 42);
- self::expect(42, c.{self::Class::field2});
- self::throws(() → core::int => sc.{self::SubClass::directField2}, "Read value from uninitialized Class.field2");
+ self::expect(42, c.{self::Class::field2}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField2}{core::int}, "Read value from uninitialized Class.field2");
self::expect(87, sc.{self::SubClass::directField2} = 87);
- self::expect(87, sc.{self::SubClass::directField2});
- self::throws(() → core::int => c.{self::Class::field3}, "Read value from uninitialized SubClass.field3");
- self::throws(() → core::int => sc.{self::SubClass::directField3}, "Read value from uninitialized Class.field3");
+ self::expect(87, sc.{self::SubClass::directField2}{core::int});
+ self::throws(() → core::int => c.{self::Class::field3}{core::int}, "Read value from uninitialized SubClass.field3");
+ self::throws(() → core::int => sc.{self::SubClass::directField3}{core::int}, "Read value from uninitialized Class.field3");
self::expect(42, c.{self::Class::field3} = 42);
- self::expect(42, c.{self::Class::field3});
- self::throws(() → core::int => sc.{self::SubClass::directField3}, "Read value from uninitialized Class.field3");
+ self::expect(42, c.{self::Class::field3}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField3}{core::int}, "Read value from uninitialized Class.field3");
self::throws(() → core::int => c.{self::Class::field3} = 87, "Write value to initialized SubClass.field3");
- self::expect(0, c.{self::Class::field4});
- self::throws(() → core::int => sc.{self::SubClass::directField4}, "Read value from uninitialized Class.field4");
+ self::expect(0, c.{self::Class::field4}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField4}{core::int}, "Read value from uninitialized Class.field4");
self::expect(42, c.{self::Class::field4} = 42);
- self::expect(0, c.{self::Class::field4});
- self::expect(42, sc.{self::SubClass::directField4});
+ self::expect(0, c.{self::Class::field4}{core::int});
+ self::expect(42, sc.{self::SubClass::directField4}{core::int});
self::throws(() → core::int => c.{self::Class::field4} = 87, "Write value to initialized SubClass.field4");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}.";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/override.dart.strong.transformed.expect
index 31e4f1c..e46e3c3 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.strong.transformed.expect
@@ -12,24 +12,24 @@
: super core::Object::•()
;
get field1() → core::int
- return let final core::int? #t1 = this.{self::Class::_#Class#field1} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("field1") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::Class::_#Class#field1} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t1{core::int};
set field1(core::int #t2) → void
this.{self::Class::_#Class#field1} = #t2;
get field2() → core::int
- return let final core::int? #t3 = this.{self::Class::_#Class#field2} in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("field2") : #t3{core::int};
+ return let final core::int? #t3 = this.{self::Class::_#Class#field2} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("field2") : #t3{core::int};
set field2(core::int #t4) → void
this.{self::Class::_#Class#field2} = #t4;
get field3() → core::int
- return let final core::int? #t5 = this.{self::Class::_#Class#field3} in #t5.==(null) ?{core::int} throw new _in::LateError::fieldNI("field3") : #t5{core::int};
+ return let final core::int? #t5 = this.{self::Class::_#Class#field3} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t5{core::int};
set field3(core::int #t6) → void
- if(this.{self::Class::_#Class#field3}.==(null))
+ if(this.{self::Class::_#Class#field3} == null)
this.{self::Class::_#Class#field3} = #t6;
else
throw new _in::LateError::fieldAI("field3");
get field4() → core::int
- return let final core::int? #t7 = this.{self::Class::_#Class#field4} in #t7.==(null) ?{core::int} throw new _in::LateError::fieldNI("field4") : #t7{core::int};
+ return let final core::int? #t7 = this.{self::Class::_#Class#field4} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("field4") : #t7{core::int};
set field4(core::int #t8) → void
- if(this.{self::Class::_#Class#field4}.==(null))
+ if(this.{self::Class::_#Class#field4} == null)
this.{self::Class::_#Class#field4} = #t8;
else
throw new _in::LateError::fieldAI("field4");
@@ -43,22 +43,22 @@
: super self::Class::•()
;
get field1() → core::int
- return let final core::int? #t9 = this.{self::SubClass::_#SubClass#field1} in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("field1") : #t9{core::int};
+ return let final core::int? #t9 = this.{self::SubClass::_#SubClass#field1} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t9{core::int};
set field1(core::int #t10) → void
this.{self::SubClass::_#SubClass#field1} = #t10;
get field2() → core::int
- return let final core::int? #t11 = this.{self::SubClass::_#SubClass#field2} in #t11.==(null) ?{core::int} this.{self::SubClass::_#SubClass#field2} = 0 : #t11{core::int};
+ return let final core::int? #t11 = this.{self::SubClass::_#SubClass#field2} in #t11 == null ?{core::int} this.{self::SubClass::_#SubClass#field2} = 0 : #t11{core::int};
set field2(core::int #t12) → void
this.{self::SubClass::_#SubClass#field2} = #t12;
get field3() → core::int
- return let final core::int? #t13 = this.{self::SubClass::_#SubClass#field3} in #t13.==(null) ?{core::int} throw new _in::LateError::fieldNI("field3") : #t13{core::int};
+ return let final core::int? #t13 = this.{self::SubClass::_#SubClass#field3} in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t13{core::int};
set field3(core::int #t14) → void
- if(this.{self::SubClass::_#SubClass#field3}.==(null))
+ if(this.{self::SubClass::_#SubClass#field3} == null)
this.{self::SubClass::_#SubClass#field3} = #t14;
else
throw new _in::LateError::fieldAI("field3");
get field4() → core::int
- return let final core::int? #t15 = this.{self::SubClass::_#SubClass#field4} in #t15.==(null) ?{core::int} let final core::int #t16 = 0 in this.{self::SubClass::_#SubClass#field4}.==(null) ?{core::int} this.{self::SubClass::_#SubClass#field4} = #t16 : throw new _in::LateError::fieldADI("field4") : #t15{core::int};
+ return let final core::int? #t15 = this.{self::SubClass::_#SubClass#field4} in #t15 == null ?{core::int} let final core::int #t16 = 0 in this.{self::SubClass::_#SubClass#field4} == null ?{core::int} this.{self::SubClass::_#SubClass#field4} = #t16 : throw new _in::LateError::fieldADI("field4") : #t15{core::int};
get directField1() → core::int
return super.{self::Class::field1};
set directField1(core::int value) → void {
@@ -77,41 +77,41 @@
static method main() → dynamic {
self::SubClass sc = new self::SubClass::•();
self::Class c = sc;
- self::throws(() → core::int => c.{self::Class::field1}, "Read value from uninitialized SubClass.field1");
- self::throws(() → core::int => sc.{self::SubClass::directField1}, "Read value from uninitialized Class.field1");
+ self::throws(() → core::int => c.{self::Class::field1}{core::int}, "Read value from uninitialized SubClass.field1");
+ self::throws(() → core::int => sc.{self::SubClass::directField1}{core::int}, "Read value from uninitialized Class.field1");
self::expect(42, c.{self::Class::field1} = 42);
- self::expect(42, c.{self::Class::field1});
- self::throws(() → core::int => sc.{self::SubClass::directField1}, "Read value from uninitialized Class.field1");
+ self::expect(42, c.{self::Class::field1}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField1}{core::int}, "Read value from uninitialized Class.field1");
self::expect(87, sc.{self::SubClass::directField1} = 87);
- self::expect(87, sc.{self::SubClass::directField1});
- self::expect(0, c.{self::Class::field2});
- self::throws(() → core::int => sc.{self::SubClass::directField2}, "Read value from uninitialized Class.field2");
+ self::expect(87, sc.{self::SubClass::directField1}{core::int});
+ self::expect(0, c.{self::Class::field2}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField2}{core::int}, "Read value from uninitialized Class.field2");
self::expect(42, c.{self::Class::field2} = 42);
- self::expect(42, c.{self::Class::field2});
- self::throws(() → core::int => sc.{self::SubClass::directField2}, "Read value from uninitialized Class.field2");
+ self::expect(42, c.{self::Class::field2}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField2}{core::int}, "Read value from uninitialized Class.field2");
self::expect(87, sc.{self::SubClass::directField2} = 87);
- self::expect(87, sc.{self::SubClass::directField2});
- self::throws(() → core::int => c.{self::Class::field3}, "Read value from uninitialized SubClass.field3");
- self::throws(() → core::int => sc.{self::SubClass::directField3}, "Read value from uninitialized Class.field3");
+ self::expect(87, sc.{self::SubClass::directField2}{core::int});
+ self::throws(() → core::int => c.{self::Class::field3}{core::int}, "Read value from uninitialized SubClass.field3");
+ self::throws(() → core::int => sc.{self::SubClass::directField3}{core::int}, "Read value from uninitialized Class.field3");
self::expect(42, c.{self::Class::field3} = 42);
- self::expect(42, c.{self::Class::field3});
- self::throws(() → core::int => sc.{self::SubClass::directField3}, "Read value from uninitialized Class.field3");
+ self::expect(42, c.{self::Class::field3}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField3}{core::int}, "Read value from uninitialized Class.field3");
self::throws(() → core::int => c.{self::Class::field3} = 87, "Write value to initialized SubClass.field3");
- self::expect(0, c.{self::Class::field4});
- self::throws(() → core::int => sc.{self::SubClass::directField4}, "Read value from uninitialized Class.field4");
+ self::expect(0, c.{self::Class::field4}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField4}{core::int}, "Read value from uninitialized Class.field4");
self::expect(42, c.{self::Class::field4} = 42);
- self::expect(0, c.{self::Class::field4});
- self::expect(42, sc.{self::SubClass::directField4});
+ self::expect(0, c.{self::Class::field4}{core::int});
+ self::expect(42, sc.{self::SubClass::directField4}{core::int});
self::throws(() → core::int => c.{self::Class::field4} = 87, "Write value to initialized SubClass.field4");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}.";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.weak.expect b/pkg/front_end/testcases/late_lowering/override.dart.weak.expect
index 9b3ba60..f36bd78 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.weak.expect
@@ -112,41 +112,41 @@
static method main() → dynamic {
self::SubClass sc = new self::SubClass::•();
self::Class c = sc;
- self::throws(() → core::int => c.{self::Class::field1}, "Read value from uninitialized SubClass.field1");
- self::throws(() → core::int => sc.{self::SubClass::directField1}, "Read value from uninitialized Class.field1");
+ self::throws(() → core::int => c.{self::Class::field1}{core::int}, "Read value from uninitialized SubClass.field1");
+ self::throws(() → core::int => sc.{self::SubClass::directField1}{core::int}, "Read value from uninitialized Class.field1");
self::expect(42, c.{self::Class::field1} = 42);
- self::expect(42, c.{self::Class::field1});
- self::throws(() → core::int => sc.{self::SubClass::directField1}, "Read value from uninitialized Class.field1");
+ self::expect(42, c.{self::Class::field1}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField1}{core::int}, "Read value from uninitialized Class.field1");
self::expect(87, sc.{self::SubClass::directField1} = 87);
- self::expect(87, sc.{self::SubClass::directField1});
- self::expect(0, c.{self::Class::field2});
- self::throws(() → core::int => sc.{self::SubClass::directField2}, "Read value from uninitialized Class.field2");
+ self::expect(87, sc.{self::SubClass::directField1}{core::int});
+ self::expect(0, c.{self::Class::field2}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField2}{core::int}, "Read value from uninitialized Class.field2");
self::expect(42, c.{self::Class::field2} = 42);
- self::expect(42, c.{self::Class::field2});
- self::throws(() → core::int => sc.{self::SubClass::directField2}, "Read value from uninitialized Class.field2");
+ self::expect(42, c.{self::Class::field2}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField2}{core::int}, "Read value from uninitialized Class.field2");
self::expect(87, sc.{self::SubClass::directField2} = 87);
- self::expect(87, sc.{self::SubClass::directField2});
- self::throws(() → core::int => c.{self::Class::field3}, "Read value from uninitialized SubClass.field3");
- self::throws(() → core::int => sc.{self::SubClass::directField3}, "Read value from uninitialized Class.field3");
+ self::expect(87, sc.{self::SubClass::directField2}{core::int});
+ self::throws(() → core::int => c.{self::Class::field3}{core::int}, "Read value from uninitialized SubClass.field3");
+ self::throws(() → core::int => sc.{self::SubClass::directField3}{core::int}, "Read value from uninitialized Class.field3");
self::expect(42, c.{self::Class::field3} = 42);
- self::expect(42, c.{self::Class::field3});
- self::throws(() → core::int => sc.{self::SubClass::directField3}, "Read value from uninitialized Class.field3");
+ self::expect(42, c.{self::Class::field3}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField3}{core::int}, "Read value from uninitialized Class.field3");
self::throws(() → core::int => c.{self::Class::field3} = 87, "Write value to initialized SubClass.field3");
- self::expect(0, c.{self::Class::field4});
- self::throws(() → core::int => sc.{self::SubClass::directField4}, "Read value from uninitialized Class.field4");
+ self::expect(0, c.{self::Class::field4}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField4}{core::int}, "Read value from uninitialized Class.field4");
self::expect(42, c.{self::Class::field4} = 42);
- self::expect(0, c.{self::Class::field4});
- self::expect(42, sc.{self::SubClass::directField4});
+ self::expect(0, c.{self::Class::field4}{core::int});
+ self::expect(42, sc.{self::SubClass::directField4}{core::int});
self::throws(() → core::int => c.{self::Class::field4} = 87, "Write value to initialized SubClass.field4");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}.";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/override.dart.weak.transformed.expect
index 9b3ba60..f36bd78 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.weak.transformed.expect
@@ -112,41 +112,41 @@
static method main() → dynamic {
self::SubClass sc = new self::SubClass::•();
self::Class c = sc;
- self::throws(() → core::int => c.{self::Class::field1}, "Read value from uninitialized SubClass.field1");
- self::throws(() → core::int => sc.{self::SubClass::directField1}, "Read value from uninitialized Class.field1");
+ self::throws(() → core::int => c.{self::Class::field1}{core::int}, "Read value from uninitialized SubClass.field1");
+ self::throws(() → core::int => sc.{self::SubClass::directField1}{core::int}, "Read value from uninitialized Class.field1");
self::expect(42, c.{self::Class::field1} = 42);
- self::expect(42, c.{self::Class::field1});
- self::throws(() → core::int => sc.{self::SubClass::directField1}, "Read value from uninitialized Class.field1");
+ self::expect(42, c.{self::Class::field1}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField1}{core::int}, "Read value from uninitialized Class.field1");
self::expect(87, sc.{self::SubClass::directField1} = 87);
- self::expect(87, sc.{self::SubClass::directField1});
- self::expect(0, c.{self::Class::field2});
- self::throws(() → core::int => sc.{self::SubClass::directField2}, "Read value from uninitialized Class.field2");
+ self::expect(87, sc.{self::SubClass::directField1}{core::int});
+ self::expect(0, c.{self::Class::field2}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField2}{core::int}, "Read value from uninitialized Class.field2");
self::expect(42, c.{self::Class::field2} = 42);
- self::expect(42, c.{self::Class::field2});
- self::throws(() → core::int => sc.{self::SubClass::directField2}, "Read value from uninitialized Class.field2");
+ self::expect(42, c.{self::Class::field2}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField2}{core::int}, "Read value from uninitialized Class.field2");
self::expect(87, sc.{self::SubClass::directField2} = 87);
- self::expect(87, sc.{self::SubClass::directField2});
- self::throws(() → core::int => c.{self::Class::field3}, "Read value from uninitialized SubClass.field3");
- self::throws(() → core::int => sc.{self::SubClass::directField3}, "Read value from uninitialized Class.field3");
+ self::expect(87, sc.{self::SubClass::directField2}{core::int});
+ self::throws(() → core::int => c.{self::Class::field3}{core::int}, "Read value from uninitialized SubClass.field3");
+ self::throws(() → core::int => sc.{self::SubClass::directField3}{core::int}, "Read value from uninitialized Class.field3");
self::expect(42, c.{self::Class::field3} = 42);
- self::expect(42, c.{self::Class::field3});
- self::throws(() → core::int => sc.{self::SubClass::directField3}, "Read value from uninitialized Class.field3");
+ self::expect(42, c.{self::Class::field3}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField3}{core::int}, "Read value from uninitialized Class.field3");
self::throws(() → core::int => c.{self::Class::field3} = 87, "Write value to initialized SubClass.field3");
- self::expect(0, c.{self::Class::field4});
- self::throws(() → core::int => sc.{self::SubClass::directField4}, "Read value from uninitialized Class.field4");
+ self::expect(0, c.{self::Class::field4}{core::int});
+ self::throws(() → core::int => sc.{self::SubClass::directField4}{core::int}, "Read value from uninitialized Class.field4");
self::expect(42, c.{self::Class::field4} = 42);
- self::expect(0, c.{self::Class::field4});
- self::expect(42, sc.{self::SubClass::directField4});
+ self::expect(0, c.{self::Class::field4}{core::int});
+ self::expect(42, sc.{self::SubClass::directField4}{core::int});
self::throws(() → core::int => c.{self::Class::field4} = 87, "Write value to initialized SubClass.field4");
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}.";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.expect
index 600c0c9..a6efc95 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.expect
@@ -11,9 +11,9 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
- if(this.{self::A::_#A#x}.==(null))
+ if(this.{self::A::_#A#x} == null)
this.{self::A::_#A#x} = #t2;
else
throw new _in::LateError::fieldAI("x");
@@ -44,7 +44,7 @@
: super self::A::•()
;
get x() → core::int
- return let final core::int? #t4 = this.{self::C::_#C#x} in #t4.==(null) ?{core::int} let final core::int #t5 = 2 in this.{self::C::_#C#x}.==(null) ?{core::int} this.{self::C::_#C#x} = #t5 : throw new _in::LateError::fieldADI("x") : #t4{core::int};
+ return let final core::int? #t4 = this.{self::C::_#C#x} in #t4 == null ?{core::int} let final core::int #t5 = 2 in this.{self::C::_#C#x} == null ?{core::int} this.{self::C::_#C#x} = #t5 : throw new _in::LateError::fieldADI("x") : #t4{core::int};
get y() → core::int? {
if(!this.{self::C::_#C#y#isSet}) {
final core::int? #t6 = 2;
@@ -63,23 +63,23 @@
self::throws(() → core::int => b.{self::A::x} = 14, "Write to B.x");
c.{self::A::x} = 3;
self::throws(() → core::int => c.{self::A::x} = 14, "Write to C.x");
- self::expect(1, b.{self::B::x});
- self::expect(2, c.{self::C::x});
+ self::expect(1, b.{self::B::x}{core::int});
+ self::expect(2, c.{self::C::x}{core::int});
b.{self::A::y} = 3;
self::throws(() → core::int => b.{self::A::y} = 14, "Write to B.y");
c.{self::A::y} = 3;
self::throws(() → core::int => c.{self::A::y} = 14, "Write to C.y");
- self::expect(1, b.{self::B::y});
- self::expect(2, c.{self::C::y});
+ self::expect(1, b.{self::B::y}{core::int?});
+ self::expect(2, c.{self::C::y}{core::int?});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.transformed.expect
index 474f90a..19b863e 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.transformed.expect
@@ -11,9 +11,9 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
- if(this.{self::A::_#A#x}.==(null))
+ if(this.{self::A::_#A#x} == null)
this.{self::A::_#A#x} = #t2;
else
throw new _in::LateError::fieldAI("x");
@@ -44,7 +44,7 @@
: super self::A::•()
;
get x() → core::int
- return let final core::int? #t4 = this.{self::C::_#C#x} in #t4.==(null) ?{core::int} let final core::int #t5 = 2 in this.{self::C::_#C#x}.==(null) ?{core::int} this.{self::C::_#C#x} = #t5 : throw new _in::LateError::fieldADI("x") : #t4{core::int};
+ return let final core::int? #t4 = this.{self::C::_#C#x} in #t4 == null ?{core::int} let final core::int #t5 = 2 in this.{self::C::_#C#x} == null ?{core::int} this.{self::C::_#C#x} = #t5 : throw new _in::LateError::fieldADI("x") : #t4{core::int};
get y() → core::int? {
if(!this.{self::C::_#C#y#isSet}) {
final core::int? #t6 = 2;
@@ -63,23 +63,23 @@
self::throws(() → core::int => b.{self::A::x} = 14, "Write to B.x");
c.{self::A::x} = 3;
self::throws(() → core::int => c.{self::A::x} = 14, "Write to C.x");
- self::expect(1, b.{self::B::x});
- self::expect(2, c.{self::C::x});
+ self::expect(1, b.{self::B::x}{core::int});
+ self::expect(2, c.{self::C::x}{core::int});
b.{self::A::y} = 3;
self::throws(() → core::int => b.{self::A::y} = 14, "Write to B.y");
c.{self::A::y} = 3;
self::throws(() → core::int => c.{self::A::y} = 14, "Write to C.y");
- self::expect(1, b.{self::B::y});
- self::expect(2, c.{self::C::y});
+ self::expect(1, b.{self::B::y}{core::int?});
+ self::expect(2, c.{self::C::y}{core::int?});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.expect
index 1cb53d8..004775a 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.expect
@@ -75,23 +75,23 @@
self::throws(() → core::int => b.{self::A::x} = 14, "Write to B.x");
c.{self::A::x} = 3;
self::throws(() → core::int => c.{self::A::x} = 14, "Write to C.x");
- self::expect(1, b.{self::B::x});
- self::expect(2, c.{self::C::x});
+ self::expect(1, b.{self::B::x}{core::int});
+ self::expect(2, c.{self::C::x}{core::int});
b.{self::A::y} = 3;
self::throws(() → core::int => b.{self::A::y} = 14, "Write to B.y");
c.{self::A::y} = 3;
self::throws(() → core::int => c.{self::A::y} = 14, "Write to C.y");
- self::expect(1, b.{self::B::y});
- self::expect(2, c.{self::C::y});
+ self::expect(1, b.{self::B::y}{core::int?});
+ self::expect(2, c.{self::C::y}{core::int?});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.transformed.expect
index 1cb53d8..004775a 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.transformed.expect
@@ -75,23 +75,23 @@
self::throws(() → core::int => b.{self::A::x} = 14, "Write to B.x");
c.{self::A::x} = 3;
self::throws(() → core::int => c.{self::A::x} = 14, "Write to C.x");
- self::expect(1, b.{self::B::x});
- self::expect(2, c.{self::C::x});
+ self::expect(1, b.{self::B::x}{core::int});
+ self::expect(2, c.{self::C::x}{core::int});
b.{self::A::y} = 3;
self::throws(() → core::int => b.{self::A::y} = 14, "Write to B.y");
c.{self::A::y} = 3;
self::throws(() → core::int => c.{self::A::y} = 14, "Write to C.y");
- self::expect(1, b.{self::B::y});
- self::expect(2, c.{self::C::y});
+ self::expect(1, b.{self::B::y}{core::int?});
+ self::expect(2, c.{self::C::y}{core::int?});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.strong.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.strong.expect
index af828fe..90de275 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.strong.expect
@@ -14,7 +14,7 @@
: super core::Object::•()
;
get _privateField1() → core::int
- return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1} in #t1.==(null) ?{core::int} this.{self::_Class::_#_Class#_privateField1} = 1 : #t1{core::int};
+ return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1} in #t1 == null ?{core::int} this.{self::_Class::_#_Class#_privateField1} = 1 : #t1{core::int};
set _privateField1(core::int #t2) → void
this.{self::_Class::_#_Class#_privateField1} = #t2;
get _privateField2() → core::int? {
@@ -29,7 +29,7 @@
this.{self::_Class::_#_Class#_privateField2} = #t3;
}
get _privateFinalField1() → core::int
- return let final core::int? #t4 = this.{self::_Class::_#_Class#_privateFinalField1} in #t4.==(null) ?{core::int} this.{self::_Class::_#_Class#_privateFinalField1} = 1 : #t4{core::int};
+ return let final core::int? #t4 = this.{self::_Class::_#_Class#_privateFinalField1} in #t4 == null ?{core::int} this.{self::_Class::_#_Class#_privateFinalField1} = 1 : #t4{core::int};
set _privateFinalField1(core::int #t5) → void
this.{self::_Class::_#_Class#_privateFinalField1} = #t5;
get _privateFinalField2() → core::int? {
@@ -68,17 +68,17 @@
static field core::bool _#_Extension|_privateFinalField2#isSet = false /* from org-dartlang-testcase:///private_members_part.dart */;
static method main() → dynamic {
self::_Class c = new self::_Class::•();
- c.{self::_Class::_privateField1} = c.{self::_Class::_privateField1};
- c.{self::_Class::_privateField2} = c.{self::_Class::_privateField2};
- c.{self::_Class::_privateFinalField1};
- c.{self::_Class::_privateFinalField2};
+ c.{self::_Class::_privateField1} = c.{self::_Class::_privateField1}{core::int};
+ c.{self::_Class::_privateField2} = c.{self::_Class::_privateField2}{core::int?};
+ c.{self::_Class::_privateFinalField1}{core::int};
+ c.{self::_Class::_privateFinalField2}{core::int?};
self::_Extension|_privateField1 = self::_Extension|_privateField1;
self::_Extension|_privateField2 = self::_Extension|_privateField2;
self::_Extension|_privateFinalField1;
self::_Extension|_privateFinalField2;
}
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1() → core::int
- return let final core::int? #t7 = self::_#_Extension|_privateField1 in #t7.==(null) ?{core::int} self::_#_Extension|_privateField1 = 1 : #t7{core::int};
+ return let final core::int? #t7 = self::_#_Extension|_privateField1 in #t7 == null ?{core::int} self::_#_Extension|_privateField1 = 1 : #t7{core::int};
static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int #t8) → void
self::_#_Extension|_privateField1 = #t8;
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2() → core::int? {
@@ -93,7 +93,7 @@
self::_#_Extension|_privateField2 = #t9;
}
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1() → core::int
- return let final core::int? #t10 = self::_#_Extension|_privateFinalField1 in #t10.==(null) ?{core::int} self::_#_Extension|_privateFinalField1 = 1 : #t10{core::int};
+ return let final core::int? #t10 = self::_#_Extension|_privateFinalField1 in #t10 == null ?{core::int} self::_#_Extension|_privateFinalField1 = 1 : #t10{core::int};
static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int #t11) → void
self::_#_Extension|_privateFinalField1 = #t11;
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2() → core::int? {
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.strong.transformed.expect
index af828fe..90de275 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.strong.transformed.expect
@@ -14,7 +14,7 @@
: super core::Object::•()
;
get _privateField1() → core::int
- return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1} in #t1.==(null) ?{core::int} this.{self::_Class::_#_Class#_privateField1} = 1 : #t1{core::int};
+ return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1} in #t1 == null ?{core::int} this.{self::_Class::_#_Class#_privateField1} = 1 : #t1{core::int};
set _privateField1(core::int #t2) → void
this.{self::_Class::_#_Class#_privateField1} = #t2;
get _privateField2() → core::int? {
@@ -29,7 +29,7 @@
this.{self::_Class::_#_Class#_privateField2} = #t3;
}
get _privateFinalField1() → core::int
- return let final core::int? #t4 = this.{self::_Class::_#_Class#_privateFinalField1} in #t4.==(null) ?{core::int} this.{self::_Class::_#_Class#_privateFinalField1} = 1 : #t4{core::int};
+ return let final core::int? #t4 = this.{self::_Class::_#_Class#_privateFinalField1} in #t4 == null ?{core::int} this.{self::_Class::_#_Class#_privateFinalField1} = 1 : #t4{core::int};
set _privateFinalField1(core::int #t5) → void
this.{self::_Class::_#_Class#_privateFinalField1} = #t5;
get _privateFinalField2() → core::int? {
@@ -68,17 +68,17 @@
static field core::bool _#_Extension|_privateFinalField2#isSet = false /* from org-dartlang-testcase:///private_members_part.dart */;
static method main() → dynamic {
self::_Class c = new self::_Class::•();
- c.{self::_Class::_privateField1} = c.{self::_Class::_privateField1};
- c.{self::_Class::_privateField2} = c.{self::_Class::_privateField2};
- c.{self::_Class::_privateFinalField1};
- c.{self::_Class::_privateFinalField2};
+ c.{self::_Class::_privateField1} = c.{self::_Class::_privateField1}{core::int};
+ c.{self::_Class::_privateField2} = c.{self::_Class::_privateField2}{core::int?};
+ c.{self::_Class::_privateFinalField1}{core::int};
+ c.{self::_Class::_privateFinalField2}{core::int?};
self::_Extension|_privateField1 = self::_Extension|_privateField1;
self::_Extension|_privateField2 = self::_Extension|_privateField2;
self::_Extension|_privateFinalField1;
self::_Extension|_privateFinalField2;
}
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1() → core::int
- return let final core::int? #t7 = self::_#_Extension|_privateField1 in #t7.==(null) ?{core::int} self::_#_Extension|_privateField1 = 1 : #t7{core::int};
+ return let final core::int? #t7 = self::_#_Extension|_privateField1 in #t7 == null ?{core::int} self::_#_Extension|_privateField1 = 1 : #t7{core::int};
static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int #t8) → void
self::_#_Extension|_privateField1 = #t8;
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2() → core::int? {
@@ -93,7 +93,7 @@
self::_#_Extension|_privateField2 = #t9;
}
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1() → core::int
- return let final core::int? #t10 = self::_#_Extension|_privateFinalField1 in #t10.==(null) ?{core::int} self::_#_Extension|_privateFinalField1 = 1 : #t10{core::int};
+ return let final core::int? #t10 = self::_#_Extension|_privateFinalField1 in #t10 == null ?{core::int} self::_#_Extension|_privateFinalField1 = 1 : #t10{core::int};
static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int #t11) → void
self::_#_Extension|_privateFinalField1 = #t11;
static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2() → core::int? {
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.expect
index 91b12c0..bdc0f2b 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.expect
@@ -88,10 +88,10 @@
static field core::bool _#_Extension|_privateFinalField2#isSet = false /* from org-dartlang-testcase:///private_members_part.dart */;
static method main() → dynamic {
self::_Class c = new self::_Class::•();
- c.{self::_Class::_privateField1} = c.{self::_Class::_privateField1};
- c.{self::_Class::_privateField2} = c.{self::_Class::_privateField2};
- c.{self::_Class::_privateFinalField1};
- c.{self::_Class::_privateFinalField2};
+ c.{self::_Class::_privateField1} = c.{self::_Class::_privateField1}{core::int};
+ c.{self::_Class::_privateField2} = c.{self::_Class::_privateField2}{core::int?};
+ c.{self::_Class::_privateFinalField1}{core::int};
+ c.{self::_Class::_privateFinalField2}{core::int?};
self::_Extension|_privateField1 = self::_Extension|_privateField1;
self::_Extension|_privateField2 = self::_Extension|_privateField2;
self::_Extension|_privateFinalField1;
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.transformed.expect
index 91b12c0..bdc0f2b 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.transformed.expect
@@ -88,10 +88,10 @@
static field core::bool _#_Extension|_privateFinalField2#isSet = false /* from org-dartlang-testcase:///private_members_part.dart */;
static method main() → dynamic {
self::_Class c = new self::_Class::•();
- c.{self::_Class::_privateField1} = c.{self::_Class::_privateField1};
- c.{self::_Class::_privateField2} = c.{self::_Class::_privateField2};
- c.{self::_Class::_privateFinalField1};
- c.{self::_Class::_privateFinalField2};
+ c.{self::_Class::_privateField1} = c.{self::_Class::_privateField1}{core::int};
+ c.{self::_Class::_privateField2} = c.{self::_Class::_privateField2}{core::int?};
+ c.{self::_Class::_privateFinalField1}{core::int};
+ c.{self::_Class::_privateFinalField2}{core::int?};
self::_Extension|_privateField1 = self::_Extension|_privateField1;
self::_Extension|_privateField2 = self::_Extension|_privateField2;
self::_Extension|_privateFinalField1;
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.strong.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.strong.expect
index 2ad5eb6..8b9bf40 100644
--- a/pkg/front_end/testcases/late_lowering/return_late.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/return_late.dart.strong.expect
@@ -12,7 +12,7 @@
lowered core::bool #result#isSet = false;
function #result#get() → self::Class::E% {
if(!#result#isSet) {
- #result = this.{self::Class::field};
+ #result = this.{self::Class::field}{self::Class::E%};
#result#isSet = true;
}
return #result{self::Class::E%};
@@ -21,16 +21,16 @@
#result#isSet = true;
return #result = #t1;
}
- return #result#get.call();
+ return #result#get(){() → self::Class::E%};
}
}
static method returnNonNullable(core::int value) → core::int {
lowered core::int? #result;
function #result#get() → core::int
- return let final core::int? #t2 = #result in #t2.==(null) ?{core::int} #result = value : #t2{core::int};
+ return let final core::int? #t2 = #result in #t2 == null ?{core::int} #result = value : #t2{core::int};
function #result#set(core::int #t3) → dynamic
return #result = #t3;
- return #result#get.call();
+ return #result#get(){() → core::int};
}
static method returnNullable(core::int? value) → core::int? {
lowered core::int? #result;
@@ -46,17 +46,17 @@
#result#isSet = true;
return #result = #t4;
}
- return #result#get.call();
+ return #result#get(){() → core::int?};
}
static method main() → dynamic {
- self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}());
- self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}());
- self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}());
+ self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}(){() → core::int});
+ self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}(){() → core::int?});
+ self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}(){() → core::int?});
self::expect(42, self::returnNonNullable(42));
self::expect(87, self::returnNullable(87));
self::expect(null, self::returnNullable(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.strong.transformed.expect
index 2ad5eb6..8b9bf40 100644
--- a/pkg/front_end/testcases/late_lowering/return_late.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/return_late.dart.strong.transformed.expect
@@ -12,7 +12,7 @@
lowered core::bool #result#isSet = false;
function #result#get() → self::Class::E% {
if(!#result#isSet) {
- #result = this.{self::Class::field};
+ #result = this.{self::Class::field}{self::Class::E%};
#result#isSet = true;
}
return #result{self::Class::E%};
@@ -21,16 +21,16 @@
#result#isSet = true;
return #result = #t1;
}
- return #result#get.call();
+ return #result#get(){() → self::Class::E%};
}
}
static method returnNonNullable(core::int value) → core::int {
lowered core::int? #result;
function #result#get() → core::int
- return let final core::int? #t2 = #result in #t2.==(null) ?{core::int} #result = value : #t2{core::int};
+ return let final core::int? #t2 = #result in #t2 == null ?{core::int} #result = value : #t2{core::int};
function #result#set(core::int #t3) → dynamic
return #result = #t3;
- return #result#get.call();
+ return #result#get(){() → core::int};
}
static method returnNullable(core::int? value) → core::int? {
lowered core::int? #result;
@@ -46,17 +46,17 @@
#result#isSet = true;
return #result = #t4;
}
- return #result#get.call();
+ return #result#get(){() → core::int?};
}
static method main() → dynamic {
- self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}());
- self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}());
- self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}());
+ self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}(){() → core::int});
+ self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}(){() → core::int?});
+ self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}(){() → core::int?});
self::expect(42, self::returnNonNullable(42));
self::expect(87, self::returnNullable(87));
self::expect(null, self::returnNullable(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.expect
index 3270539..3733586 100644
--- a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.expect
@@ -12,7 +12,7 @@
lowered core::bool #result#isSet = false;
function #result#get() → self::Class::E% {
if(!#result#isSet) {
- #result = this.{self::Class::field};
+ #result = this.{self::Class::field}{self::Class::E%};
#result#isSet = true;
}
return #result{self::Class::E%};
@@ -21,7 +21,7 @@
#result#isSet = true;
return #result = #t1;
}
- return #result#get.call();
+ return #result#get(){() → self::Class::E%};
}
}
static method returnNonNullable(core::int value) → core::int {
@@ -38,7 +38,7 @@
#result#isSet = true;
return #result = #t2;
}
- return #result#get.call();
+ return #result#get(){() → core::int};
}
static method returnNullable(core::int? value) → core::int? {
lowered core::int? #result;
@@ -54,17 +54,17 @@
#result#isSet = true;
return #result = #t3;
}
- return #result#get.call();
+ return #result#get(){() → core::int?};
}
static method main() → dynamic {
- self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}());
- self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}());
- self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}());
+ self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}(){() → core::int});
+ self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}(){() → core::int?});
+ self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}(){() → core::int?});
self::expect(42, self::returnNonNullable(42));
self::expect(87, self::returnNullable(87));
self::expect(null, self::returnNullable(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.transformed.expect
index 3270539..3733586 100644
--- a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.transformed.expect
@@ -12,7 +12,7 @@
lowered core::bool #result#isSet = false;
function #result#get() → self::Class::E% {
if(!#result#isSet) {
- #result = this.{self::Class::field};
+ #result = this.{self::Class::field}{self::Class::E%};
#result#isSet = true;
}
return #result{self::Class::E%};
@@ -21,7 +21,7 @@
#result#isSet = true;
return #result = #t1;
}
- return #result#get.call();
+ return #result#get(){() → self::Class::E%};
}
}
static method returnNonNullable(core::int value) → core::int {
@@ -38,7 +38,7 @@
#result#isSet = true;
return #result = #t2;
}
- return #result#get.call();
+ return #result#get(){() → core::int};
}
static method returnNullable(core::int? value) → core::int? {
lowered core::int? #result;
@@ -54,17 +54,17 @@
#result#isSet = true;
return #result = #t3;
}
- return #result#get.call();
+ return #result#get(){() → core::int?};
}
static method main() → dynamic {
- self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}());
- self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}());
- self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}());
+ self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}(){() → core::int});
+ self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}(){() → core::int?});
+ self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}(){() → core::int?});
self::expect(42, self::returnNonNullable(42));
self::expect(87, self::returnNullable(87));
self::expect(null, self::returnNullable(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.expect
index 74bb4fc..d259950 100644
--- a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.expect
@@ -16,35 +16,35 @@
: super core::Object::•()
;
static get uninitializedNonFinalStaticField() → core::int
- return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
static set uninitializedNonFinalStaticField(core::int #t2) → void
self::Class::_#uninitializedNonFinalStaticField = #t2;
static get uninitializedFinalStaticField() → core::int
- return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
static set uninitializedFinalStaticField(core::int #t4) → void
- if(self::Class::_#uninitializedFinalStaticField.==(null))
+ if(self::Class::_#uninitializedFinalStaticField == null)
self::Class::_#uninitializedFinalStaticField = #t4;
else
throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
static get initializedNonFinalStaticField() → core::int
- return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5.==(null) ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
+ return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
static set initializedNonFinalStaticField(core::int #t6) → void
self::Class::_#initializedNonFinalStaticField = #t6;
static get initializedFinalStaticField() → core::int
- return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7.==(null) ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField.==(null) ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
+ return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7 == null ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
get uninitializedFinalInstanceField() → core::int
- return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedFinalInstanceField} in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t9{core::int};
+ return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedFinalInstanceField} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t9{core::int};
set uninitializedFinalInstanceField(core::int #t10) → void
- if(this.{self::Class::_#Class#uninitializedFinalInstanceField}.==(null))
+ if(this.{self::Class::_#Class#uninitializedFinalInstanceField} == null)
this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t10;
else
throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
get initializedNonFinalInstanceField() → core::int
- return let final core::int? #t11 = this.{self::Class::_#Class#initializedNonFinalInstanceField} in #t11.==(null) ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t11{core::int};
+ return let final core::int? #t11 = this.{self::Class::_#Class#initializedNonFinalInstanceField} in #t11 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t11{core::int};
set initializedNonFinalInstanceField(core::int #t12) → void
this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t12;
get initializedFinalInstanceField() → core::int
- return let final core::int? #t13 = this.{self::Class::_#Class#initializedFinalInstanceField} in #t13.==(null) ?{core::int} let final core::int #t14 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t14 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t13{core::int};
+ return let final core::int? #t13 = this.{self::Class::_#Class#initializedFinalInstanceField} in #t13 == null ?{core::int} let final core::int #t14 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t14 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t13{core::int};
}
static field core::int? _#uninitializedNonFinalTopLevelField = null;
static field core::int? _#uninitializedFinalTopLevelField = null;
@@ -62,7 +62,7 @@
}
lowered core::int? #nonNullableUninitializedNonFinalLocal;
function #nonNullableUninitializedNonFinalLocal#get() → core::int
- return let final core::int? #t16 = #nonNullableUninitializedNonFinalLocal in #t16.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t16{core::int};
+ return let final core::int? #t16 = #nonNullableUninitializedNonFinalLocal in #t16 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t16{core::int};
function #nonNullableUninitializedNonFinalLocal#set(core::int #t17) → dynamic
return #nonNullableUninitializedNonFinalLocal = #t17;
lowered final core::int? #nullableUninitializedFinalLocal;
@@ -78,9 +78,9 @@
}
lowered final core::int? #nonNullableUninitializedFinalLocal;
function #nonNullableUninitializedFinalLocal#get() → core::int
- return let final core::int? #t19 = #nonNullableUninitializedFinalLocal in #t19.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t19{core::int};
+ return let final core::int? #t19 = #nonNullableUninitializedFinalLocal in #t19 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t19{core::int};
function #nonNullableUninitializedFinalLocal#set(core::int #t20) → dynamic
- if(#nonNullableUninitializedFinalLocal.==(null))
+ if(#nonNullableUninitializedFinalLocal == null)
return #nonNullableUninitializedFinalLocal = #t20;
else
throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
@@ -99,7 +99,7 @@
}
lowered core::int? #nonNullableInitializedNonFinalLocal;
function #nonNullableInitializedNonFinalLocal#get() → core::int
- return let final core::int? #t22 = #nonNullableInitializedNonFinalLocal in #t22.==(null) ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t22{core::int};
+ return let final core::int? #t22 = #nonNullableInitializedNonFinalLocal in #t22 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t22{core::int};
function #nonNullableInitializedNonFinalLocal#set(core::int #t23) → dynamic
return #nonNullableInitializedNonFinalLocal = #t23;
lowered final core::int? #nullableInitializedFinalLocal;
@@ -116,22 +116,22 @@
}
lowered final core::int? #nonNullableInitializedFinalLocal;
function #nonNullableInitializedFinalLocal#get() → core::int
- return let final core::int? #t25 = #nonNullableInitializedFinalLocal in #t25.==(null) ?{core::int} let final core::int #t26 = 0 in #nonNullableInitializedFinalLocal.==(null) ?{core::int} #nonNullableInitializedFinalLocal = #t26 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t25{core::int};
+ return let final core::int? #t25 = #nonNullableInitializedFinalLocal in #t25 == null ?{core::int} let final core::int #t26 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t26 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t25{core::int};
}
static get uninitializedNonFinalTopLevelField() → core::int
- return let final core::int? #t27 = self::_#uninitializedNonFinalTopLevelField in #t27.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t27{core::int};
+ return let final core::int? #t27 = self::_#uninitializedNonFinalTopLevelField in #t27 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t27{core::int};
static set uninitializedNonFinalTopLevelField(core::int #t28) → void
self::_#uninitializedNonFinalTopLevelField = #t28;
static get uninitializedFinalTopLevelField() → core::int
- return let final core::int? #t29 = self::_#uninitializedFinalTopLevelField in #t29.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t29{core::int};
+ return let final core::int? #t29 = self::_#uninitializedFinalTopLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t29{core::int};
static set uninitializedFinalTopLevelField(core::int #t30) → void
- if(self::_#uninitializedFinalTopLevelField.==(null))
+ if(self::_#uninitializedFinalTopLevelField == null)
self::_#uninitializedFinalTopLevelField = #t30;
else
throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
static get initializedNonFinalTopLevelField() → core::int
- return let final core::int? #t31 = self::_#initializedNonFinalTopLevelField in #t31.==(null) ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t31{core::int};
+ return let final core::int? #t31 = self::_#initializedNonFinalTopLevelField in #t31 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t31{core::int};
static set initializedNonFinalTopLevelField(core::int #t32) → void
self::_#initializedNonFinalTopLevelField = #t32;
static get initializedFinalTopLevelField() → core::int
- return let final core::int? #t33 = self::_#initializedFinalTopLevelField in #t33.==(null) ?{core::int} let final core::int #t34 = 0 in self::_#initializedFinalTopLevelField.==(null) ?{core::int} self::_#initializedFinalTopLevelField = #t34 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t33{core::int};
+ return let final core::int? #t33 = self::_#initializedFinalTopLevelField in #t33 == null ?{core::int} let final core::int #t34 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t34 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t33{core::int};
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.transformed.expect
index 64e9c55..74df9f3 100644
--- a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.transformed.expect
@@ -16,35 +16,35 @@
: super core::Object::•()
;
static get uninitializedNonFinalStaticField() → core::int
- return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
static set uninitializedNonFinalStaticField(core::int #t2) → void
self::Class::_#uninitializedNonFinalStaticField = #t2;
static get uninitializedFinalStaticField() → core::int
- return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
+ return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
static set uninitializedFinalStaticField(core::int #t4) → void
- if(self::Class::_#uninitializedFinalStaticField.==(null))
+ if(self::Class::_#uninitializedFinalStaticField == null)
self::Class::_#uninitializedFinalStaticField = #t4;
else
throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
static get initializedNonFinalStaticField() → core::int
- return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5.==(null) ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
+ return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
static set initializedNonFinalStaticField(core::int #t6) → void
self::Class::_#initializedNonFinalStaticField = #t6;
static get initializedFinalStaticField() → core::int
- return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7.==(null) ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField.==(null) ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
+ return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7 == null ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
get uninitializedFinalInstanceField() → core::int
- return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedFinalInstanceField} in #t9.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t9{core::int};
+ return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedFinalInstanceField} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t9{core::int};
set uninitializedFinalInstanceField(core::int #t10) → void
- if(this.{self::Class::_#Class#uninitializedFinalInstanceField}.==(null))
+ if(this.{self::Class::_#Class#uninitializedFinalInstanceField} == null)
this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t10;
else
throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
get initializedNonFinalInstanceField() → core::int
- return let final core::int? #t11 = this.{self::Class::_#Class#initializedNonFinalInstanceField} in #t11.==(null) ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t11{core::int};
+ return let final core::int? #t11 = this.{self::Class::_#Class#initializedNonFinalInstanceField} in #t11 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t11{core::int};
set initializedNonFinalInstanceField(core::int #t12) → void
this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t12;
get initializedFinalInstanceField() → core::int
- return let final core::int? #t13 = this.{self::Class::_#Class#initializedFinalInstanceField} in #t13.==(null) ?{core::int} let final core::int #t14 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}.==(null) ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t14 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t13{core::int};
+ return let final core::int? #t13 = this.{self::Class::_#Class#initializedFinalInstanceField} in #t13 == null ?{core::int} let final core::int #t14 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t14 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t13{core::int};
}
static field core::int? _#uninitializedNonFinalTopLevelField = null;
static field core::int? _#uninitializedFinalTopLevelField = null;
@@ -62,7 +62,7 @@
}
lowered core::int? #nonNullableUninitializedNonFinalLocal;
function #nonNullableUninitializedNonFinalLocal#get() → core::int
- return let final core::int? #t16 = #nonNullableUninitializedNonFinalLocal in #t16.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t16{core::int};
+ return let final core::int? #t16 = #nonNullableUninitializedNonFinalLocal in #t16 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t16{core::int};
function #nonNullableUninitializedNonFinalLocal#set(core::int #t17) → dynamic
return #nonNullableUninitializedNonFinalLocal = #t17;
lowered final core::int? #nullableUninitializedFinalLocal;
@@ -78,9 +78,9 @@
}
lowered final core::int? #nonNullableUninitializedFinalLocal;
function #nonNullableUninitializedFinalLocal#get() → core::int
- return let final core::int? #t19 = #nonNullableUninitializedFinalLocal in #t19.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t19{core::int};
+ return let final core::int? #t19 = #nonNullableUninitializedFinalLocal in #t19 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t19{core::int};
function #nonNullableUninitializedFinalLocal#set(core::int #t20) → dynamic
- if(#nonNullableUninitializedFinalLocal.==(null))
+ if(#nonNullableUninitializedFinalLocal == null)
return #nonNullableUninitializedFinalLocal = #t20;
else
throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
@@ -99,7 +99,7 @@
}
lowered core::int? #nonNullableInitializedNonFinalLocal;
function #nonNullableInitializedNonFinalLocal#get() → core::int
- return let final core::int? #t22 = #nonNullableInitializedNonFinalLocal in #t22.==(null) ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t22{core::int};
+ return let final core::int? #t22 = #nonNullableInitializedNonFinalLocal in #t22 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t22{core::int};
function #nonNullableInitializedNonFinalLocal#set(core::int #t23) → dynamic
return #nonNullableInitializedNonFinalLocal = #t23;
lowered final core::int? #nullableInitializedFinalLocal;
@@ -116,25 +116,25 @@
}
lowered final core::int? #nonNullableInitializedFinalLocal;
function #nonNullableInitializedFinalLocal#get() → core::int
- return let final core::int? #t25 = #nonNullableInitializedFinalLocal in #t25.==(null) ?{core::int} let final core::int #t26 = 0 in #nonNullableInitializedFinalLocal.==(null) ?{core::int} #nonNullableInitializedFinalLocal = #t26 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t25{core::int};
+ return let final core::int? #t25 = #nonNullableInitializedFinalLocal in #t25 == null ?{core::int} let final core::int #t26 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t26 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t25{core::int};
}
static get uninitializedNonFinalTopLevelField() → core::int
- return let final core::int? #t27 = self::_#uninitializedNonFinalTopLevelField in #t27.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t27{core::int};
+ return let final core::int? #t27 = self::_#uninitializedNonFinalTopLevelField in #t27 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t27{core::int};
static set uninitializedNonFinalTopLevelField(core::int #t28) → void
self::_#uninitializedNonFinalTopLevelField = #t28;
static get uninitializedFinalTopLevelField() → core::int
- return let final core::int? #t29 = self::_#uninitializedFinalTopLevelField in #t29.==(null) ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t29{core::int};
+ return let final core::int? #t29 = self::_#uninitializedFinalTopLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t29{core::int};
static set uninitializedFinalTopLevelField(core::int #t30) → void
- if(self::_#uninitializedFinalTopLevelField.==(null))
+ if(self::_#uninitializedFinalTopLevelField == null)
self::_#uninitializedFinalTopLevelField = #t30;
else
throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
static get initializedNonFinalTopLevelField() → core::int
- return let final core::int? #t31 = self::_#initializedNonFinalTopLevelField in #t31.==(null) ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t31{core::int};
+ return let final core::int? #t31 = self::_#initializedNonFinalTopLevelField in #t31 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t31{core::int};
static set initializedNonFinalTopLevelField(core::int #t32) → void
self::_#initializedNonFinalTopLevelField = #t32;
static get initializedFinalTopLevelField() → core::int
- return let final core::int? #t33 = self::_#initializedFinalTopLevelField in #t33.==(null) ?{core::int} let final core::int #t34 = 0 in self::_#initializedFinalTopLevelField.==(null) ?{core::int} self::_#initializedFinalTopLevelField = #t34 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t33{core::int};
+ return let final core::int? #t33 = self::_#initializedFinalTopLevelField in #t33 == null ?{core::int} let final core::int #t34 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t34 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t33{core::int};
Extra constant evaluation status:
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.expect
index 8297049..6320e39 100644
--- a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.expect
@@ -12,7 +12,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
this.{self::A::_#A#x} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.transformed.expect
index 8297049..6320e39 100644
--- a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.transformed.expect
@@ -12,7 +12,7 @@
: super core::Object::•()
;
get x() → core::int
- return let final core::int? #t1 = this.{self::A::_#A#x} in #t1.==(null) ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
+ return let final core::int? #t1 = this.{self::A::_#A#x} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
set x(core::int #t2) → void
this.{self::A::_#A#x} = #t2;
}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.expect
index 007c84a..1d4a7c3 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.expect
@@ -17,7 +17,7 @@
static set nullableTopLevelField(core::int? #t2) → void
self::_#nullableTopLevelField = #t2;
static get nonNullableTopLevelField() → core::int
- return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t3{core::int};
+ return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t3{core::int};
static set nonNullableTopLevelField(core::int #t4) → void
self::_#nonNullableTopLevelField = #t4;
static get nullableTopLevelFieldWithInitializer() → core::int?
@@ -25,7 +25,7 @@
static set nullableTopLevelFieldWithInitializer(core::int? #t6) → void
self::_#nullableTopLevelFieldWithInitializer = #t6;
static get nonNullableTopLevelFieldWithInitializer() → core::int
- return let final core::int? #t7 = self::_#nonNullableTopLevelFieldWithInitializer in #t7.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t7{core::int};
+ return let final core::int? #t7 = self::_#nonNullableTopLevelFieldWithInitializer in #t7 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t7{core::int};
static set nonNullableTopLevelFieldWithInitializer(core::int #t8) → void
self::_#nonNullableTopLevelFieldWithInitializer = #t8;
static get nullableFinalTopLevelField() → core::int?
@@ -36,18 +36,18 @@
else
throw new _in::LateError::fieldAI("nullableFinalTopLevelField");
static get nonNullableFinalTopLevelField() → core::int
- return let final core::int? #t11 = self::_#nonNullableFinalTopLevelField in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t11{core::int};
+ return let final core::int? #t11 = self::_#nonNullableFinalTopLevelField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t11{core::int};
static set nonNullableFinalTopLevelField(core::int #t12) → void
- if(self::_#nonNullableFinalTopLevelField.==(null))
+ if(self::_#nonNullableFinalTopLevelField == null)
self::_#nonNullableFinalTopLevelField = #t12;
else
throw new _in::LateError::fieldAI("nonNullableFinalTopLevelField");
static get nullableFinalTopLevelFieldWithInitializer() → core::int?
return let final core::int? #t13 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t13;
static get nonNullableFinalTopLevelFieldWithInitializer() → core::int
- return let final core::int? #t15 = self::_#nonNullableFinalTopLevelFieldWithInitializer in #t15.==(null) ?{core::int} let final core::int #t16 = 0 in self::_#nonNullableFinalTopLevelFieldWithInitializer.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t16 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t15{core::int};
+ return let final core::int? #t15 = self::_#nonNullableFinalTopLevelFieldWithInitializer in #t15 == null ?{core::int} let final core::int #t16 = 0 in self::_#nonNullableFinalTopLevelFieldWithInitializer == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t16 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t15{core::int};
static get neverTopLevelField() → Never
- return let final Never? #t17 = self::_#neverTopLevelField in #t17.==(null) ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t17{Never};
+ return let final Never? #t17 = self::_#neverTopLevelField in #t17 == null ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t17{Never};
static set neverTopLevelField(Never #t18) → void
self::_#neverTopLevelField = #t18;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.transformed.expect
index 6713a38..2f61bd0 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.transformed.expect
@@ -17,7 +17,7 @@
static set nullableTopLevelField(core::int? #t2) → void
self::_#nullableTopLevelField = #t2;
static get nonNullableTopLevelField() → core::int
- return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3.==(null) ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t3{core::int};
+ return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t3{core::int};
static set nonNullableTopLevelField(core::int #t4) → void
self::_#nonNullableTopLevelField = #t4;
static get nullableTopLevelFieldWithInitializer() → core::int?
@@ -25,7 +25,7 @@
static set nullableTopLevelFieldWithInitializer(core::int? #t6) → void
self::_#nullableTopLevelFieldWithInitializer = #t6;
static get nonNullableTopLevelFieldWithInitializer() → core::int
- return let final core::int? #t7 = self::_#nonNullableTopLevelFieldWithInitializer in #t7.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t7{core::int};
+ return let final core::int? #t7 = self::_#nonNullableTopLevelFieldWithInitializer in #t7 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t7{core::int};
static set nonNullableTopLevelFieldWithInitializer(core::int #t8) → void
self::_#nonNullableTopLevelFieldWithInitializer = #t8;
static get nullableFinalTopLevelField() → core::int?
@@ -36,18 +36,18 @@
else
throw new _in::LateError::fieldAI("nullableFinalTopLevelField");
static get nonNullableFinalTopLevelField() → core::int
- return let final core::int? #t11 = self::_#nonNullableFinalTopLevelField in #t11.==(null) ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t11{core::int};
+ return let final core::int? #t11 = self::_#nonNullableFinalTopLevelField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t11{core::int};
static set nonNullableFinalTopLevelField(core::int #t12) → void
- if(self::_#nonNullableFinalTopLevelField.==(null))
+ if(self::_#nonNullableFinalTopLevelField == null)
self::_#nonNullableFinalTopLevelField = #t12;
else
throw new _in::LateError::fieldAI("nonNullableFinalTopLevelField");
static get nullableFinalTopLevelFieldWithInitializer() → core::int?
return let final core::int? #t13 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t13;
static get nonNullableFinalTopLevelFieldWithInitializer() → core::int
- return let final core::int? #t15 = self::_#nonNullableFinalTopLevelFieldWithInitializer in #t15.==(null) ?{core::int} let final core::int #t16 = 0 in self::_#nonNullableFinalTopLevelFieldWithInitializer.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t16 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t15{core::int};
+ return let final core::int? #t15 = self::_#nonNullableFinalTopLevelFieldWithInitializer in #t15 == null ?{core::int} let final core::int #t16 = 0 in self::_#nonNullableFinalTopLevelFieldWithInitializer == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t16 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t15{core::int};
static get neverTopLevelField() → Never
- return let final Never? #t17 = self::_#neverTopLevelField in #t17.==(null) ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t17{Never};
+ return let final Never? #t17 = self::_#neverTopLevelField in #t17 == null ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t17{Never};
static set neverTopLevelField(Never #t18) → void
self::_#neverTopLevelField = #t18;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.expect
index 729f30f..7b794cc 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.expect
@@ -11,7 +11,7 @@
return #nullableTopLevelLocal = #t2;
lowered core::int? #nonNullableTopLevelLocal;
function #nonNullableTopLevelLocal#get() → core::int
- return let final core::int? #t3 = #nonNullableTopLevelLocal in #t3.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t3{core::int};
+ return let final core::int? #t3 = #nonNullableTopLevelLocal in #t3 == null ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t3{core::int};
function #nonNullableTopLevelLocal#set(core::int #t4) → dynamic
return #nonNullableTopLevelLocal = #t4;
lowered core::int? #nullableTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
@@ -21,7 +21,7 @@
return #nullableTopLevelLocalWithInitializer = #t6;
lowered core::int? #nonNullableTopLevelLocalWithInitializer;
function #nonNullableTopLevelLocalWithInitializer#get() → core::int
- return let final core::int? #t7 = #nonNullableTopLevelLocalWithInitializer in #t7.==(null) ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t7{core::int};
+ return let final core::int? #t7 = #nonNullableTopLevelLocalWithInitializer in #t7 == null ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t7{core::int};
function #nonNullableTopLevelLocalWithInitializer#set(core::int #t8) → dynamic
return #nonNullableTopLevelLocalWithInitializer = #t8;
lowered final core::int? #nullableFinalTopLevelLocal = _in::createSentinel<core::int?>();
@@ -34,9 +34,9 @@
throw new _in::LateError::localAI("nullableFinalTopLevelLocal");
lowered final core::int? #nonNullableFinalTopLevelLocal;
function #nonNullableFinalTopLevelLocal#get() → core::int
- return let final core::int? #t11 = #nonNullableFinalTopLevelLocal in #t11.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t11{core::int};
+ return let final core::int? #t11 = #nonNullableFinalTopLevelLocal in #t11 == null ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t11{core::int};
function #nonNullableFinalTopLevelLocal#set(core::int #t12) → dynamic
- if(#nonNullableFinalTopLevelLocal.==(null))
+ if(#nonNullableFinalTopLevelLocal == null)
return #nonNullableFinalTopLevelLocal = #t12;
else
throw new _in::LateError::localAI("nonNullableFinalTopLevelLocal");
@@ -45,10 +45,10 @@
return let final core::int? #t13 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t14 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t13;
lowered final core::int? #nonNullableFinalTopLevelLocalWithInitializer;
function #nonNullableFinalTopLevelLocalWithInitializer#get() → core::int
- return let final core::int? #t15 = #nonNullableFinalTopLevelLocalWithInitializer in #t15.==(null) ?{core::int} let final core::int #t16 = 0 in #nonNullableFinalTopLevelLocalWithInitializer.==(null) ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t16 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t15{core::int};
+ return let final core::int? #t15 = #nonNullableFinalTopLevelLocalWithInitializer in #t15 == null ?{core::int} let final core::int #t16 = 0 in #nonNullableFinalTopLevelLocalWithInitializer == null ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t16 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t15{core::int};
lowered Null #neverLocal;
function #neverLocal#get() → Never
- return let final Never? #t17 = #neverLocal in #t17.==(null) ?{Never} throw new _in::LateError::localNI("neverLocal") : #t17{Never};
+ return let final Never? #t17 = #neverLocal in #t17 == null ?{Never} throw new _in::LateError::localNI("neverLocal") : #t17{Never};
function #neverLocal#set(Never #t18) → dynamic
return #neverLocal = #t18;
}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.transformed.expect
index 28acc1d..c00b5b9 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.transformed.expect
@@ -11,7 +11,7 @@
return #nullableTopLevelLocal = #t2;
lowered core::int? #nonNullableTopLevelLocal;
function #nonNullableTopLevelLocal#get() → core::int
- return let final core::int? #t3 = #nonNullableTopLevelLocal in #t3.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t3{core::int};
+ return let final core::int? #t3 = #nonNullableTopLevelLocal in #t3 == null ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t3{core::int};
function #nonNullableTopLevelLocal#set(core::int #t4) → dynamic
return #nonNullableTopLevelLocal = #t4;
lowered core::int? #nullableTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
@@ -21,7 +21,7 @@
return #nullableTopLevelLocalWithInitializer = #t6;
lowered core::int? #nonNullableTopLevelLocalWithInitializer;
function #nonNullableTopLevelLocalWithInitializer#get() → core::int
- return let final core::int? #t7 = #nonNullableTopLevelLocalWithInitializer in #t7.==(null) ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t7{core::int};
+ return let final core::int? #t7 = #nonNullableTopLevelLocalWithInitializer in #t7 == null ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t7{core::int};
function #nonNullableTopLevelLocalWithInitializer#set(core::int #t8) → dynamic
return #nonNullableTopLevelLocalWithInitializer = #t8;
lowered final core::int? #nullableFinalTopLevelLocal = _in::createSentinel<core::int?>();
@@ -34,9 +34,9 @@
throw new _in::LateError::localAI("nullableFinalTopLevelLocal");
lowered final core::int? #nonNullableFinalTopLevelLocal;
function #nonNullableFinalTopLevelLocal#get() → core::int
- return let final core::int? #t11 = #nonNullableFinalTopLevelLocal in #t11.==(null) ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t11{core::int};
+ return let final core::int? #t11 = #nonNullableFinalTopLevelLocal in #t11 == null ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t11{core::int};
function #nonNullableFinalTopLevelLocal#set(core::int #t12) → dynamic
- if(#nonNullableFinalTopLevelLocal.==(null))
+ if(#nonNullableFinalTopLevelLocal == null)
return #nonNullableFinalTopLevelLocal = #t12;
else
throw new _in::LateError::localAI("nonNullableFinalTopLevelLocal");
@@ -45,10 +45,10 @@
return let final core::int? #t13 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t14 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t13;
lowered final core::int? #nonNullableFinalTopLevelLocalWithInitializer;
function #nonNullableFinalTopLevelLocalWithInitializer#get() → core::int
- return let final core::int? #t15 = #nonNullableFinalTopLevelLocalWithInitializer in #t15.==(null) ?{core::int} let final core::int #t16 = 0 in #nonNullableFinalTopLevelLocalWithInitializer.==(null) ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t16 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t15{core::int};
+ return let final core::int? #t15 = #nonNullableFinalTopLevelLocalWithInitializer in #t15 == null ?{core::int} let final core::int #t16 = 0 in #nonNullableFinalTopLevelLocalWithInitializer == null ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t16 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t15{core::int};
lowered Null #neverLocal;
function #neverLocal#get() → Never
- return let final Never? #t17 = #neverLocal in #t17.==(null) ?{Never} throw new _in::LateError::localNI("neverLocal") : #t17{Never};
+ return let final Never? #t17 = #neverLocal in #t17 == null ?{Never} throw new _in::LateError::localNI("neverLocal") : #t17{Never};
function #neverLocal#set(Never #t18) → dynamic
return #neverLocal = #t18;
}
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.expect
index dd6eff2..47eae93 100644
--- a/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.expect
+++ b/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.expect
@@ -21,7 +21,7 @@
static method main() → dynamic {
core::int* foo = 42;
new self::A::•(5);
- new self::A::•(5.{core::num::+}(5));
+ new self::A::•(5.{core::num::+}(5){(core::num*) →* core::int*});
new self::A::•(foo);
- new self::A::•(5.{core::num::+}(foo));
+ new self::A::•(5.{core::num::+}(foo){(core::num*) →* core::int*});
}
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.transformed.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.transformed.expect
index b2d7e74..ecf3e40 100644
--- a/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.transformed.expect
@@ -21,12 +21,12 @@
static method main() → dynamic {
core::int* foo = 42;
new self::A::•(5);
- new self::A::•(5.{core::num::+}(5));
+ new self::A::•(5.{core::num::+}(5){(core::num*) →* core::int*});
new self::A::•(foo);
- new self::A::•(5.{core::num::+}(foo));
+ new self::A::•(5.{core::num::+}(foo){(core::num*) →* core::int*});
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///simple.dart:15:7 -> IntConstant(10)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///simple.dart:15:7 -> IntConstant(10)
Extra constant evaluation: evaluated: 9, effectively constant: 1
diff --git a/pkg/front_end/testcases/nnbd/assign_type_variable.dart.strong.expect b/pkg/front_end/testcases/nnbd/assign_type_variable.dart.strong.expect
index 88ac3ae..f8a2ab8 100644
--- a/pkg/front_end/testcases/nnbd/assign_type_variable.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/assign_type_variable.dart.strong.expect
@@ -9,7 +9,7 @@
method method(generic-covariant-impl self::Class::E% e) → void {
e = self::id<self::Class::E%>(e);
e = self::id<self::Class::E%>(e);
- if(!e.{core::Object::==}(null)) {
+ if(!(e == null)) {
self::Class::E% e2 = e{self::Class::E% & core::Object /* '%' & '!' = '!' */};
e2 = self::id<self::Class::E%>(e{self::Class::E% & core::Object /* '%' & '!' = '!' */});
e2 = self::id<self::Class::E%>(e{self::Class::E% & core::Object /* '%' & '!' = '!' */});
diff --git a/pkg/front_end/testcases/nnbd/assign_type_variable.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/assign_type_variable.dart.strong.transformed.expect
index 88ac3ae..f8a2ab8 100644
--- a/pkg/front_end/testcases/nnbd/assign_type_variable.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/assign_type_variable.dart.strong.transformed.expect
@@ -9,7 +9,7 @@
method method(generic-covariant-impl self::Class::E% e) → void {
e = self::id<self::Class::E%>(e);
e = self::id<self::Class::E%>(e);
- if(!e.{core::Object::==}(null)) {
+ if(!(e == null)) {
self::Class::E% e2 = e{self::Class::E% & core::Object /* '%' & '!' = '!' */};
e2 = self::id<self::Class::E%>(e{self::Class::E% & core::Object /* '%' & '!' = '!' */});
e2 = self::id<self::Class::E%>(e{self::Class::E% & core::Object /* '%' & '!' = '!' */});
diff --git a/pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.expect b/pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.expect
index 88ac3ae..f8a2ab8 100644
--- a/pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.expect
@@ -9,7 +9,7 @@
method method(generic-covariant-impl self::Class::E% e) → void {
e = self::id<self::Class::E%>(e);
e = self::id<self::Class::E%>(e);
- if(!e.{core::Object::==}(null)) {
+ if(!(e == null)) {
self::Class::E% e2 = e{self::Class::E% & core::Object /* '%' & '!' = '!' */};
e2 = self::id<self::Class::E%>(e{self::Class::E% & core::Object /* '%' & '!' = '!' */});
e2 = self::id<self::Class::E%>(e{self::Class::E% & core::Object /* '%' & '!' = '!' */});
diff --git a/pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.transformed.expect
index 88ac3ae..f8a2ab8 100644
--- a/pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
method method(generic-covariant-impl self::Class::E% e) → void {
e = self::id<self::Class::E%>(e);
e = self::id<self::Class::E%>(e);
- if(!e.{core::Object::==}(null)) {
+ if(!(e == null)) {
self::Class::E% e2 = e{self::Class::E% & core::Object /* '%' & '!' = '!' */};
e2 = self::id<self::Class::E%>(e{self::Class::E% & core::Object /* '%' & '!' = '!' */});
e2 = self::id<self::Class::E%>(e{self::Class::E% & core::Object /* '%' & '!' = '!' */});
diff --git a/pkg/front_end/testcases/nnbd/assignability.dart.strong.expect b/pkg/front_end/testcases/nnbd/assignability.dart.strong.expect
index 19d474e..6318674 100644
--- a/pkg/front_end/testcases/nnbd/assignability.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/assignability.dart.strong.expect
@@ -1014,10 +1014,10 @@
core::Function functionVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} core::Function;
functionVar = functionArg;
functionVar = toVoidArg;
- functionVar = let final self::Tearoffable #t1 = tearoffableArg in #t1.==(null) ?{() → void} null : #t1.{self::Tearoffable::call};
+ functionVar = let final self::Tearoffable #t1 = tearoffableArg in #t1 == null ?{() → void} null : #t1.{self::Tearoffable::call};
() → void toVoidVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} () → void;
toVoidVar = toVoidArg;
- toVoidVar = let final self::Tearoffable #t2 = tearoffableArg in #t2.==(null) ?{() → void} null : #t2.{self::Tearoffable::call};
+ toVoidVar = let final self::Tearoffable #t2 = tearoffableArg in #t2 == null ?{() → void} null : #t2.{self::Tearoffable::call};
self::Tearoffable tearoffableVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} self::Tearoffable;
tearoffableVar = tearoffableArg;
self::ok::XnonNull xNonNullVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} self::ok::XnonNull;
diff --git a/pkg/front_end/testcases/nnbd/assignability.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/assignability.dart.strong.transformed.expect
index 0c62a44..1f47a4a 100644
--- a/pkg/front_end/testcases/nnbd/assignability.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/assignability.dart.strong.transformed.expect
@@ -1014,10 +1014,10 @@
core::Function functionVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} core::Function;
functionVar = functionArg;
functionVar = toVoidArg;
- functionVar = let final self::Tearoffable #t2 = tearoffableArg in #t2.==(null) ?{() → void} null : #t2.{self::Tearoffable::call};
+ functionVar = let final self::Tearoffable #t2 = tearoffableArg in #t2 == null ?{() → void} null : #t2.{self::Tearoffable::call};
() → void toVoidVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} () → void;
toVoidVar = toVoidArg;
- toVoidVar = let final self::Tearoffable #t3 = tearoffableArg in #t3.==(null) ?{() → void} null : #t3.{self::Tearoffable::call};
+ toVoidVar = let final self::Tearoffable #t3 = tearoffableArg in #t3 == null ?{() → void} null : #t3.{self::Tearoffable::call};
self::Tearoffable tearoffableVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} self::Tearoffable;
tearoffableVar = tearoffableArg;
self::ok::XnonNull xNonNullVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} self::ok::XnonNull;
diff --git a/pkg/front_end/testcases/nnbd/assignability.dart.weak.expect b/pkg/front_end/testcases/nnbd/assignability.dart.weak.expect
index 19d474e..6318674 100644
--- a/pkg/front_end/testcases/nnbd/assignability.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/assignability.dart.weak.expect
@@ -1014,10 +1014,10 @@
core::Function functionVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} core::Function;
functionVar = functionArg;
functionVar = toVoidArg;
- functionVar = let final self::Tearoffable #t1 = tearoffableArg in #t1.==(null) ?{() → void} null : #t1.{self::Tearoffable::call};
+ functionVar = let final self::Tearoffable #t1 = tearoffableArg in #t1 == null ?{() → void} null : #t1.{self::Tearoffable::call};
() → void toVoidVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} () → void;
toVoidVar = toVoidArg;
- toVoidVar = let final self::Tearoffable #t2 = tearoffableArg in #t2.==(null) ?{() → void} null : #t2.{self::Tearoffable::call};
+ toVoidVar = let final self::Tearoffable #t2 = tearoffableArg in #t2 == null ?{() → void} null : #t2.{self::Tearoffable::call};
self::Tearoffable tearoffableVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} self::Tearoffable;
tearoffableVar = tearoffableArg;
self::ok::XnonNull xNonNullVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} self::ok::XnonNull;
diff --git a/pkg/front_end/testcases/nnbd/assignability.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/assignability.dart.weak.transformed.expect
index 24484a9..e558c54 100644
--- a/pkg/front_end/testcases/nnbd/assignability.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/assignability.dart.weak.transformed.expect
@@ -1014,10 +1014,10 @@
core::Function functionVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} core::Function;
functionVar = functionArg;
functionVar = toVoidArg;
- functionVar = let final self::Tearoffable #t1 = tearoffableArg in #t1.==(null) ?{() → void} null : #t1.{self::Tearoffable::call};
+ functionVar = let final self::Tearoffable #t1 = tearoffableArg in #t1 == null ?{() → void} null : #t1.{self::Tearoffable::call};
() → void toVoidVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} () → void;
toVoidVar = toVoidArg;
- toVoidVar = let final self::Tearoffable #t2 = tearoffableArg in #t2.==(null) ?{() → void} null : #t2.{self::Tearoffable::call};
+ toVoidVar = let final self::Tearoffable #t2 = tearoffableArg in #t2 == null ?{() → void} null : #t2.{self::Tearoffable::call};
self::Tearoffable tearoffableVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} self::Tearoffable;
tearoffableVar = tearoffableArg;
self::ok::XnonNull xNonNullVar = dynamicArg as{TypeError,ForDynamic,ForNonNullableByDefault} self::ok::XnonNull;
diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.expect
index e3efe03..4b9bd7e 100644
--- a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.expect
@@ -333,7 +333,7 @@
static method baz(self::C c) → void {
self::bazContext(let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:62:14: Error: The argument type 'num? Function()' can't be assigned to the parameter type 'num Function()' because 'num?' is nullable and 'num' isn't.
bazContext(c);
- ^" in (let final self::C #t15 = c in #t15.==(null) ?{() → core::num?} null : #t15.{self::C::call}) as{TypeError,ForNonNullableByDefault} () → core::num);
+ ^" in (let final self::C #t15 = c in #t15 == null ?{() → core::num?} null : #t15.{self::C::call}) as{TypeError,ForNonNullableByDefault} () → core::num);
}
static method boz(Null x) → self::A {
self::fooContext(let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:66:14: Error: The argument type 'Null' can't be assigned to the parameter type 'A' because 'A' is not nullable.
diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect
index bff0969..8d03a24 100644
--- a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.strong.transformed.expect
@@ -375,7 +375,7 @@
static method baz(self::C c) → void {
self::bazContext(let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:62:14: Error: The argument type 'num? Function()' can't be assigned to the parameter type 'num Function()' because 'num?' is nullable and 'num' isn't.
bazContext(c);
- ^" in (let final self::C #t21 = c in #t21.==(null) ?{() → core::num?} null : #t21.{self::C::call}) as{TypeError,ForNonNullableByDefault} () → core::num);
+ ^" in (let final self::C #t21 = c in #t21 == null ?{() → core::num?} null : #t21.{self::C::call}) as{TypeError,ForNonNullableByDefault} () → core::num);
}
static method boz(Null x) → self::A {
self::fooContext(let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:66:14: Error: The argument type 'Null' can't be assigned to the parameter type 'A' because 'A' is not nullable.
diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.expect
index e3efe03..4b9bd7e 100644
--- a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.expect
@@ -333,7 +333,7 @@
static method baz(self::C c) → void {
self::bazContext(let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:62:14: Error: The argument type 'num? Function()' can't be assigned to the parameter type 'num Function()' because 'num?' is nullable and 'num' isn't.
bazContext(c);
- ^" in (let final self::C #t15 = c in #t15.==(null) ?{() → core::num?} null : #t15.{self::C::call}) as{TypeError,ForNonNullableByDefault} () → core::num);
+ ^" in (let final self::C #t15 = c in #t15 == null ?{() → core::num?} null : #t15.{self::C::call}) as{TypeError,ForNonNullableByDefault} () → core::num);
}
static method boz(Null x) → self::A {
self::fooContext(let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:66:14: Error: The argument type 'Null' can't be assigned to the parameter type 'A' because 'A' is not nullable.
diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.transformed.expect
index 0f21343..3f9fa94 100644
--- a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.transformed.expect
@@ -375,7 +375,7 @@
static method baz(self::C c) → void {
self::bazContext(let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:62:14: Error: The argument type 'num? Function()' can't be assigned to the parameter type 'num Function()' because 'num?' is nullable and 'num' isn't.
bazContext(c);
- ^" in let final self::C #t15 = c in #t15.==(null) ?{() → core::num?} null : #t15.{self::C::call});
+ ^" in let final self::C #t15 = c in #t15 == null ?{() → core::num?} null : #t15.{self::C::call});
}
static method boz(Null x) → self::A {
self::fooContext(let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:66:14: Error: The argument type 'Null' can't be assigned to the parameter type 'A' because 'A' is not nullable.
diff --git a/pkg/front_end/testcases/nnbd/bounds_checks.dart.strong.expect b/pkg/front_end/testcases/nnbd/bounds_checks.dart.strong.expect
index cf1774b..ab741a5 100644
--- a/pkg/front_end/testcases/nnbd/bounds_checks.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/bounds_checks.dart.strong.expect
@@ -86,6 +86,6 @@
static method hest<T extends core::num>() → void {}
static method fisk(self::Hest h) → dynamic {
self::hest<core::num?>();
- h.{self::Hest::hest}<core::num?>();
+ h.{self::Hest::hest}<core::num?>(){() → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/bounds_checks.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/bounds_checks.dart.strong.transformed.expect
index cf1774b..ab741a5 100644
--- a/pkg/front_end/testcases/nnbd/bounds_checks.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/bounds_checks.dart.strong.transformed.expect
@@ -86,6 +86,6 @@
static method hest<T extends core::num>() → void {}
static method fisk(self::Hest h) → dynamic {
self::hest<core::num?>();
- h.{self::Hest::hest}<core::num?>();
+ h.{self::Hest::hest}<core::num?>(){() → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.expect b/pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.expect
index cf1774b..ab741a5 100644
--- a/pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.expect
@@ -86,6 +86,6 @@
static method hest<T extends core::num>() → void {}
static method fisk(self::Hest h) → dynamic {
self::hest<core::num?>();
- h.{self::Hest::hest}<core::num?>();
+ h.{self::Hest::hest}<core::num?>(){() → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.transformed.expect
index cf1774b..ab741a5 100644
--- a/pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.transformed.expect
@@ -86,6 +86,6 @@
static method hest<T extends core::num>() → void {}
static method fisk(self::Hest h) → dynamic {
self::hest<core::num?>();
- h.{self::Hest::hest}<core::num?>();
+ h.{self::Hest::hest}<core::num?>(){() → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/call.dart.strong.expect b/pkg/front_end/testcases/nnbd/call.dart.strong.expect
index 44a78ec..2984427 100644
--- a/pkg/front_end/testcases/nnbd/call.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/call.dart.strong.expect
@@ -38,19 +38,19 @@
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:12:4: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
f();
- ^" in f.call();
+ ^" in f{<nullable>}.(){() →? void};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:13:5: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
Try calling using ?. instead.
f.call();
- ^^^^" in f.call();
+ ^^^^" in f{<nullable>}.(){() →? void};
self::Class c = new self::Class::•();
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:15:10: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
c.field();
- ^" in c.{self::Class::field}.call();
+ ^" in c.{self::Class::field}{() →? void}{<nullable>}.(){() →? void};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:16:11: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
c.getter();
- ^" in c.{self::Class::getter}.call();
+ ^" in c.{self::Class::getter}{() →? void}{<nullable>}.(){() →? void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/call.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/call.dart.strong.transformed.expect
index 44a78ec..2984427 100644
--- a/pkg/front_end/testcases/nnbd/call.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/call.dart.strong.transformed.expect
@@ -38,19 +38,19 @@
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:12:4: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
f();
- ^" in f.call();
+ ^" in f{<nullable>}.(){() →? void};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:13:5: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
Try calling using ?. instead.
f.call();
- ^^^^" in f.call();
+ ^^^^" in f{<nullable>}.(){() →? void};
self::Class c = new self::Class::•();
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:15:10: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
c.field();
- ^" in c.{self::Class::field}.call();
+ ^" in c.{self::Class::field}{() →? void}{<nullable>}.(){() →? void};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:16:11: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
c.getter();
- ^" in c.{self::Class::getter}.call();
+ ^" in c.{self::Class::getter}{() →? void}{<nullable>}.(){() →? void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/call.dart.weak.expect b/pkg/front_end/testcases/nnbd/call.dart.weak.expect
index 44a78ec..2984427 100644
--- a/pkg/front_end/testcases/nnbd/call.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/call.dart.weak.expect
@@ -38,19 +38,19 @@
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:12:4: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
f();
- ^" in f.call();
+ ^" in f{<nullable>}.(){() →? void};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:13:5: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
Try calling using ?. instead.
f.call();
- ^^^^" in f.call();
+ ^^^^" in f{<nullable>}.(){() →? void};
self::Class c = new self::Class::•();
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:15:10: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
c.field();
- ^" in c.{self::Class::field}.call();
+ ^" in c.{self::Class::field}{() →? void}{<nullable>}.(){() →? void};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:16:11: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
c.getter();
- ^" in c.{self::Class::getter}.call();
+ ^" in c.{self::Class::getter}{() →? void}{<nullable>}.(){() →? void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/call.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/call.dart.weak.transformed.expect
index 44a78ec..2984427 100644
--- a/pkg/front_end/testcases/nnbd/call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/call.dart.weak.transformed.expect
@@ -38,19 +38,19 @@
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:12:4: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
f();
- ^" in f.call();
+ ^" in f{<nullable>}.(){() →? void};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:13:5: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
Try calling using ?. instead.
f.call();
- ^^^^" in f.call();
+ ^^^^" in f{<nullable>}.(){() →? void};
self::Class c = new self::Class::•();
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:15:10: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
c.field();
- ^" in c.{self::Class::field}.call();
+ ^" in c.{self::Class::field}{() →? void}{<nullable>}.(){() →? void};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/call.dart:16:11: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
c.getter();
- ^" in c.{self::Class::getter}.call();
+ ^" in c.{self::Class::getter}{() →? void}{<nullable>}.(){() →? void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.strong.expect b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.strong.expect
index 1631d801..478af10 100644
--- a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.strong.expect
@@ -11,7 +11,7 @@
class Check extends core::Object /*hasConstConstructor*/ {
final field dynamic _ignored;
const constructor •(dynamic x, dynamic y) → self::Check
- : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0), super core::Object::•()
+ : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0){(core::num) → core::int}, super core::Object::•()
;
}
class A<X extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ {
@@ -20,7 +20,7 @@
;
}
static method expectEqual(dynamic x, dynamic y) → void {
- if(!x.{core::Object::==}(y)) {
+ if(!(x =={core::Object::==}{(core::Object) → core::bool} y)) {
throw "Arguments were supposed to be identical.";
}
}
diff --git a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.strong.transformed.expect
index 1631d801..478af10 100644
--- a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.strong.transformed.expect
@@ -11,7 +11,7 @@
class Check extends core::Object /*hasConstConstructor*/ {
final field dynamic _ignored;
const constructor •(dynamic x, dynamic y) → self::Check
- : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0), super core::Object::•()
+ : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0){(core::num) → core::int}, super core::Object::•()
;
}
class A<X extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ {
@@ -20,7 +20,7 @@
;
}
static method expectEqual(dynamic x, dynamic y) → void {
- if(!x.{core::Object::==}(y)) {
+ if(!(x =={core::Object::==}{(core::Object) → core::bool} y)) {
throw "Arguments were supposed to be identical.";
}
}
diff --git a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.expect b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.expect
index 43eae4f..5e1af23 100644
--- a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.expect
@@ -11,7 +11,7 @@
class Check extends core::Object /*hasConstConstructor*/ {
final field dynamic _ignored;
const constructor •(dynamic x, dynamic y) → self::Check
- : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0), super core::Object::•()
+ : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0){(core::num) → core::int}, super core::Object::•()
;
}
class A<X extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ {
@@ -20,7 +20,7 @@
;
}
static method expectEqual(dynamic x, dynamic y) → void {
- if(!x.{core::Object::==}(y)) {
+ if(!(x =={core::Object::==}{(core::Object) → core::bool} y)) {
throw "Arguments were supposed to be identical.";
}
}
diff --git a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.outline.expect
index 5239ad1..c94203e 100644
--- a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.outline.expect
@@ -11,7 +11,7 @@
class Check extends core::Object /*hasConstConstructor*/ {
final field dynamic _ignored;
const constructor •(dynamic x, dynamic y) → self::Check
- : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0), super core::Object::•()
+ : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0){(core::num) → core::int}, super core::Object::•()
;
}
class A<X extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ {
diff --git a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.transformed.expect
index 43eae4f..5e1af23 100644
--- a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.transformed.expect
@@ -11,7 +11,7 @@
class Check extends core::Object /*hasConstConstructor*/ {
final field dynamic _ignored;
const constructor •(dynamic x, dynamic y) → self::Check
- : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0), super core::Object::•()
+ : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0){(core::num) → core::int}, super core::Object::•()
;
}
class A<X extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ {
@@ -20,7 +20,7 @@
;
}
static method expectEqual(dynamic x, dynamic y) → void {
- if(!x.{core::Object::==}(y)) {
+ if(!(x =={core::Object::==}{(core::Object) → core::bool} y)) {
throw "Arguments were supposed to be identical.";
}
}
diff --git a/pkg/front_end/testcases/nnbd/const_is.dart.strong.expect b/pkg/front_end/testcases/nnbd/const_is.dart.strong.expect
index ecdde5d..ee9ce9b 100644
--- a/pkg/front_end/testcases/nnbd/const_is.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/const_is.dart.strong.expect
@@ -49,10 +49,10 @@
static const field core::bool f4_is_t1 = #C2;
static const field core::bool f5_is_t1 = #C1;
static method f({required core::int i = #C3}) → core::int {
- return i.{core::num::+}(1);
+ return i.{core::num::+}(1){(core::num) → core::int};
}
static method g({core::int i = #C4}) → core::int {
- return i.{core::num::+}(1);
+ return i.{core::num::+}(1){(core::num) → core::int};
}
static method f1(core::int i, self::B b, core::Map<core::int, core::num> m, dynamic x, {required dynamic extraParam = #C3, required core::bool obool = #C3, required dynamic ox = #C3, required self::D ob = #C3, required core::List<core::num>? ol = #C3}) → self::B
return new self::B::•();
@@ -87,7 +87,7 @@
self::expect((#C11) is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B, #C1);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/const_is.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/const_is.dart.strong.transformed.expect
index deac28e..2eda141 100644
--- a/pkg/front_end/testcases/nnbd/const_is.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/const_is.dart.strong.transformed.expect
@@ -49,10 +49,10 @@
static const field core::bool f4_is_t1 = #C2;
static const field core::bool f5_is_t1 = #C1;
static method f({required core::int i = #C3}) → core::int {
- return i.{core::num::+}(1);
+ return i.{core::num::+}(1){(core::num) → core::int};
}
static method g({core::int i = #C4}) → core::int {
- return i.{core::num::+}(1);
+ return i.{core::num::+}(1){(core::num) → core::int};
}
static method f1(core::int i, self::B b, core::Map<core::int, core::num> m, dynamic x, {required dynamic extraParam = #C3, required core::bool obool = #C3, required dynamic ox = #C3, required self::D ob = #C3, required core::List<core::num>? ol = #C3}) → self::B
return new self::B::•();
@@ -87,7 +87,7 @@
self::expect((#C11) is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B, #C1);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/const_is.dart.weak.expect b/pkg/front_end/testcases/nnbd/const_is.dart.weak.expect
index f6c3bba..7da3b8f 100644
--- a/pkg/front_end/testcases/nnbd/const_is.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/const_is.dart.weak.expect
@@ -49,10 +49,10 @@
static const field core::bool f4_is_t1 = #C1;
static const field core::bool f5_is_t1 = #C1;
static method f({required core::int i = #C3}) → core::int {
- return i.{core::num::+}(1);
+ return i.{core::num::+}(1){(core::num) → core::int};
}
static method g({core::int i = #C4}) → core::int {
- return i.{core::num::+}(1);
+ return i.{core::num::+}(1){(core::num) → core::int};
}
static method f1(core::int i, self::B b, core::Map<core::int, core::num> m, dynamic x, {required dynamic extraParam = #C3, required core::bool obool = #C3, required dynamic ox = #C3, required self::D ob = #C3, required core::List<core::num>? ol = #C3}) → self::B
return new self::B::•();
@@ -87,7 +87,7 @@
self::expect((#C11) is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B, #C1);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/const_is.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/const_is.dart.weak.transformed.expect
index 3817966..67362a6 100644
--- a/pkg/front_end/testcases/nnbd/const_is.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/const_is.dart.weak.transformed.expect
@@ -49,10 +49,10 @@
static const field core::bool f4_is_t1 = #C1;
static const field core::bool f5_is_t1 = #C1;
static method f({required core::int i = #C3}) → core::int {
- return i.{core::num::+}(1);
+ return i.{core::num::+}(1){(core::num) → core::int};
}
static method g({core::int i = #C4}) → core::int {
- return i.{core::num::+}(1);
+ return i.{core::num::+}(1){(core::num) → core::int};
}
static method f1(core::int i, self::B b, core::Map<core::int, core::num> m, dynamic x, {required dynamic extraParam = #C3, required core::bool obool = #C3, required dynamic ox = #C3, required self::D ob = #C3, required core::List<core::num>? ol = #C3}) → self::B
return new self::B::•();
@@ -87,7 +87,7 @@
self::expect((#C11) is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B, #C1);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/constant_null_check.dart.strong.expect b/pkg/front_end/testcases/nnbd/constant_null_check.dart.strong.expect
index a1b3d15..b3142fc 100644
--- a/pkg/front_end/testcases/nnbd/constant_null_check.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/constant_null_check.dart.strong.expect
@@ -40,10 +40,10 @@
static method main() → dynamic {
self::expect(42, #C1);
self::expect(42, #C1);
- self::expect(42, (#C3).{self::Class::y});
+ self::expect(42, (#C3).{self::Class::y}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/constant_null_check.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/constant_null_check.dart.strong.transformed.expect
index a1b3d15..b3142fc 100644
--- a/pkg/front_end/testcases/nnbd/constant_null_check.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/constant_null_check.dart.strong.transformed.expect
@@ -40,10 +40,10 @@
static method main() → dynamic {
self::expect(42, #C1);
self::expect(42, #C1);
- self::expect(42, (#C3).{self::Class::y});
+ self::expect(42, (#C3).{self::Class::y}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.expect b/pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.expect
index a1b3d15..b3142fc 100644
--- a/pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.expect
@@ -40,10 +40,10 @@
static method main() → dynamic {
self::expect(42, #C1);
self::expect(42, #C1);
- self::expect(42, (#C3).{self::Class::y});
+ self::expect(42, (#C3).{self::Class::y}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.transformed.expect
index a1b3d15..b3142fc 100644
--- a/pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.transformed.expect
@@ -40,10 +40,10 @@
static method main() → dynamic {
self::expect(42, #C1);
self::expect(42, #C1);
- self::expect(42, (#C3).{self::Class::y});
+ self::expect(42, (#C3).{self::Class::y}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/constant_null_is.dart.strong.expect b/pkg/front_end/testcases/nnbd/constant_null_is.dart.strong.expect
index 6432e62..390e1a9 100644
--- a/pkg/front_end/testcases/nnbd/constant_null_is.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/constant_null_is.dart.strong.expect
@@ -59,24 +59,24 @@
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>, #C3, "null is FutureOr<Never>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never?>, #C2, "null is FutureOr<Never?>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>?, #C2, "null is FutureOr<Never>?");
- self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor1(null).field");
- self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor1(null).field");
- self::expect(self::isWeakMode, (#C5).{self::Class::field}, "const Class<List<int>>.constructor1(<Null>[null]).field");
- self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor1(null).field");
- self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor2(null).field");
- self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor2(null).field");
- self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}, (#C10).{self::Class::field}, "Class<Null>.constructor3(null).field");
- self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor4(null).field");
- self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor4(null).field");
- self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor4(null).field");
+ self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor1(null).field");
+ self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor1(null).field");
+ self::expect(self::isWeakMode, (#C5).{self::Class::field}{core::bool}, "const Class<List<int>>.constructor1(<Null>[null]).field");
+ self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor1(null).field");
+ self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor2(null).field");
+ self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor2(null).field");
+ self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool}, (#C10).{self::Class::field}{core::bool}, "Class<Null>.constructor3(null).field");
+ self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor4(null).field");
}
static method expect(dynamic expected, dynamic actual, core::String message) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual} for ${message}";
}
diff --git a/pkg/front_end/testcases/nnbd/constant_null_is.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/constant_null_is.dart.strong.transformed.expect
index 33c269a..d3fccea 100644
--- a/pkg/front_end/testcases/nnbd/constant_null_is.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/constant_null_is.dart.strong.transformed.expect
@@ -59,24 +59,24 @@
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>, #C3, "null is FutureOr<Never>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never?>, #C2, "null is FutureOr<Never?>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>?, #C2, "null is FutureOr<Never>?");
- self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor1(null).field");
- self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor1(null).field");
- self::expect(self::isWeakMode, (#C5).{self::Class::field}, "const Class<List<int>>.constructor1(<Null>[null]).field");
- self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor1(null).field");
- self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor2(null).field");
- self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor2(null).field");
- self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}, (#C10).{self::Class::field}, "Class<Null>.constructor3(null).field");
- self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor4(null).field");
- self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor4(null).field");
- self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor4(null).field");
+ self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor1(null).field");
+ self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor1(null).field");
+ self::expect(self::isWeakMode, (#C5).{self::Class::field}{core::bool}, "const Class<List<int>>.constructor1(<Null>[null]).field");
+ self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor1(null).field");
+ self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor2(null).field");
+ self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor2(null).field");
+ self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool}, (#C10).{self::Class::field}{core::bool}, "Class<Null>.constructor3(null).field");
+ self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor4(null).field");
}
static method expect(dynamic expected, dynamic actual, core::String message) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual} for ${message}";
}
diff --git a/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.expect b/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.expect
index d9f07b7..d14ab66 100644
--- a/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.expect
@@ -59,24 +59,24 @@
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>, #C3, "null is FutureOr<Never>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never?>, #C2, "null is FutureOr<Never?>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>?, #C2, "null is FutureOr<Never>?");
- self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor1(null).field");
- self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor1(null).field");
- self::expect(self::isWeakMode, (#C5).{self::Class::field}, "const Class<List<int>>.constructor1(<Null>[null]).field");
- self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor1(null).field");
- self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor2(null).field");
- self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor2(null).field");
- self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}, (#C10).{self::Class::field}, "Class<Null>.constructor3(null).field");
- self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor4(null).field");
- self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor4(null).field");
- self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor4(null).field");
+ self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor1(null).field");
+ self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor1(null).field");
+ self::expect(self::isWeakMode, (#C5).{self::Class::field}{core::bool}, "const Class<List<int>>.constructor1(<Null>[null]).field");
+ self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor1(null).field");
+ self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor2(null).field");
+ self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor2(null).field");
+ self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool}, (#C10).{self::Class::field}{core::bool}, "Class<Null>.constructor3(null).field");
+ self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor4(null).field");
}
static method expect(dynamic expected, dynamic actual, core::String message) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual} for ${message}";
}
diff --git a/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.transformed.expect
index 9710d1f..fc6a3ef 100644
--- a/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.transformed.expect
@@ -59,24 +59,24 @@
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>, #C3, "null is FutureOr<Never>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never?>, #C2, "null is FutureOr<Never?>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>?, #C2, "null is FutureOr<Never>?");
- self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor1(null).field");
- self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor1(null).field");
- self::expect(self::isWeakMode, (#C5).{self::Class::field}, "const Class<List<int>>.constructor1(<Null>[null]).field");
- self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor1(null).field");
- self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor2(null).field");
- self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor2(null).field");
- self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}, (#C10).{self::Class::field}, "Class<Null>.constructor3(null).field");
- self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor4(null).field");
- self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor4(null).field");
- self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor4(null).field");
+ self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor1(null).field");
+ self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor1(null).field");
+ self::expect(self::isWeakMode, (#C5).{self::Class::field}{core::bool}, "const Class<List<int>>.constructor1(<Null>[null]).field");
+ self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor1(null).field");
+ self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor2(null).field");
+ self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor2(null).field");
+ self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool}, (#C10).{self::Class::field}{core::bool}, "Class<Null>.constructor3(null).field");
+ self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor4(null).field");
}
static method expect(dynamic expected, dynamic actual, core::String message) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual} for ${message}";
}
diff --git a/pkg/front_end/testcases/nnbd/constants.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/constants.dart.weak.outline.expect
index 846a242..b25d8c4 100644
--- a/pkg/front_end/testcases/nnbd/constants.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd/constants.dart.weak.outline.expect
@@ -86,7 +86,7 @@
Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:37:5 -> BoolConstant(true)
Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:39:5 -> BoolConstant(true)
Evaluated: TypeLiteral @ org-dartlang-testcase:///constants_lib.dart:16:27 -> TypeLiteralConstant(Object*)
-Evaluated: StaticGet @ org-dartlang-testcase:///constants_lib.dart:17:12 -> TearOffConstant(identical)
+Evaluated: StaticTearOff @ org-dartlang-testcase:///constants_lib.dart:17:12 -> TearOffConstant(identical)
Evaluated: Instantiation @ org-dartlang-testcase:///constants_lib.dart:18:48 -> PartialInstantiationConstant(id<int*>)
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constants_lib.dart:19:24 -> InstanceConstant(const Class<int*>{Class.field: 0})
Evaluated: TypeLiteral @ org-dartlang-testcase:///constants_lib.dart:20:29 -> TypeLiteralConstant(dynamic Function(dynamic)*)
diff --git a/pkg/front_end/testcases/nnbd/covariant_equals.dart.strong.expect b/pkg/front_end/testcases/nnbd/covariant_equals.dart.strong.expect
index f4bf705..ddfe4c9 100644
--- a/pkg/front_end/testcases/nnbd/covariant_equals.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/covariant_equals.dart.strong.expect
@@ -297,250 +297,250 @@
}
static method main() → dynamic {}
static method testNonNullable(self::A a, self::B b, self::C<dynamic> c_dynamic, self::C<core::int> c_int, self::C<core::String> c_string, self::D d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} a;
+ a =={self::A::==}{(self::A) → core::bool} b;
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} a;
+ b =={self::B::==}{(self::A) → core::bool} b;
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- c_dynamic.{self::C::==}(let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} d;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:45:12: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:45:12: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} d;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:52:15: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:52:15: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} c_string;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- d.{self::C::==}(let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:59:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:59:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int>) → core::bool} d;
}
static method testNullable(self::A? a, self::B? b, self::C<dynamic>? c_dynamic, self::C<core::int>? c_int, self::C<core::String>? c_string, self::D? d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:75:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} a;
+ a =={self::A::==}{(self::A) → core::bool} b;
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:75:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:76:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:76:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:77:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:77:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:78:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:78:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:82:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} a;
+ b =={self::B::==}{(self::A) → core::bool} b;
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:82:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:83:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:83:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:84:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:84:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:85:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:85:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- c_dynamic.{self::C::==}(let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:87:16: Error: The argument type 'A?' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:87:16: Error: The argument type 'A?' can't be assigned to the parameter type 'C<dynamic>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:88:16: Error: The argument type 'B?' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:88:16: Error: The argument type 'B?' can't be assigned to the parameter type 'C<dynamic>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:94:12: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} d;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:94:12: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:95:12: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:95:12: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:96:12: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:96:12: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:98:12: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:98:12: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:101:15: Error: The argument type 'A?' can't be assigned to the parameter type 'C<String>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} d;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:101:15: Error: The argument type 'A?' can't be assigned to the parameter type 'C<String>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:102:15: Error: The argument type 'B?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:102:15: Error: The argument type 'B?' can't be assigned to the parameter type 'C<String>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:103:15: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:103:15: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:104:15: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:104:15: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:106:15: Error: The argument type 'D?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} c_string;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:106:15: Error: The argument type 'D?' can't be assigned to the parameter type 'C<String>?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- d.{self::C::==}(let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:108:8: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:108:8: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:109:8: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:109:8: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:110:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:110:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:112:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:112:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int>) → core::bool} d;
}
diff --git a/pkg/front_end/testcases/nnbd/covariant_equals.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/covariant_equals.dart.strong.transformed.expect
index f4bf705..ddfe4c9 100644
--- a/pkg/front_end/testcases/nnbd/covariant_equals.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/covariant_equals.dart.strong.transformed.expect
@@ -297,250 +297,250 @@
}
static method main() → dynamic {}
static method testNonNullable(self::A a, self::B b, self::C<dynamic> c_dynamic, self::C<core::int> c_int, self::C<core::String> c_string, self::D d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} a;
+ a =={self::A::==}{(self::A) → core::bool} b;
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} a;
+ b =={self::B::==}{(self::A) → core::bool} b;
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- c_dynamic.{self::C::==}(let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} d;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:45:12: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:45:12: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} d;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:52:15: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:52:15: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} c_string;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- d.{self::C::==}(let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:59:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:59:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int>) → core::bool} d;
}
static method testNullable(self::A? a, self::B? b, self::C<dynamic>? c_dynamic, self::C<core::int>? c_int, self::C<core::String>? c_string, self::D? d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:75:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} a;
+ a =={self::A::==}{(self::A) → core::bool} b;
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:75:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:76:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:76:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:77:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:77:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:78:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:78:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:82:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} a;
+ b =={self::B::==}{(self::A) → core::bool} b;
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:82:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:83:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:83:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:84:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:84:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:85:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:85:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- c_dynamic.{self::C::==}(let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:87:16: Error: The argument type 'A?' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:87:16: Error: The argument type 'A?' can't be assigned to the parameter type 'C<dynamic>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:88:16: Error: The argument type 'B?' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:88:16: Error: The argument type 'B?' can't be assigned to the parameter type 'C<dynamic>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:94:12: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} d;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:94:12: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:95:12: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:95:12: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:96:12: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:96:12: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:98:12: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:98:12: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:101:15: Error: The argument type 'A?' can't be assigned to the parameter type 'C<String>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} d;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:101:15: Error: The argument type 'A?' can't be assigned to the parameter type 'C<String>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:102:15: Error: The argument type 'B?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:102:15: Error: The argument type 'B?' can't be assigned to the parameter type 'C<String>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:103:15: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:103:15: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:104:15: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:104:15: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:106:15: Error: The argument type 'D?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} c_string;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:106:15: Error: The argument type 'D?' can't be assigned to the parameter type 'C<String>?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- d.{self::C::==}(let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:108:8: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:108:8: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:109:8: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:109:8: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:110:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:110:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:112:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:112:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int>) → core::bool} d;
}
diff --git a/pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.expect b/pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.expect
index f4bf705..ddfe4c9 100644
--- a/pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.expect
@@ -297,250 +297,250 @@
}
static method main() → dynamic {}
static method testNonNullable(self::A a, self::B b, self::C<dynamic> c_dynamic, self::C<core::int> c_int, self::C<core::String> c_string, self::D d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} a;
+ a =={self::A::==}{(self::A) → core::bool} b;
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} a;
+ b =={self::B::==}{(self::A) → core::bool} b;
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- c_dynamic.{self::C::==}(let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} d;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:45:12: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:45:12: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} d;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:52:15: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:52:15: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} c_string;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- d.{self::C::==}(let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:59:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:59:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int>) → core::bool} d;
}
static method testNullable(self::A? a, self::B? b, self::C<dynamic>? c_dynamic, self::C<core::int>? c_int, self::C<core::String>? c_string, self::D? d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:75:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} a;
+ a =={self::A::==}{(self::A) → core::bool} b;
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:75:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:76:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:76:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:77:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:77:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:78:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:78:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:82:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} a;
+ b =={self::B::==}{(self::A) → core::bool} b;
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:82:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:83:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:83:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:84:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:84:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:85:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:85:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- c_dynamic.{self::C::==}(let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:87:16: Error: The argument type 'A?' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:87:16: Error: The argument type 'A?' can't be assigned to the parameter type 'C<dynamic>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:88:16: Error: The argument type 'B?' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:88:16: Error: The argument type 'B?' can't be assigned to the parameter type 'C<dynamic>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:94:12: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} d;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:94:12: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:95:12: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:95:12: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:96:12: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:96:12: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:98:12: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:98:12: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:101:15: Error: The argument type 'A?' can't be assigned to the parameter type 'C<String>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} d;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:101:15: Error: The argument type 'A?' can't be assigned to the parameter type 'C<String>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:102:15: Error: The argument type 'B?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:102:15: Error: The argument type 'B?' can't be assigned to the parameter type 'C<String>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:103:15: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:103:15: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:104:15: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:104:15: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:106:15: Error: The argument type 'D?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} c_string;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:106:15: Error: The argument type 'D?' can't be assigned to the parameter type 'C<String>?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- d.{self::C::==}(let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:108:8: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:108:8: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:109:8: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:109:8: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:110:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:110:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:112:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:112:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int>) → core::bool} d;
}
diff --git a/pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.transformed.expect
index f4bf705..ddfe4c9 100644
--- a/pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.transformed.expect
@@ -297,250 +297,250 @@
}
static method main() → dynamic {}
static method testNonNullable(self::A a, self::B b, self::C<dynamic> c_dynamic, self::C<core::int> c_int, self::C<core::String> c_string, self::D d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} a;
+ a =={self::A::==}{(self::A) → core::bool} b;
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:24:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:25:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:26:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:27:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} a;
+ b =={self::B::==}{(self::A) → core::bool} b;
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:31:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:32:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:33:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:34:8: Error: The argument type 'D' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- c_dynamic.{self::C::==}(let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:36:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:37:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} d;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:43:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:44:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:45:12: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:45:12: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:47:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} d;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:50:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:51:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:52:15: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:52:15: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:53:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_int; // error
^" in c_int as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} c_string;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:55:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == d; // error
^" in d as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- d.{self::C::==}(let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:57:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == a; // error
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:58:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == b; // error
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:59:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:59:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_dynamic; // error
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:61:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_string; // error
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int>) → core::bool} d;
}
static method testNullable(self::A? a, self::B? b, self::C<dynamic>? c_dynamic, self::C<core::int>? c_int, self::C<core::String>? c_string, self::D? d) → dynamic {
- a.{self::A::==}(a);
- a.{self::A::==}(b);
- a.{self::A::==}(let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:75:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} a;
+ a =={self::A::==}{(self::A) → core::bool} b;
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:75:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:76:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:76:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:77:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:77:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- a.{self::A::==}(let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:78:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
+ a =={self::A::==}{(self::A) → core::bool} (let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:78:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
a == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(a);
- b.{self::B::==}(b);
- b.{self::B::==}(let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:82:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} a;
+ b =={self::B::==}{(self::A) → core::bool} b;
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:82:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:83:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:83:8: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:84:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:84:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'A?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::A?);
- b.{self::B::==}(let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:85:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
+ b =={self::B::==}{(self::A) → core::bool} (let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:85:8: Error: The argument type 'D?' can't be assigned to the parameter type 'A?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
b == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::A?);
- c_dynamic.{self::C::==}(let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:87:16: Error: The argument type 'A?' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:87:16: Error: The argument type 'A?' can't be assigned to the parameter type 'C<dynamic>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:88:16: Error: The argument type 'B?' can't be assigned to the parameter type 'C<dynamic>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} (let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:88:16: Error: The argument type 'B?' can't be assigned to the parameter type 'C<dynamic>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_dynamic == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<dynamic>?);
- c_dynamic.{self::C::==}(c_dynamic);
- c_dynamic.{self::C::==}(c_int);
- c_dynamic.{self::C::==}(c_string);
- c_dynamic.{self::C::==}(d);
- c_int.{self::C::==}(let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:94:12: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_dynamic;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_int;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} c_string;
+ c_dynamic =={self::C::==}{(self::C<dynamic>) → core::bool} d;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:94:12: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:95:12: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:95:12: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:96:12: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:96:12: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(c_int);
- c_int.{self::C::==}(let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:98:12: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:98:12: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_int == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- c_int.{self::C::==}(d);
- c_string.{self::C::==}(let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:101:15: Error: The argument type 'A?' can't be assigned to the parameter type 'C<String>?'.
+ c_int =={self::C::==}{(self::C<core::int>) → core::bool} d;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:101:15: Error: The argument type 'A?' can't be assigned to the parameter type 'C<String>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:102:15: Error: The argument type 'B?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:102:15: Error: The argument type 'B?' can't be assigned to the parameter type 'C<String>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:103:15: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:103:15: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:104:15: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:104:15: Error: The argument type 'C<int>?' can't be assigned to the parameter type 'C<String>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == c_int; // ok or error ?
^" in c_int as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- c_string.{self::C::==}(c_string);
- c_string.{self::C::==}(let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:106:15: Error: The argument type 'D?' can't be assigned to the parameter type 'C<String>?'.
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} c_string;
+ c_string =={self::C::==}{(self::C<core::String>) → core::bool} (let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:106:15: Error: The argument type 'D?' can't be assigned to the parameter type 'C<String>?'.
- 'D' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
c_string == d; // ok or error ?
^" in d as{TypeError,ForNonNullableByDefault} self::C<core::String>?);
- d.{self::C::==}(let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:108:8: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:108:8: Error: The argument type 'A?' can't be assigned to the parameter type 'C<int>?'.
- 'A' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == a; // ok or error ?
^" in a as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:109:8: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:109:8: Error: The argument type 'B?' can't be assigned to the parameter type 'C<int>?'.
- 'B' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == b; // ok or error ?
^" in b as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:110:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:110:8: Error: The argument type 'C<dynamic>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_dynamic; // ok or error ?
^" in c_dynamic as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(c_int);
- d.{self::C::==}(let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:112:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
+ d =={self::C::==}{(self::C<core::int>) → core::bool} c_int;
+ d =={self::C::==}{(self::C<core::int>) → core::bool} (let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/covariant_equals.dart:112:8: Error: The argument type 'C<String>?' can't be assigned to the parameter type 'C<int>?'.
- 'C' is from 'pkg/front_end/testcases/nnbd/covariant_equals.dart'.
d == c_string; // ok or error ?
^" in c_string as{TypeError,ForNonNullableByDefault} self::C<core::int>?);
- d.{self::C::==}(d);
+ d =={self::C::==}{(self::C<core::int>) → core::bool} d;
}
diff --git a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.strong.expect b/pkg/front_end/testcases/nnbd/definitely_assigned.dart.strong.expect
index b63b878..b478d6b 100644
--- a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_assigned.dart.strong.expect
@@ -107,7 +107,7 @@
local4 = 0;
let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_assigned.dart:88:3: Error: Late final variable 'local4' definitely assigned.
local4 += 0; // error
- ^^^^^^" in local4 = local4.{core::num::+}(0);
+ ^^^^^^" in local4 = local4.{core::num::+}(0){(core::num) → core::int};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
late final self::methodDirect::T% local2;
@@ -153,6 +153,6 @@
local4 = 0;
let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_assigned.dart:80:3: Error: Late final variable 'local4' definitely assigned.
local4 += 0; // error
- ^^^^^^" in local4 = local4.{core::num::+}(0);
+ ^^^^^^" in local4 = local4.{core::num::+}(0){(core::num) → core::int};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/definitely_assigned.dart.strong.transformed.expect
index b63b878..b478d6b 100644
--- a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_assigned.dart.strong.transformed.expect
@@ -107,7 +107,7 @@
local4 = 0;
let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_assigned.dart:88:3: Error: Late final variable 'local4' definitely assigned.
local4 += 0; // error
- ^^^^^^" in local4 = local4.{core::num::+}(0);
+ ^^^^^^" in local4 = local4.{core::num::+}(0){(core::num) → core::int};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
late final self::methodDirect::T% local2;
@@ -153,6 +153,6 @@
local4 = 0;
let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_assigned.dart:80:3: Error: Late final variable 'local4' definitely assigned.
local4 += 0; // error
- ^^^^^^" in local4 = local4.{core::num::+}(0);
+ ^^^^^^" in local4 = local4.{core::num::+}(0){(core::num) → core::int};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.expect b/pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.expect
index b63b878..b478d6b 100644
--- a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.expect
@@ -107,7 +107,7 @@
local4 = 0;
let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_assigned.dart:88:3: Error: Late final variable 'local4' definitely assigned.
local4 += 0; // error
- ^^^^^^" in local4 = local4.{core::num::+}(0);
+ ^^^^^^" in local4 = local4.{core::num::+}(0){(core::num) → core::int};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
late final self::methodDirect::T% local2;
@@ -153,6 +153,6 @@
local4 = 0;
let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_assigned.dart:80:3: Error: Late final variable 'local4' definitely assigned.
local4 += 0; // error
- ^^^^^^" in local4 = local4.{core::num::+}(0);
+ ^^^^^^" in local4 = local4.{core::num::+}(0){(core::num) → core::int};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.transformed.expect
index b63b878..b478d6b 100644
--- a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.transformed.expect
@@ -107,7 +107,7 @@
local4 = 0;
let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_assigned.dart:88:3: Error: Late final variable 'local4' definitely assigned.
local4 += 0; // error
- ^^^^^^" in local4 = local4.{core::num::+}(0);
+ ^^^^^^" in local4 = local4.{core::num::+}(0){(core::num) → core::int};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
late final self::methodDirect::T% local2;
@@ -153,6 +153,6 @@
local4 = 0;
let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_assigned.dart:80:3: Error: Late final variable 'local4' definitely assigned.
local4 += 0; // error
- ^^^^^^" in local4 = local4.{core::num::+}(0);
+ ^^^^^^" in local4 = local4.{core::num::+}(0){(core::num) → core::int};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.strong.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.strong.expect
index e50077d..50bf941 100644
--- a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.strong.expect
@@ -159,10 +159,10 @@
late core::int local4;
local3 = (let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
local4 = (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in local4).{core::num::+}(0);
+ ^^^^^^" in local4).{core::num::+}(0){(core::num) → core::int};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
self::methodDirect::T% local1;
@@ -228,9 +228,9 @@
late core::int local4;
local3 = (let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
local4 = (let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in local4).{core::num::+}(0);
+ ^^^^^^" in local4).{core::num::+}(0){(core::num) → core::int};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.strong.transformed.expect
index e003c09..8295079 100644
--- a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.strong.transformed.expect
@@ -163,10 +163,10 @@
late core::int local4;
local3 = (let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
local4 = (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in local4).{core::num::+}(0);
+ ^^^^^^" in local4).{core::num::+}(0){(core::num) → core::int};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
self::methodDirect::T% local1;
@@ -236,9 +236,9 @@
late core::int local4;
local3 = (let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
local4 = (let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in local4).{core::num::+}(0);
+ ^^^^^^" in local4).{core::num::+}(0){(core::num) → core::int};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.expect
index e50077d..50bf941 100644
--- a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.expect
@@ -159,10 +159,10 @@
late core::int local4;
local3 = (let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
local4 = (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in local4).{core::num::+}(0);
+ ^^^^^^" in local4).{core::num::+}(0){(core::num) → core::int};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
self::methodDirect::T% local1;
@@ -228,9 +228,9 @@
late core::int local4;
local3 = (let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
local4 = (let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in local4).{core::num::+}(0);
+ ^^^^^^" in local4).{core::num::+}(0){(core::num) → core::int};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.transformed.expect
index e003c09..8295079 100644
--- a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.transformed.expect
@@ -163,10 +163,10 @@
late core::int local4;
local3 = (let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
local4 = (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:112:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in local4).{core::num::+}(0);
+ ^^^^^^" in local4).{core::num::+}(0){(core::num) → core::int};
};
static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic {
self::methodDirect::T% local1;
@@ -236,9 +236,9 @@
late core::int local4;
local3 = (let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
local3 += 0; // error
- ^^^^^^" in local3).{core::num::+}(0);
+ ^^^^^^" in local3).{core::num::+}(0){(core::num) → core::int};
local4 = (let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned.dart:104:3: Error: Late variable 'local4' without initializer is definitely unassigned.
local4 += 0; // error
- ^^^^^^" in local4).{core::num::+}(0);
+ ^^^^^^" in local4).{core::num::+}(0){(core::num) → core::int};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.strong.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.strong.expect
index 0ba1c44..f47ac7f 100644
--- a/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.strong.expect
@@ -24,10 +24,10 @@
late core::int intValue;
this.{self::A::bar}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart:15:9: Error: Late variable 'value' without initializer is definitely unassigned.
bar(value); // Error.
- ^^^^^" in value);
+ ^^^^^" in value){(self::A::T%) → dynamic};
this.{self::A::barInt}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart:16:12: Error: Late variable 'intValue' without initializer is definitely unassigned.
barInt(intValue); // Error.
- ^^^^^^^^" in intValue);
+ ^^^^^^^^" in intValue){(core::int) → dynamic};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.strong.transformed.expect
index 0ba1c44..f47ac7f 100644
--- a/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.strong.transformed.expect
@@ -24,10 +24,10 @@
late core::int intValue;
this.{self::A::bar}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart:15:9: Error: Late variable 'value' without initializer is definitely unassigned.
bar(value); // Error.
- ^^^^^" in value);
+ ^^^^^" in value){(self::A::T%) → dynamic};
this.{self::A::barInt}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart:16:12: Error: Late variable 'intValue' without initializer is definitely unassigned.
barInt(intValue); // Error.
- ^^^^^^^^" in intValue);
+ ^^^^^^^^" in intValue){(core::int) → dynamic};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.expect
index 0ba1c44..f47ac7f 100644
--- a/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.expect
@@ -24,10 +24,10 @@
late core::int intValue;
this.{self::A::bar}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart:15:9: Error: Late variable 'value' without initializer is definitely unassigned.
bar(value); // Error.
- ^^^^^" in value);
+ ^^^^^" in value){(self::A::T%) → dynamic};
this.{self::A::barInt}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart:16:12: Error: Late variable 'intValue' without initializer is definitely unassigned.
barInt(intValue); // Error.
- ^^^^^^^^" in intValue);
+ ^^^^^^^^" in intValue){(core::int) → dynamic};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.transformed.expect
index 0ba1c44..f47ac7f 100644
--- a/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.transformed.expect
@@ -24,10 +24,10 @@
late core::int intValue;
this.{self::A::bar}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart:15:9: Error: Late variable 'value' without initializer is definitely unassigned.
bar(value); // Error.
- ^^^^^" in value);
+ ^^^^^" in value){(self::A::T%) → dynamic};
this.{self::A::barInt}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart:16:12: Error: Late variable 'intValue' without initializer is definitely unassigned.
barInt(intValue); // Error.
- ^^^^^^^^" in intValue);
+ ^^^^^^^^" in intValue){(core::int) → dynamic};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/demote_closure_types.dart.strong.expect b/pkg/front_end/testcases/nnbd/demote_closure_types.dart.strong.expect
index 7210f8e..f003f8c 100644
--- a/pkg/front_end/testcases/nnbd/demote_closure_types.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/demote_closure_types.dart.strong.expect
@@ -14,7 +14,7 @@
() → self::method::T% f = () → self::method::T% => a{self::method::T% & core::String /* '%' & '!' = '!' */};
core::String s = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/demote_closure_types.dart:8:17: Error: A value of type 'T' can't be assigned to a variable of type 'String'.
String s = f();
- ^" in f.call() as{TypeError,ForNonNullableByDefault} core::String;
+ ^" in f(){() → self::method::T%} as{TypeError,ForNonNullableByDefault} core::String;
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/demote_closure_types.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/demote_closure_types.dart.strong.transformed.expect
index 7210f8e..f003f8c 100644
--- a/pkg/front_end/testcases/nnbd/demote_closure_types.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/demote_closure_types.dart.strong.transformed.expect
@@ -14,7 +14,7 @@
() → self::method::T% f = () → self::method::T% => a{self::method::T% & core::String /* '%' & '!' = '!' */};
core::String s = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/demote_closure_types.dart:8:17: Error: A value of type 'T' can't be assigned to a variable of type 'String'.
String s = f();
- ^" in f.call() as{TypeError,ForNonNullableByDefault} core::String;
+ ^" in f(){() → self::method::T%} as{TypeError,ForNonNullableByDefault} core::String;
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.expect b/pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.expect
index 7210f8e..f003f8c 100644
--- a/pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.expect
@@ -14,7 +14,7 @@
() → self::method::T% f = () → self::method::T% => a{self::method::T% & core::String /* '%' & '!' = '!' */};
core::String s = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/demote_closure_types.dart:8:17: Error: A value of type 'T' can't be assigned to a variable of type 'String'.
String s = f();
- ^" in f.call() as{TypeError,ForNonNullableByDefault} core::String;
+ ^" in f(){() → self::method::T%} as{TypeError,ForNonNullableByDefault} core::String;
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.transformed.expect
index 7210f8e..f003f8c 100644
--- a/pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.transformed.expect
@@ -14,7 +14,7 @@
() → self::method::T% f = () → self::method::T% => a{self::method::T% & core::String /* '%' & '!' = '!' */};
core::String s = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/demote_closure_types.dart:8:17: Error: A value of type 'T' can't be assigned to a variable of type 'String'.
String s = f();
- ^" in f.call() as{TypeError,ForNonNullableByDefault} core::String;
+ ^" in f(){() → self::method::T%} as{TypeError,ForNonNullableByDefault} core::String;
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance.dart.strong.expect b/pkg/front_end/testcases/nnbd/duplicates_instance.dart.strong.expect
index 383d3de..9b0aba2 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_instance.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_instance.dart.strong.expect
@@ -258,7 +258,7 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceMethod'.
(c.instanceMethod)();
- ^^^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance.dart:88:5: Error: The getter 'instanceGetter' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceGetter'.
@@ -285,7 +285,7 @@
c.instanceDuplicateFieldAndSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::instanceDuplicateFieldAndSetter} = 0;
- c.{self::Class::instanceFieldAndDuplicateSetter};
+ c.{self::Class::instanceFieldAndDuplicateSetter}{core::int};
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance.dart:95:5: Error: The setter 'instanceFieldAndDuplicateSetter' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'instanceFieldAndDuplicateSetter'.
@@ -306,35 +306,35 @@
self::Class c = new self::Class::•();
c.{self::Class::instanceFieldAndSetter1} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceFieldAndSetter1});
+ self::expect(0, c.{self::Class::instanceFieldAndSetter1}{core::int});
self::result = null;
c.{self::Class::instanceFieldAndSetter2} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceFieldAndSetter2});
+ self::expect(0, c.{self::Class::instanceFieldAndSetter2}{core::int});
self::result = null;
c.{self::Class::instanceLateFinalFieldAndSetter1} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter1});
+ self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter1}{core::int});
self::result = null;
c.{self::Class::instanceLateFinalFieldAndSetter2} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter2});
+ self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter2}{core::int});
self::result = null;
- self::expect(1, c.{self::Class::instanceMethodAndSetter1}());
+ self::expect(1, c.{self::Class::instanceMethodAndSetter1}(){() → core::int});
c.{self::Class::instanceMethodAndSetter1} = 0;
self::expect(2, self::result);
self::result = null;
- self::expect(1, c.{self::Class::instanceMethodAndSetter2}());
+ self::expect(1, c.{self::Class::instanceMethodAndSetter2}(){() → core::int});
c.{self::Class::instanceMethodAndSetter2} = 0;
self::expect(2, self::result);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_instance.dart.strong.transformed.expect
index 383d3de..9b0aba2 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_instance.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_instance.dart.strong.transformed.expect
@@ -258,7 +258,7 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceMethod'.
(c.instanceMethod)();
- ^^^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance.dart:88:5: Error: The getter 'instanceGetter' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceGetter'.
@@ -285,7 +285,7 @@
c.instanceDuplicateFieldAndSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::instanceDuplicateFieldAndSetter} = 0;
- c.{self::Class::instanceFieldAndDuplicateSetter};
+ c.{self::Class::instanceFieldAndDuplicateSetter}{core::int};
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance.dart:95:5: Error: The setter 'instanceFieldAndDuplicateSetter' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'instanceFieldAndDuplicateSetter'.
@@ -306,35 +306,35 @@
self::Class c = new self::Class::•();
c.{self::Class::instanceFieldAndSetter1} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceFieldAndSetter1});
+ self::expect(0, c.{self::Class::instanceFieldAndSetter1}{core::int});
self::result = null;
c.{self::Class::instanceFieldAndSetter2} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceFieldAndSetter2});
+ self::expect(0, c.{self::Class::instanceFieldAndSetter2}{core::int});
self::result = null;
c.{self::Class::instanceLateFinalFieldAndSetter1} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter1});
+ self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter1}{core::int});
self::result = null;
c.{self::Class::instanceLateFinalFieldAndSetter2} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter2});
+ self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter2}{core::int});
self::result = null;
- self::expect(1, c.{self::Class::instanceMethodAndSetter1}());
+ self::expect(1, c.{self::Class::instanceMethodAndSetter1}(){() → core::int});
c.{self::Class::instanceMethodAndSetter1} = 0;
self::expect(2, self::result);
self::result = null;
- self::expect(1, c.{self::Class::instanceMethodAndSetter2}());
+ self::expect(1, c.{self::Class::instanceMethodAndSetter2}(){() → core::int});
c.{self::Class::instanceMethodAndSetter2} = 0;
self::expect(2, self::result);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.expect b/pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.expect
index 383d3de..9b0aba2 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.expect
@@ -258,7 +258,7 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceMethod'.
(c.instanceMethod)();
- ^^^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance.dart:88:5: Error: The getter 'instanceGetter' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceGetter'.
@@ -285,7 +285,7 @@
c.instanceDuplicateFieldAndSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::instanceDuplicateFieldAndSetter} = 0;
- c.{self::Class::instanceFieldAndDuplicateSetter};
+ c.{self::Class::instanceFieldAndDuplicateSetter}{core::int};
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance.dart:95:5: Error: The setter 'instanceFieldAndDuplicateSetter' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'instanceFieldAndDuplicateSetter'.
@@ -306,35 +306,35 @@
self::Class c = new self::Class::•();
c.{self::Class::instanceFieldAndSetter1} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceFieldAndSetter1});
+ self::expect(0, c.{self::Class::instanceFieldAndSetter1}{core::int});
self::result = null;
c.{self::Class::instanceFieldAndSetter2} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceFieldAndSetter2});
+ self::expect(0, c.{self::Class::instanceFieldAndSetter2}{core::int});
self::result = null;
c.{self::Class::instanceLateFinalFieldAndSetter1} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter1});
+ self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter1}{core::int});
self::result = null;
c.{self::Class::instanceLateFinalFieldAndSetter2} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter2});
+ self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter2}{core::int});
self::result = null;
- self::expect(1, c.{self::Class::instanceMethodAndSetter1}());
+ self::expect(1, c.{self::Class::instanceMethodAndSetter1}(){() → core::int});
c.{self::Class::instanceMethodAndSetter1} = 0;
self::expect(2, self::result);
self::result = null;
- self::expect(1, c.{self::Class::instanceMethodAndSetter2}());
+ self::expect(1, c.{self::Class::instanceMethodAndSetter2}(){() → core::int});
c.{self::Class::instanceMethodAndSetter2} = 0;
self::expect(2, self::result);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.transformed.expect
index 383d3de..9b0aba2 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.transformed.expect
@@ -258,7 +258,7 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceMethod'.
(c.instanceMethod)();
- ^^^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance.dart:88:5: Error: The getter 'instanceGetter' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceGetter'.
@@ -285,7 +285,7 @@
c.instanceDuplicateFieldAndSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::instanceDuplicateFieldAndSetter} = 0;
- c.{self::Class::instanceFieldAndDuplicateSetter};
+ c.{self::Class::instanceFieldAndDuplicateSetter}{core::int};
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance.dart:95:5: Error: The setter 'instanceFieldAndDuplicateSetter' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/duplicates_instance.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'instanceFieldAndDuplicateSetter'.
@@ -306,35 +306,35 @@
self::Class c = new self::Class::•();
c.{self::Class::instanceFieldAndSetter1} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceFieldAndSetter1});
+ self::expect(0, c.{self::Class::instanceFieldAndSetter1}{core::int});
self::result = null;
c.{self::Class::instanceFieldAndSetter2} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceFieldAndSetter2});
+ self::expect(0, c.{self::Class::instanceFieldAndSetter2}{core::int});
self::result = null;
c.{self::Class::instanceLateFinalFieldAndSetter1} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter1});
+ self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter1}{core::int});
self::result = null;
c.{self::Class::instanceLateFinalFieldAndSetter2} = 0;
self::expect(null, self::result);
- self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter2});
+ self::expect(0, c.{self::Class::instanceLateFinalFieldAndSetter2}{core::int});
self::result = null;
- self::expect(1, c.{self::Class::instanceMethodAndSetter1}());
+ self::expect(1, c.{self::Class::instanceMethodAndSetter1}(){() → core::int});
c.{self::Class::instanceMethodAndSetter1} = 0;
self::expect(2, self::result);
self::result = null;
- self::expect(1, c.{self::Class::instanceMethodAndSetter2}());
+ self::expect(1, c.{self::Class::instanceMethodAndSetter2}(){() → core::int});
c.{self::Class::instanceMethodAndSetter2} = 0;
self::expect(2, self::result);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.strong.expect b/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.strong.expect
index 6e1d27e..da11f99 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.strong.expect
@@ -332,7 +332,7 @@
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart:84:6: Error: The getter 'instanceMethod' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceMethod'.
(c.instanceMethod)();
- ^^^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart:85:5: Error: The getter 'instanceGetter' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceGetter'.
c.instanceGetter;
@@ -417,12 +417,12 @@
self::expect(2, self::result);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.strong.transformed.expect
index 6e1d27e..da11f99 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.strong.transformed.expect
@@ -332,7 +332,7 @@
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart:84:6: Error: The getter 'instanceMethod' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceMethod'.
(c.instanceMethod)();
- ^^^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart:85:5: Error: The getter 'instanceGetter' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceGetter'.
c.instanceGetter;
@@ -417,12 +417,12 @@
self::expect(2, self::result);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.expect b/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.expect
index 6e1d27e..da11f99 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.expect
@@ -332,7 +332,7 @@
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart:84:6: Error: The getter 'instanceMethod' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceMethod'.
(c.instanceMethod)();
- ^^^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart:85:5: Error: The getter 'instanceGetter' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceGetter'.
c.instanceGetter;
@@ -417,12 +417,12 @@
self::expect(2, self::result);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.transformed.expect
index 6e1d27e..da11f99 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.transformed.expect
@@ -332,7 +332,7 @@
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart:84:6: Error: The getter 'instanceMethod' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceMethod'.
(c.instanceMethod)();
- ^^^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart:85:5: Error: The getter 'instanceGetter' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'instanceGetter'.
c.instanceGetter;
@@ -417,12 +417,12 @@
self::expect(2, self::result);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static.dart.strong.expect b/pkg/front_end/testcases/nnbd/duplicates_static.dart.strong.expect
index 21e3973..e4a1fa2 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_static.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_static.dart.strong.expect
@@ -221,7 +221,7 @@
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:86:10: Error: Can't use 'staticMethod' because it is declared more than once.
(Class.staticMethod)();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:87:9: Error: Can't use 'staticGetter' because it is declared more than once.
Class.staticGetter;
^^^^^^^^^^^^";
@@ -278,12 +278,12 @@
self::expect(1, self::Class::staticMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_static.dart.strong.transformed.expect
index 21e3973..e4a1fa2 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_static.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_static.dart.strong.transformed.expect
@@ -221,7 +221,7 @@
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:86:10: Error: Can't use 'staticMethod' because it is declared more than once.
(Class.staticMethod)();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:87:9: Error: Can't use 'staticGetter' because it is declared more than once.
Class.staticGetter;
^^^^^^^^^^^^";
@@ -278,12 +278,12 @@
self::expect(1, self::Class::staticMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.expect b/pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.expect
index 21e3973..e4a1fa2 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.expect
@@ -221,7 +221,7 @@
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:86:10: Error: Can't use 'staticMethod' because it is declared more than once.
(Class.staticMethod)();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:87:9: Error: Can't use 'staticGetter' because it is declared more than once.
Class.staticGetter;
^^^^^^^^^^^^";
@@ -278,12 +278,12 @@
self::expect(1, self::Class::staticMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.transformed.expect
index 21e3973..e4a1fa2 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.transformed.expect
@@ -221,7 +221,7 @@
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:86:10: Error: Can't use 'staticMethod' because it is declared more than once.
(Class.staticMethod)();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:87:9: Error: Can't use 'staticGetter' because it is declared more than once.
Class.staticGetter;
^^^^^^^^^^^^";
@@ -278,12 +278,12 @@
self::expect(1, self::Class::staticMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.strong.expect b/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.strong.expect
index 2f9b306..610b486 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.strong.expect
@@ -238,7 +238,7 @@
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static_extension.dart:86:14: Error: Can't use 'staticMethod' because it is declared more than once.
(Extension.staticMethod)();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static_extension.dart:87:13: Error: Can't use 'staticGetter' because it is declared more than once.
Extension.staticGetter;
^^^^^^^^^^^^";
@@ -295,12 +295,12 @@
self::expect(1, self::Extension|staticMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.strong.transformed.expect
index 2f9b306..610b486 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.strong.transformed.expect
@@ -238,7 +238,7 @@
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static_extension.dart:86:14: Error: Can't use 'staticMethod' because it is declared more than once.
(Extension.staticMethod)();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static_extension.dart:87:13: Error: Can't use 'staticGetter' because it is declared more than once.
Extension.staticGetter;
^^^^^^^^^^^^";
@@ -295,12 +295,12 @@
self::expect(1, self::Extension|staticMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.expect b/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.expect
index 2f9b306..610b486 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.expect
@@ -238,7 +238,7 @@
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static_extension.dart:86:14: Error: Can't use 'staticMethod' because it is declared more than once.
(Extension.staticMethod)();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static_extension.dart:87:13: Error: Can't use 'staticGetter' because it is declared more than once.
Extension.staticGetter;
^^^^^^^^^^^^";
@@ -295,12 +295,12 @@
self::expect(1, self::Extension|staticMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.transformed.expect
index 2f9b306..610b486 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.transformed.expect
@@ -238,7 +238,7 @@
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static_extension.dart:86:14: Error: Can't use 'staticMethod' because it is declared more than once.
(Extension.staticMethod)();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static_extension.dart:87:13: Error: Can't use 'staticGetter' because it is declared more than once.
Extension.staticGetter;
^^^^^^^^^^^^";
@@ -295,12 +295,12 @@
self::expect(1, self::Extension|staticMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.strong.expect b/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.strong.expect
index 3f6e28a..4e8d072 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.strong.expect
@@ -206,10 +206,10 @@
static method test() → dynamic {
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:83:3: Error: Can't use 'topLevelMethod' because it is declared more than once.
topLevelMethod();
- ^".call();
+ ^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:84:4: Error: Can't use 'topLevelMethod' because it is declared more than once.
(topLevelMethod)();
- ^".call();
+ ^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:85:3: Error: Can't use 'topLevelGetter' because it is declared more than once.
topLevelGetter;
^";
@@ -266,12 +266,12 @@
self::expect(1, self::topLevelMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.strong.transformed.expect
index 3f6e28a..4e8d072 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.strong.transformed.expect
@@ -206,10 +206,10 @@
static method test() → dynamic {
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:83:3: Error: Can't use 'topLevelMethod' because it is declared more than once.
topLevelMethod();
- ^".call();
+ ^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:84:4: Error: Can't use 'topLevelMethod' because it is declared more than once.
(topLevelMethod)();
- ^".call();
+ ^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:85:3: Error: Can't use 'topLevelGetter' because it is declared more than once.
topLevelGetter;
^";
@@ -266,12 +266,12 @@
self::expect(1, self::topLevelMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.expect b/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.expect
index 3f6e28a..4e8d072 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.expect
@@ -206,10 +206,10 @@
static method test() → dynamic {
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:83:3: Error: Can't use 'topLevelMethod' because it is declared more than once.
topLevelMethod();
- ^".call();
+ ^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:84:4: Error: Can't use 'topLevelMethod' because it is declared more than once.
(topLevelMethod)();
- ^".call();
+ ^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:85:3: Error: Can't use 'topLevelGetter' because it is declared more than once.
topLevelGetter;
^";
@@ -266,12 +266,12 @@
self::expect(1, self::topLevelMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.transformed.expect
index 3f6e28a..4e8d072 100644
--- a/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.transformed.expect
@@ -206,10 +206,10 @@
static method test() → dynamic {
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:83:3: Error: Can't use 'topLevelMethod' because it is declared more than once.
topLevelMethod();
- ^".call();
+ ^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:84:4: Error: Can't use 'topLevelMethod' because it is declared more than once.
(topLevelMethod)();
- ^".call();
+ ^"{dynamic}.call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_toplevel.dart:85:3: Error: Can't use 'topLevelGetter' because it is declared more than once.
topLevelGetter;
^";
@@ -266,12 +266,12 @@
self::expect(1, self::topLevelMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f) → dynamic {
try {
- f.call();
+ f();
}
on core::Object catch(final core::Object e) {
core::print(e);
diff --git a/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.strong.expect b/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.strong.expect
index e04e05f..db34931 100644
--- a/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.strong.expect
@@ -28,19 +28,19 @@
static method main() → dynamic {}
static method test() → dynamic {
dynamic c = new self::Class::•();
- core::String v1 = c.{core::Object::toString}();
- dynamic v2 = c.toString(foo: 42);
- () → core::String v3 = c.{core::Object::toString};
- core::int v4 = c.{core::Object::hashCode};
+ core::String v1 = c.{core::Object::toString}(){() → core::String};
+ dynamic v2 = c{dynamic}.toString(foo: 42);
+ () → core::String v3 = c.{core::Object::toString}{() → core::String};
+ core::int v4 = c.{core::Object::hashCode}{core::int};
dynamic v5 = invalid-expression "pkg/front_end/testcases/nnbd/dynamic_object_call.dart:21:22: Error: 'hashCode' isn't a function or method and can't be invoked.
var v5 = c.hashCode();
^^^^...";
dynamic v6 = c.{core::Object::noSuchMethod}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/dynamic_object_call.dart:23:27: Error: The argument type 'String' can't be assigned to the parameter type 'Invocation'.
- 'Invocation' is from 'dart:core'.
var v6 = c.noSuchMethod(\"foo\");
- ^" in "foo" as{TypeError,ForNonNullableByDefault} core::Invocation);
- dynamic v7 = c.noSuchMethod("foo", foo: 42);
- (core::Invocation) → dynamic v8 = c.{core::Object::noSuchMethod};
+ ^" in "foo" as{TypeError,ForNonNullableByDefault} core::Invocation){(core::Invocation) → dynamic};
+ dynamic v7 = c{dynamic}.noSuchMethod("foo", foo: 42);
+ (core::Invocation) → dynamic v8 = c.{core::Object::noSuchMethod}{(core::Invocation) → dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.strong.transformed.expect
index e04e05f..db34931 100644
--- a/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.strong.transformed.expect
@@ -28,19 +28,19 @@
static method main() → dynamic {}
static method test() → dynamic {
dynamic c = new self::Class::•();
- core::String v1 = c.{core::Object::toString}();
- dynamic v2 = c.toString(foo: 42);
- () → core::String v3 = c.{core::Object::toString};
- core::int v4 = c.{core::Object::hashCode};
+ core::String v1 = c.{core::Object::toString}(){() → core::String};
+ dynamic v2 = c{dynamic}.toString(foo: 42);
+ () → core::String v3 = c.{core::Object::toString}{() → core::String};
+ core::int v4 = c.{core::Object::hashCode}{core::int};
dynamic v5 = invalid-expression "pkg/front_end/testcases/nnbd/dynamic_object_call.dart:21:22: Error: 'hashCode' isn't a function or method and can't be invoked.
var v5 = c.hashCode();
^^^^...";
dynamic v6 = c.{core::Object::noSuchMethod}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/dynamic_object_call.dart:23:27: Error: The argument type 'String' can't be assigned to the parameter type 'Invocation'.
- 'Invocation' is from 'dart:core'.
var v6 = c.noSuchMethod(\"foo\");
- ^" in "foo" as{TypeError,ForNonNullableByDefault} core::Invocation);
- dynamic v7 = c.noSuchMethod("foo", foo: 42);
- (core::Invocation) → dynamic v8 = c.{core::Object::noSuchMethod};
+ ^" in "foo" as{TypeError,ForNonNullableByDefault} core::Invocation){(core::Invocation) → dynamic};
+ dynamic v7 = c{dynamic}.noSuchMethod("foo", foo: 42);
+ (core::Invocation) → dynamic v8 = c.{core::Object::noSuchMethod}{(core::Invocation) → dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.expect b/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.expect
index e04e05f..db34931 100644
--- a/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.expect
@@ -28,19 +28,19 @@
static method main() → dynamic {}
static method test() → dynamic {
dynamic c = new self::Class::•();
- core::String v1 = c.{core::Object::toString}();
- dynamic v2 = c.toString(foo: 42);
- () → core::String v3 = c.{core::Object::toString};
- core::int v4 = c.{core::Object::hashCode};
+ core::String v1 = c.{core::Object::toString}(){() → core::String};
+ dynamic v2 = c{dynamic}.toString(foo: 42);
+ () → core::String v3 = c.{core::Object::toString}{() → core::String};
+ core::int v4 = c.{core::Object::hashCode}{core::int};
dynamic v5 = invalid-expression "pkg/front_end/testcases/nnbd/dynamic_object_call.dart:21:22: Error: 'hashCode' isn't a function or method and can't be invoked.
var v5 = c.hashCode();
^^^^...";
dynamic v6 = c.{core::Object::noSuchMethod}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/dynamic_object_call.dart:23:27: Error: The argument type 'String' can't be assigned to the parameter type 'Invocation'.
- 'Invocation' is from 'dart:core'.
var v6 = c.noSuchMethod(\"foo\");
- ^" in "foo" as{TypeError,ForNonNullableByDefault} core::Invocation);
- dynamic v7 = c.noSuchMethod("foo", foo: 42);
- (core::Invocation) → dynamic v8 = c.{core::Object::noSuchMethod};
+ ^" in "foo" as{TypeError,ForNonNullableByDefault} core::Invocation){(core::Invocation) → dynamic};
+ dynamic v7 = c{dynamic}.noSuchMethod("foo", foo: 42);
+ (core::Invocation) → dynamic v8 = c.{core::Object::noSuchMethod}{(core::Invocation) → dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.transformed.expect
index e04e05f..db34931 100644
--- a/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.transformed.expect
@@ -28,19 +28,19 @@
static method main() → dynamic {}
static method test() → dynamic {
dynamic c = new self::Class::•();
- core::String v1 = c.{core::Object::toString}();
- dynamic v2 = c.toString(foo: 42);
- () → core::String v3 = c.{core::Object::toString};
- core::int v4 = c.{core::Object::hashCode};
+ core::String v1 = c.{core::Object::toString}(){() → core::String};
+ dynamic v2 = c{dynamic}.toString(foo: 42);
+ () → core::String v3 = c.{core::Object::toString}{() → core::String};
+ core::int v4 = c.{core::Object::hashCode}{core::int};
dynamic v5 = invalid-expression "pkg/front_end/testcases/nnbd/dynamic_object_call.dart:21:22: Error: 'hashCode' isn't a function or method and can't be invoked.
var v5 = c.hashCode();
^^^^...";
dynamic v6 = c.{core::Object::noSuchMethod}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/dynamic_object_call.dart:23:27: Error: The argument type 'String' can't be assigned to the parameter type 'Invocation'.
- 'Invocation' is from 'dart:core'.
var v6 = c.noSuchMethod(\"foo\");
- ^" in "foo" as{TypeError,ForNonNullableByDefault} core::Invocation);
- dynamic v7 = c.noSuchMethod("foo", foo: 42);
- (core::Invocation) → dynamic v8 = c.{core::Object::noSuchMethod};
+ ^" in "foo" as{TypeError,ForNonNullableByDefault} core::Invocation){(core::Invocation) → dynamic};
+ dynamic v7 = c{dynamic}.noSuchMethod("foo", foo: 42);
+ (core::Invocation) → dynamic v8 = c.{core::Object::noSuchMethod}{(core::Invocation) → dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/extension_never.dart.strong.expect b/pkg/front_end/testcases/nnbd/extension_never.dart.strong.expect
index 0319a8a..86d0862 100644
--- a/pkg/front_end/testcases/nnbd/extension_never.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/extension_never.dart.strong.expect
@@ -9,8 +9,8 @@
static method Extension|get#extensionMethod(lowered final Never #this) → () → dynamic
return () → dynamic => self::Extension|extensionMethod(#this);
static method implicitAccess(Never never) → dynamic {
- never.extensionMethod();
- never.missingMethod();
+ never{Never}.extensionMethod();
+ never{Never}.missingMethod();
}
static method explicitAccess(Never never) → dynamic {
self::Extension|extensionMethod(never);
diff --git a/pkg/front_end/testcases/nnbd/extension_never.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/extension_never.dart.strong.transformed.expect
index 0319a8a..86d0862 100644
--- a/pkg/front_end/testcases/nnbd/extension_never.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/extension_never.dart.strong.transformed.expect
@@ -9,8 +9,8 @@
static method Extension|get#extensionMethod(lowered final Never #this) → () → dynamic
return () → dynamic => self::Extension|extensionMethod(#this);
static method implicitAccess(Never never) → dynamic {
- never.extensionMethod();
- never.missingMethod();
+ never{Never}.extensionMethod();
+ never{Never}.missingMethod();
}
static method explicitAccess(Never never) → dynamic {
self::Extension|extensionMethod(never);
diff --git a/pkg/front_end/testcases/nnbd/extension_never.dart.weak.expect b/pkg/front_end/testcases/nnbd/extension_never.dart.weak.expect
index b3068c2..16f18a0 100644
--- a/pkg/front_end/testcases/nnbd/extension_never.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/extension_never.dart.weak.expect
@@ -10,8 +10,8 @@
static method Extension|get#extensionMethod(lowered final Never #this) → () → dynamic
return () → dynamic => self::Extension|extensionMethod(#this);
static method implicitAccess(Never never) → dynamic {
- let final Never #t1 = (let final Never #t2 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).extensionMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t3 = (let final Never #t4 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).missingMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t1 = (let final Never #t2 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.extensionMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t3 = (let final Never #t4 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.missingMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method explicitAccess(Never never) → dynamic {
self::Extension|extensionMethod(let final Never #t5 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
diff --git a/pkg/front_end/testcases/nnbd/extension_never.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/extension_never.dart.weak.transformed.expect
index b3068c2..16f18a0 100644
--- a/pkg/front_end/testcases/nnbd/extension_never.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/extension_never.dart.weak.transformed.expect
@@ -10,8 +10,8 @@
static method Extension|get#extensionMethod(lowered final Never #this) → () → dynamic
return () → dynamic => self::Extension|extensionMethod(#this);
static method implicitAccess(Never never) → dynamic {
- let final Never #t1 = (let final Never #t2 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).extensionMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t3 = (let final Never #t4 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).missingMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t1 = (let final Never #t2 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.extensionMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t3 = (let final Never #t4 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.missingMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method explicitAccess(Never never) → dynamic {
self::Extension|extensionMethod(let final Never #t5 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
diff --git a/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.strong.expect b/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.strong.expect
index 9eabe2c..5390151 100644
--- a/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.strong.expect
@@ -57,7 +57,7 @@
return new self::Class::•();
}
static method test2<T extends self::Class>(self::test2::T t2) → dynamic {
- if(self::test2::T.{core::Type::==}(#C1)) {
+ if(self::test2::T =={core::Type::==}{(core::Object) → core::bool} (#C1)) {
self::SubClass subClass = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart:26:28: Error: A value of type 'T' can't be assigned to a variable of type 'SubClass'.
- 'SubClass' is from 'pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart'.
SubClass subClass = t2.method2();
diff --git a/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.strong.transformed.expect
index 3d46c4f..06d884d 100644
--- a/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.strong.transformed.expect
@@ -57,7 +57,7 @@
return new self::Class::•();
}
static method test2<T extends self::Class>(self::test2::T t2) → dynamic {
- if(self::test2::T.{core::Type::==}(#C1)) {
+ if(self::test2::T =={core::Type::==}{(core::Object) → core::bool} (#C1)) {
self::SubClass subClass = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart:26:28: Error: A value of type 'T' can't be assigned to a variable of type 'SubClass'.
- 'SubClass' is from 'pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart'.
SubClass subClass = t2.method2();
diff --git a/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.expect b/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.expect
index b1bfc74..566b27a 100644
--- a/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.expect
@@ -57,7 +57,7 @@
return new self::Class::•();
}
static method test2<T extends self::Class>(self::test2::T t2) → dynamic {
- if(self::test2::T.{core::Type::==}(#C1)) {
+ if(self::test2::T =={core::Type::==}{(core::Object) → core::bool} (#C1)) {
self::SubClass subClass = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart:26:28: Error: A value of type 'T' can't be assigned to a variable of type 'SubClass'.
- 'SubClass' is from 'pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart'.
SubClass subClass = t2.method2();
diff --git a/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.transformed.expect
index ae9d534..60b5e6c 100644
--- a/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.transformed.expect
@@ -57,7 +57,7 @@
return new self::Class::•();
}
static method test2<T extends self::Class>(self::test2::T t2) → dynamic {
- if(self::test2::T.{core::Type::==}(#C1)) {
+ if(self::test2::T =={core::Type::==}{(core::Object) → core::bool} (#C1)) {
self::SubClass subClass = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart:26:28: Error: A value of type 'T' can't be assigned to a variable of type 'SubClass'.
- 'SubClass' is from 'pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart'.
SubClass subClass = t2.method2();
diff --git a/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.expect b/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.expect
index b4d5461..7c27f0b 100644
--- a/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.expect
@@ -17,10 +17,10 @@
static method main() → dynamic {
final ffi::Pointer<self::StructInlineArrayMultiDimensional> pointer = ffi::AllocatorAlloc|call<self::StructInlineArrayMultiDimensional>(#C4);
final self::StructInlineArrayMultiDimensional struct = ffi::StructPointer|get#ref<self::StructInlineArrayMultiDimensional>(pointer);
- final ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> array = struct.{self::StructInlineArrayMultiDimensional::a0};
+ final ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> array = struct.{self::StructInlineArrayMultiDimensional::a0}{ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>>};
final ffi::Array<ffi::Array<ffi::Uint8>> subArray = ffi::ArrayArray|[]<ffi::Array<ffi::Uint8>>(array, 0);
ffi::ArrayArray|[]=<ffi::Array<ffi::Uint8>>(array, 1, subArray);
- (#C4).{ffi::Allocator::free}(pointer);
+ (#C4).{ffi::Allocator::free}(pointer){(ffi::Pointer<ffi::NativeType>) → void};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.transformed.expect
index 5b4a08c..e7b555a 100644
--- a/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.strong.transformed.expect
@@ -30,7 +30,7 @@
static method main() → dynamic {
final ffi::Pointer<self::StructInlineArrayMultiDimensional> pointer = (#C15).{ffi::Allocator::allocate}<self::StructInlineArrayMultiDimensional>(self::StructInlineArrayMultiDimensional::#sizeOf);
final self::StructInlineArrayMultiDimensional struct = new self::StructInlineArrayMultiDimensional::#fromTypedDataBase(pointer!);
- final ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> array = struct.{self::StructInlineArrayMultiDimensional::a0};
+ final ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> array = struct.{self::StructInlineArrayMultiDimensional::a0}{ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>>};
final ffi::Array<ffi::Array<ffi::Uint8>> subArray = block {
ffi::Array<dynamic> #array = array!;
core::int #index = 0!;
@@ -50,7 +50,7 @@
core::int #elementSize = #singleElementSize.{core::num::*}(#array.{ffi::Array::_nestedDimensionsFlattened});
core::int #offset = #elementSize.{core::num::*}(#index);
} =>ffi::_memCopy(#array.{ffi::Array::_typedDataBase}, #offset, subArray.{ffi::Array::_typedDataBase}, #C12, #elementSize);
- (#C15).{ffi::Allocator::free}(pointer);
+ (#C15).{ffi::Allocator::free}(pointer){(ffi::Pointer<ffi::NativeType>) → void};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.expect b/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.expect
index 03a5224..7831122 100644
--- a/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.expect
@@ -17,10 +17,10 @@
static method main() → dynamic {
final ffi::Pointer<self::StructInlineArrayMultiDimensional> pointer = ffi::AllocatorAlloc|call<self::StructInlineArrayMultiDimensional>(#C4);
final self::StructInlineArrayMultiDimensional struct = ffi::StructPointer|get#ref<self::StructInlineArrayMultiDimensional>(pointer);
- final ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> array = struct.{self::StructInlineArrayMultiDimensional::a0};
+ final ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> array = struct.{self::StructInlineArrayMultiDimensional::a0}{ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>>};
final ffi::Array<ffi::Array<ffi::Uint8>> subArray = ffi::ArrayArray|[]<ffi::Array<ffi::Uint8>>(array, 0);
ffi::ArrayArray|[]=<ffi::Array<ffi::Uint8>>(array, 1, subArray);
- (#C4).{ffi::Allocator::free}(pointer);
+ (#C4).{ffi::Allocator::free}(pointer){(ffi::Pointer<ffi::NativeType>) → void};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.transformed.expect
index e502690..af2fe59 100644
--- a/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart.weak.transformed.expect
@@ -30,7 +30,7 @@
static method main() → dynamic {
final ffi::Pointer<self::StructInlineArrayMultiDimensional> pointer = (#C15).{ffi::Allocator::allocate}<self::StructInlineArrayMultiDimensional>(self::StructInlineArrayMultiDimensional::#sizeOf);
final self::StructInlineArrayMultiDimensional struct = new self::StructInlineArrayMultiDimensional::#fromTypedDataBase(pointer!);
- final ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> array = struct.{self::StructInlineArrayMultiDimensional::a0};
+ final ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> array = struct.{self::StructInlineArrayMultiDimensional::a0}{ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>>};
final ffi::Array<ffi::Array<ffi::Uint8>> subArray = block {
ffi::Array<dynamic> #array = array!;
core::int #index = 0!;
@@ -50,7 +50,7 @@
core::int #elementSize = #singleElementSize.{core::num::*}(#array.{ffi::Array::_nestedDimensionsFlattened});
core::int #offset = #elementSize.{core::num::*}(#index);
} =>ffi::_memCopy(#array.{ffi::Array::_typedDataBase}, #offset, subArray.{ffi::Array::_typedDataBase}, #C12, #elementSize);
- (#C15).{ffi::Allocator::free}(pointer);
+ (#C15).{ffi::Allocator::free}(pointer){(ffi::Pointer<ffi::NativeType>) → void};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.expect b/pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.expect
index 19a933b..17ad5ba 100644
--- a/pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.expect
@@ -1156,10 +1156,10 @@
duplicateTopLevelFieldAndSetter2 = duplicateTopLevelFieldAndSetter2;
^";
self::Class c = new self::Class::•();
- c.{self::Class::instanceFieldAndSetter} = c.{self::Class::instanceFieldAndSetter};
- c.{self::Class::instanceFieldAndDuplicateSetter} = c.{self::Class::instanceFieldAndDuplicateSetter};
- c.{self::Class::instanceLateFinalFieldAndSetter} = c.{self::Class::instanceLateFinalFieldAndSetter};
- c.{self::Class::instanceLateFinalFieldAndDuplicateSetter} = c.{self::Class::instanceLateFinalFieldAndDuplicateSetter};
+ c.{self::Class::instanceFieldAndSetter} = c.{self::Class::instanceFieldAndSetter}{core::int?};
+ c.{self::Class::instanceFieldAndDuplicateSetter} = c.{self::Class::instanceFieldAndDuplicateSetter}{core::int?};
+ c.{self::Class::instanceLateFinalFieldAndSetter} = c.{self::Class::instanceLateFinalFieldAndSetter}{core::int?};
+ c.{self::Class::instanceLateFinalFieldAndDuplicateSetter} = c.{self::Class::instanceLateFinalFieldAndDuplicateSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:188:5: Error: The setter 'duplicateInstanceFieldAndStaticSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/field_vs_setter.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'duplicateInstanceFieldAndStaticSetter1'.
@@ -1195,11 +1195,11 @@
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:209:9: Error: Setter not found: 'instanceFieldAndStaticSetter'.
Class.instanceFieldAndStaticSetter = c.instanceFieldAndStaticSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
- c.{self::Class::instanceFieldAndStaticSetter} = c.{self::Class::instanceFieldAndStaticSetter};
+ c.{self::Class::instanceFieldAndStaticSetter} = c.{self::Class::instanceFieldAndStaticSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:212:47: Error: Can't assign to this.
Class.instanceFieldAndStaticDuplicateSetter =
^";
- c.{self::Class::instanceFieldAndStaticDuplicateSetter} = c.{self::Class::instanceFieldAndStaticDuplicateSetter};
+ c.{self::Class::instanceFieldAndStaticDuplicateSetter} = c.{self::Class::instanceFieldAndStaticDuplicateSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:217:5: Error: The setter 'duplicateStaticFieldAndInstanceSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/field_vs_setter.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'duplicateStaticFieldAndInstanceSetter1'.
diff --git a/pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.transformed.expect
index 19a933b..17ad5ba 100644
--- a/pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/field_vs_setter.dart.strong.transformed.expect
@@ -1156,10 +1156,10 @@
duplicateTopLevelFieldAndSetter2 = duplicateTopLevelFieldAndSetter2;
^";
self::Class c = new self::Class::•();
- c.{self::Class::instanceFieldAndSetter} = c.{self::Class::instanceFieldAndSetter};
- c.{self::Class::instanceFieldAndDuplicateSetter} = c.{self::Class::instanceFieldAndDuplicateSetter};
- c.{self::Class::instanceLateFinalFieldAndSetter} = c.{self::Class::instanceLateFinalFieldAndSetter};
- c.{self::Class::instanceLateFinalFieldAndDuplicateSetter} = c.{self::Class::instanceLateFinalFieldAndDuplicateSetter};
+ c.{self::Class::instanceFieldAndSetter} = c.{self::Class::instanceFieldAndSetter}{core::int?};
+ c.{self::Class::instanceFieldAndDuplicateSetter} = c.{self::Class::instanceFieldAndDuplicateSetter}{core::int?};
+ c.{self::Class::instanceLateFinalFieldAndSetter} = c.{self::Class::instanceLateFinalFieldAndSetter}{core::int?};
+ c.{self::Class::instanceLateFinalFieldAndDuplicateSetter} = c.{self::Class::instanceLateFinalFieldAndDuplicateSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:188:5: Error: The setter 'duplicateInstanceFieldAndStaticSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/field_vs_setter.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'duplicateInstanceFieldAndStaticSetter1'.
@@ -1195,11 +1195,11 @@
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:209:9: Error: Setter not found: 'instanceFieldAndStaticSetter'.
Class.instanceFieldAndStaticSetter = c.instanceFieldAndStaticSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
- c.{self::Class::instanceFieldAndStaticSetter} = c.{self::Class::instanceFieldAndStaticSetter};
+ c.{self::Class::instanceFieldAndStaticSetter} = c.{self::Class::instanceFieldAndStaticSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:212:47: Error: Can't assign to this.
Class.instanceFieldAndStaticDuplicateSetter =
^";
- c.{self::Class::instanceFieldAndStaticDuplicateSetter} = c.{self::Class::instanceFieldAndStaticDuplicateSetter};
+ c.{self::Class::instanceFieldAndStaticDuplicateSetter} = c.{self::Class::instanceFieldAndStaticDuplicateSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:217:5: Error: The setter 'duplicateStaticFieldAndInstanceSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/field_vs_setter.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'duplicateStaticFieldAndInstanceSetter1'.
diff --git a/pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.expect b/pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.expect
index 19a933b..17ad5ba 100644
--- a/pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.expect
@@ -1156,10 +1156,10 @@
duplicateTopLevelFieldAndSetter2 = duplicateTopLevelFieldAndSetter2;
^";
self::Class c = new self::Class::•();
- c.{self::Class::instanceFieldAndSetter} = c.{self::Class::instanceFieldAndSetter};
- c.{self::Class::instanceFieldAndDuplicateSetter} = c.{self::Class::instanceFieldAndDuplicateSetter};
- c.{self::Class::instanceLateFinalFieldAndSetter} = c.{self::Class::instanceLateFinalFieldAndSetter};
- c.{self::Class::instanceLateFinalFieldAndDuplicateSetter} = c.{self::Class::instanceLateFinalFieldAndDuplicateSetter};
+ c.{self::Class::instanceFieldAndSetter} = c.{self::Class::instanceFieldAndSetter}{core::int?};
+ c.{self::Class::instanceFieldAndDuplicateSetter} = c.{self::Class::instanceFieldAndDuplicateSetter}{core::int?};
+ c.{self::Class::instanceLateFinalFieldAndSetter} = c.{self::Class::instanceLateFinalFieldAndSetter}{core::int?};
+ c.{self::Class::instanceLateFinalFieldAndDuplicateSetter} = c.{self::Class::instanceLateFinalFieldAndDuplicateSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:188:5: Error: The setter 'duplicateInstanceFieldAndStaticSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/field_vs_setter.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'duplicateInstanceFieldAndStaticSetter1'.
@@ -1195,11 +1195,11 @@
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:209:9: Error: Setter not found: 'instanceFieldAndStaticSetter'.
Class.instanceFieldAndStaticSetter = c.instanceFieldAndStaticSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
- c.{self::Class::instanceFieldAndStaticSetter} = c.{self::Class::instanceFieldAndStaticSetter};
+ c.{self::Class::instanceFieldAndStaticSetter} = c.{self::Class::instanceFieldAndStaticSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:212:47: Error: Can't assign to this.
Class.instanceFieldAndStaticDuplicateSetter =
^";
- c.{self::Class::instanceFieldAndStaticDuplicateSetter} = c.{self::Class::instanceFieldAndStaticDuplicateSetter};
+ c.{self::Class::instanceFieldAndStaticDuplicateSetter} = c.{self::Class::instanceFieldAndStaticDuplicateSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:217:5: Error: The setter 'duplicateStaticFieldAndInstanceSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/field_vs_setter.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'duplicateStaticFieldAndInstanceSetter1'.
diff --git a/pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.transformed.expect
index 19a933b..17ad5ba 100644
--- a/pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.transformed.expect
@@ -1156,10 +1156,10 @@
duplicateTopLevelFieldAndSetter2 = duplicateTopLevelFieldAndSetter2;
^";
self::Class c = new self::Class::•();
- c.{self::Class::instanceFieldAndSetter} = c.{self::Class::instanceFieldAndSetter};
- c.{self::Class::instanceFieldAndDuplicateSetter} = c.{self::Class::instanceFieldAndDuplicateSetter};
- c.{self::Class::instanceLateFinalFieldAndSetter} = c.{self::Class::instanceLateFinalFieldAndSetter};
- c.{self::Class::instanceLateFinalFieldAndDuplicateSetter} = c.{self::Class::instanceLateFinalFieldAndDuplicateSetter};
+ c.{self::Class::instanceFieldAndSetter} = c.{self::Class::instanceFieldAndSetter}{core::int?};
+ c.{self::Class::instanceFieldAndDuplicateSetter} = c.{self::Class::instanceFieldAndDuplicateSetter}{core::int?};
+ c.{self::Class::instanceLateFinalFieldAndSetter} = c.{self::Class::instanceLateFinalFieldAndSetter}{core::int?};
+ c.{self::Class::instanceLateFinalFieldAndDuplicateSetter} = c.{self::Class::instanceLateFinalFieldAndDuplicateSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:188:5: Error: The setter 'duplicateInstanceFieldAndStaticSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/field_vs_setter.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'duplicateInstanceFieldAndStaticSetter1'.
@@ -1195,11 +1195,11 @@
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:209:9: Error: Setter not found: 'instanceFieldAndStaticSetter'.
Class.instanceFieldAndStaticSetter = c.instanceFieldAndStaticSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
- c.{self::Class::instanceFieldAndStaticSetter} = c.{self::Class::instanceFieldAndStaticSetter};
+ c.{self::Class::instanceFieldAndStaticSetter} = c.{self::Class::instanceFieldAndStaticSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:212:47: Error: Can't assign to this.
Class.instanceFieldAndStaticDuplicateSetter =
^";
- c.{self::Class::instanceFieldAndStaticDuplicateSetter} = c.{self::Class::instanceFieldAndStaticDuplicateSetter};
+ c.{self::Class::instanceFieldAndStaticDuplicateSetter} = c.{self::Class::instanceFieldAndStaticDuplicateSetter}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/field_vs_setter.dart:217:5: Error: The setter 'duplicateStaticFieldAndInstanceSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/field_vs_setter.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'duplicateStaticFieldAndInstanceSetter1'.
diff --git a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.expect b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.expect
index f39bdfbd..73b1e1c 100644
--- a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.expect
@@ -8,11 +8,11 @@
final self::TestMixin::R% response = await fetch;
self::TestMixin::T% result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
- result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
+ result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
}
else
if(response is{ForNonNullableByDefault} self::PagingResponse<dynamic>) {
- result = response{self::TestMixin::R% & self::PagingResponse<dynamic> /* '%' & '!' = '!' */}.{self::PagingResponse::data}.{self::PagingResponseData::data} as{ForNonNullableByDefault} self::TestMixin::T%;
+ result = response{self::TestMixin::R% & self::PagingResponse<dynamic> /* '%' & '!' = '!' */}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>}.{self::PagingResponseData::data}{core::List<dynamic>} as{ForNonNullableByDefault} self::TestMixin::T%;
}
else
if(response is{ForNonNullableByDefault} self::TestMixin::T%) {
@@ -55,7 +55,7 @@
;
method _test() → dynamic {
final self::Response<core::String> response = new self::Response::•<core::String>("test");
- this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String>>(response));
+ this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String>>(response)){(asy::Future<self::Response<core::String>>) → asy::Future<core::String>};
}
}
abstract class _Class2&Object&TestMixin = core::Object with self::TestMixin<self::PagingResponse<core::String>, core::String> /*isAnonymousMixin,hasConstConstructor*/ {
@@ -71,7 +71,7 @@
;
method _test() → dynamic {
final self::PagingResponse<core::String> response = new self::PagingResponse::•<core::String>(new self::PagingResponseData::•<core::String>(<core::String>["test"]));
- this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String>>(response));
+ this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String>>(response)){(asy::Future<self::PagingResponse<core::String>>) → asy::Future<core::String>};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.transformed.expect
index 76b3473..51a1889 100644
--- a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.strong.transformed.expect
@@ -22,11 +22,11 @@
final self::TestMixin::R% response = _in::unsafeCast<self::TestMixin::R%>(:result);
self::TestMixin::T% result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
- result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
+ result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
}
else
if(response is{ForNonNullableByDefault} self::PagingResponse<dynamic>) {
- result = response{self::TestMixin::R% & self::PagingResponse<dynamic> /* '%' & '!' = '!' */}.{self::PagingResponse::data}.{self::PagingResponseData::data} as{ForNonNullableByDefault} self::TestMixin::T%;
+ result = response{self::TestMixin::R% & self::PagingResponse<dynamic> /* '%' & '!' = '!' */}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>}.{self::PagingResponseData::data}{core::List<dynamic>} as{ForNonNullableByDefault} self::TestMixin::T%;
}
else
if(response is{ForNonNullableByDefault} self::TestMixin::T%) {
@@ -90,11 +90,11 @@
final self::Response<core::String> response = _in::unsafeCast<self::Response<core::String>>(:result);
core::String result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
- result = response{self::Response<core::String>}.{self::Response::data};
+ result = response{self::Response<core::String>}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
}
else
if(response is{ForNonNullableByDefault} self::PagingResponse<dynamic>) {
- result = response{self::Response<core::String>}.{self::PagingResponse::data}.{self::PagingResponseData::data} as{ForNonNullableByDefault} core::String;
+ result = response{self::Response<core::String>}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>}.{self::PagingResponseData::data}{core::List<dynamic>} as{ForNonNullableByDefault} core::String;
}
else
if(response is{ForNonNullableByDefault} core::String) {
@@ -125,7 +125,7 @@
;
method _test() → dynamic {
final self::Response<core::String> response = new self::Response::•<core::String>("test");
- this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String>>(response));
+ this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String>>(response)){(asy::Future<self::Response<core::String>>) → asy::Future<core::String>};
}
}
abstract class _Class2&Object&TestMixin extends core::Object implements self::TestMixin<self::PagingResponse<core::String>, core::String> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
@@ -149,11 +149,11 @@
final self::PagingResponse<core::String> response = _in::unsafeCast<self::PagingResponse<core::String>>(:result);
core::String result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
- result = response{self::PagingResponse<core::String>}.{self::Response::data} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
+ result = response{self::PagingResponse<core::String>}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
}
else
if(response is{ForNonNullableByDefault} self::PagingResponse<dynamic>) {
- result = response{self::PagingResponse<core::String>}.{self::PagingResponse::data}.{self::PagingResponseData::data} as{ForNonNullableByDefault} core::String;
+ result = response{self::PagingResponse<core::String>}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>}.{self::PagingResponseData::data}{core::List<dynamic>} as{ForNonNullableByDefault} core::String;
}
else
if(response is{ForNonNullableByDefault} core::String) {
@@ -184,7 +184,7 @@
;
method _test() → dynamic {
final self::PagingResponse<core::String> response = new self::PagingResponse::•<core::String>(new self::PagingResponseData::•<core::String>(core::_GrowableList::_literal1<core::String>("test")));
- this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String>>(response));
+ this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String>>(response)){(asy::Future<self::PagingResponse<core::String>>) → asy::Future<core::String>};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.expect b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.expect
index f39bdfbd..73b1e1c 100644
--- a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.expect
@@ -8,11 +8,11 @@
final self::TestMixin::R% response = await fetch;
self::TestMixin::T% result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
- result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
+ result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
}
else
if(response is{ForNonNullableByDefault} self::PagingResponse<dynamic>) {
- result = response{self::TestMixin::R% & self::PagingResponse<dynamic> /* '%' & '!' = '!' */}.{self::PagingResponse::data}.{self::PagingResponseData::data} as{ForNonNullableByDefault} self::TestMixin::T%;
+ result = response{self::TestMixin::R% & self::PagingResponse<dynamic> /* '%' & '!' = '!' */}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>}.{self::PagingResponseData::data}{core::List<dynamic>} as{ForNonNullableByDefault} self::TestMixin::T%;
}
else
if(response is{ForNonNullableByDefault} self::TestMixin::T%) {
@@ -55,7 +55,7 @@
;
method _test() → dynamic {
final self::Response<core::String> response = new self::Response::•<core::String>("test");
- this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String>>(response));
+ this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String>>(response)){(asy::Future<self::Response<core::String>>) → asy::Future<core::String>};
}
}
abstract class _Class2&Object&TestMixin = core::Object with self::TestMixin<self::PagingResponse<core::String>, core::String> /*isAnonymousMixin,hasConstConstructor*/ {
@@ -71,7 +71,7 @@
;
method _test() → dynamic {
final self::PagingResponse<core::String> response = new self::PagingResponse::•<core::String>(new self::PagingResponseData::•<core::String>(<core::String>["test"]));
- this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String>>(response));
+ this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String>>(response)){(asy::Future<self::PagingResponse<core::String>>) → asy::Future<core::String>};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.transformed.expect
index 76b3473..51a1889 100644
--- a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.transformed.expect
@@ -22,11 +22,11 @@
final self::TestMixin::R% response = _in::unsafeCast<self::TestMixin::R%>(:result);
self::TestMixin::T% result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
- result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
+ result = response{self::TestMixin::R% & self::Response<dynamic> /* '%' & '!' = '!' */}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::TestMixin::T%;
}
else
if(response is{ForNonNullableByDefault} self::PagingResponse<dynamic>) {
- result = response{self::TestMixin::R% & self::PagingResponse<dynamic> /* '%' & '!' = '!' */}.{self::PagingResponse::data}.{self::PagingResponseData::data} as{ForNonNullableByDefault} self::TestMixin::T%;
+ result = response{self::TestMixin::R% & self::PagingResponse<dynamic> /* '%' & '!' = '!' */}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>}.{self::PagingResponseData::data}{core::List<dynamic>} as{ForNonNullableByDefault} self::TestMixin::T%;
}
else
if(response is{ForNonNullableByDefault} self::TestMixin::T%) {
@@ -90,11 +90,11 @@
final self::Response<core::String> response = _in::unsafeCast<self::Response<core::String>>(:result);
core::String result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
- result = response{self::Response<core::String>}.{self::Response::data};
+ result = response{self::Response<core::String>}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
}
else
if(response is{ForNonNullableByDefault} self::PagingResponse<dynamic>) {
- result = response{self::Response<core::String>}.{self::PagingResponse::data}.{self::PagingResponseData::data} as{ForNonNullableByDefault} core::String;
+ result = response{self::Response<core::String>}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>}.{self::PagingResponseData::data}{core::List<dynamic>} as{ForNonNullableByDefault} core::String;
}
else
if(response is{ForNonNullableByDefault} core::String) {
@@ -125,7 +125,7 @@
;
method _test() → dynamic {
final self::Response<core::String> response = new self::Response::•<core::String>("test");
- this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String>>(response));
+ this.{self::_Class1&Object&TestMixin::test}(asy::Future::value<self::Response<core::String>>(response)){(asy::Future<self::Response<core::String>>) → asy::Future<core::String>};
}
}
abstract class _Class2&Object&TestMixin extends core::Object implements self::TestMixin<self::PagingResponse<core::String>, core::String> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
@@ -149,11 +149,11 @@
final self::PagingResponse<core::String> response = _in::unsafeCast<self::PagingResponse<core::String>>(:result);
core::String result;
if(response is{ForNonNullableByDefault} self::Response<dynamic>) {
- result = response{self::PagingResponse<core::String>}.{self::Response::data} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
+ result = response{self::PagingResponse<core::String>}.{self::Response::data}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::String;
}
else
if(response is{ForNonNullableByDefault} self::PagingResponse<dynamic>) {
- result = response{self::PagingResponse<core::String>}.{self::PagingResponse::data}.{self::PagingResponseData::data} as{ForNonNullableByDefault} core::String;
+ result = response{self::PagingResponse<core::String>}.{self::PagingResponse::data}{self::PagingResponseData<dynamic>}.{self::PagingResponseData::data}{core::List<dynamic>} as{ForNonNullableByDefault} core::String;
}
else
if(response is{ForNonNullableByDefault} core::String) {
@@ -184,7 +184,7 @@
;
method _test() → dynamic {
final self::PagingResponse<core::String> response = new self::PagingResponse::•<core::String>(new self::PagingResponseData::•<core::String>(core::_GrowableList::_literal1<core::String>("test")));
- this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String>>(response));
+ this.{self::_Class2&Object&TestMixin::test}(asy::Future::value<self::PagingResponse<core::String>>(response)){(asy::Future<self::PagingResponse<core::String>>) → asy::Future<core::String>};
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/forin.dart.strong.expect b/pkg/front_end/testcases/nnbd/forin.dart.strong.expect
index d8c55ad..a1bd97a 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.strong.expect
@@ -63,7 +63,7 @@
- 'Iterable' is from 'dart:core'.
[for (int x in i2) x];
^" in i2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t2.{core::List::add}{Invariant}(x);
+ #t2.{core::List::add}(x){(core::int) → void};
} =>#t2;
for (core::int x in let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:12:17: Error: The type 'List<int>?' used in the 'for' loop must implement 'Iterable<dynamic>' because 'List<int>?' is nullable and 'Iterable<dynamic>' isn't.
- 'List' is from 'dart:core'.
@@ -78,7 +78,7 @@
- 'Iterable' is from 'dart:core'.
[for (int x in l2) x];
^" in l2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t5.{core::List::add}{Invariant}(x);
+ #t5.{core::List::add}(x){(core::int) → void};
} =>#t5;
for (final dynamic #t7 in let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:15:17: Error: The type 'Object' used in the 'for' loop must implement 'Iterable<dynamic>'.
- 'Object' is from 'dart:core'.
@@ -96,7 +96,7 @@
[for (int x in o1) x];
^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t10 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t9.{core::List::add}{Invariant}(x);
+ #t9.{core::List::add}(x){(core::int) → void};
}
} =>#t9;
for (final dynamic #t12 in let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:18:17: Error: The type 'Object?' used in the 'for' loop must implement 'Iterable<dynamic>'.
@@ -115,7 +115,7 @@
[for (int x in o2) x];
^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t15 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t14.{core::List::add}{Invariant}(x);
+ #t14.{core::List::add}(x){(core::int) → void};
}
} =>#t14;
}
@@ -125,14 +125,14 @@
block {
final core::List<core::int> #t17 = <core::int>[];
for (core::int x in i1)
- #t17.{core::List::add}{Invariant}(x);
+ #t17.{core::List::add}(x){(core::int) → void};
} =>#t17;
for (core::int x in l1)
x;
block {
final core::List<core::int> #t18 = <core::int>[];
for (core::int x in l1)
- #t18.{core::List::add}{Invariant}(x);
+ #t18.{core::List::add}(x){(core::int) → void};
} =>#t18;
for (final dynamic #t19 in d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t19 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
@@ -142,7 +142,7 @@
final core::List<core::int> #t20 = <core::int>[];
for (final dynamic #t21 in d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t21 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t20.{core::List::add}{Invariant}(x);
+ #t20.{core::List::add}(x){(core::int) → void};
}
} =>#t20;
}
diff --git a/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect
index 8fdee86..06dc1da 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect
@@ -71,7 +71,7 @@
^" in let core::Iterable<core::int>? #t5 = i2 in #t5.==(null) ?{core::Iterable<dynamic>} #t5 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t5{core::Iterable<dynamic>}).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::List::add}{Invariant}(x);
+ #t3.{core::List::add}(x){(core::int) → void};
}
}
} =>#t3;
@@ -96,7 +96,7 @@
^" in let core::List<core::int>? #t10 = l2 in #t10.==(null) ?{core::Iterable<dynamic>} #t10 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t10{core::Iterable<dynamic>}).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t8.{core::List::add}{Invariant}(x);
+ #t8.{core::List::add}(x){(core::int) → void};
}
}
} =>#t8;
@@ -126,7 +126,7 @@
final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t15 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t13.{core::List::add}{Invariant}(x);
+ #t13.{core::List::add}(x){(core::int) → void};
}
}
}
@@ -157,7 +157,7 @@
final dynamic #t20 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t20 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t18.{core::List::add}{Invariant}(x);
+ #t18.{core::List::add}(x){(core::int) → void};
}
}
}
@@ -177,7 +177,7 @@
core::Iterator<core::int> :sync-for-iterator = i1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t21.{core::List::add}{Invariant}(x);
+ #t21.{core::List::add}(x){(core::int) → void};
}
}
} =>#t21;
@@ -194,7 +194,7 @@
core::Iterator<core::int> :sync-for-iterator = l1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::List::add}{Invariant}(x);
+ #t22.{core::List::add}(x){(core::int) → void};
}
}
} =>#t22;
@@ -216,7 +216,7 @@
final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t25 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t24.{core::List::add}{Invariant}(x);
+ #t24.{core::List::add}(x){(core::int) → void};
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/forin.dart.weak.expect b/pkg/front_end/testcases/nnbd/forin.dart.weak.expect
index d8c55ad..a1bd97a 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.weak.expect
@@ -63,7 +63,7 @@
- 'Iterable' is from 'dart:core'.
[for (int x in i2) x];
^" in i2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t2.{core::List::add}{Invariant}(x);
+ #t2.{core::List::add}(x){(core::int) → void};
} =>#t2;
for (core::int x in let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:12:17: Error: The type 'List<int>?' used in the 'for' loop must implement 'Iterable<dynamic>' because 'List<int>?' is nullable and 'Iterable<dynamic>' isn't.
- 'List' is from 'dart:core'.
@@ -78,7 +78,7 @@
- 'Iterable' is from 'dart:core'.
[for (int x in l2) x];
^" in l2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
- #t5.{core::List::add}{Invariant}(x);
+ #t5.{core::List::add}(x){(core::int) → void};
} =>#t5;
for (final dynamic #t7 in let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:15:17: Error: The type 'Object' used in the 'for' loop must implement 'Iterable<dynamic>'.
- 'Object' is from 'dart:core'.
@@ -96,7 +96,7 @@
[for (int x in o1) x];
^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t10 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t9.{core::List::add}{Invariant}(x);
+ #t9.{core::List::add}(x){(core::int) → void};
}
} =>#t9;
for (final dynamic #t12 in let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:18:17: Error: The type 'Object?' used in the 'for' loop must implement 'Iterable<dynamic>'.
@@ -115,7 +115,7 @@
[for (int x in o2) x];
^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t15 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t14.{core::List::add}{Invariant}(x);
+ #t14.{core::List::add}(x){(core::int) → void};
}
} =>#t14;
}
@@ -125,14 +125,14 @@
block {
final core::List<core::int> #t17 = <core::int>[];
for (core::int x in i1)
- #t17.{core::List::add}{Invariant}(x);
+ #t17.{core::List::add}(x){(core::int) → void};
} =>#t17;
for (core::int x in l1)
x;
block {
final core::List<core::int> #t18 = <core::int>[];
for (core::int x in l1)
- #t18.{core::List::add}{Invariant}(x);
+ #t18.{core::List::add}(x){(core::int) → void};
} =>#t18;
for (final dynamic #t19 in d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t19 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
@@ -142,7 +142,7 @@
final core::List<core::int> #t20 = <core::int>[];
for (final dynamic #t21 in d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
core::int x = #t21 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t20.{core::List::add}{Invariant}(x);
+ #t20.{core::List::add}(x){(core::int) → void};
}
} =>#t20;
}
diff --git a/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect
index ed9bb5e..1d91444 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect
@@ -71,7 +71,7 @@
^" in i2).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t2.{core::List::add}{Invariant}(x);
+ #t2.{core::List::add}(x){(core::int) → void};
}
}
} =>#t2;
@@ -96,7 +96,7 @@
^" in l2).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::List::add}{Invariant}(x);
+ #t5.{core::List::add}(x){(core::int) → void};
}
}
} =>#t5;
@@ -126,7 +126,7 @@
final dynamic #t11 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t11 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t9.{core::List::add}{Invariant}(x);
+ #t9.{core::List::add}(x){(core::int) → void};
}
}
}
@@ -157,7 +157,7 @@
final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t16 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t14.{core::List::add}{Invariant}(x);
+ #t14.{core::List::add}(x){(core::int) → void};
}
}
}
@@ -177,7 +177,7 @@
core::Iterator<core::int> :sync-for-iterator = i1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t17.{core::List::add}{Invariant}(x);
+ #t17.{core::List::add}(x){(core::int) → void};
}
}
} =>#t17;
@@ -194,7 +194,7 @@
core::Iterator<core::int> :sync-for-iterator = l1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int x = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::List::add}{Invariant}(x);
+ #t18.{core::List::add}(x){(core::int) → void};
}
}
} =>#t18;
@@ -216,7 +216,7 @@
final dynamic #t21 = :sync-for-iterator.{core::Iterator::current};
{
core::int x = #t21 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- #t20.{core::List::add}{Invariant}(x);
+ #t20.{core::List::add}(x){(core::int) → void};
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/infer_if_null.dart.strong.expect b/pkg/front_end/testcases/nnbd/infer_if_null.dart.strong.expect
index 65650a7..fe4267a 100644
--- a/pkg/front_end/testcases/nnbd/infer_if_null.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/infer_if_null.dart.strong.expect
@@ -21,7 +21,7 @@
: super self::A5::•()
;
method test5() → dynamic {
- core::String s = let final core::int #t1 = 0 in let final core::String? #t2 = super.{self::A5::[]}(#t1) in #t2.{core::String::==}(null) ?{core::String} let final core::String #t3 = "bar" in let final void #t4 = super.{self::A5::[]=}(#t1, #t3) in #t3 : #t2{core::String};
+ core::String s = let final core::int #t1 = 0 in let final core::String? #t2 = super.{self::A5::[]}(#t1) in #t2 == null ?{core::String} let final core::String #t3 = "bar" in let final void #t4 = super.{self::A5::[]=}(#t1, #t3) in #t3 : #t2{core::String};
}
}
class A7 extends core::Object {
@@ -42,28 +42,28 @@
return null;
function bar() → core::String
return "bar";
- core::String s = let final core::String? #t5 = foo.call() in #t5.{core::String::==}(null) ?{core::String} bar.call() : #t5{core::String};
- core::String s2 = let final core::String? #t6 = self::hest1<core::String?>() in #t6.{core::String::==}(null) ?{core::String} "fisk" : #t6{core::String};
+ core::String s = let final core::String? #t5 = foo(){() → core::String?} in #t5 == null ?{core::String} bar(){() → core::String} : #t5{core::String};
+ core::String s2 = let final core::String? #t6 = self::hest1<core::String?>() in #t6 == null ?{core::String} "fisk" : #t6{core::String};
}
static method test2(self::A2 a) → dynamic {
- core::String s = let final self::A2 #t7 = a in let final core::String? #t8 = #t7.{self::A2::foo} in #t8.{core::String::==}(null) ?{core::String} #t7.{self::A2::foo} = "bar" : #t8{core::String};
+ core::String s = let final self::A2 #t7 = a in let final core::String? #t8 = #t7.{self::A2::foo}{core::String?} in #t8 == null ?{core::String} #t7.{self::A2::foo} = "bar" : #t8{core::String};
}
static method test3() → dynamic {
core::String? s = null;
- core::String s2 = let final core::String? #t9 = s in #t9.{core::String::==}(null) ?{core::String} s = "bar" : #t9{core::String};
+ core::String s2 = let final core::String? #t9 = s in #t9 == null ?{core::String} s = "bar" : #t9{core::String};
}
static method test4() → dynamic {
core::List<core::String?> list = <core::String?>[null];
- core::String s = let final core::List<core::String?> #t10 = list in let final core::int #t11 = 0 in let final core::String? #t12 = #t10.{core::List::[]}(#t11) in #t12.{core::String::==}(null) ?{core::String} let final core::String #t13 = "bar" in let final void #t14 = #t10.{core::List::[]=}(#t11, #t13) in #t13 : #t12{core::String};
+ core::String s = let final core::List<core::String?> #t10 = list in let final core::int #t11 = 0 in let final core::String? #t12 = #t10.{core::List::[]}(#t11){(core::int) → core::String?} in #t12 == null ?{core::String} let final core::String #t13 = "bar" in let final void #t14 = #t10.{core::List::[]=}(#t11, #t13){(core::int, core::String?) → void} in #t13 : #t12{core::String};
}
static method E6|[]=(lowered final core::double #this, core::int index, core::String? value) → void {}
static method E6|[](lowered final core::double #this, core::int index) → core::String?
return null;
static method test6() → dynamic {
- core::String s = let final core::double #t15 = 3.14 in let final core::int #t16 = 0 in let final core::String? #t17 = self::E6|[](#t15, #t16) in #t17.{core::String::==}(null) ?{core::String} let final core::String #t18 = "bar" in let final void #t19 = self::E6|[]=(#t15, #t16, #t18) in #t18 : #t17{core::String};
+ core::String s = let final core::double #t15 = 3.14 in let final core::int #t16 = 0 in let final core::String? #t17 = self::E6|[](#t15, #t16) in #t17 == null ?{core::String} let final core::String #t18 = "bar" in let final void #t19 = self::E6|[]=(#t15, #t16, #t18) in #t18 : #t17{core::String};
}
static method test7(self::A7? a) → dynamic {
- core::String? s = let final self::A7? #t20 = a in #t20.{core::Object::==}(null) ?{core::String?} null : let final core::String #t21 = #t20.{self::A7::foo} in #t21.{core::String::==}(null) ?{core::String} #t20.{self::A7::foo} = "bar" : #t21;
- core::String? s2 = let final self::A7? #t22 = a in #t22.{core::Object::==}(null) ?{core::String?} null : let final core::String? #t23 = #t22.{self::A7::bar} in #t23.{core::String::==}(null) ?{core::String} #t22.{self::A7::bar} = "bar" : #t23{core::String};
+ core::String? s = let final self::A7? #t20 = a in #t20 == null ?{core::String?} null : let final core::String #t21 = #t20.{self::A7::foo}{core::String} in #t21 == null ?{core::String} #t20.{self::A7::foo} = "bar" : #t21;
+ core::String? s2 = let final self::A7? #t22 = a in #t22 == null ?{core::String?} null : let final core::String? #t23 = #t22.{self::A7::bar}{core::String?} in #t23 == null ?{core::String} #t22.{self::A7::bar} = "bar" : #t23{core::String};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/infer_if_null.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/infer_if_null.dart.strong.transformed.expect
index 91b9c97..bdfc626 100644
--- a/pkg/front_end/testcases/nnbd/infer_if_null.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/infer_if_null.dart.strong.transformed.expect
@@ -21,7 +21,7 @@
: super self::A5::•()
;
method test5() → dynamic {
- core::String s = let final core::int #t1 = 0 in let final core::String? #t2 = super.{self::A5::[]}(#t1) in #t2.{core::String::==}(null) ?{core::String} let final core::String #t3 = "bar" in let final void #t4 = super.{self::A5::[]=}(#t1, #t3) in #t3 : #t2{core::String};
+ core::String s = let final core::int #t1 = 0 in let final core::String? #t2 = super.{self::A5::[]}(#t1) in #t2 == null ?{core::String} let final core::String #t3 = "bar" in let final void #t4 = super.{self::A5::[]=}(#t1, #t3) in #t3 : #t2{core::String};
}
}
class A7 extends core::Object {
@@ -42,29 +42,29 @@
return null;
function bar() → core::String
return "bar";
- core::String s = let final core::String? #t5 = foo.call() in #t5.{core::String::==}(null) ?{core::String} bar.call() : #t5{core::String};
- core::String s2 = let final core::String? #t6 = self::hest1<core::String?>() in #t6.{core::String::==}(null) ?{core::String} "fisk" : #t6{core::String};
+ core::String s = let final core::String? #t5 = foo(){() → core::String?} in #t5 == null ?{core::String} bar(){() → core::String} : #t5{core::String};
+ core::String s2 = let final core::String? #t6 = self::hest1<core::String?>() in #t6 == null ?{core::String} "fisk" : #t6{core::String};
}
static method test2(self::A2 a) → dynamic {
- core::String s = let final self::A2 #t7 = a in let final core::String? #t8 = #t7.{self::A2::foo} in #t8.{core::String::==}(null) ?{core::String} #t7.{self::A2::foo} = "bar" : #t8{core::String};
+ core::String s = let final self::A2 #t7 = a in let final core::String? #t8 = #t7.{self::A2::foo}{core::String?} in #t8 == null ?{core::String} #t7.{self::A2::foo} = "bar" : #t8{core::String};
}
static method test3() → dynamic {
core::String? s = null;
- core::String s2 = let final core::String? #t9 = s in #t9.{core::String::==}(null) ?{core::String} s = "bar" : #t9{core::String};
+ core::String s2 = let final core::String? #t9 = s in #t9 == null ?{core::String} s = "bar" : #t9{core::String};
}
static method test4() → dynamic {
core::List<core::String?> list = core::_GrowableList::_literal1<core::String?>(null);
- core::String s = let final core::List<core::String?> #t10 = list in let final core::int #t11 = 0 in let final core::String? #t12 = #t10.{core::List::[]}(#t11) in #t12.{core::String::==}(null) ?{core::String} let final core::String #t13 = "bar" in let final void #t14 = #t10.{core::List::[]=}(#t11, #t13) in #t13 : #t12{core::String};
+ core::String s = let final core::List<core::String?> #t10 = list in let final core::int #t11 = 0 in let final core::String? #t12 = #t10.{core::List::[]}(#t11){(core::int) → core::String?} in #t12 == null ?{core::String} let final core::String #t13 = "bar" in let final void #t14 = #t10.{core::List::[]=}(#t11, #t13){(core::int, core::String?) → void} in #t13 : #t12{core::String};
}
static method E6|[]=(lowered final core::double #this, core::int index, core::String? value) → void {}
static method E6|[](lowered final core::double #this, core::int index) → core::String?
return null;
static method test6() → dynamic {
- core::String s = let final core::double #t15 = 3.14 in let final core::int #t16 = 0 in let final core::String? #t17 = self::E6|[](#t15, #t16) in #t17.{core::String::==}(null) ?{core::String} let final core::String #t18 = "bar" in let final void #t19 = self::E6|[]=(#t15, #t16, #t18) in #t18 : #t17{core::String};
+ core::String s = let final core::double #t15 = 3.14 in let final core::int #t16 = 0 in let final core::String? #t17 = self::E6|[](#t15, #t16) in #t17 == null ?{core::String} let final core::String #t18 = "bar" in let final void #t19 = self::E6|[]=(#t15, #t16, #t18) in #t18 : #t17{core::String};
}
static method test7(self::A7? a) → dynamic {
- core::String? s = let final self::A7? #t20 = a in #t20.{core::Object::==}(null) ?{core::String?} null : let final core::String #t21 = #t20.{self::A7::foo} in #t21.{core::String::==}(null) ?{core::String} #t20.{self::A7::foo} = "bar" : #t21;
- core::String? s2 = let final self::A7? #t22 = a in #t22.{core::Object::==}(null) ?{core::String?} null : let final core::String? #t23 = #t22.{self::A7::bar} in #t23.{core::String::==}(null) ?{core::String} #t22.{self::A7::bar} = "bar" : #t23{core::String};
+ core::String? s = let final self::A7? #t20 = a in #t20 == null ?{core::String?} null : let final core::String #t21 = #t20.{self::A7::foo}{core::String} in #t21 == null ?{core::String} #t20.{self::A7::foo} = "bar" : #t21;
+ core::String? s2 = let final self::A7? #t22 = a in #t22 == null ?{core::String?} null : let final core::String? #t23 = #t22.{self::A7::bar}{core::String?} in #t23 == null ?{core::String} #t22.{self::A7::bar} = "bar" : #t23{core::String};
}
static method main() → dynamic {}
@@ -84,4 +84,4 @@
Evaluated: VariableGet @ org-dartlang-testcase:///infer_if_null.dart:60:21 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///infer_if_null.dart:60:28 -> StringConstant("bar")
Evaluated: VariableGet @ org-dartlang-testcase:///infer_if_null.dart:60:28 -> StringConstant("bar")
-Extra constant evaluation: evaluated: 112, effectively constant: 14
+Extra constant evaluation: evaluated: 110, effectively constant: 14
diff --git a/pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.expect b/pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.expect
index 65650a7..fe4267a 100644
--- a/pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.expect
@@ -21,7 +21,7 @@
: super self::A5::•()
;
method test5() → dynamic {
- core::String s = let final core::int #t1 = 0 in let final core::String? #t2 = super.{self::A5::[]}(#t1) in #t2.{core::String::==}(null) ?{core::String} let final core::String #t3 = "bar" in let final void #t4 = super.{self::A5::[]=}(#t1, #t3) in #t3 : #t2{core::String};
+ core::String s = let final core::int #t1 = 0 in let final core::String? #t2 = super.{self::A5::[]}(#t1) in #t2 == null ?{core::String} let final core::String #t3 = "bar" in let final void #t4 = super.{self::A5::[]=}(#t1, #t3) in #t3 : #t2{core::String};
}
}
class A7 extends core::Object {
@@ -42,28 +42,28 @@
return null;
function bar() → core::String
return "bar";
- core::String s = let final core::String? #t5 = foo.call() in #t5.{core::String::==}(null) ?{core::String} bar.call() : #t5{core::String};
- core::String s2 = let final core::String? #t6 = self::hest1<core::String?>() in #t6.{core::String::==}(null) ?{core::String} "fisk" : #t6{core::String};
+ core::String s = let final core::String? #t5 = foo(){() → core::String?} in #t5 == null ?{core::String} bar(){() → core::String} : #t5{core::String};
+ core::String s2 = let final core::String? #t6 = self::hest1<core::String?>() in #t6 == null ?{core::String} "fisk" : #t6{core::String};
}
static method test2(self::A2 a) → dynamic {
- core::String s = let final self::A2 #t7 = a in let final core::String? #t8 = #t7.{self::A2::foo} in #t8.{core::String::==}(null) ?{core::String} #t7.{self::A2::foo} = "bar" : #t8{core::String};
+ core::String s = let final self::A2 #t7 = a in let final core::String? #t8 = #t7.{self::A2::foo}{core::String?} in #t8 == null ?{core::String} #t7.{self::A2::foo} = "bar" : #t8{core::String};
}
static method test3() → dynamic {
core::String? s = null;
- core::String s2 = let final core::String? #t9 = s in #t9.{core::String::==}(null) ?{core::String} s = "bar" : #t9{core::String};
+ core::String s2 = let final core::String? #t9 = s in #t9 == null ?{core::String} s = "bar" : #t9{core::String};
}
static method test4() → dynamic {
core::List<core::String?> list = <core::String?>[null];
- core::String s = let final core::List<core::String?> #t10 = list in let final core::int #t11 = 0 in let final core::String? #t12 = #t10.{core::List::[]}(#t11) in #t12.{core::String::==}(null) ?{core::String} let final core::String #t13 = "bar" in let final void #t14 = #t10.{core::List::[]=}(#t11, #t13) in #t13 : #t12{core::String};
+ core::String s = let final core::List<core::String?> #t10 = list in let final core::int #t11 = 0 in let final core::String? #t12 = #t10.{core::List::[]}(#t11){(core::int) → core::String?} in #t12 == null ?{core::String} let final core::String #t13 = "bar" in let final void #t14 = #t10.{core::List::[]=}(#t11, #t13){(core::int, core::String?) → void} in #t13 : #t12{core::String};
}
static method E6|[]=(lowered final core::double #this, core::int index, core::String? value) → void {}
static method E6|[](lowered final core::double #this, core::int index) → core::String?
return null;
static method test6() → dynamic {
- core::String s = let final core::double #t15 = 3.14 in let final core::int #t16 = 0 in let final core::String? #t17 = self::E6|[](#t15, #t16) in #t17.{core::String::==}(null) ?{core::String} let final core::String #t18 = "bar" in let final void #t19 = self::E6|[]=(#t15, #t16, #t18) in #t18 : #t17{core::String};
+ core::String s = let final core::double #t15 = 3.14 in let final core::int #t16 = 0 in let final core::String? #t17 = self::E6|[](#t15, #t16) in #t17 == null ?{core::String} let final core::String #t18 = "bar" in let final void #t19 = self::E6|[]=(#t15, #t16, #t18) in #t18 : #t17{core::String};
}
static method test7(self::A7? a) → dynamic {
- core::String? s = let final self::A7? #t20 = a in #t20.{core::Object::==}(null) ?{core::String?} null : let final core::String #t21 = #t20.{self::A7::foo} in #t21.{core::String::==}(null) ?{core::String} #t20.{self::A7::foo} = "bar" : #t21;
- core::String? s2 = let final self::A7? #t22 = a in #t22.{core::Object::==}(null) ?{core::String?} null : let final core::String? #t23 = #t22.{self::A7::bar} in #t23.{core::String::==}(null) ?{core::String} #t22.{self::A7::bar} = "bar" : #t23{core::String};
+ core::String? s = let final self::A7? #t20 = a in #t20 == null ?{core::String?} null : let final core::String #t21 = #t20.{self::A7::foo}{core::String} in #t21 == null ?{core::String} #t20.{self::A7::foo} = "bar" : #t21;
+ core::String? s2 = let final self::A7? #t22 = a in #t22 == null ?{core::String?} null : let final core::String? #t23 = #t22.{self::A7::bar}{core::String?} in #t23 == null ?{core::String} #t22.{self::A7::bar} = "bar" : #t23{core::String};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.transformed.expect
index 91b9c97..bdfc626 100644
--- a/pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.transformed.expect
@@ -21,7 +21,7 @@
: super self::A5::•()
;
method test5() → dynamic {
- core::String s = let final core::int #t1 = 0 in let final core::String? #t2 = super.{self::A5::[]}(#t1) in #t2.{core::String::==}(null) ?{core::String} let final core::String #t3 = "bar" in let final void #t4 = super.{self::A5::[]=}(#t1, #t3) in #t3 : #t2{core::String};
+ core::String s = let final core::int #t1 = 0 in let final core::String? #t2 = super.{self::A5::[]}(#t1) in #t2 == null ?{core::String} let final core::String #t3 = "bar" in let final void #t4 = super.{self::A5::[]=}(#t1, #t3) in #t3 : #t2{core::String};
}
}
class A7 extends core::Object {
@@ -42,29 +42,29 @@
return null;
function bar() → core::String
return "bar";
- core::String s = let final core::String? #t5 = foo.call() in #t5.{core::String::==}(null) ?{core::String} bar.call() : #t5{core::String};
- core::String s2 = let final core::String? #t6 = self::hest1<core::String?>() in #t6.{core::String::==}(null) ?{core::String} "fisk" : #t6{core::String};
+ core::String s = let final core::String? #t5 = foo(){() → core::String?} in #t5 == null ?{core::String} bar(){() → core::String} : #t5{core::String};
+ core::String s2 = let final core::String? #t6 = self::hest1<core::String?>() in #t6 == null ?{core::String} "fisk" : #t6{core::String};
}
static method test2(self::A2 a) → dynamic {
- core::String s = let final self::A2 #t7 = a in let final core::String? #t8 = #t7.{self::A2::foo} in #t8.{core::String::==}(null) ?{core::String} #t7.{self::A2::foo} = "bar" : #t8{core::String};
+ core::String s = let final self::A2 #t7 = a in let final core::String? #t8 = #t7.{self::A2::foo}{core::String?} in #t8 == null ?{core::String} #t7.{self::A2::foo} = "bar" : #t8{core::String};
}
static method test3() → dynamic {
core::String? s = null;
- core::String s2 = let final core::String? #t9 = s in #t9.{core::String::==}(null) ?{core::String} s = "bar" : #t9{core::String};
+ core::String s2 = let final core::String? #t9 = s in #t9 == null ?{core::String} s = "bar" : #t9{core::String};
}
static method test4() → dynamic {
core::List<core::String?> list = core::_GrowableList::_literal1<core::String?>(null);
- core::String s = let final core::List<core::String?> #t10 = list in let final core::int #t11 = 0 in let final core::String? #t12 = #t10.{core::List::[]}(#t11) in #t12.{core::String::==}(null) ?{core::String} let final core::String #t13 = "bar" in let final void #t14 = #t10.{core::List::[]=}(#t11, #t13) in #t13 : #t12{core::String};
+ core::String s = let final core::List<core::String?> #t10 = list in let final core::int #t11 = 0 in let final core::String? #t12 = #t10.{core::List::[]}(#t11){(core::int) → core::String?} in #t12 == null ?{core::String} let final core::String #t13 = "bar" in let final void #t14 = #t10.{core::List::[]=}(#t11, #t13){(core::int, core::String?) → void} in #t13 : #t12{core::String};
}
static method E6|[]=(lowered final core::double #this, core::int index, core::String? value) → void {}
static method E6|[](lowered final core::double #this, core::int index) → core::String?
return null;
static method test6() → dynamic {
- core::String s = let final core::double #t15 = 3.14 in let final core::int #t16 = 0 in let final core::String? #t17 = self::E6|[](#t15, #t16) in #t17.{core::String::==}(null) ?{core::String} let final core::String #t18 = "bar" in let final void #t19 = self::E6|[]=(#t15, #t16, #t18) in #t18 : #t17{core::String};
+ core::String s = let final core::double #t15 = 3.14 in let final core::int #t16 = 0 in let final core::String? #t17 = self::E6|[](#t15, #t16) in #t17 == null ?{core::String} let final core::String #t18 = "bar" in let final void #t19 = self::E6|[]=(#t15, #t16, #t18) in #t18 : #t17{core::String};
}
static method test7(self::A7? a) → dynamic {
- core::String? s = let final self::A7? #t20 = a in #t20.{core::Object::==}(null) ?{core::String?} null : let final core::String #t21 = #t20.{self::A7::foo} in #t21.{core::String::==}(null) ?{core::String} #t20.{self::A7::foo} = "bar" : #t21;
- core::String? s2 = let final self::A7? #t22 = a in #t22.{core::Object::==}(null) ?{core::String?} null : let final core::String? #t23 = #t22.{self::A7::bar} in #t23.{core::String::==}(null) ?{core::String} #t22.{self::A7::bar} = "bar" : #t23{core::String};
+ core::String? s = let final self::A7? #t20 = a in #t20 == null ?{core::String?} null : let final core::String #t21 = #t20.{self::A7::foo}{core::String} in #t21 == null ?{core::String} #t20.{self::A7::foo} = "bar" : #t21;
+ core::String? s2 = let final self::A7? #t22 = a in #t22 == null ?{core::String?} null : let final core::String? #t23 = #t22.{self::A7::bar}{core::String?} in #t23 == null ?{core::String} #t22.{self::A7::bar} = "bar" : #t23{core::String};
}
static method main() → dynamic {}
@@ -84,4 +84,4 @@
Evaluated: VariableGet @ org-dartlang-testcase:///infer_if_null.dart:60:21 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///infer_if_null.dart:60:28 -> StringConstant("bar")
Evaluated: VariableGet @ org-dartlang-testcase:///infer_if_null.dart:60:28 -> StringConstant("bar")
-Extra constant evaluation: evaluated: 112, effectively constant: 14
+Extra constant evaluation: evaluated: 110, effectively constant: 14
diff --git a/pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.expect b/pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.expect
index cc7de7a..9920c38 100644
--- a/pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.expect
@@ -600,10 +600,10 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
c.{self::Class::methodAndSetter1} = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/instance_duplicates.dart:92:26: Error: A value of type 'int? Function()' can't be assigned to a variable of type 'int?'.
c.methodAndSetter1 = c.methodAndSetter1;
- ^" in c.{self::Class::methodAndSetter1} as{TypeError,ForNonNullableByDefault} core::int?;
- c.{self::Class::methodAndSetter2} = c.{self::Class::methodAndSetter2};
- c.{self::Class::fieldAndSetter1} = c.{self::Class::fieldAndSetter1};
- c.{self::Class::fieldAndSetter2} = c.{self::Class::fieldAndSetter2};
+ ^" in c.{self::Class::methodAndSetter1}{() → core::int?} as{TypeError,ForNonNullableByDefault} core::int?;
+ c.{self::Class::methodAndSetter2} = c.{self::Class::methodAndSetter2}{(core::int?) → void};
+ c.{self::Class::fieldAndSetter1} = c.{self::Class::fieldAndSetter1}{core::int?};
+ c.{self::Class::fieldAndSetter2} = c.{self::Class::fieldAndSetter2}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/instance_duplicates.dart:96:5: Error: The setter 'fieldAndFinalFieldAndSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/instance_duplicates.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'fieldAndFinalFieldAndSetter1'.
diff --git a/pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.transformed.expect
index ef8c8c1..68ff748 100644
--- a/pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/instance_duplicates.dart.strong.transformed.expect
@@ -600,10 +600,10 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::methodAndSetter1} = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/instance_duplicates.dart:92:26: Error: A value of type 'int? Function()' can't be assigned to a variable of type 'int?'.
c.methodAndSetter1 = c.methodAndSetter1;
- ^" in c.{self::Class::methodAndSetter1} as{TypeError,ForNonNullableByDefault} core::int?;
- c.{self::Class::methodAndSetter2} = c.{self::Class::methodAndSetter2};
- c.{self::Class::fieldAndSetter1} = c.{self::Class::fieldAndSetter1};
- c.{self::Class::fieldAndSetter2} = c.{self::Class::fieldAndSetter2};
+ ^" in c.{self::Class::methodAndSetter1}{() → core::int?} as{TypeError,ForNonNullableByDefault} core::int?;
+ c.{self::Class::methodAndSetter2} = c.{self::Class::methodAndSetter2}{(core::int?) → void};
+ c.{self::Class::fieldAndSetter1} = c.{self::Class::fieldAndSetter1}{core::int?};
+ c.{self::Class::fieldAndSetter2} = c.{self::Class::fieldAndSetter2}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/instance_duplicates.dart:96:5: Error: The setter 'fieldAndFinalFieldAndSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/instance_duplicates.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'fieldAndFinalFieldAndSetter1'.
diff --git a/pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.expect b/pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.expect
index cc7de7a..9920c38 100644
--- a/pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.expect
@@ -600,10 +600,10 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
c.{self::Class::methodAndSetter1} = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/instance_duplicates.dart:92:26: Error: A value of type 'int? Function()' can't be assigned to a variable of type 'int?'.
c.methodAndSetter1 = c.methodAndSetter1;
- ^" in c.{self::Class::methodAndSetter1} as{TypeError,ForNonNullableByDefault} core::int?;
- c.{self::Class::methodAndSetter2} = c.{self::Class::methodAndSetter2};
- c.{self::Class::fieldAndSetter1} = c.{self::Class::fieldAndSetter1};
- c.{self::Class::fieldAndSetter2} = c.{self::Class::fieldAndSetter2};
+ ^" in c.{self::Class::methodAndSetter1}{() → core::int?} as{TypeError,ForNonNullableByDefault} core::int?;
+ c.{self::Class::methodAndSetter2} = c.{self::Class::methodAndSetter2}{(core::int?) → void};
+ c.{self::Class::fieldAndSetter1} = c.{self::Class::fieldAndSetter1}{core::int?};
+ c.{self::Class::fieldAndSetter2} = c.{self::Class::fieldAndSetter2}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/instance_duplicates.dart:96:5: Error: The setter 'fieldAndFinalFieldAndSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/instance_duplicates.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'fieldAndFinalFieldAndSetter1'.
diff --git a/pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.transformed.expect
index ef8c8c1..68ff748 100644
--- a/pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.transformed.expect
@@ -600,10 +600,10 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::methodAndSetter1} = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/instance_duplicates.dart:92:26: Error: A value of type 'int? Function()' can't be assigned to a variable of type 'int?'.
c.methodAndSetter1 = c.methodAndSetter1;
- ^" in c.{self::Class::methodAndSetter1} as{TypeError,ForNonNullableByDefault} core::int?;
- c.{self::Class::methodAndSetter2} = c.{self::Class::methodAndSetter2};
- c.{self::Class::fieldAndSetter1} = c.{self::Class::fieldAndSetter1};
- c.{self::Class::fieldAndSetter2} = c.{self::Class::fieldAndSetter2};
+ ^" in c.{self::Class::methodAndSetter1}{() → core::int?} as{TypeError,ForNonNullableByDefault} core::int?;
+ c.{self::Class::methodAndSetter2} = c.{self::Class::methodAndSetter2}{(core::int?) → void};
+ c.{self::Class::fieldAndSetter1} = c.{self::Class::fieldAndSetter1}{core::int?};
+ c.{self::Class::fieldAndSetter2} = c.{self::Class::fieldAndSetter2}{core::int?};
invalid-expression "pkg/front_end/testcases/nnbd/instance_duplicates.dart:96:5: Error: The setter 'fieldAndFinalFieldAndSetter1' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/instance_duplicates.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'fieldAndFinalFieldAndSetter1'.
diff --git a/pkg/front_end/testcases/nnbd/issue40093.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue40093.dart.strong.expect
index 44e9546..f083d82 100644
--- a/pkg/front_end/testcases/nnbd/issue40093.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue40093.dart.strong.expect
@@ -16,7 +16,7 @@
import "dart:core" as core;
static method error() → dynamic {
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print(i);
}
for (core::int i in <core::int>[]) {
diff --git a/pkg/front_end/testcases/nnbd/issue40093.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue40093.dart.strong.transformed.expect
index c7299a7..b44b839 100644
--- a/pkg/front_end/testcases/nnbd/issue40093.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40093.dart.strong.transformed.expect
@@ -16,7 +16,7 @@
import "dart:core" as core;
static method error() → dynamic {
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print(i);
}
{
diff --git a/pkg/front_end/testcases/nnbd/issue40093.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue40093.dart.weak.expect
index 44e9546..f083d82 100644
--- a/pkg/front_end/testcases/nnbd/issue40093.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue40093.dart.weak.expect
@@ -16,7 +16,7 @@
import "dart:core" as core;
static method error() → dynamic {
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print(i);
}
for (core::int i in <core::int>[]) {
diff --git a/pkg/front_end/testcases/nnbd/issue40093.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue40093.dart.weak.transformed.expect
index c7299a7..b44b839 100644
--- a/pkg/front_end/testcases/nnbd/issue40093.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40093.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
import "dart:core" as core;
static method error() → dynamic {
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print(i);
}
{
diff --git a/pkg/front_end/testcases/nnbd/issue40600.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue40600.dart.strong.expect
index ff89535..bcbb04c 100644
--- a/pkg/front_end/testcases/nnbd/issue40600.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue40600.dart.strong.expect
@@ -18,7 +18,7 @@
;
method foo([generic-covariant-impl FutureOr<self::A::X%>? x = #C1]) → dynamic {
if(x is{ForNonNullableByDefault} asy::Future<self::A::X%>) {
- this.{self::A::b}.{self::B::bar}(x{asy::Future<self::A::X%>} as{ForNonNullableByDefault} FutureOr<self::A::X%>);
+ this.{self::A::b}{self::B<self::A::X%>}.{self::B::bar}(x{asy::Future<self::A::X%>} as{ForNonNullableByDefault} FutureOr<self::A::X%>){(FutureOr<self::A::X%>) → dynamic};
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue40600.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue40600.dart.strong.transformed.expect
index 15445a8..c9d1a5a 100644
--- a/pkg/front_end/testcases/nnbd/issue40600.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40600.dart.strong.transformed.expect
@@ -18,7 +18,7 @@
;
method foo([generic-covariant-impl FutureOr<self::A::X%>? x = #C1]) → dynamic {
if(x is{ForNonNullableByDefault} asy::Future<self::A::X%>) {
- this.{self::A::b}.{self::B::bar}(x{asy::Future<self::A::X%>});
+ this.{self::A::b}{self::B<self::A::X%>}.{self::B::bar}(x{asy::Future<self::A::X%>}){(FutureOr<self::A::X%>) → dynamic};
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue40600.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue40600.dart.weak.expect
index ff89535..bcbb04c 100644
--- a/pkg/front_end/testcases/nnbd/issue40600.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue40600.dart.weak.expect
@@ -18,7 +18,7 @@
;
method foo([generic-covariant-impl FutureOr<self::A::X%>? x = #C1]) → dynamic {
if(x is{ForNonNullableByDefault} asy::Future<self::A::X%>) {
- this.{self::A::b}.{self::B::bar}(x{asy::Future<self::A::X%>} as{ForNonNullableByDefault} FutureOr<self::A::X%>);
+ this.{self::A::b}{self::B<self::A::X%>}.{self::B::bar}(x{asy::Future<self::A::X%>} as{ForNonNullableByDefault} FutureOr<self::A::X%>){(FutureOr<self::A::X%>) → dynamic};
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue40600.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue40600.dart.weak.transformed.expect
index 15445a8..c9d1a5a 100644
--- a/pkg/front_end/testcases/nnbd/issue40600.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40600.dart.weak.transformed.expect
@@ -18,7 +18,7 @@
;
method foo([generic-covariant-impl FutureOr<self::A::X%>? x = #C1]) → dynamic {
if(x is{ForNonNullableByDefault} asy::Future<self::A::X%>) {
- this.{self::A::b}.{self::B::bar}(x{asy::Future<self::A::X%>});
+ this.{self::A::b}{self::B<self::A::X%>}.{self::B::bar}(x{asy::Future<self::A::X%>}){(FutureOr<self::A::X%>) → dynamic};
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue40601.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue40601.dart.strong.expect
index 412e12d..5a7fa88 100644
--- a/pkg/front_end/testcases/nnbd/issue40601.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue40601.dart.strong.expect
@@ -10,10 +10,10 @@
method bar(generic-covariant-impl self::A::T% value) → dynamic {}
method foo() → dynamic {
late self::A::T% value;
- () → dynamic result = () → dynamic => this.{self::A::bar}(value);
+ () → dynamic result = () → dynamic => this.{self::A::bar}(value){(self::A::T%) → dynamic};
(() → Null {
- value = this.{self::A::baz}();
- }).call();
+ value = this.{self::A::baz}(){() → self::A::T%};
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue40601.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue40601.dart.strong.transformed.expect
index 412e12d..5a7fa88 100644
--- a/pkg/front_end/testcases/nnbd/issue40601.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40601.dart.strong.transformed.expect
@@ -10,10 +10,10 @@
method bar(generic-covariant-impl self::A::T% value) → dynamic {}
method foo() → dynamic {
late self::A::T% value;
- () → dynamic result = () → dynamic => this.{self::A::bar}(value);
+ () → dynamic result = () → dynamic => this.{self::A::bar}(value){(self::A::T%) → dynamic};
(() → Null {
- value = this.{self::A::baz}();
- }).call();
+ value = this.{self::A::baz}(){() → self::A::T%};
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue40601.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue40601.dart.weak.expect
index 412e12d..5a7fa88 100644
--- a/pkg/front_end/testcases/nnbd/issue40601.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue40601.dart.weak.expect
@@ -10,10 +10,10 @@
method bar(generic-covariant-impl self::A::T% value) → dynamic {}
method foo() → dynamic {
late self::A::T% value;
- () → dynamic result = () → dynamic => this.{self::A::bar}(value);
+ () → dynamic result = () → dynamic => this.{self::A::bar}(value){(self::A::T%) → dynamic};
(() → Null {
- value = this.{self::A::baz}();
- }).call();
+ value = this.{self::A::baz}(){() → self::A::T%};
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue40601.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue40601.dart.weak.transformed.expect
index 412e12d..5a7fa88 100644
--- a/pkg/front_end/testcases/nnbd/issue40601.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40601.dart.weak.transformed.expect
@@ -10,10 +10,10 @@
method bar(generic-covariant-impl self::A::T% value) → dynamic {}
method foo() → dynamic {
late self::A::T% value;
- () → dynamic result = () → dynamic => this.{self::A::bar}(value);
+ () → dynamic result = () → dynamic => this.{self::A::bar}(value){(self::A::T%) → dynamic};
(() → Null {
- value = this.{self::A::baz}();
- }).call();
+ value = this.{self::A::baz}(){() → self::A::T%};
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue40805.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue40805.dart.strong.expect
index 12e6ed1..e876287 100644
--- a/pkg/front_end/testcases/nnbd/issue40805.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue40805.dart.strong.expect
@@ -13,7 +13,7 @@
: super self::C::•()
;
set x(covariant core::num value) → void {
- super.{self::C::x} = value.{core::num::toInt}();
+ super.{self::C::x} = value.{core::num::toInt}(){() → core::int};
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue40805.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue40805.dart.strong.transformed.expect
index 12e6ed1..e876287 100644
--- a/pkg/front_end/testcases/nnbd/issue40805.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40805.dart.strong.transformed.expect
@@ -13,7 +13,7 @@
: super self::C::•()
;
set x(covariant core::num value) → void {
- super.{self::C::x} = value.{core::num::toInt}();
+ super.{self::C::x} = value.{core::num::toInt}(){() → core::int};
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue40805.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue40805.dart.weak.expect
index 12e6ed1..e876287 100644
--- a/pkg/front_end/testcases/nnbd/issue40805.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue40805.dart.weak.expect
@@ -13,7 +13,7 @@
: super self::C::•()
;
set x(covariant core::num value) → void {
- super.{self::C::x} = value.{core::num::toInt}();
+ super.{self::C::x} = value.{core::num::toInt}(){() → core::int};
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue40805.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue40805.dart.weak.transformed.expect
index 12e6ed1..e876287 100644
--- a/pkg/front_end/testcases/nnbd/issue40805.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40805.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
: super self::C::•()
;
set x(covariant core::num value) → void {
- super.{self::C::x} = value.{core::num::toInt}();
+ super.{self::C::x} = value.{core::num::toInt}(){() → core::int};
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue40945.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue40945.dart.strong.expect
index b38f082d..f441fd5 100644
--- a/pkg/front_end/testcases/nnbd/issue40945.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue40945.dart.strong.expect
@@ -23,6 +23,6 @@
static method test() → dynamic {
self::C c = new self::C::•();
c.{self::C::test} = 1;
- c.{self::C::test};
+ c.{self::C::test}{dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue40945.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue40945.dart.strong.transformed.expect
index b38f082d..f441fd5 100644
--- a/pkg/front_end/testcases/nnbd/issue40945.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40945.dart.strong.transformed.expect
@@ -23,6 +23,6 @@
static method test() → dynamic {
self::C c = new self::C::•();
c.{self::C::test} = 1;
- c.{self::C::test};
+ c.{self::C::test}{dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue40945.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue40945.dart.weak.expect
index b38f082d..f441fd5 100644
--- a/pkg/front_end/testcases/nnbd/issue40945.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue40945.dart.weak.expect
@@ -23,6 +23,6 @@
static method test() → dynamic {
self::C c = new self::C::•();
c.{self::C::test} = 1;
- c.{self::C::test};
+ c.{self::C::test}{dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue40945.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue40945.dart.weak.transformed.expect
index b38f082d..f441fd5 100644
--- a/pkg/front_end/testcases/nnbd/issue40945.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40945.dart.weak.transformed.expect
@@ -23,6 +23,6 @@
static method test() → dynamic {
self::C c = new self::C::•();
c.{self::C::test} = 1;
- c.{self::C::test};
+ c.{self::C::test}{dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41102.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41102.dart.strong.expect
index 9c7c798..76d99bf 100644
--- a/pkg/front_end/testcases/nnbd/issue41102.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41102.dart.strong.expect
@@ -67,9 +67,9 @@
import "dart:async";
-static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data)), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}()));
+static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data){(core::Object?) → void}), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}(){() → void}));
static final field core::List<dynamic> s1 = <dynamic>[];
-static final field core::int? s2 = let final core::List<dynamic> #t1 = self::s1 in #t1.{core::List::==}(null) ?{core::int?} null : #t1.{core::List::length};
+static final field core::int? s2 = let final core::List<dynamic> #t1 = self::s1 in #t1 == null ?{core::int?} null : #t1.{core::List::length}{core::int};
static final field core::List<core::int> s3 = core::List::filled<core::int>(2, let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:17:36: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
final s3 = new List<int>.filled(2, null);
^" in null as{TypeError,ForNonNullableByDefault} core::int);
@@ -86,38 +86,38 @@
case #C3:
{}
}
-}).call();
+})(){() → Null};
static field core::int? s5;
static final field core::num s6 = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:31:15: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
final s6 = s5 + 0;
- ^" in self::s5.{core::num::+}(0);
+ ^" in self::s5.{core::num::+}(0){(core::num) → core::num};
static field core::List<dynamic>? s7;
static final field dynamic s8 = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:35:14: Error: Operator '[]' cannot be called on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
final s8 = s7[0];
- ^" in self::s7.{core::List::[]}(0);
+ ^" in self::s7.{core::List::[]}{<nullable>}.(0){(core::int) → dynamic};
static final field core::int s9 = let final core::List<dynamic>? #t5 = self::s7 in let final core::int #t6 = 0 in let final core::int #t7 = 0 in let final void #t8 = let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:37:14: Error: Operator '[]=' cannot be called on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
final s9 = s7[0] = 0;
- ^" in #t5.{core::List::[]=}(#t6, #t7) in #t7;
+ ^" in #t5.{core::List::[]=}{<nullable>}.(#t6, #t7){(core::int, dynamic) → void} in #t7;
static final field core::int s10 = let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:39:16: Error: Property 'length' cannot be accessed on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
Try accessing using ?. instead.
final s10 = s7.length;
- ^^^^^^" in self::s7.{core::List::length};
+ ^^^^^^" in self::s7.{core::List::length}{<nullable>}.{core::int};
static final field core::int s11 = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:41:16: Error: Property 'length' cannot be accessed on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
Try accessing using ?. instead.
final s11 = s7.length = 0;
- ^^^^^^" in self::s7.{core::List::length} = 0;
+ ^^^^^^" in self::s7.{core::List::length}{<nullable>}. = 0;
static final field core::int s12 = let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:43:13: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
final s12 = -s5;
- ^" in self::s5.{core::int::unary-}();
+ ^" in self::s5.{core::int::unary-}(){() → core::int};
static field () →? core::int s13;
static final field core::int s14 = let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:47:18: Error: Can't use an expression of type 'int Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
final s14 = (s13)();
- ^" in self::s13.call();
+ ^" in self::s13{<nullable>}.(){() →? core::int};
static final field Never s15 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:49:19: Error: Can't throw a value of 'Null' since it is neither dynamic nor non-nullable.
final s15 = throw null;
^" as{TypeError,ForDynamic,ForNonNullableByDefault} Never;
diff --git a/pkg/front_end/testcases/nnbd/issue41102.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41102.dart.strong.transformed.expect
index fa0069f..2cbfb9d 100644
--- a/pkg/front_end/testcases/nnbd/issue41102.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41102.dart.strong.transformed.expect
@@ -67,9 +67,9 @@
import "dart:async";
-static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data)), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}()));
+static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data){(core::Object?) → void}), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}(){() → void}));
static final field core::List<dynamic> s1 = core::_GrowableList::•<dynamic>(0);
-static final field core::int? s2 = let final core::List<dynamic> #t1 = self::s1 in #t1.{core::List::==}(null) ?{core::int?} null : #t1.{core::List::length};
+static final field core::int? s2 = let final core::List<dynamic> #t1 = self::s1 in #t1 == null ?{core::int?} null : #t1.{core::List::length}{core::int};
static final field core::List<core::int> s3 = core::_List::filled<core::int>(2, let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:17:36: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
final s3 = new List<int>.filled(2, null);
^" in let Null #t3 = null in #t3.==(null) ?{core::int} #t3 as{TypeError,ForNonNullableByDefault} core::int : #t3{core::int});
@@ -86,38 +86,38 @@
case #C3:
{}
}
-}).call();
+})(){() → Null};
static field core::int? s5;
static final field core::num s6 = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:31:15: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
final s6 = s5 + 0;
- ^" in self::s5.{core::num::+}(0);
+ ^" in self::s5.{core::num::+}(0){(core::num) → core::num};
static field core::List<dynamic>? s7;
static final field dynamic s8 = let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:35:14: Error: Operator '[]' cannot be called on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
final s8 = s7[0];
- ^" in self::s7.{core::List::[]}(0);
+ ^" in self::s7.{core::List::[]}{<nullable>}.(0){(core::int) → dynamic};
static final field core::int s9 = let final core::List<dynamic>? #t6 = self::s7 in let final core::int #t7 = 0 in let final core::int #t8 = 0 in let final void #t9 = let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:37:14: Error: Operator '[]=' cannot be called on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
final s9 = s7[0] = 0;
- ^" in #t6.{core::List::[]=}(#t7, #t8) in #t8;
+ ^" in #t6.{core::List::[]=}{<nullable>}.(#t7, #t8){(core::int, dynamic) → void} in #t8;
static final field core::int s10 = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:39:16: Error: Property 'length' cannot be accessed on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
Try accessing using ?. instead.
final s10 = s7.length;
- ^^^^^^" in self::s7.{core::List::length};
+ ^^^^^^" in self::s7.{core::List::length}{<nullable>}.{core::int};
static final field core::int s11 = let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:41:16: Error: Property 'length' cannot be accessed on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
Try accessing using ?. instead.
final s11 = s7.length = 0;
- ^^^^^^" in self::s7.{core::List::length} = 0;
+ ^^^^^^" in self::s7.{core::List::length}{<nullable>}. = 0;
static final field core::int s12 = let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:43:13: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
final s12 = -s5;
- ^" in self::s5.{core::int::unary-}();
+ ^" in self::s5.{core::int::unary-}(){() → core::int};
static field () →? core::int s13;
static final field core::int s14 = let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:47:18: Error: Can't use an expression of type 'int Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
final s14 = (s13)();
- ^" in self::s13.call();
+ ^" in self::s13{<nullable>}.(){() →? core::int};
static final field Never s15 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:49:19: Error: Can't throw a value of 'Null' since it is neither dynamic nor non-nullable.
final s15 = throw null;
^";
diff --git a/pkg/front_end/testcases/nnbd/issue41102.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41102.dart.weak.expect
index 9c7c798..76d99bf 100644
--- a/pkg/front_end/testcases/nnbd/issue41102.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41102.dart.weak.expect
@@ -67,9 +67,9 @@
import "dart:async";
-static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data)), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}()));
+static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data){(core::Object?) → void}), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}(){() → void}));
static final field core::List<dynamic> s1 = <dynamic>[];
-static final field core::int? s2 = let final core::List<dynamic> #t1 = self::s1 in #t1.{core::List::==}(null) ?{core::int?} null : #t1.{core::List::length};
+static final field core::int? s2 = let final core::List<dynamic> #t1 = self::s1 in #t1 == null ?{core::int?} null : #t1.{core::List::length}{core::int};
static final field core::List<core::int> s3 = core::List::filled<core::int>(2, let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:17:36: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
final s3 = new List<int>.filled(2, null);
^" in null as{TypeError,ForNonNullableByDefault} core::int);
@@ -86,38 +86,38 @@
case #C3:
{}
}
-}).call();
+})(){() → Null};
static field core::int? s5;
static final field core::num s6 = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:31:15: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
final s6 = s5 + 0;
- ^" in self::s5.{core::num::+}(0);
+ ^" in self::s5.{core::num::+}(0){(core::num) → core::num};
static field core::List<dynamic>? s7;
static final field dynamic s8 = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:35:14: Error: Operator '[]' cannot be called on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
final s8 = s7[0];
- ^" in self::s7.{core::List::[]}(0);
+ ^" in self::s7.{core::List::[]}{<nullable>}.(0){(core::int) → dynamic};
static final field core::int s9 = let final core::List<dynamic>? #t5 = self::s7 in let final core::int #t6 = 0 in let final core::int #t7 = 0 in let final void #t8 = let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:37:14: Error: Operator '[]=' cannot be called on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
final s9 = s7[0] = 0;
- ^" in #t5.{core::List::[]=}(#t6, #t7) in #t7;
+ ^" in #t5.{core::List::[]=}{<nullable>}.(#t6, #t7){(core::int, dynamic) → void} in #t7;
static final field core::int s10 = let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:39:16: Error: Property 'length' cannot be accessed on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
Try accessing using ?. instead.
final s10 = s7.length;
- ^^^^^^" in self::s7.{core::List::length};
+ ^^^^^^" in self::s7.{core::List::length}{<nullable>}.{core::int};
static final field core::int s11 = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:41:16: Error: Property 'length' cannot be accessed on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
Try accessing using ?. instead.
final s11 = s7.length = 0;
- ^^^^^^" in self::s7.{core::List::length} = 0;
+ ^^^^^^" in self::s7.{core::List::length}{<nullable>}. = 0;
static final field core::int s12 = let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:43:13: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
final s12 = -s5;
- ^" in self::s5.{core::int::unary-}();
+ ^" in self::s5.{core::int::unary-}(){() → core::int};
static field () →? core::int s13;
static final field core::int s14 = let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:47:18: Error: Can't use an expression of type 'int Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
final s14 = (s13)();
- ^" in self::s13.call();
+ ^" in self::s13{<nullable>}.(){() →? core::int};
static final field Never s15 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:49:19: Error: Can't throw a value of 'Null' since it is neither dynamic nor non-nullable.
final s15 = throw null;
^" as{TypeError,ForDynamic,ForNonNullableByDefault} Never;
diff --git a/pkg/front_end/testcases/nnbd/issue41102.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41102.dart.weak.transformed.expect
index 8bcc4d3..9cdfa657 100644
--- a/pkg/front_end/testcases/nnbd/issue41102.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41102.dart.weak.transformed.expect
@@ -67,9 +67,9 @@
import "dart:async";
-static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data)), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}()));
+static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data){(core::Object?) → void}), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}(){() → void}));
static final field core::List<dynamic> s1 = core::_GrowableList::•<dynamic>(0);
-static final field core::int? s2 = let final core::List<dynamic> #t1 = self::s1 in #t1.{core::List::==}(null) ?{core::int?} null : #t1.{core::List::length};
+static final field core::int? s2 = let final core::List<dynamic> #t1 = self::s1 in #t1 == null ?{core::int?} null : #t1.{core::List::length}{core::int};
static final field core::List<core::int> s3 = core::_List::filled<core::int>(2, let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:17:36: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
final s3 = new List<int>.filled(2, null);
^" in null);
@@ -86,38 +86,38 @@
case #C3:
{}
}
-}).call();
+})(){() → Null};
static field core::int? s5;
static final field core::num s6 = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:31:15: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
final s6 = s5 + 0;
- ^" in self::s5.{core::num::+}(0);
+ ^" in self::s5.{core::num::+}(0){(core::num) → core::num};
static field core::List<dynamic>? s7;
static final field dynamic s8 = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:35:14: Error: Operator '[]' cannot be called on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
final s8 = s7[0];
- ^" in self::s7.{core::List::[]}(0);
+ ^" in self::s7.{core::List::[]}{<nullable>}.(0){(core::int) → dynamic};
static final field core::int s9 = let final core::List<dynamic>? #t5 = self::s7 in let final core::int #t6 = 0 in let final core::int #t7 = 0 in let final void #t8 = let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:37:14: Error: Operator '[]=' cannot be called on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
final s9 = s7[0] = 0;
- ^" in #t5.{core::List::[]=}(#t6, #t7) in #t7;
+ ^" in #t5.{core::List::[]=}{<nullable>}.(#t6, #t7){(core::int, dynamic) → void} in #t7;
static final field core::int s10 = let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:39:16: Error: Property 'length' cannot be accessed on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
Try accessing using ?. instead.
final s10 = s7.length;
- ^^^^^^" in self::s7.{core::List::length};
+ ^^^^^^" in self::s7.{core::List::length}{<nullable>}.{core::int};
static final field core::int s11 = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:41:16: Error: Property 'length' cannot be accessed on 'List<dynamic>?' because it is potentially null.
- 'List' is from 'dart:core'.
Try accessing using ?. instead.
final s11 = s7.length = 0;
- ^^^^^^" in self::s7.{core::List::length} = 0;
+ ^^^^^^" in self::s7.{core::List::length}{<nullable>}. = 0;
static final field core::int s12 = let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:43:13: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
final s12 = -s5;
- ^" in self::s5.{core::int::unary-}();
+ ^" in self::s5.{core::int::unary-}(){() → core::int};
static field () →? core::int s13;
static final field core::int s14 = let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:47:18: Error: Can't use an expression of type 'int Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
final s14 = (s13)();
- ^" in self::s13.call();
+ ^" in self::s13{<nullable>}.(){() →? core::int};
static final field Never s15 = invalid-expression "pkg/front_end/testcases/nnbd/issue41102.dart:49:19: Error: Can't throw a value of 'Null' since it is neither dynamic nor non-nullable.
final s15 = throw null;
^";
diff --git a/pkg/front_end/testcases/nnbd/issue41103.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41103.dart.strong.expect
index 4b85f1c..d5d245a 100644
--- a/pkg/front_end/testcases/nnbd/issue41103.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41103.dart.strong.expect
@@ -5,5 +5,5 @@
import "dart:async";
-static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data)), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}()));
+static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data){(core::Object?) → void}), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}(){() → void}));
static method main() → void {}
diff --git a/pkg/front_end/testcases/nnbd/issue41103.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41103.dart.strong.transformed.expect
index 4b85f1c..d5d245a 100644
--- a/pkg/front_end/testcases/nnbd/issue41103.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41103.dart.strong.transformed.expect
@@ -5,5 +5,5 @@
import "dart:async";
-static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data)), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}()));
+static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data){(core::Object?) → void}), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}(){() → void}));
static method main() → void {}
diff --git a/pkg/front_end/testcases/nnbd/issue41103.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41103.dart.weak.expect
index 4b85f1c..d5d245a 100644
--- a/pkg/front_end/testcases/nnbd/issue41103.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41103.dart.weak.expect
@@ -5,5 +5,5 @@
import "dart:async";
-static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data)), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}()));
+static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data){(core::Object?) → void}), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}(){() → void}));
static method main() → void {}
diff --git a/pkg/front_end/testcases/nnbd/issue41103.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41103.dart.weak.transformed.expect
index 4b85f1c..d5d245a 100644
--- a/pkg/front_end/testcases/nnbd/issue41103.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41103.dart.weak.transformed.expect
@@ -5,5 +5,5 @@
import "dart:async";
-static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data)), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}()));
+static final field asy::StreamTransformer<core::Object?, core::Object?> t = new asy::_StreamHandlerTransformer::•<core::Object?, core::Object?>(handleData: (core::Object? data, asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::add}(data){(core::Object?) → void}), handleDone: (asy::EventSink<core::Object?> sink) → void => asy::Future::microtask<void>(() → void => sink.{asy::EventSink::close}(){() → void}));
static method main() → void {}
diff --git a/pkg/front_end/testcases/nnbd/issue41114.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41114.dart.strong.expect
index 6fb76f5..467d91a 100644
--- a/pkg/front_end/testcases/nnbd/issue41114.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41114.dart.strong.expect
@@ -4,7 +4,7 @@
static method main() → dynamic async {
core::List<core::String>? a = <core::String>[] as{ForNonNullableByDefault} core::List<core::String>?;
- core::Iterable<core::String>? b = let final core::List<core::String>? #t1 = a in #t1.{core::List::==}(null) ?{core::Iterable<core::String>?} null : #t1{core::List<core::String>}.{core::Iterable::map}<core::String>((core::String e) → core::String => e);
- core::Iterable<core::String>? i = let final core::Iterable<core::String>? #t2 = b in #t2.{core::Object::==}(null) ?{core::Iterable<core::String>?} a : #t2{core::Iterable<core::String>};
+ core::Iterable<core::String>? b = let final core::List<core::String>? #t1 = a in #t1 == null ?{core::Iterable<core::String>?} null : #t1{core::List<core::String>}.{core::Iterable::map}<core::String>((core::String e) → core::String => e){((core::String) → core::String) → core::Iterable<core::String>};
+ core::Iterable<core::String>? i = let final core::Iterable<core::String>? #t2 = b in #t2 == null ?{core::Iterable<core::String>?} a : #t2{core::Iterable<core::String>};
core::print(i);
}
diff --git a/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect
index c611839..a58c8e8 100644
--- a/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect
@@ -16,8 +16,8 @@
#L1:
{
core::List<core::String>? a = core::_GrowableList::•<core::String>(0);
- core::Iterable<core::String>? b = let final core::List<core::String>? #t1 = a in #t1.{core::List::==}(null) ?{core::Iterable<core::String>?} null : #t1{core::List<core::String>}.{core::Iterable::map}<core::String>((core::String e) → core::String => e);
- core::Iterable<core::String>? i = let final core::Iterable<core::String>? #t2 = b in #t2.{core::Object::==}(null) ?{core::Iterable<core::String>?} a : #t2{core::Iterable<core::String>};
+ core::Iterable<core::String>? b = let final core::List<core::String>? #t1 = a in #t1 == null ?{core::Iterable<core::String>?} null : #t1{core::List<core::String>}.{core::Iterable::map}<core::String>((core::String e) → core::String => e){((core::String) → core::String) → core::Iterable<core::String>};
+ core::Iterable<core::String>? i = let final core::Iterable<core::String>? #t2 = b in #t2 == null ?{core::Iterable<core::String>?} a : #t2{core::Iterable<core::String>};
core::print(i);
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
diff --git a/pkg/front_end/testcases/nnbd/issue41114.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41114.dart.weak.expect
index 6fb76f5..467d91a 100644
--- a/pkg/front_end/testcases/nnbd/issue41114.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41114.dart.weak.expect
@@ -4,7 +4,7 @@
static method main() → dynamic async {
core::List<core::String>? a = <core::String>[] as{ForNonNullableByDefault} core::List<core::String>?;
- core::Iterable<core::String>? b = let final core::List<core::String>? #t1 = a in #t1.{core::List::==}(null) ?{core::Iterable<core::String>?} null : #t1{core::List<core::String>}.{core::Iterable::map}<core::String>((core::String e) → core::String => e);
- core::Iterable<core::String>? i = let final core::Iterable<core::String>? #t2 = b in #t2.{core::Object::==}(null) ?{core::Iterable<core::String>?} a : #t2{core::Iterable<core::String>};
+ core::Iterable<core::String>? b = let final core::List<core::String>? #t1 = a in #t1 == null ?{core::Iterable<core::String>?} null : #t1{core::List<core::String>}.{core::Iterable::map}<core::String>((core::String e) → core::String => e){((core::String) → core::String) → core::Iterable<core::String>};
+ core::Iterable<core::String>? i = let final core::Iterable<core::String>? #t2 = b in #t2 == null ?{core::Iterable<core::String>?} a : #t2{core::Iterable<core::String>};
core::print(i);
}
diff --git a/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect
index c611839..a58c8e8 100644
--- a/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect
@@ -16,8 +16,8 @@
#L1:
{
core::List<core::String>? a = core::_GrowableList::•<core::String>(0);
- core::Iterable<core::String>? b = let final core::List<core::String>? #t1 = a in #t1.{core::List::==}(null) ?{core::Iterable<core::String>?} null : #t1{core::List<core::String>}.{core::Iterable::map}<core::String>((core::String e) → core::String => e);
- core::Iterable<core::String>? i = let final core::Iterable<core::String>? #t2 = b in #t2.{core::Object::==}(null) ?{core::Iterable<core::String>?} a : #t2{core::Iterable<core::String>};
+ core::Iterable<core::String>? b = let final core::List<core::String>? #t1 = a in #t1 == null ?{core::Iterable<core::String>?} null : #t1{core::List<core::String>}.{core::Iterable::map}<core::String>((core::String e) → core::String => e){((core::String) → core::String) → core::Iterable<core::String>};
+ core::Iterable<core::String>? i = let final core::Iterable<core::String>? #t2 = b in #t2 == null ?{core::Iterable<core::String>?} a : #t2{core::Iterable<core::String>};
core::print(i);
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
diff --git a/pkg/front_end/testcases/nnbd/issue41273.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41273.dart.strong.expect
index 6eef4f6..dcb1f5b 100644
--- a/pkg/front_end/testcases/nnbd/issue41273.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41273.dart.strong.expect
@@ -4,26 +4,26 @@
static method test(dynamic x) → void {
if(x is{ForNonNullableByDefault} Never) {
- Never n1 = x{Never}.toString();
- Never n2 = x{Never}.runtimeType;
- Never n3 = x{Never}.someGetter;
- Never n4 = x{Never}.someMethod();
- Never n5 = x{Never}.+(x{Never});
- Never n6 = x{Never}.[](x{Never});
- Never n7 = x{Never}.call();
- Never n8 = x{Never}.runtimeType();
- Never n9 = x{Never}.toString;
- x{Never}.runtimeType = #C1;
- x{Never}.toString = () → core::String => "";
- Never v1 = x{Never}.toString();
- Never v2 = x{Never}.runtimeType;
- Never v3 = x{Never}.someGetter;
- Never v4 = x{Never}.someMethod();
- Never v5 = x{Never}.+(x{Never});
- Never v6 = x{Never}.[](x{Never});
- Never v7 = x{Never}.call();
- Never v8 = x{Never}.runtimeType();
- Never v9 = x{Never}.toString;
+ Never n1 = x{Never}{Never}.toString();
+ Never n2 = x{Never}{Never}.runtimeType;
+ Never n3 = x{Never}{Never}.someGetter;
+ Never n4 = x{Never}{Never}.someMethod();
+ Never n5 = x{Never}{Never}.+(x{Never});
+ Never n6 = x{Never}{Never}.[](x{Never});
+ Never n7 = x{Never}{Never}.call();
+ Never n8 = x{Never}{Never}.runtimeType();
+ Never n9 = x{Never}{Never}.toString;
+ x{Never}{Never}.runtimeType = #C1;
+ x{Never}{Never}.toString = () → core::String => "";
+ Never v1 = x{Never}{Never}.toString();
+ Never v2 = x{Never}{Never}.runtimeType;
+ Never v3 = x{Never}{Never}.someGetter;
+ Never v4 = x{Never}{Never}.someMethod();
+ Never v5 = x{Never}{Never}.+(x{Never});
+ Never v6 = x{Never}{Never}.[](x{Never});
+ Never v7 = x{Never}{Never}.call();
+ Never v8 = x{Never}{Never}.runtimeType();
+ Never v9 = x{Never}{Never}.toString;
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue41273.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41273.dart.strong.transformed.expect
index 6eef4f6..dcb1f5b 100644
--- a/pkg/front_end/testcases/nnbd/issue41273.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41273.dart.strong.transformed.expect
@@ -4,26 +4,26 @@
static method test(dynamic x) → void {
if(x is{ForNonNullableByDefault} Never) {
- Never n1 = x{Never}.toString();
- Never n2 = x{Never}.runtimeType;
- Never n3 = x{Never}.someGetter;
- Never n4 = x{Never}.someMethod();
- Never n5 = x{Never}.+(x{Never});
- Never n6 = x{Never}.[](x{Never});
- Never n7 = x{Never}.call();
- Never n8 = x{Never}.runtimeType();
- Never n9 = x{Never}.toString;
- x{Never}.runtimeType = #C1;
- x{Never}.toString = () → core::String => "";
- Never v1 = x{Never}.toString();
- Never v2 = x{Never}.runtimeType;
- Never v3 = x{Never}.someGetter;
- Never v4 = x{Never}.someMethod();
- Never v5 = x{Never}.+(x{Never});
- Never v6 = x{Never}.[](x{Never});
- Never v7 = x{Never}.call();
- Never v8 = x{Never}.runtimeType();
- Never v9 = x{Never}.toString;
+ Never n1 = x{Never}{Never}.toString();
+ Never n2 = x{Never}{Never}.runtimeType;
+ Never n3 = x{Never}{Never}.someGetter;
+ Never n4 = x{Never}{Never}.someMethod();
+ Never n5 = x{Never}{Never}.+(x{Never});
+ Never n6 = x{Never}{Never}.[](x{Never});
+ Never n7 = x{Never}{Never}.call();
+ Never n8 = x{Never}{Never}.runtimeType();
+ Never n9 = x{Never}{Never}.toString;
+ x{Never}{Never}.runtimeType = #C1;
+ x{Never}{Never}.toString = () → core::String => "";
+ Never v1 = x{Never}{Never}.toString();
+ Never v2 = x{Never}{Never}.runtimeType;
+ Never v3 = x{Never}{Never}.someGetter;
+ Never v4 = x{Never}{Never}.someMethod();
+ Never v5 = x{Never}{Never}.+(x{Never});
+ Never v6 = x{Never}{Never}.[](x{Never});
+ Never v7 = x{Never}{Never}.call();
+ Never v8 = x{Never}{Never}.runtimeType();
+ Never v9 = x{Never}{Never}.toString;
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue41273.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41273.dart.weak.expect
index e220d05..0bdfe20 100644
--- a/pkg/front_end/testcases/nnbd/issue41273.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41273.dart.weak.expect
@@ -5,26 +5,26 @@
static method test(dynamic x) → void {
if(x is{ForNonNullableByDefault} Never) {
- Never n1 = let final Never #t1 = (let final Never #t2 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n2 = let final Never #t3 = (let final Never #t4 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n3 = let final Never #t5 = (let final Never #t6 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).someGetter in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n4 = let final Never #t7 = (let final Never #t8 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).someMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n5 = let final Never #t9 = (let final Never #t10 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(let final Never #t11 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n6 = let final Never #t12 = (let final Never #t13 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](let final Never #t14 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n7 = let final Never #t15 = (let final Never #t16 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n8 = let final Never #t17 = (let final Never #t18 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n9 = let final Never #t19 = (let final Never #t20 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- (let final Never #t21 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType = #C1;
- (let final Never #t22 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString = () → core::String => "";
- Never v1 = let final Never #t23 = (let final Never #t24 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t25 = (let final Never #t26 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v3 = let final Never #t27 = (let final Never #t28 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).someGetter in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v4 = let final Never #t29 = (let final Never #t30 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).someMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v5 = let final Never #t31 = (let final Never #t32 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(let final Never #t33 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v6 = let final Never #t34 = (let final Never #t35 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](let final Never #t36 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v7 = let final Never #t37 = (let final Never #t38 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v8 = let final Never #t39 = (let final Never #t40 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v9 = let final Never #t41 = (let final Never #t42 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n1 = let final Never #t1 = (let final Never #t2 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n2 = let final Never #t3 = (let final Never #t4 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n3 = let final Never #t5 = (let final Never #t6 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.someGetter in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n4 = let final Never #t7 = (let final Never #t8 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.someMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n5 = let final Never #t9 = (let final Never #t10 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(let final Never #t11 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n6 = let final Never #t12 = (let final Never #t13 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](let final Never #t14 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n7 = let final Never #t15 = (let final Never #t16 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n8 = let final Never #t17 = (let final Never #t18 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n9 = let final Never #t19 = (let final Never #t20 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ (let final Never #t21 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType = #C1;
+ (let final Never #t22 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString = () → core::String => "";
+ Never v1 = let final Never #t23 = (let final Never #t24 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v2 = let final Never #t25 = (let final Never #t26 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v3 = let final Never #t27 = (let final Never #t28 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.someGetter in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v4 = let final Never #t29 = (let final Never #t30 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.someMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v5 = let final Never #t31 = (let final Never #t32 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(let final Never #t33 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v6 = let final Never #t34 = (let final Never #t35 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](let final Never #t36 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v7 = let final Never #t37 = (let final Never #t38 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v8 = let final Never #t39 = (let final Never #t40 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v9 = let final Never #t41 = (let final Never #t42 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue41273.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41273.dart.weak.transformed.expect
index e220d05..0bdfe20 100644
--- a/pkg/front_end/testcases/nnbd/issue41273.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41273.dart.weak.transformed.expect
@@ -5,26 +5,26 @@
static method test(dynamic x) → void {
if(x is{ForNonNullableByDefault} Never) {
- Never n1 = let final Never #t1 = (let final Never #t2 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n2 = let final Never #t3 = (let final Never #t4 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n3 = let final Never #t5 = (let final Never #t6 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).someGetter in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n4 = let final Never #t7 = (let final Never #t8 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).someMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n5 = let final Never #t9 = (let final Never #t10 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(let final Never #t11 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n6 = let final Never #t12 = (let final Never #t13 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](let final Never #t14 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n7 = let final Never #t15 = (let final Never #t16 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n8 = let final Never #t17 = (let final Never #t18 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never n9 = let final Never #t19 = (let final Never #t20 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- (let final Never #t21 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType = #C1;
- (let final Never #t22 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString = () → core::String => "";
- Never v1 = let final Never #t23 = (let final Never #t24 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t25 = (let final Never #t26 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v3 = let final Never #t27 = (let final Never #t28 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).someGetter in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v4 = let final Never #t29 = (let final Never #t30 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).someMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v5 = let final Never #t31 = (let final Never #t32 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(let final Never #t33 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v6 = let final Never #t34 = (let final Never #t35 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](let final Never #t36 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v7 = let final Never #t37 = (let final Never #t38 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v8 = let final Never #t39 = (let final Never #t40 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v9 = let final Never #t41 = (let final Never #t42 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n1 = let final Never #t1 = (let final Never #t2 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n2 = let final Never #t3 = (let final Never #t4 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n3 = let final Never #t5 = (let final Never #t6 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.someGetter in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n4 = let final Never #t7 = (let final Never #t8 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.someMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n5 = let final Never #t9 = (let final Never #t10 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(let final Never #t11 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n6 = let final Never #t12 = (let final Never #t13 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](let final Never #t14 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n7 = let final Never #t15 = (let final Never #t16 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n8 = let final Never #t17 = (let final Never #t18 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never n9 = let final Never #t19 = (let final Never #t20 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ (let final Never #t21 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType = #C1;
+ (let final Never #t22 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString = () → core::String => "";
+ Never v1 = let final Never #t23 = (let final Never #t24 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v2 = let final Never #t25 = (let final Never #t26 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v3 = let final Never #t27 = (let final Never #t28 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.someGetter in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v4 = let final Never #t29 = (let final Never #t30 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.someMethod() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v5 = let final Never #t31 = (let final Never #t32 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(let final Never #t33 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v6 = let final Never #t34 = (let final Never #t35 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](let final Never #t36 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v7 = let final Never #t37 = (let final Never #t38 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v8 = let final Never #t39 = (let final Never #t40 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v9 = let final Never #t41 = (let final Never #t42 = x{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue41349.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41349.dart.strong.expect
index e517198..16cf6c9 100644
--- a/pkg/front_end/testcases/nnbd/issue41349.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41349.dart.strong.expect
@@ -44,16 +44,16 @@
self::testFunction(() → core::int => 53);
}
static method testA(self::A? a) → dynamic {
- self::expect(23, let final self::A? #t1 = a in #t1.{core::Object::==}(null) ?{dynamic} null : #t1{self::A}.{self::A::foo}());
+ self::expect(23, let final self::A? #t1 = a in #t1 == null ?{dynamic} null : #t1{self::A}.{self::A::foo}(){() → dynamic});
self::expect(42, self::B|foo(a));
- self::expect(123, let final self::A? #t2 = a in #t2.{core::Object::==}(null) ?{dynamic} null : self::C|bar(#t2{self::A}));
+ self::expect(123, let final self::A? #t2 = a in #t2 == null ?{dynamic} null : self::C|bar(#t2{self::A}));
self::expect(87, self::B|bar(a));
}
static method testFunction(() →? core::int f) → dynamic {
- self::expect(53, let final () →? core::int #t3 = f in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{() → core::int}.call());
+ self::expect(53, let final () →? core::int #t3 = f in #t3 == null ?{core::int?} null : #t3{() → core::int}(){() → core::int});
self::expect(76, self::D|call(f));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue41349.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41349.dart.strong.transformed.expect
index e517198..16cf6c9 100644
--- a/pkg/front_end/testcases/nnbd/issue41349.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41349.dart.strong.transformed.expect
@@ -44,16 +44,16 @@
self::testFunction(() → core::int => 53);
}
static method testA(self::A? a) → dynamic {
- self::expect(23, let final self::A? #t1 = a in #t1.{core::Object::==}(null) ?{dynamic} null : #t1{self::A}.{self::A::foo}());
+ self::expect(23, let final self::A? #t1 = a in #t1 == null ?{dynamic} null : #t1{self::A}.{self::A::foo}(){() → dynamic});
self::expect(42, self::B|foo(a));
- self::expect(123, let final self::A? #t2 = a in #t2.{core::Object::==}(null) ?{dynamic} null : self::C|bar(#t2{self::A}));
+ self::expect(123, let final self::A? #t2 = a in #t2 == null ?{dynamic} null : self::C|bar(#t2{self::A}));
self::expect(87, self::B|bar(a));
}
static method testFunction(() →? core::int f) → dynamic {
- self::expect(53, let final () →? core::int #t3 = f in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{() → core::int}.call());
+ self::expect(53, let final () →? core::int #t3 = f in #t3 == null ?{core::int?} null : #t3{() → core::int}(){() → core::int});
self::expect(76, self::D|call(f));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue41349.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41349.dart.weak.expect
index e517198..16cf6c9 100644
--- a/pkg/front_end/testcases/nnbd/issue41349.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41349.dart.weak.expect
@@ -44,16 +44,16 @@
self::testFunction(() → core::int => 53);
}
static method testA(self::A? a) → dynamic {
- self::expect(23, let final self::A? #t1 = a in #t1.{core::Object::==}(null) ?{dynamic} null : #t1{self::A}.{self::A::foo}());
+ self::expect(23, let final self::A? #t1 = a in #t1 == null ?{dynamic} null : #t1{self::A}.{self::A::foo}(){() → dynamic});
self::expect(42, self::B|foo(a));
- self::expect(123, let final self::A? #t2 = a in #t2.{core::Object::==}(null) ?{dynamic} null : self::C|bar(#t2{self::A}));
+ self::expect(123, let final self::A? #t2 = a in #t2 == null ?{dynamic} null : self::C|bar(#t2{self::A}));
self::expect(87, self::B|bar(a));
}
static method testFunction(() →? core::int f) → dynamic {
- self::expect(53, let final () →? core::int #t3 = f in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{() → core::int}.call());
+ self::expect(53, let final () →? core::int #t3 = f in #t3 == null ?{core::int?} null : #t3{() → core::int}(){() → core::int});
self::expect(76, self::D|call(f));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue41349.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41349.dart.weak.transformed.expect
index e517198..16cf6c9 100644
--- a/pkg/front_end/testcases/nnbd/issue41349.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41349.dart.weak.transformed.expect
@@ -44,16 +44,16 @@
self::testFunction(() → core::int => 53);
}
static method testA(self::A? a) → dynamic {
- self::expect(23, let final self::A? #t1 = a in #t1.{core::Object::==}(null) ?{dynamic} null : #t1{self::A}.{self::A::foo}());
+ self::expect(23, let final self::A? #t1 = a in #t1 == null ?{dynamic} null : #t1{self::A}.{self::A::foo}(){() → dynamic});
self::expect(42, self::B|foo(a));
- self::expect(123, let final self::A? #t2 = a in #t2.{core::Object::==}(null) ?{dynamic} null : self::C|bar(#t2{self::A}));
+ self::expect(123, let final self::A? #t2 = a in #t2 == null ?{dynamic} null : self::C|bar(#t2{self::A}));
self::expect(87, self::B|bar(a));
}
static method testFunction(() →? core::int f) → dynamic {
- self::expect(53, let final () →? core::int #t3 = f in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{() → core::int}.call());
+ self::expect(53, let final () →? core::int #t3 = f in #t3 == null ?{core::int?} null : #t3{() → core::int}(){() → core::int});
self::expect(76, self::D|call(f));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue41386.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41386.dart.strong.expect
index 6f63736..b356950 100644
--- a/pkg/front_end/testcases/nnbd/issue41386.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41386.dart.strong.expect
@@ -12,12 +12,12 @@
import "dart:core" as core;
static method predicate<T extends core::Object? = dynamic>((self::predicate::T%) → core::bool fn) → (self::predicate::T%) → core::bool
- return (self::predicate::T% val) → core::bool => fn.call(val);
+ return (self::predicate::T% val) → core::bool => fn(val){(self::predicate::T%) → core::bool};
static method test() → void {
core::print(self::predicate<core::Object?>((core::Object? v) → core::bool => invalid-expression "pkg/front_end/testcases/nnbd/issue41386.dart:8:28: Error: The operator '%' isn't defined for the class 'Object?'.
- 'Object' is from 'dart:core'.
Try correcting the operator to an existing operator, or defining a '%' operator.
print(predicate((v) => v % 2 == 1)(3));
- ^".{core::Object::==}(1)).call(3));
+ ^" =={core::Object::==}{(core::Object) → core::bool} 1)(3){(core::Object?) → core::bool});
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/nnbd/issue41386.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41386.dart.strong.transformed.expect
index 6f63736..b356950 100644
--- a/pkg/front_end/testcases/nnbd/issue41386.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41386.dart.strong.transformed.expect
@@ -12,12 +12,12 @@
import "dart:core" as core;
static method predicate<T extends core::Object? = dynamic>((self::predicate::T%) → core::bool fn) → (self::predicate::T%) → core::bool
- return (self::predicate::T% val) → core::bool => fn.call(val);
+ return (self::predicate::T% val) → core::bool => fn(val){(self::predicate::T%) → core::bool};
static method test() → void {
core::print(self::predicate<core::Object?>((core::Object? v) → core::bool => invalid-expression "pkg/front_end/testcases/nnbd/issue41386.dart:8:28: Error: The operator '%' isn't defined for the class 'Object?'.
- 'Object' is from 'dart:core'.
Try correcting the operator to an existing operator, or defining a '%' operator.
print(predicate((v) => v % 2 == 1)(3));
- ^".{core::Object::==}(1)).call(3));
+ ^" =={core::Object::==}{(core::Object) → core::bool} 1)(3){(core::Object?) → core::bool});
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/nnbd/issue41386.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41386.dart.weak.expect
index 6f63736..b356950 100644
--- a/pkg/front_end/testcases/nnbd/issue41386.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41386.dart.weak.expect
@@ -12,12 +12,12 @@
import "dart:core" as core;
static method predicate<T extends core::Object? = dynamic>((self::predicate::T%) → core::bool fn) → (self::predicate::T%) → core::bool
- return (self::predicate::T% val) → core::bool => fn.call(val);
+ return (self::predicate::T% val) → core::bool => fn(val){(self::predicate::T%) → core::bool};
static method test() → void {
core::print(self::predicate<core::Object?>((core::Object? v) → core::bool => invalid-expression "pkg/front_end/testcases/nnbd/issue41386.dart:8:28: Error: The operator '%' isn't defined for the class 'Object?'.
- 'Object' is from 'dart:core'.
Try correcting the operator to an existing operator, or defining a '%' operator.
print(predicate((v) => v % 2 == 1)(3));
- ^".{core::Object::==}(1)).call(3));
+ ^" =={core::Object::==}{(core::Object) → core::bool} 1)(3){(core::Object?) → core::bool});
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/nnbd/issue41386.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41386.dart.weak.transformed.expect
index 6f63736..b356950 100644
--- a/pkg/front_end/testcases/nnbd/issue41386.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41386.dart.weak.transformed.expect
@@ -12,12 +12,12 @@
import "dart:core" as core;
static method predicate<T extends core::Object? = dynamic>((self::predicate::T%) → core::bool fn) → (self::predicate::T%) → core::bool
- return (self::predicate::T% val) → core::bool => fn.call(val);
+ return (self::predicate::T% val) → core::bool => fn(val){(self::predicate::T%) → core::bool};
static method test() → void {
core::print(self::predicate<core::Object?>((core::Object? v) → core::bool => invalid-expression "pkg/front_end/testcases/nnbd/issue41386.dart:8:28: Error: The operator '%' isn't defined for the class 'Object?'.
- 'Object' is from 'dart:core'.
Try correcting the operator to an existing operator, or defining a '%' operator.
print(predicate((v) => v % 2 == 1)(3));
- ^".{core::Object::==}(1)).call(3));
+ ^" =={core::Object::==}{(core::Object) → core::bool} 1)(3){(core::Object?) → core::bool});
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/nnbd/issue41386b.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41386b.dart.strong.expect
index 5e52bce..7223846 100644
--- a/pkg/front_end/testcases/nnbd/issue41386b.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41386b.dart.strong.expect
@@ -4,9 +4,9 @@
static method test() → void {
core::Map<dynamic, dynamic> map = <dynamic, dynamic>{};
- map.{core::Map::[]}(0).foo;
+ map.{core::Map::[]}(0){(core::Object?) → dynamic}{dynamic}.foo;
core::Iterable<core::String> elements = <core::String>[];
core::List<dynamic> list = core::List::from<dynamic>(elements);
- core::List::from<dynamic>(elements).{core::Iterable::forEach}((dynamic element) → void => element.foo);
+ core::List::from<dynamic>(elements).{core::Iterable::forEach}((dynamic element) → void => element{dynamic}.foo){((dynamic) → void) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41386b.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41386b.dart.strong.transformed.expect
index 240cc0d..3db24ca 100644
--- a/pkg/front_end/testcases/nnbd/issue41386b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41386b.dart.strong.transformed.expect
@@ -4,9 +4,9 @@
static method test() → void {
core::Map<dynamic, dynamic> map = <dynamic, dynamic>{};
- map.{core::Map::[]}(0).foo;
+ map.{core::Map::[]}(0){(core::Object?) → dynamic}{dynamic}.foo;
core::Iterable<core::String> elements = core::_GrowableList::•<core::String>(0);
core::List<dynamic> list = core::List::from<dynamic>(elements);
- core::List::from<dynamic>(elements).{core::Iterable::forEach}((dynamic element) → void => element.foo);
+ core::List::from<dynamic>(elements).{core::Iterable::forEach}((dynamic element) → void => element{dynamic}.foo){((dynamic) → void) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41386b.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41386b.dart.weak.expect
index 5e52bce..7223846 100644
--- a/pkg/front_end/testcases/nnbd/issue41386b.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41386b.dart.weak.expect
@@ -4,9 +4,9 @@
static method test() → void {
core::Map<dynamic, dynamic> map = <dynamic, dynamic>{};
- map.{core::Map::[]}(0).foo;
+ map.{core::Map::[]}(0){(core::Object?) → dynamic}{dynamic}.foo;
core::Iterable<core::String> elements = <core::String>[];
core::List<dynamic> list = core::List::from<dynamic>(elements);
- core::List::from<dynamic>(elements).{core::Iterable::forEach}((dynamic element) → void => element.foo);
+ core::List::from<dynamic>(elements).{core::Iterable::forEach}((dynamic element) → void => element{dynamic}.foo){((dynamic) → void) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41386b.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41386b.dart.weak.transformed.expect
index 240cc0d..3db24ca 100644
--- a/pkg/front_end/testcases/nnbd/issue41386b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41386b.dart.weak.transformed.expect
@@ -4,9 +4,9 @@
static method test() → void {
core::Map<dynamic, dynamic> map = <dynamic, dynamic>{};
- map.{core::Map::[]}(0).foo;
+ map.{core::Map::[]}(0){(core::Object?) → dynamic}{dynamic}.foo;
core::Iterable<core::String> elements = core::_GrowableList::•<core::String>(0);
core::List<dynamic> list = core::List::from<dynamic>(elements);
- core::List::from<dynamic>(elements).{core::Iterable::forEach}((dynamic element) → void => element.foo);
+ core::List::from<dynamic>(elements).{core::Iterable::forEach}((dynamic element) → void => element{dynamic}.foo){((dynamic) → void) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.expect
index 7c85531..96bb085 100644
--- a/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.expect
@@ -77,18 +77,18 @@
asy::Future<core::bool> var1 = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:31:52: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var1 = (() async => await getNull())(); // error
- ^" in (() → asy::Future<dynamic> async => await self::getNull()).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
- asy::Future<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ ^" in (() → asy::Future<dynamic> async => await self::getNull())(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ asy::Future<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
asy::Future<core::bool> var4 = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:34:58: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var4 = (() async => await getFutureNull())(); // error
- ^" in (() → asy::Future<dynamic> async => await self::getFutureNull()).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ ^" in (() → asy::Future<dynamic> async => await self::getFutureNull())(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
asy::Future<core::bool> var5 = let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:35:46: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var5 = (() => getFutureNull())(); // error
- ^" in (() → asy::Future<dynamic> => self::getFutureNull()).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
- asy::Future<core::bool> var6 = (() → asy::Future<core::bool> => self::getFutureBool()).call();
- asy::Future<core::bool> var7 = (() → asy::Future<core::bool> async => self::getFutureBool()).call();
+ ^" in (() → asy::Future<dynamic> => self::getFutureNull())(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ asy::Future<core::bool> var6 = (() → asy::Future<core::bool> => self::getFutureBool())(){() → asy::Future<core::bool>};
+ asy::Future<core::bool> var7 = (() → asy::Future<core::bool> async => self::getFutureBool())(){() → asy::Future<core::bool>};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect
index 3ffc279..d679fcc 100644
--- a/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect
@@ -322,9 +322,9 @@
:async_op.call();
:is_sync = true;
return :async_future;
- }).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
- asy::Future<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ asy::Future<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
asy::Future<core::bool> var4 = let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:34:58: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var4 = (() async => await getFutureNull())(); // error
@@ -356,12 +356,12 @@
:async_op.call();
:is_sync = true;
return :async_future;
- }).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ })(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
asy::Future<core::bool> var5 = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:35:46: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var5 = (() => getFutureNull())(); // error
- ^" in (() → asy::Future<dynamic> => self::getFutureNull()).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
- asy::Future<core::bool> var6 = (() → asy::Future<core::bool> => self::getFutureBool()).call();
+ ^" in (() → asy::Future<dynamic> => self::getFutureNull())(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ asy::Future<core::bool> var6 = (() → asy::Future<core::bool> => self::getFutureBool())(){() → asy::Future<core::bool>};
asy::Future<core::bool> var7 = (() → asy::Future<core::bool> /* originally async */ {
final asy::_Future<core::bool> :async_future = new asy::_Future::•<core::bool>();
core::bool* :is_sync = false;
@@ -388,7 +388,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- }).call();
+ })(){() → asy::Future<core::bool>};
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
diff --git a/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.expect
index 7c85531..96bb085 100644
--- a/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.expect
@@ -77,18 +77,18 @@
asy::Future<core::bool> var1 = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:31:52: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var1 = (() async => await getNull())(); // error
- ^" in (() → asy::Future<dynamic> async => await self::getNull()).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
- asy::Future<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ ^" in (() → asy::Future<dynamic> async => await self::getNull())(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ asy::Future<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
asy::Future<core::bool> var4 = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:34:58: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var4 = (() async => await getFutureNull())(); // error
- ^" in (() → asy::Future<dynamic> async => await self::getFutureNull()).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ ^" in (() → asy::Future<dynamic> async => await self::getFutureNull())(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
asy::Future<core::bool> var5 = let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:35:46: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var5 = (() => getFutureNull())(); // error
- ^" in (() → asy::Future<dynamic> => self::getFutureNull()).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
- asy::Future<core::bool> var6 = (() → asy::Future<core::bool> => self::getFutureBool()).call();
- asy::Future<core::bool> var7 = (() → asy::Future<core::bool> async => self::getFutureBool()).call();
+ ^" in (() → asy::Future<dynamic> => self::getFutureNull())(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ asy::Future<core::bool> var6 = (() → asy::Future<core::bool> => self::getFutureBool())(){() → asy::Future<core::bool>};
+ asy::Future<core::bool> var7 = (() → asy::Future<core::bool> async => self::getFutureBool())(){() → asy::Future<core::bool>};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect
index 3ffc279..d679fcc 100644
--- a/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect
@@ -322,9 +322,9 @@
:async_op.call();
:is_sync = true;
return :async_future;
- }).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
- asy::Future<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ asy::Future<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
asy::Future<core::bool> var4 = let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:34:58: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var4 = (() async => await getFutureNull())(); // error
@@ -356,12 +356,12 @@
:async_op.call();
:is_sync = true;
return :async_future;
- }).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ })(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
asy::Future<core::bool> var5 = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437a.dart:35:46: Error: A value of type 'Future<dynamic>' can't be assigned to a variable of type 'Future<bool>'.
- 'Future' is from 'dart:async'.
Future<bool> var5 = (() => getFutureNull())(); // error
- ^" in (() → asy::Future<dynamic> => self::getFutureNull()).call() as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
- asy::Future<core::bool> var6 = (() → asy::Future<core::bool> => self::getFutureBool()).call();
+ ^" in (() → asy::Future<dynamic> => self::getFutureNull())(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
+ asy::Future<core::bool> var6 = (() → asy::Future<core::bool> => self::getFutureBool())(){() → asy::Future<core::bool>};
asy::Future<core::bool> var7 = (() → asy::Future<core::bool> /* originally async */ {
final asy::_Future<core::bool> :async_future = new asy::_Future::•<core::bool>();
core::bool* :is_sync = false;
@@ -388,7 +388,7 @@
:async_op.call();
:is_sync = true;
return :async_future;
- }).call();
+ })(){() → asy::Future<core::bool>};
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
diff --git a/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.expect
index fb11d34..1fab4ae 100644
--- a/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.expect
@@ -100,22 +100,22 @@
})(); // error
^" in (() → core::Iterable<dynamic> sync* {
yield self::getNull();
- }).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::Iterable<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::Iterable<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
core::Iterable<core::bool> var4 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437b.dart:54:5: Error: A value of type 'Iterable<dynamic>' can't be assigned to a variable of type 'Iterable<bool>'.
- 'Iterable' is from 'dart:core'.
})(); // error
^" in (() → core::Iterable<dynamic> sync* {
yield* self::getIterableNull();
- }).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ })(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
core::Iterable<core::bool> var5 = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437b.dart:55:50: Error: A value of type 'Iterable<dynamic>' can't be assigned to a variable of type 'Iterable<bool>'.
- 'Iterable' is from 'dart:core'.
Iterable<bool> var5 = (() => getIterableNull())(); // error
- ^" in (() → core::Iterable<dynamic> => self::getIterableNull()).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::Iterable<core::bool> var6 = (() → core::Iterable<core::bool> => self::getIterableBool()).call();
+ ^" in (() → core::Iterable<dynamic> => self::getIterableNull())(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::Iterable<core::bool> var6 = (() → core::Iterable<core::bool> => self::getIterableBool())(){() → core::Iterable<core::bool>};
core::Iterable<core::bool> var7 = (() → core::Iterable<core::bool> sync* {
yield* self::getIterableBool();
- }).call();
+ })(){() → core::Iterable<core::bool>};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect
index fa110f4..ca992db 100644
--- a/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect
@@ -238,9 +238,9 @@
return :sync_op;
}
return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
- }).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::Iterable<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::Iterable<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
core::Iterable<core::bool> var4 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437b.dart:54:5: Error: A value of type 'Iterable<dynamic>' can't be assigned to a variable of type 'Iterable<bool>'.
- 'Iterable' is from 'dart:core'.
})(); // error
@@ -260,12 +260,12 @@
return :sync_op;
}
return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
- }).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ })(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
core::Iterable<core::bool> var5 = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437b.dart:55:50: Error: A value of type 'Iterable<dynamic>' can't be assigned to a variable of type 'Iterable<bool>'.
- 'Iterable' is from 'dart:core'.
Iterable<bool> var5 = (() => getIterableNull())(); // error
- ^" in (() → core::Iterable<dynamic> => self::getIterableNull()).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::Iterable<core::bool> var6 = (() → core::Iterable<core::bool> => self::getIterableBool()).call();
+ ^" in (() → core::Iterable<dynamic> => self::getIterableNull())(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::Iterable<core::bool> var6 = (() → core::Iterable<core::bool> => self::getIterableBool())(){() → core::Iterable<core::bool>};
core::Iterable<core::bool> var7 = (() → core::Iterable<core::bool> /* originally sync* */ {
function :sync_op_gen() → (core::_SyncIterator<dynamic>?, dynamic, dynamic) → core::bool* {
core::int :await_jump_var = 0;
@@ -282,7 +282,7 @@
return :sync_op;
}
return new core::_SyncIterable::•<core::bool>(:sync_op_gen);
- }).call();
+ })(){() → core::Iterable<core::bool>};
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
diff --git a/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.expect
index fb11d34..1fab4ae 100644
--- a/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.expect
@@ -100,22 +100,22 @@
})(); // error
^" in (() → core::Iterable<dynamic> sync* {
yield self::getNull();
- }).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::Iterable<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::Iterable<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
core::Iterable<core::bool> var4 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437b.dart:54:5: Error: A value of type 'Iterable<dynamic>' can't be assigned to a variable of type 'Iterable<bool>'.
- 'Iterable' is from 'dart:core'.
})(); // error
^" in (() → core::Iterable<dynamic> sync* {
yield* self::getIterableNull();
- }).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ })(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
core::Iterable<core::bool> var5 = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437b.dart:55:50: Error: A value of type 'Iterable<dynamic>' can't be assigned to a variable of type 'Iterable<bool>'.
- 'Iterable' is from 'dart:core'.
Iterable<bool> var5 = (() => getIterableNull())(); // error
- ^" in (() → core::Iterable<dynamic> => self::getIterableNull()).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::Iterable<core::bool> var6 = (() → core::Iterable<core::bool> => self::getIterableBool()).call();
+ ^" in (() → core::Iterable<dynamic> => self::getIterableNull())(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::Iterable<core::bool> var6 = (() → core::Iterable<core::bool> => self::getIterableBool())(){() → core::Iterable<core::bool>};
core::Iterable<core::bool> var7 = (() → core::Iterable<core::bool> sync* {
yield* self::getIterableBool();
- }).call();
+ })(){() → core::Iterable<core::bool>};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect
index fa110f4..ca992db 100644
--- a/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect
@@ -238,9 +238,9 @@
return :sync_op;
}
return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
- }).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::Iterable<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::Iterable<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
core::Iterable<core::bool> var4 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437b.dart:54:5: Error: A value of type 'Iterable<dynamic>' can't be assigned to a variable of type 'Iterable<bool>'.
- 'Iterable' is from 'dart:core'.
})(); // error
@@ -260,12 +260,12 @@
return :sync_op;
}
return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
- }).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ })(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
core::Iterable<core::bool> var5 = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437b.dart:55:50: Error: A value of type 'Iterable<dynamic>' can't be assigned to a variable of type 'Iterable<bool>'.
- 'Iterable' is from 'dart:core'.
Iterable<bool> var5 = (() => getIterableNull())(); // error
- ^" in (() → core::Iterable<dynamic> => self::getIterableNull()).call() as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
- core::Iterable<core::bool> var6 = (() → core::Iterable<core::bool> => self::getIterableBool()).call();
+ ^" in (() → core::Iterable<dynamic> => self::getIterableNull())(){() → core::Iterable<dynamic>} as{TypeError,ForNonNullableByDefault} core::Iterable<core::bool>;
+ core::Iterable<core::bool> var6 = (() → core::Iterable<core::bool> => self::getIterableBool())(){() → core::Iterable<core::bool>};
core::Iterable<core::bool> var7 = (() → core::Iterable<core::bool> /* originally sync* */ {
function :sync_op_gen() → (core::_SyncIterator<dynamic>?, dynamic, dynamic) → core::bool* {
core::int :await_jump_var = 0;
@@ -282,7 +282,7 @@
return :sync_op;
}
return new core::_SyncIterable::•<core::bool>(:sync_op_gen);
- }).call();
+ })(){() → core::Iterable<core::bool>};
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
diff --git a/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.expect
index 1a6f68b..20ef075 100644
--- a/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.expect
@@ -101,22 +101,22 @@
})(); // error
^" in (() → asy::Stream<dynamic> async* {
yield self::getNull();
- }).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
- asy::Stream<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ asy::Stream<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
asy::Stream<core::bool> var4 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:54:5: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
})(); // error
^" in (() → asy::Stream<dynamic> async* {
yield* self::getStreamNull();
- }).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ })(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
asy::Stream<core::bool> var5 = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:55:46: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
Stream<bool> var5 = (() => getStreamNull())(); // error
- ^" in (() → asy::Stream<dynamic> => self::getStreamNull()).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
- asy::Stream<core::bool> var6 = (() → asy::Stream<core::bool> => self::getStreamBool()).call();
+ ^" in (() → asy::Stream<dynamic> => self::getStreamNull())(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ asy::Stream<core::bool> var6 = (() → asy::Stream<core::bool> => self::getStreamBool())(){() → asy::Stream<core::bool>};
asy::Stream<core::bool> var7 = (() → asy::Stream<core::bool> async* {
yield* self::getStreamBool();
- }).call();
+ })(){() → asy::Stream<core::bool>};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect
index 8aef3f8..1fd1038 100644
--- a/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect
@@ -382,9 +382,9 @@
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
return :controller_stream;
- }).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
- asy::Stream<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ asy::Stream<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
asy::Stream<core::bool> var4 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:54:5: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
})(); // error
@@ -420,12 +420,12 @@
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
return :controller_stream;
- }).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ })(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
asy::Stream<core::bool> var5 = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:55:46: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
Stream<bool> var5 = (() => getStreamNull())(); // error
- ^" in (() → asy::Stream<dynamic> => self::getStreamNull()).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
- asy::Stream<core::bool> var6 = (() → asy::Stream<core::bool> => self::getStreamBool()).call();
+ ^" in (() → asy::Stream<dynamic> => self::getStreamNull())(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ asy::Stream<core::bool> var6 = (() → asy::Stream<core::bool> => self::getStreamBool())(){() → asy::Stream<core::bool>};
asy::Stream<core::bool> var7 = (() → asy::Stream<core::bool> /* originally async* */ {
asy::_AsyncStarStreamController<core::bool>? :controller;
dynamic :controller_stream;
@@ -458,7 +458,7 @@
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
return :controller_stream;
- }).call();
+ })(){() → asy::Stream<core::bool>};
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
diff --git a/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.expect
index 1a6f68b..20ef075 100644
--- a/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.expect
@@ -101,22 +101,22 @@
})(); // error
^" in (() → asy::Stream<dynamic> async* {
yield self::getNull();
- }).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
- asy::Stream<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ asy::Stream<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
asy::Stream<core::bool> var4 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:54:5: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
})(); // error
^" in (() → asy::Stream<dynamic> async* {
yield* self::getStreamNull();
- }).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ })(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
asy::Stream<core::bool> var5 = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:55:46: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
Stream<bool> var5 = (() => getStreamNull())(); // error
- ^" in (() → asy::Stream<dynamic> => self::getStreamNull()).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
- asy::Stream<core::bool> var6 = (() → asy::Stream<core::bool> => self::getStreamBool()).call();
+ ^" in (() → asy::Stream<dynamic> => self::getStreamNull())(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ asy::Stream<core::bool> var6 = (() → asy::Stream<core::bool> => self::getStreamBool())(){() → asy::Stream<core::bool>};
asy::Stream<core::bool> var7 = (() → asy::Stream<core::bool> async* {
yield* self::getStreamBool();
- }).call();
+ })(){() → asy::Stream<core::bool>};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect
index 8aef3f8..1fd1038 100644
--- a/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect
@@ -382,9 +382,9 @@
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
return :controller_stream;
- }).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
- asy::Stream<core::bool> var2 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
- core::bool var3 = (() → dynamic => self::getNull()).call() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+ })(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ asy::Stream<core::bool> var2 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
+ core::bool var3 = (() → dynamic => self::getNull())() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
asy::Stream<core::bool> var4 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:54:5: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
})(); // error
@@ -420,12 +420,12 @@
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
return :controller_stream;
- }).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ })(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
asy::Stream<core::bool> var5 = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:55:46: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
Stream<bool> var5 = (() => getStreamNull())(); // error
- ^" in (() → asy::Stream<dynamic> => self::getStreamNull()).call() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
- asy::Stream<core::bool> var6 = (() → asy::Stream<core::bool> => self::getStreamBool()).call();
+ ^" in (() → asy::Stream<dynamic> => self::getStreamNull())(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
+ asy::Stream<core::bool> var6 = (() → asy::Stream<core::bool> => self::getStreamBool())(){() → asy::Stream<core::bool>};
asy::Stream<core::bool> var7 = (() → asy::Stream<core::bool> /* originally async* */ {
asy::_AsyncStarStreamController<core::bool>? :controller;
dynamic :controller_stream;
@@ -458,7 +458,7 @@
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
return :controller_stream;
- }).call();
+ })(){() → asy::Stream<core::bool>};
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
diff --git a/pkg/front_end/testcases/nnbd/issue41495.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41495.dart.strong.expect
index 2191477..0341432 100644
--- a/pkg/front_end/testcases/nnbd/issue41495.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41495.dart.strong.expect
@@ -32,10 +32,10 @@
- 'A' is from 'pkg/front_end/testcases/nnbd/issue41495.dart'.
Try accessing using ?. instead.
a1.c1;
- ^^" in a1.{self::A::c1};
+ ^^" in a1.{self::A::c1}{<nullable>}.{core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41495.dart:15:6: Error: Property 'test' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/issue41495.dart'.
Try accessing using ?. instead.
a1.test;
- ^^^^" in a1.{self::A::test};
+ ^^^^" in a1.{self::A::test}{<nullable>}.{() → core::int};
}
diff --git a/pkg/front_end/testcases/nnbd/issue41495.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41495.dart.strong.transformed.expect
index 64e62d6..0ed1268 100644
--- a/pkg/front_end/testcases/nnbd/issue41495.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41495.dart.strong.transformed.expect
@@ -32,10 +32,10 @@
- 'A' is from 'pkg/front_end/testcases/nnbd/issue41495.dart'.
Try accessing using ?. instead.
a1.c1;
- ^^" in a1.{self::A::c1};
+ ^^" in a1.{self::A::c1}{<nullable>}.{core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41495.dart:15:6: Error: Property 'test' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/issue41495.dart'.
Try accessing using ?. instead.
a1.test;
- ^^^^" in a1.{self::A::test};
+ ^^^^" in a1.{self::A::test}{<nullable>}.{() → core::int};
}
diff --git a/pkg/front_end/testcases/nnbd/issue41495.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41495.dart.weak.expect
index 2191477..0341432 100644
--- a/pkg/front_end/testcases/nnbd/issue41495.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41495.dart.weak.expect
@@ -32,10 +32,10 @@
- 'A' is from 'pkg/front_end/testcases/nnbd/issue41495.dart'.
Try accessing using ?. instead.
a1.c1;
- ^^" in a1.{self::A::c1};
+ ^^" in a1.{self::A::c1}{<nullable>}.{core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41495.dart:15:6: Error: Property 'test' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/issue41495.dart'.
Try accessing using ?. instead.
a1.test;
- ^^^^" in a1.{self::A::test};
+ ^^^^" in a1.{self::A::test}{<nullable>}.{() → core::int};
}
diff --git a/pkg/front_end/testcases/nnbd/issue41495.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41495.dart.weak.transformed.expect
index 64e62d6..0ed1268 100644
--- a/pkg/front_end/testcases/nnbd/issue41495.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41495.dart.weak.transformed.expect
@@ -32,10 +32,10 @@
- 'A' is from 'pkg/front_end/testcases/nnbd/issue41495.dart'.
Try accessing using ?. instead.
a1.c1;
- ^^" in a1.{self::A::c1};
+ ^^" in a1.{self::A::c1}{<nullable>}.{core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41495.dart:15:6: Error: Property 'test' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/issue41495.dart'.
Try accessing using ?. instead.
a1.test;
- ^^^^" in a1.{self::A::test};
+ ^^^^" in a1.{self::A::test}{<nullable>}.{() → core::int};
}
diff --git a/pkg/front_end/testcases/nnbd/issue41657.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41657.dart.strong.expect
index b2b28aa..5ff7987 100644
--- a/pkg/front_end/testcases/nnbd/issue41657.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41657.dart.strong.expect
@@ -40,7 +40,7 @@
self::expect(self::isLegacySubtyping2a, #C1);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue41657.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41657.dart.strong.transformed.expect
index 0099f42..0dd695c 100644
--- a/pkg/front_end/testcases/nnbd/issue41657.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41657.dart.strong.transformed.expect
@@ -40,7 +40,7 @@
self::expect(self::isLegacySubtyping2a, #C1);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue41657.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41657.dart.weak.expect
index 574dddd..d4bfe7f 100644
--- a/pkg/front_end/testcases/nnbd/issue41657.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41657.dart.weak.expect
@@ -13,7 +13,7 @@
self::expect(self::isLegacySubtyping2a, #C1);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue41657.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41657.dart.weak.transformed.expect
index c5fa19e..cd01d76 100644
--- a/pkg/front_end/testcases/nnbd/issue41657.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41657.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
self::expect(self::isLegacySubtyping2a, #C1);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue41697.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41697.dart.strong.expect
index f04b2c9..c36ec72 100644
--- a/pkg/front_end/testcases/nnbd/issue41697.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697.dart.strong.expect
@@ -31,26 +31,26 @@
}
static method test1(self::C<core::num> c) → dynamic {
<S extends core::num>(S) → core::num f1 = c.{self::C::field1} = <S extends core::num>(S s) → core::num {
- return s.{core::num::+}(1);
+ return s.{core::num::+}(1){(core::num) → core::num};
};
<S extends FutureOr<core::num>>(S, FutureOr<core::num>) → asy::Future<core::num> f2 = c.{self::C::field2} = <S extends FutureOr<core::num>>(S s, FutureOr<core::num>t) → asy::Future<core::num> async {
- return (await t).{core::num::+}(1);
+ return (await t).{core::num::+}(1){(core::num) → core::num};
};
}
static method test2(self::C<core::num?> c) → dynamic {
<S extends core::num?>(S%) → core::num f1 = c.{self::C::field1} = <S extends core::num?>(S% s) → core::num {
return let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:33:14: Error: Operator '+' cannot be called on 'S' because it is potentially null.
return s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
};
<S extends FutureOr<core::num?>>(S%, FutureOr<core::num?>) → asy::Future<core::num> f2 = c.{self::C::field2} = <S extends FutureOr<core::num?>>(S% s, FutureOr<core::num?>t) → asy::Future<core::num> async {
return let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:36:22: Error: Operator '+' cannot be called on 'num?' because it is potentially null.
return (await t) + 1; // error
- ^" in (await t).{core::num::+}(1);
+ ^" in (await t).{core::num::+}(1){(core::num) → core::num};
};
}
static method test3<S extends core::num?>(self::test3::S% s) → dynamic
return let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:40:33: Error: Operator '+' cannot be called on 'S' because it is potentially null.
test3<S extends num?>(S s) => s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect
index 7d2ec63..aef590c 100644
--- a/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect
@@ -32,7 +32,7 @@
}
static method test1(self::C<core::num> c) → dynamic {
<S extends core::num>(S) → core::num f1 = c.{self::C::field1} = <S extends core::num>(S s) → core::num {
- return s.{core::num::+}(1);
+ return s.{core::num::+}(1){(core::num) → core::num};
};
<S extends FutureOr<core::num>>(S, FutureOr<core::num>) → asy::Future<core::num> f2 = c.{self::C::field2} = <S extends FutureOr<core::num>>(S s, FutureOr<core::num>t) → asy::Future<core::num> /* originally async */ {
final asy::_Future<core::num> :async_future = new asy::_Future::•<core::num>();
@@ -48,7 +48,7 @@
#L1:
{
[yield] let dynamic #t1 = asy::_awaitHelper(t, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::num>(:result).{core::num::+}(1);
+ :return_value = _in::unsafeCast<core::num>(:result).{core::num::+}(1){(core::num) → core::num};
break #L1;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -68,7 +68,7 @@
<S extends core::num?>(S%) → core::num f1 = c.{self::C::field1} = <S extends core::num?>(S% s) → core::num {
return let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:33:14: Error: Operator '+' cannot be called on 'S' because it is potentially null.
return s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
};
<S extends FutureOr<core::num?>>(S%, FutureOr<core::num?>) → asy::Future<core::num> f2 = c.{self::C::field2} = <S extends FutureOr<core::num?>>(S% s, FutureOr<core::num?>t) → asy::Future<core::num> /* originally async */ {
final asy::_Future<core::num> :async_future = new asy::_Future::•<core::num>();
@@ -87,7 +87,7 @@
return (await t) + 1; // error
^";
[yield] let dynamic #t4 = asy::_awaitHelper(t, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::num?>(:result).{core::num::+}(1);
+ :return_value = _in::unsafeCast<core::num?>(:result).{core::num::+}(1){(core::num) → core::num};
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -106,5 +106,5 @@
static method test3<S extends core::num?>(self::test3::S% s) → dynamic
return let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:40:33: Error: Operator '+' cannot be called on 'S' because it is potentially null.
test3<S extends num?>(S s) => s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41697.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41697.dart.weak.expect
index f04b2c9..c36ec72 100644
--- a/pkg/front_end/testcases/nnbd/issue41697.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697.dart.weak.expect
@@ -31,26 +31,26 @@
}
static method test1(self::C<core::num> c) → dynamic {
<S extends core::num>(S) → core::num f1 = c.{self::C::field1} = <S extends core::num>(S s) → core::num {
- return s.{core::num::+}(1);
+ return s.{core::num::+}(1){(core::num) → core::num};
};
<S extends FutureOr<core::num>>(S, FutureOr<core::num>) → asy::Future<core::num> f2 = c.{self::C::field2} = <S extends FutureOr<core::num>>(S s, FutureOr<core::num>t) → asy::Future<core::num> async {
- return (await t).{core::num::+}(1);
+ return (await t).{core::num::+}(1){(core::num) → core::num};
};
}
static method test2(self::C<core::num?> c) → dynamic {
<S extends core::num?>(S%) → core::num f1 = c.{self::C::field1} = <S extends core::num?>(S% s) → core::num {
return let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:33:14: Error: Operator '+' cannot be called on 'S' because it is potentially null.
return s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
};
<S extends FutureOr<core::num?>>(S%, FutureOr<core::num?>) → asy::Future<core::num> f2 = c.{self::C::field2} = <S extends FutureOr<core::num?>>(S% s, FutureOr<core::num?>t) → asy::Future<core::num> async {
return let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:36:22: Error: Operator '+' cannot be called on 'num?' because it is potentially null.
return (await t) + 1; // error
- ^" in (await t).{core::num::+}(1);
+ ^" in (await t).{core::num::+}(1){(core::num) → core::num};
};
}
static method test3<S extends core::num?>(self::test3::S% s) → dynamic
return let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:40:33: Error: Operator '+' cannot be called on 'S' because it is potentially null.
test3<S extends num?>(S s) => s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect
index 7d2ec63..aef590c 100644
--- a/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect
@@ -32,7 +32,7 @@
}
static method test1(self::C<core::num> c) → dynamic {
<S extends core::num>(S) → core::num f1 = c.{self::C::field1} = <S extends core::num>(S s) → core::num {
- return s.{core::num::+}(1);
+ return s.{core::num::+}(1){(core::num) → core::num};
};
<S extends FutureOr<core::num>>(S, FutureOr<core::num>) → asy::Future<core::num> f2 = c.{self::C::field2} = <S extends FutureOr<core::num>>(S s, FutureOr<core::num>t) → asy::Future<core::num> /* originally async */ {
final asy::_Future<core::num> :async_future = new asy::_Future::•<core::num>();
@@ -48,7 +48,7 @@
#L1:
{
[yield] let dynamic #t1 = asy::_awaitHelper(t, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::num>(:result).{core::num::+}(1);
+ :return_value = _in::unsafeCast<core::num>(:result).{core::num::+}(1){(core::num) → core::num};
break #L1;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -68,7 +68,7 @@
<S extends core::num?>(S%) → core::num f1 = c.{self::C::field1} = <S extends core::num?>(S% s) → core::num {
return let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:33:14: Error: Operator '+' cannot be called on 'S' because it is potentially null.
return s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
};
<S extends FutureOr<core::num?>>(S%, FutureOr<core::num?>) → asy::Future<core::num> f2 = c.{self::C::field2} = <S extends FutureOr<core::num?>>(S% s, FutureOr<core::num?>t) → asy::Future<core::num> /* originally async */ {
final asy::_Future<core::num> :async_future = new asy::_Future::•<core::num>();
@@ -87,7 +87,7 @@
return (await t) + 1; // error
^";
[yield] let dynamic #t4 = asy::_awaitHelper(t, :async_op_then, :async_op_error, :async_op) in null;
- :return_value = _in::unsafeCast<core::num?>(:result).{core::num::+}(1);
+ :return_value = _in::unsafeCast<core::num?>(:result).{core::num::+}(1){(core::num) → core::num};
break #L2;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
@@ -106,5 +106,5 @@
static method test3<S extends core::num?>(self::test3::S% s) → dynamic
return let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697.dart:40:33: Error: Operator '+' cannot be called on 'S' because it is potentially null.
test3<S extends num?>(S s) => s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41697b.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue41697b.dart.strong.expect
index 588916e..62b372d 100644
--- a/pkg/front_end/testcases/nnbd/issue41697b.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697b.dart.strong.expect
@@ -14,19 +14,19 @@
import "dart:core" as core;
static method test1<S extends core::num>(self::test1::S s) → dynamic {
- core::num t = s.{core::num::+}(1);
+ core::num t = s.{core::num::+}(1){(core::num) → core::num};
}
static method test2<S extends core::num?>(self::test2::S% s) → dynamic {
core::num t = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697b.dart:10:13: Error: Operator '+' cannot be called on 'S' because it is potentially null.
var t = s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
}
static method test3<S extends core::int>(self::test3::S s) → dynamic {
- core::int t = s.{core::num::+}(1);
+ core::int t = s.{core::num::+}(1){(core::num) → core::int};
}
static method test4<S extends core::int?>(self::test4::S% s) → dynamic {
core::num t = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697b.dart:18:13: Error: Operator '+' cannot be called on 'S' because it is potentially null.
var t = s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41697b.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41697b.dart.strong.transformed.expect
index 588916e..62b372d 100644
--- a/pkg/front_end/testcases/nnbd/issue41697b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697b.dart.strong.transformed.expect
@@ -14,19 +14,19 @@
import "dart:core" as core;
static method test1<S extends core::num>(self::test1::S s) → dynamic {
- core::num t = s.{core::num::+}(1);
+ core::num t = s.{core::num::+}(1){(core::num) → core::num};
}
static method test2<S extends core::num?>(self::test2::S% s) → dynamic {
core::num t = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697b.dart:10:13: Error: Operator '+' cannot be called on 'S' because it is potentially null.
var t = s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
}
static method test3<S extends core::int>(self::test3::S s) → dynamic {
- core::int t = s.{core::num::+}(1);
+ core::int t = s.{core::num::+}(1){(core::num) → core::int};
}
static method test4<S extends core::int?>(self::test4::S% s) → dynamic {
core::num t = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697b.dart:18:13: Error: Operator '+' cannot be called on 'S' because it is potentially null.
var t = s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41697b.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue41697b.dart.weak.expect
index 588916e..62b372d 100644
--- a/pkg/front_end/testcases/nnbd/issue41697b.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697b.dart.weak.expect
@@ -14,19 +14,19 @@
import "dart:core" as core;
static method test1<S extends core::num>(self::test1::S s) → dynamic {
- core::num t = s.{core::num::+}(1);
+ core::num t = s.{core::num::+}(1){(core::num) → core::num};
}
static method test2<S extends core::num?>(self::test2::S% s) → dynamic {
core::num t = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697b.dart:10:13: Error: Operator '+' cannot be called on 'S' because it is potentially null.
var t = s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
}
static method test3<S extends core::int>(self::test3::S s) → dynamic {
- core::int t = s.{core::num::+}(1);
+ core::int t = s.{core::num::+}(1){(core::num) → core::int};
}
static method test4<S extends core::int?>(self::test4::S% s) → dynamic {
core::num t = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697b.dart:18:13: Error: Operator '+' cannot be called on 'S' because it is potentially null.
var t = s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue41697b.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41697b.dart.weak.transformed.expect
index 588916e..62b372d 100644
--- a/pkg/front_end/testcases/nnbd/issue41697b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697b.dart.weak.transformed.expect
@@ -14,19 +14,19 @@
import "dart:core" as core;
static method test1<S extends core::num>(self::test1::S s) → dynamic {
- core::num t = s.{core::num::+}(1);
+ core::num t = s.{core::num::+}(1){(core::num) → core::num};
}
static method test2<S extends core::num?>(self::test2::S% s) → dynamic {
core::num t = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697b.dart:10:13: Error: Operator '+' cannot be called on 'S' because it is potentially null.
var t = s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
}
static method test3<S extends core::int>(self::test3::S s) → dynamic {
- core::int t = s.{core::num::+}(1);
+ core::int t = s.{core::num::+}(1){(core::num) → core::int};
}
static method test4<S extends core::int?>(self::test4::S% s) → dynamic {
core::num t = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/issue41697b.dart:18:13: Error: Operator '+' cannot be called on 'S' because it is potentially null.
var t = s + 1; // error
- ^" in s.{core::num::+}(1);
+ ^" in s.{core::num::+}(1){(core::num) → core::num};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42504.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42504.dart.strong.expect
index 8c4ad4f..62138bc 100644
--- a/pkg/front_end/testcases/nnbd/issue42504.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42504.dart.strong.expect
@@ -18,20 +18,20 @@
;
abstract get _pendingImages() → dynamic;
method putIfAbsent(core::Object key, () → self::ImageStreamCompleter loader) → self::ImageStreamCompleter? {
- assert(!key.{core::Object::==}(null));
- assert(!loader.{core::Object::==}(null));
- self::ImageStreamCompleter? result = (let final dynamic #t1 = this.{self::Foo::_pendingImages}.[](key) in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.completer) as{TypeError,ForDynamic,ForNonNullableByDefault} self::ImageStreamCompleter?;
- if(!result.{core::Object::==}(null)) {
+ assert(!(key == null));
+ assert(!(loader == null));
+ self::ImageStreamCompleter? result = (let final dynamic #t1 = this.{self::Foo::_pendingImages}{dynamic}{dynamic}.[](key) in #t1 == null ?{dynamic} null : #t1{dynamic}.completer) as{TypeError,ForDynamic,ForNonNullableByDefault} self::ImageStreamCompleter?;
+ if(!(result == null)) {
return result{self::ImageStreamCompleter};
}
try {
- result = loader.call();
+ result = loader(){() → self::ImageStreamCompleter};
self::_LiveImage::•(result{self::ImageStreamCompleter});
}
on core::Object catch(final core::Object error) {
return null;
}
- result{self::ImageStreamCompleter}.{self::ImageStreamCompleter::addListener}();
+ result{self::ImageStreamCompleter}.{self::ImageStreamCompleter::addListener}(){() → void};
return result{self::ImageStreamCompleter};
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue42504.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42504.dart.strong.transformed.expect
index 8c4ad4f..62138bc 100644
--- a/pkg/front_end/testcases/nnbd/issue42504.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42504.dart.strong.transformed.expect
@@ -18,20 +18,20 @@
;
abstract get _pendingImages() → dynamic;
method putIfAbsent(core::Object key, () → self::ImageStreamCompleter loader) → self::ImageStreamCompleter? {
- assert(!key.{core::Object::==}(null));
- assert(!loader.{core::Object::==}(null));
- self::ImageStreamCompleter? result = (let final dynamic #t1 = this.{self::Foo::_pendingImages}.[](key) in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.completer) as{TypeError,ForDynamic,ForNonNullableByDefault} self::ImageStreamCompleter?;
- if(!result.{core::Object::==}(null)) {
+ assert(!(key == null));
+ assert(!(loader == null));
+ self::ImageStreamCompleter? result = (let final dynamic #t1 = this.{self::Foo::_pendingImages}{dynamic}{dynamic}.[](key) in #t1 == null ?{dynamic} null : #t1{dynamic}.completer) as{TypeError,ForDynamic,ForNonNullableByDefault} self::ImageStreamCompleter?;
+ if(!(result == null)) {
return result{self::ImageStreamCompleter};
}
try {
- result = loader.call();
+ result = loader(){() → self::ImageStreamCompleter};
self::_LiveImage::•(result{self::ImageStreamCompleter});
}
on core::Object catch(final core::Object error) {
return null;
}
- result{self::ImageStreamCompleter}.{self::ImageStreamCompleter::addListener}();
+ result{self::ImageStreamCompleter}.{self::ImageStreamCompleter::addListener}(){() → void};
return result{self::ImageStreamCompleter};
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue42504.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42504.dart.weak.expect
index 8c4ad4f..62138bc 100644
--- a/pkg/front_end/testcases/nnbd/issue42504.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42504.dart.weak.expect
@@ -18,20 +18,20 @@
;
abstract get _pendingImages() → dynamic;
method putIfAbsent(core::Object key, () → self::ImageStreamCompleter loader) → self::ImageStreamCompleter? {
- assert(!key.{core::Object::==}(null));
- assert(!loader.{core::Object::==}(null));
- self::ImageStreamCompleter? result = (let final dynamic #t1 = this.{self::Foo::_pendingImages}.[](key) in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.completer) as{TypeError,ForDynamic,ForNonNullableByDefault} self::ImageStreamCompleter?;
- if(!result.{core::Object::==}(null)) {
+ assert(!(key == null));
+ assert(!(loader == null));
+ self::ImageStreamCompleter? result = (let final dynamic #t1 = this.{self::Foo::_pendingImages}{dynamic}{dynamic}.[](key) in #t1 == null ?{dynamic} null : #t1{dynamic}.completer) as{TypeError,ForDynamic,ForNonNullableByDefault} self::ImageStreamCompleter?;
+ if(!(result == null)) {
return result{self::ImageStreamCompleter};
}
try {
- result = loader.call();
+ result = loader(){() → self::ImageStreamCompleter};
self::_LiveImage::•(result{self::ImageStreamCompleter});
}
on core::Object catch(final core::Object error) {
return null;
}
- result{self::ImageStreamCompleter}.{self::ImageStreamCompleter::addListener}();
+ result{self::ImageStreamCompleter}.{self::ImageStreamCompleter::addListener}(){() → void};
return result{self::ImageStreamCompleter};
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue42504.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42504.dart.weak.transformed.expect
index 8c4ad4f..62138bc 100644
--- a/pkg/front_end/testcases/nnbd/issue42504.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42504.dart.weak.transformed.expect
@@ -18,20 +18,20 @@
;
abstract get _pendingImages() → dynamic;
method putIfAbsent(core::Object key, () → self::ImageStreamCompleter loader) → self::ImageStreamCompleter? {
- assert(!key.{core::Object::==}(null));
- assert(!loader.{core::Object::==}(null));
- self::ImageStreamCompleter? result = (let final dynamic #t1 = this.{self::Foo::_pendingImages}.[](key) in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.completer) as{TypeError,ForDynamic,ForNonNullableByDefault} self::ImageStreamCompleter?;
- if(!result.{core::Object::==}(null)) {
+ assert(!(key == null));
+ assert(!(loader == null));
+ self::ImageStreamCompleter? result = (let final dynamic #t1 = this.{self::Foo::_pendingImages}{dynamic}{dynamic}.[](key) in #t1 == null ?{dynamic} null : #t1{dynamic}.completer) as{TypeError,ForDynamic,ForNonNullableByDefault} self::ImageStreamCompleter?;
+ if(!(result == null)) {
return result{self::ImageStreamCompleter};
}
try {
- result = loader.call();
+ result = loader(){() → self::ImageStreamCompleter};
self::_LiveImage::•(result{self::ImageStreamCompleter});
}
on core::Object catch(final core::Object error) {
return null;
}
- result{self::ImageStreamCompleter}.{self::ImageStreamCompleter::addListener}();
+ result{self::ImageStreamCompleter}.{self::ImageStreamCompleter::addListener}(){() → void};
return result{self::ImageStreamCompleter};
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue42546.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42546.dart.strong.expect
index 54202ea..cb4208d 100644
--- a/pkg/front_end/testcases/nnbd/issue42546.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42546.dart.strong.expect
@@ -27,15 +27,15 @@
method noSuchMethod(core::Invocation invocation) → dynamic
return super.{core::Object::noSuchMethod}(invocation);
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function onError, {(core::Object) →? core::bool test = #C1}) → asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() → FutureOr<void>action) → asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration timeLimit, {generic-covariant-impl () →? FutureOr<self::Divergent<self::Divergent<self::Divergent::T%>>>onTimeout = #C1}) → asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ then<R extends core::Object? = dynamic>((self::Divergent<self::Divergent<self::Divergent::T%>>) → FutureOr<self::Divergent::then::R%>onValue, {core::Function? onError = #C1}) → asy::Future<self::Divergent::then::R%>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, core::List::unmodifiable<core::Type*>(<core::Type*>[self::Divergent::then::R%]), core::List::unmodifiable<dynamic>(<dynamic>[onValue]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C11: onError}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent::then::R%>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, core::List::unmodifiable<core::Type*>(<core::Type*>[self::Divergent::then::R%]), core::List::unmodifiable<dynamic>(<dynamic>[onValue]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C11: onError}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent::then::R%>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<self::Divergent<self::Divergent<self::Divergent::T%>>>;
}
static method test() → dynamic async {
asy::Future<self::Divergent<self::Divergent<core::int>>> x = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue42546.dart:14:75: Error: A value of type 'Future<Divergent<Divergent<Divergent<int>>>>' can't be assigned to a variable of type 'Future<Divergent<Divergent<int>>>'.
@@ -46,7 +46,7 @@
- 'Divergent' is from 'pkg/front_end/testcases/nnbd/issue42546.dart'.
- 'Future' is from 'dart:async'.
Future<Divergent<Divergent<int>>> x = (() async => new Divergent<int>())();
- ^" in new self::Divergent::•<core::int>() as{TypeError,ForNonNullableByDefault} self::Divergent<self::Divergent<self::Divergent<core::int>>>).call() as{TypeError,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<core::int>>>;
+ ^" in new self::Divergent::•<core::int>() as{TypeError,ForNonNullableByDefault} self::Divergent<self::Divergent<self::Divergent<core::int>>>)(){() → asy::Future<self::Divergent<self::Divergent<self::Divergent<core::int>>>>} as{TypeError,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<core::int>>>;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42546.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42546.dart.weak.expect
index 54202ea..cb4208d 100644
--- a/pkg/front_end/testcases/nnbd/issue42546.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42546.dart.weak.expect
@@ -27,15 +27,15 @@
method noSuchMethod(core::Invocation invocation) → dynamic
return super.{core::Object::noSuchMethod}(invocation);
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function onError, {(core::Object) →? core::bool test = #C1}) → asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() → FutureOr<void>action) → asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration timeLimit, {generic-covariant-impl () →? FutureOr<self::Divergent<self::Divergent<self::Divergent::T%>>>onTimeout = #C1}) → asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ then<R extends core::Object? = dynamic>((self::Divergent<self::Divergent<self::Divergent::T%>>) → FutureOr<self::Divergent::then::R%>onValue, {core::Function? onError = #C1}) → asy::Future<self::Divergent::then::R%>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, core::List::unmodifiable<core::Type*>(<core::Type*>[self::Divergent::then::R%]), core::List::unmodifiable<dynamic>(<dynamic>[onValue]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C11: onError}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent::then::R%>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, core::List::unmodifiable<core::Type*>(<core::Type*>[self::Divergent::then::R%]), core::List::unmodifiable<dynamic>(<dynamic>[onValue]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C11: onError}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent::then::R%>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<self::Divergent<self::Divergent<self::Divergent::T%>>>;
}
static method test() → dynamic async {
asy::Future<self::Divergent<self::Divergent<core::int>>> x = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue42546.dart:14:75: Error: A value of type 'Future<Divergent<Divergent<Divergent<int>>>>' can't be assigned to a variable of type 'Future<Divergent<Divergent<int>>>'.
@@ -46,7 +46,7 @@
- 'Divergent' is from 'pkg/front_end/testcases/nnbd/issue42546.dart'.
- 'Future' is from 'dart:async'.
Future<Divergent<Divergent<int>>> x = (() async => new Divergent<int>())();
- ^" in new self::Divergent::•<core::int>() as{TypeError,ForNonNullableByDefault} self::Divergent<self::Divergent<self::Divergent<core::int>>>).call() as{TypeError,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<core::int>>>;
+ ^" in new self::Divergent::•<core::int>() as{TypeError,ForNonNullableByDefault} self::Divergent<self::Divergent<self::Divergent<core::int>>>)(){() → asy::Future<self::Divergent<self::Divergent<self::Divergent<core::int>>>>} as{TypeError,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<core::int>>>;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42546.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/issue42546.dart.weak.outline.expect
index 819fad7..dd671d9 100644
--- a/pkg/front_end/testcases/nnbd/issue42546.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd/issue42546.dart.weak.outline.expect
@@ -11,15 +11,15 @@
method noSuchMethod(core::Invocation invocation) → dynamic
;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function onError, {(core::Object) →? core::bool test}) → asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#catchError, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#test: test}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() → FutureOr<void>action) → asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#whenComplete, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration timeLimit, {generic-covariant-impl () →? FutureOr<self::Divergent<self::Divergent<self::Divergent::T%>>>onTimeout}) → asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#timeout, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onTimeout: onTimeout}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent<self::Divergent<self::Divergent::T%>>>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ then<R extends core::Object? = dynamic>((self::Divergent<self::Divergent<self::Divergent::T%>>) → FutureOr<self::Divergent::then::R%>onValue, {core::Function? onError}) → asy::Future<self::Divergent::then::R%>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#then, 0, core::List::unmodifiable<core::Type*>(<core::Type*>[self::Divergent::then::R%]), core::List::unmodifiable<dynamic>(<dynamic>[onValue]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onError: onError}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent::then::R%>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#then, 0, core::List::unmodifiable<core::Type*>(<core::Type*>[self::Divergent::then::R%]), core::List::unmodifiable<dynamic>(<dynamic>[onValue]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#onError: onError}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::Divergent::then::R%>;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() → asy::Stream<self::Divergent<self::Divergent<self::Divergent::T%>>>
- return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<self::Divergent<self::Divergent<self::Divergent::T%>>>;
+ return this.{self::Divergent::noSuchMethod}(new core::_InvocationMirror::_withType(#asStream, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<self::Divergent<self::Divergent<self::Divergent::T%>>>;
}
static method test() → dynamic async
;
diff --git a/pkg/front_end/testcases/nnbd/issue42579_2.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42579_2.dart.strong.expect
index 922a2af..175a246 100644
--- a/pkg/front_end/testcases/nnbd/issue42579_2.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42579_2.dart.strong.expect
@@ -23,13 +23,13 @@
static method wrap<R extends core::Object? = dynamic>(() → self::wrap::R% f) → dynamic {}
static method wrap2<R extends core::Object? = dynamic>(() → self::A<self::wrap2::R%> f) → dynamic {}
static method bar() → dynamic {
- new self::A::•<dynamic>().{self::A::property}.unknown();
- self::foo<dynamic>().unknown();
+ new self::A::•<dynamic>().{self::A::property}{dynamic}{dynamic}.unknown();
+ self::foo<dynamic>(){dynamic}.unknown();
self::wrap<dynamic>(() → dynamic => let final dynamic #t1 = self::foo<dynamic>() in block {
- #t1.unknown();
+ #t1{dynamic}.unknown();
} =>#t1);
self::wrap2<core::Object?>(() → self::A<core::Object?> => let final self::A<core::Object?> #t2 = self::foo<self::A<core::Object?>>() in block {
- let final core::Object? #t3 = #t2.{self::A::property} in #t3.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_2.dart:19:32: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t3 = #t2.{self::A::property}{core::Object?} in #t3 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_2.dart:19:32: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
wrap2(() => foo()..property?.unknown());
diff --git a/pkg/front_end/testcases/nnbd/issue42579_2.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42579_2.dart.strong.transformed.expect
index 922a2af..175a246 100644
--- a/pkg/front_end/testcases/nnbd/issue42579_2.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42579_2.dart.strong.transformed.expect
@@ -23,13 +23,13 @@
static method wrap<R extends core::Object? = dynamic>(() → self::wrap::R% f) → dynamic {}
static method wrap2<R extends core::Object? = dynamic>(() → self::A<self::wrap2::R%> f) → dynamic {}
static method bar() → dynamic {
- new self::A::•<dynamic>().{self::A::property}.unknown();
- self::foo<dynamic>().unknown();
+ new self::A::•<dynamic>().{self::A::property}{dynamic}{dynamic}.unknown();
+ self::foo<dynamic>(){dynamic}.unknown();
self::wrap<dynamic>(() → dynamic => let final dynamic #t1 = self::foo<dynamic>() in block {
- #t1.unknown();
+ #t1{dynamic}.unknown();
} =>#t1);
self::wrap2<core::Object?>(() → self::A<core::Object?> => let final self::A<core::Object?> #t2 = self::foo<self::A<core::Object?>>() in block {
- let final core::Object? #t3 = #t2.{self::A::property} in #t3.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_2.dart:19:32: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t3 = #t2.{self::A::property}{core::Object?} in #t3 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_2.dart:19:32: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
wrap2(() => foo()..property?.unknown());
diff --git a/pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.expect
index 922a2af..175a246 100644
--- a/pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.expect
@@ -23,13 +23,13 @@
static method wrap<R extends core::Object? = dynamic>(() → self::wrap::R% f) → dynamic {}
static method wrap2<R extends core::Object? = dynamic>(() → self::A<self::wrap2::R%> f) → dynamic {}
static method bar() → dynamic {
- new self::A::•<dynamic>().{self::A::property}.unknown();
- self::foo<dynamic>().unknown();
+ new self::A::•<dynamic>().{self::A::property}{dynamic}{dynamic}.unknown();
+ self::foo<dynamic>(){dynamic}.unknown();
self::wrap<dynamic>(() → dynamic => let final dynamic #t1 = self::foo<dynamic>() in block {
- #t1.unknown();
+ #t1{dynamic}.unknown();
} =>#t1);
self::wrap2<core::Object?>(() → self::A<core::Object?> => let final self::A<core::Object?> #t2 = self::foo<self::A<core::Object?>>() in block {
- let final core::Object? #t3 = #t2.{self::A::property} in #t3.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_2.dart:19:32: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t3 = #t2.{self::A::property}{core::Object?} in #t3 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_2.dart:19:32: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
wrap2(() => foo()..property?.unknown());
diff --git a/pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.transformed.expect
index 922a2af..175a246 100644
--- a/pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.transformed.expect
@@ -23,13 +23,13 @@
static method wrap<R extends core::Object? = dynamic>(() → self::wrap::R% f) → dynamic {}
static method wrap2<R extends core::Object? = dynamic>(() → self::A<self::wrap2::R%> f) → dynamic {}
static method bar() → dynamic {
- new self::A::•<dynamic>().{self::A::property}.unknown();
- self::foo<dynamic>().unknown();
+ new self::A::•<dynamic>().{self::A::property}{dynamic}{dynamic}.unknown();
+ self::foo<dynamic>(){dynamic}.unknown();
self::wrap<dynamic>(() → dynamic => let final dynamic #t1 = self::foo<dynamic>() in block {
- #t1.unknown();
+ #t1{dynamic}.unknown();
} =>#t1);
self::wrap2<core::Object?>(() → self::A<core::Object?> => let final self::A<core::Object?> #t2 = self::foo<self::A<core::Object?>>() in block {
- let final core::Object? #t3 = #t2.{self::A::property} in #t3.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_2.dart:19:32: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t3 = #t2.{self::A::property}{core::Object?} in #t3 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_2.dart:19:32: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
wrap2(() => foo()..property?.unknown());
diff --git a/pkg/front_end/testcases/nnbd/issue42579_3.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42579_3.dart.strong.expect
index 9c59159..ecf7395 100644
--- a/pkg/front_end/testcases/nnbd/issue42579_3.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42579_3.dart.strong.expect
@@ -36,21 +36,21 @@
static method foo<Z extends core::Object? = dynamic>(() → self::A<core::List<self::foo::Z%>> f) → dynamic {}
static method bar() → dynamic {
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t1 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final core::Object? #t2 = #t1.{self::B::y1}.{core::List::[]}(0) in #t2.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:16:25: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t2 = #t1.{self::B::y1}{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} in #t2 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:16:25: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
foo(() => B()..y1[0]?.unknown());
^^^^^^^";
} =>#t1);
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t3 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final core::Object? #t4 = #t3.{self::B::y2}.{core::List::[]}(0) in #t4.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:17:25: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t4 = #t3.{self::B::y2}{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} in #t4 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:17:25: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
foo(() => B()..y2[0]?.unknown());
^^^^^^^";
} =>#t3);
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t5 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final dynamic #t6 = #t5.{self::B::y3} in #t6.{core::Object::==}(null) ?{dynamic} null : #t6.unknown();
+ let final dynamic #t6 = #t5.{self::B::y3}{dynamic} in #t6 == null ?{dynamic} null : #t6{dynamic}.unknown();
} =>#t5);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42579_3.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42579_3.dart.strong.transformed.expect
index 9c59159..ecf7395 100644
--- a/pkg/front_end/testcases/nnbd/issue42579_3.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42579_3.dart.strong.transformed.expect
@@ -36,21 +36,21 @@
static method foo<Z extends core::Object? = dynamic>(() → self::A<core::List<self::foo::Z%>> f) → dynamic {}
static method bar() → dynamic {
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t1 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final core::Object? #t2 = #t1.{self::B::y1}.{core::List::[]}(0) in #t2.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:16:25: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t2 = #t1.{self::B::y1}{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} in #t2 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:16:25: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
foo(() => B()..y1[0]?.unknown());
^^^^^^^";
} =>#t1);
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t3 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final core::Object? #t4 = #t3.{self::B::y2}.{core::List::[]}(0) in #t4.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:17:25: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t4 = #t3.{self::B::y2}{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} in #t4 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:17:25: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
foo(() => B()..y2[0]?.unknown());
^^^^^^^";
} =>#t3);
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t5 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final dynamic #t6 = #t5.{self::B::y3} in #t6.{core::Object::==}(null) ?{dynamic} null : #t6.unknown();
+ let final dynamic #t6 = #t5.{self::B::y3}{dynamic} in #t6 == null ?{dynamic} null : #t6{dynamic}.unknown();
} =>#t5);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.expect
index 9c59159..ecf7395 100644
--- a/pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.expect
@@ -36,21 +36,21 @@
static method foo<Z extends core::Object? = dynamic>(() → self::A<core::List<self::foo::Z%>> f) → dynamic {}
static method bar() → dynamic {
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t1 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final core::Object? #t2 = #t1.{self::B::y1}.{core::List::[]}(0) in #t2.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:16:25: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t2 = #t1.{self::B::y1}{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} in #t2 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:16:25: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
foo(() => B()..y1[0]?.unknown());
^^^^^^^";
} =>#t1);
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t3 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final core::Object? #t4 = #t3.{self::B::y2}.{core::List::[]}(0) in #t4.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:17:25: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t4 = #t3.{self::B::y2}{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} in #t4 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:17:25: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
foo(() => B()..y2[0]?.unknown());
^^^^^^^";
} =>#t3);
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t5 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final dynamic #t6 = #t5.{self::B::y3} in #t6.{core::Object::==}(null) ?{dynamic} null : #t6.unknown();
+ let final dynamic #t6 = #t5.{self::B::y3}{dynamic} in #t6 == null ?{dynamic} null : #t6{dynamic}.unknown();
} =>#t5);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.transformed.expect
index 9c59159..ecf7395 100644
--- a/pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.transformed.expect
@@ -36,21 +36,21 @@
static method foo<Z extends core::Object? = dynamic>(() → self::A<core::List<self::foo::Z%>> f) → dynamic {}
static method bar() → dynamic {
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t1 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final core::Object? #t2 = #t1.{self::B::y1}.{core::List::[]}(0) in #t2.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:16:25: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t2 = #t1.{self::B::y1}{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} in #t2 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:16:25: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
foo(() => B()..y1[0]?.unknown());
^^^^^^^";
} =>#t1);
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t3 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final core::Object? #t4 = #t3.{self::B::y2}.{core::List::[]}(0) in #t4.{core::Object::==}(null) ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:17:25: Error: The method 'unknown' isn't defined for the class 'Object'.
+ let final core::Object? #t4 = #t3.{self::B::y2}{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} in #t4 == null ?{dynamic} null : invalid-expression "pkg/front_end/testcases/nnbd/issue42579_3.dart:17:25: Error: The method 'unknown' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'unknown'.
foo(() => B()..y2[0]?.unknown());
^^^^^^^";
} =>#t3);
self::foo<core::Object?>(() → self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> => let final self::B<core::List<core::Object?>, core::List<core::Object?>, dynamic> #t5 = new self::B::•<core::List<core::Object?>, core::List<core::Object?>, dynamic>() in block {
- let final dynamic #t6 = #t5.{self::B::y3} in #t6.{core::Object::==}(null) ?{dynamic} null : #t6.unknown();
+ let final dynamic #t6 = #t5.{self::B::y3}{dynamic} in #t6 == null ?{dynamic} null : #t6{dynamic}.unknown();
} =>#t5);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42603.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42603.dart.strong.expect
index 734823f..06403e2 100644
--- a/pkg/front_end/testcases/nnbd/issue42603.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42603.dart.strong.expect
@@ -64,11 +64,11 @@
^" in super.{self::E::==}(other);
}
static method main() → dynamic {
- self::expect(true, new self::D::•().{self::D::==}(new self::D::•()));
- self::expect(false, new self::D::•().{self::D::method1}(null));
- self::expect(false, new self::D::•().{self::D::method2}(null));
+ self::expect(true, new self::D::•() =={self::D::==}{(core::Object?) → core::bool} new self::D::•());
+ self::expect(false, new self::D::•().{self::D::method1}(null){(dynamic) → core::bool});
+ self::expect(false, new self::D::•().{self::D::method2}(null){(Null) → core::bool});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue42603.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42603.dart.weak.expect
index 734823f..06403e2 100644
--- a/pkg/front_end/testcases/nnbd/issue42603.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42603.dart.weak.expect
@@ -64,11 +64,11 @@
^" in super.{self::E::==}(other);
}
static method main() → dynamic {
- self::expect(true, new self::D::•().{self::D::==}(new self::D::•()));
- self::expect(false, new self::D::•().{self::D::method1}(null));
- self::expect(false, new self::D::•().{self::D::method2}(null));
+ self::expect(true, new self::D::•() =={self::D::==}{(core::Object?) → core::bool} new self::D::•());
+ self::expect(false, new self::D::•().{self::D::method1}(null){(dynamic) → core::bool});
+ self::expect(false, new self::D::•().{self::D::method2}(null){(Null) → core::bool});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/issue42607.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42607.dart.strong.expect
index f1a2bdd..bedfed7 100644
--- a/pkg/front_end/testcases/nnbd/issue42607.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42607.dart.strong.expect
@@ -11,7 +11,7 @@
static method test() → dynamic {
core::int* x = 3;
- let final core::int* #t1 = x in #t1.{core::num::==}(null) ?{core::bool*} null : #t1.{core::int::isEven};
+ let final core::int* #t1 = x in #t1 == null ?{core::bool*} null : #t1.{core::int::isEven}{core::bool*};
x = null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42607.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42607.dart.strong.transformed.expect
index f1a2bdd..bedfed7 100644
--- a/pkg/front_end/testcases/nnbd/issue42607.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42607.dart.strong.transformed.expect
@@ -11,7 +11,7 @@
static method test() → dynamic {
core::int* x = 3;
- let final core::int* #t1 = x in #t1.{core::num::==}(null) ?{core::bool*} null : #t1.{core::int::isEven};
+ let final core::int* #t1 = x in #t1 == null ?{core::bool*} null : #t1.{core::int::isEven}{core::bool*};
x = null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42607.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42607.dart.weak.expect
index 2678d44..47b797f 100644
--- a/pkg/front_end/testcases/nnbd/issue42607.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42607.dart.weak.expect
@@ -4,7 +4,7 @@
static method test() → dynamic {
core::int* x = 3;
- let final core::int* #t1 = x in #t1.{core::num::==}(null) ?{core::bool*} null : #t1.{core::int::isEven};
+ let final core::int* #t1 = x in #t1 == null ?{core::bool*} null : #t1.{core::int::isEven}{core::bool*};
x = null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42607.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42607.dart.weak.transformed.expect
index 2678d44..47b797f 100644
--- a/pkg/front_end/testcases/nnbd/issue42607.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42607.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
static method test() → dynamic {
core::int* x = 3;
- let final core::int* #t1 = x in #t1.{core::num::==}(null) ?{core::bool*} null : #t1.{core::int::isEven};
+ let final core::int* #t1 = x in #t1 == null ?{core::bool*} null : #t1.{core::int::isEven}{core::bool*};
x = null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42743.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42743.dart.strong.expect
index 1d21b07..3e6d749 100644
--- a/pkg/front_end/testcases/nnbd/issue42743.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42743.dart.strong.expect
@@ -4,7 +4,7 @@
import "dart:async" as asy;
static method main() → dynamic async {
- core::bool b = (() → core::bool => true).call();
+ core::bool b = (() → core::bool => true)(){() → core::bool};
(dynamic _) → core::int? {
if(b)
return 42;
diff --git a/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect
index 0ab4a75..69395db 100644
--- a/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect
@@ -15,7 +15,7 @@
try {
#L1:
{
- core::bool b = (() → core::bool => true).call();
+ core::bool b = (() → core::bool => true)(){() → core::bool};
(dynamic _) → core::int? {
if(b)
return 42;
diff --git a/pkg/front_end/testcases/nnbd/issue42743.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42743.dart.weak.expect
index 1d21b07..3e6d749 100644
--- a/pkg/front_end/testcases/nnbd/issue42743.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42743.dart.weak.expect
@@ -4,7 +4,7 @@
import "dart:async" as asy;
static method main() → dynamic async {
- core::bool b = (() → core::bool => true).call();
+ core::bool b = (() → core::bool => true)(){() → core::bool};
(dynamic _) → core::int? {
if(b)
return 42;
diff --git a/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect
index 0ab4a75..69395db 100644
--- a/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
try {
#L1:
{
- core::bool b = (() → core::bool => true).call();
+ core::bool b = (() → core::bool => true)(){() → core::bool};
(dynamic _) → core::int? {
if(b)
return 42;
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect
index d04548d..0eaff8b 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect
@@ -85,8 +85,8 @@
core::List<Never> l2 = block {
final core::List<Never> #t2 = <Never>[];
final core::Iterable<Never>? #t3 = n1;
- if(!#t3.{core::Object::==}(null))
- #t2.{core::List::addAll}{Invariant}(#t3{core::Iterable<Never>});
+ if(!(#t3 == null))
+ #t2.{core::List::addAll}(#t3{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t2;
core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:8:16: Error: Can't spread a value with static type 'Never?'.
var l3 = [...n2];
@@ -94,8 +94,8 @@
core::List<Never> l4 = block {
final core::List<Never> #t4 = <Never>[];
final core::Iterable<Never>? #t5 = n2;
- if(!#t5.{core::Object::==}(null))
- #t4.{core::List::addAll}{Invariant}(#t5{core::Iterable<Never>});
+ if(!(#t5 == null))
+ #t4.{core::List::addAll}(#t5{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t4;
core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:10:16: Error: Can't spread a value with static type 'Null'.
var l5 = [...n3];
@@ -103,61 +103,61 @@
core::List<Never> l6 = block {
final core::List<Never> #t6 = <Never>[];
final core::Iterable<Never>? #t7 = n3;
- if(!#t7.{core::Object::==}(null))
- #t6.{core::List::addAll}{Invariant}(#t7{core::Iterable<Never>});
+ if(!(#t7 == null))
+ #t6.{core::List::addAll}(#t7{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t6;
core::Set<Never> s1 = block {
final core::Set<Never> #t8 = col::LinkedHashSet::of<Never>(n1);
- #t8.{core::Set::add}{Invariant}(n1);
+ #t8.{core::Set::add}(n1){(Never) → core::bool};
} =>#t8;
core::Set<Never> s2 = block {
final core::Set<Never> #t9 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t10 = n1;
- if(!#t10.{core::Object::==}(null))
- #t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<Never>});
- #t9.{core::Set::add}{Invariant}(n1);
+ if(!(#t10 == null))
+ #t9.{core::Set::addAll}(#t10{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t9.{core::Set::add}(n1){(Never) → core::bool};
} =>#t9;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t11 = col::LinkedHashSet::•<dynamic>();
- #t11.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
+ #t11.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
var s3 = {...n2, n1};
- ^");
- #t11.{core::Set::add}{Invariant}(n1);
+ ^"){(dynamic) → core::bool};
+ #t11.{core::Set::add}(n1){(dynamic) → core::bool};
} =>#t11;
core::Set<Never> s4 = block {
final core::Set<Never> #t12 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t13 = n2;
- if(!#t13.{core::Object::==}(null))
- #t12.{core::Set::addAll}{Invariant}(#t13{core::Iterable<Never>});
- #t12.{core::Set::add}{Invariant}(n1);
+ if(!(#t13 == null))
+ #t12.{core::Set::addAll}(#t13{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t12.{core::Set::add}(n1){(Never) → core::bool};
} =>#t12;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t14 = col::LinkedHashSet::•<dynamic>();
- #t14.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
+ #t14.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
var s5 = {...n3, n1};
- ^");
- #t14.{core::Set::add}{Invariant}(n1);
+ ^"){(dynamic) → core::bool};
+ #t14.{core::Set::add}(n1){(dynamic) → core::bool};
} =>#t14;
core::Set<Never> s6 = block {
final core::Set<Never> #t15 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t16 = n3;
- if(!#t16.{core::Object::==}(null))
- #t15.{core::Set::addAll}{Invariant}(#t16{core::Iterable<Never>});
- #t15.{core::Set::add}{Invariant}(n1);
+ if(!(#t16 == null))
+ #t15.{core::Set::addAll}(#t16{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t15.{core::Set::add}(n1){(Never) → core::bool};
} =>#t15;
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t17 = <Never, Never>{};
for (final core::MapEntry<Never, Never> #t18 in n1.{core::Map::entries})
- #t17.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value});
- #t17.{core::Map::[]=}{Invariant}(n1, n1);
+ #t17.{core::Map::[]=}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value}){(Never, Never) → void};
+ #t17.{core::Map::[]=}(n1, n1){(Never, Never) → void};
} =>#t17;
core::Map<Never, Never> m2 = block {
final core::Map<Never, Never> #t19 = <Never, Never>{};
final core::Map<Never, Never>? #t20 = n1;
- if(!#t20.{core::Object::==}(null))
+ if(!(#t20 == null))
for (final core::MapEntry<Never, Never> #t21 in #t20{core::Map<Never, Never>}.{core::Map::entries})
- #t19.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
- #t19.{core::Map::[]=}{Invariant}(n1, n1);
+ #t19.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value}){(Never, Never) → void};
+ #t19.{core::Map::[]=}(n1, n1){(Never, Never) → void};
} =>#t19;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
var m3 = {...n2, n1: n1};
@@ -165,10 +165,10 @@
core::Map<Never, Never> m4 = block {
final core::Map<Never, Never> #t22 = <Never, Never>{};
final core::Map<Never, Never>? #t23 = n2;
- if(!#t23.{core::Object::==}(null))
+ if(!(#t23 == null))
for (final core::MapEntry<Never, Never> #t24 in #t23{core::Map<Never, Never>}.{core::Map::entries})
- #t22.{core::Map::[]=}{Invariant}(#t24.{core::MapEntry::key}, #t24.{core::MapEntry::value});
- #t22.{core::Map::[]=}{Invariant}(n1, n1);
+ #t22.{core::Map::[]=}(#t24.{core::MapEntry::key}, #t24.{core::MapEntry::value}){(Never, Never) → void};
+ #t22.{core::Map::[]=}(n1, n1){(Never, Never) → void};
} =>#t22;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
var m5 = {...n3, n1: n1};
@@ -176,10 +176,10 @@
core::Map<Never, Never> m6 = block {
final core::Map<Never, Never> #t25 = <Never, Never>{};
final core::Map<Never, Never>? #t26 = n3;
- if(!#t26.{core::Object::==}(null))
+ if(!(#t26 == null))
for (final core::MapEntry<Never, Never> #t27 in #t26{core::Map<Never, Never>}.{core::Map::entries})
- #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
- #t25.{core::Map::[]=}{Invariant}(n1, n1);
+ #t25.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value}){(Never, Never) → void};
+ #t25.{core::Map::[]=}(n1, n1){(Never, Never) → void};
} =>#t25;
}
static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
@@ -189,8 +189,8 @@
core::List<Never> l2 = block {
final core::List<Never> #t29 = <Never>[];
final core::Iterable<Never>? #t30 = n1;
- if(!#t30.{core::Object::==}(null))
- #t29.{core::List::addAll}{Invariant}(#t30{core::Iterable<Never>});
+ if(!(#t30 == null))
+ #t29.{core::List::addAll}(#t30{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t29;
core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
var l3 = [...n2];
@@ -198,8 +198,8 @@
core::List<Never> l4 = block {
final core::List<Never> #t31 = <Never>[];
final core::Iterable<Never>? #t32 = n2;
- if(!#t32.{core::Object::==}(null))
- #t31.{core::List::addAll}{Invariant}(#t32{core::Iterable<Never>});
+ if(!(#t32 == null))
+ #t31.{core::List::addAll}(#t32{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t31;
core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
var l5 = [...n3];
@@ -207,61 +207,61 @@
core::List<Never> l6 = block {
final core::List<Never> #t33 = <Never>[];
final core::Iterable<Never>? #t34 = n3;
- if(!#t34.{core::Object::==}(null))
- #t33.{core::List::addAll}{Invariant}(#t34{core::Iterable<Never>});
+ if(!(#t34 == null))
+ #t33.{core::List::addAll}(#t34{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t33;
core::Set<self::test2::N1> s1 = block {
final core::Set<self::test2::N1> #t35 = col::LinkedHashSet::of<self::test2::N1>(n1);
- #t35.{core::Set::add}{Invariant}(n1);
+ #t35.{core::Set::add}(n1){(self::test2::N1) → core::bool};
} =>#t35;
core::Set<self::test2::N1> s2 = block {
final core::Set<self::test2::N1> #t36 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t37 = n1;
- if(!#t37.{core::Object::==}(null))
- #t36.{core::Set::addAll}{Invariant}(#t37{core::Iterable<self::test2::N1>});
- #t36.{core::Set::add}{Invariant}(n1);
+ if(!(#t37 == null))
+ #t36.{core::Set::addAll}(#t37{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t36.{core::Set::add}(n1){(self::test2::N1) → core::bool};
} =>#t36;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t38 = col::LinkedHashSet::•<dynamic>();
- #t38.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+ #t38.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
var s3 = {...n2, n1};
- ^");
- #t38.{core::Set::add}{Invariant}(n1);
+ ^"){(dynamic) → core::bool};
+ #t38.{core::Set::add}(n1){(dynamic) → core::bool};
} =>#t38;
core::Set<self::test2::N1> s4 = block {
final core::Set<self::test2::N1> #t39 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t40 = n2;
- if(!#t40.{core::Object::==}(null))
- #t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<self::test2::N1>});
- #t39.{core::Set::add}{Invariant}(n1);
+ if(!(#t40 == null))
+ #t39.{core::Set::addAll}(#t40{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t39.{core::Set::add}(n1){(self::test2::N1) → core::bool};
} =>#t39;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t41 = col::LinkedHashSet::•<dynamic>();
- #t41.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+ #t41.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
var s5 = {...n3, n1};
- ^");
- #t41.{core::Set::add}{Invariant}(n1);
+ ^"){(dynamic) → core::bool};
+ #t41.{core::Set::add}(n1){(dynamic) → core::bool};
} =>#t41;
core::Set<self::test2::N1> s6 = block {
final core::Set<self::test2::N1> #t42 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t43 = n3;
- if(!#t43.{core::Object::==}(null))
- #t42.{core::Set::addAll}{Invariant}(#t43{core::Iterable<self::test2::N1>});
- #t42.{core::Set::add}{Invariant}(n1);
+ if(!(#t43 == null))
+ #t42.{core::Set::addAll}(#t43{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t42.{core::Set::add}(n1){(self::test2::N1) → core::bool};
} =>#t42;
core::Map<self::test2::N1, self::test2::N1> m1 = block {
final core::Map<self::test2::N1, self::test2::N1> #t44 = <self::test2::N1, self::test2::N1>{};
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t45 in n1.{core::Map::entries})
- #t44.{core::Map::[]=}{Invariant}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
- #t44.{core::Map::[]=}{Invariant}(n1, n1);
+ #t44.{core::Map::[]=}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
+ #t44.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void};
} =>#t44;
core::Map<self::test2::N1, self::test2::N1> m2 = block {
final core::Map<self::test2::N1, self::test2::N1> #t46 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t47 = n1;
- if(!#t47.{core::Object::==}(null))
+ if(!(#t47 == null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t48 in #t47{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t46.{core::Map::[]=}{Invariant}(#t48.{core::MapEntry::key}, #t48.{core::MapEntry::value});
- #t46.{core::Map::[]=}{Invariant}(n1, n1);
+ #t46.{core::Map::[]=}(#t48.{core::MapEntry::key}, #t48.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
+ #t46.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void};
} =>#t46;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
var m3 = {...n2, n1: n1};
@@ -269,10 +269,10 @@
core::Map<self::test2::N1, self::test2::N1> m4 = block {
final core::Map<self::test2::N1, self::test2::N1> #t49 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t50 = n2;
- if(!#t50.{core::Object::==}(null))
+ if(!(#t50 == null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t51 in #t50{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t49.{core::Map::[]=}{Invariant}(#t51.{core::MapEntry::key}, #t51.{core::MapEntry::value});
- #t49.{core::Map::[]=}{Invariant}(n1, n1);
+ #t49.{core::Map::[]=}(#t51.{core::MapEntry::key}, #t51.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
+ #t49.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void};
} =>#t49;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
var m5 = {...n3, n1: n1};
@@ -280,10 +280,10 @@
core::Map<self::test2::N1, self::test2::N1> m6 = block {
final core::Map<self::test2::N1, self::test2::N1> #t52 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t53 = n3;
- if(!#t53.{core::Object::==}(null))
+ if(!(#t53 == null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t54 in #t53{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t52.{core::Map::[]=}{Invariant}(#t54.{core::MapEntry::key}, #t54.{core::MapEntry::value});
- #t52.{core::Map::[]=}{Invariant}(n1, n1);
+ #t52.{core::Map::[]=}(#t54.{core::MapEntry::key}, #t54.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
+ #t52.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void};
} =>#t52;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
index 57f8fe1..e8d1842 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
@@ -85,8 +85,8 @@
core::List<Never> l2 = block {
final core::List<Never> #t2 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t3 = n1;
- if(!#t3.{core::Object::==}(null))
- #t2.{core::List::addAll}{Invariant}(#t3{core::Iterable<Never>});
+ if(!(#t3 == null))
+ #t2.{core::List::addAll}(#t3{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t2;
core::List<dynamic> l3 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:8:16: Error: Can't spread a value with static type 'Never?'.
var l3 = [...n2];
@@ -94,8 +94,8 @@
core::List<Never> l4 = block {
final core::List<Never> #t4 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t5 = n2;
- if(!#t5.{core::Object::==}(null))
- #t4.{core::List::addAll}{Invariant}(#t5{core::Iterable<Never>});
+ if(!(#t5 == null))
+ #t4.{core::List::addAll}(#t5{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t4;
core::List<dynamic> l5 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:10:16: Error: Can't spread a value with static type 'Null'.
var l5 = [...n3];
@@ -103,47 +103,47 @@
core::List<Never> l6 = block {
final core::List<Never> #t6 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t7 = n3;
- if(!#t7.{core::Object::==}(null))
- #t6.{core::List::addAll}{Invariant}(#t7{core::Iterable<Never>});
+ if(!(#t7 == null))
+ #t6.{core::List::addAll}(#t7{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t6;
core::Set<Never> s1 = block {
final core::Set<Never> #t8 = col::LinkedHashSet::of<Never>(n1);
- #t8.{core::Set::add}{Invariant}(n1);
+ #t8.{core::Set::add}(n1){(Never) → core::bool};
} =>#t8;
core::Set<Never> s2 = block {
final core::Set<Never> #t9 = new col::_CompactLinkedHashSet::•<Never>();
final core::Iterable<Never>? #t10 = n1;
- if(!#t10.{core::Object::==}(null))
- #t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<Never>});
- #t9.{core::Set::add}{Invariant}(n1);
+ if(!(#t10 == null))
+ #t9.{core::Set::addAll}(#t10{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t9.{core::Set::add}(n1){(Never) → core::bool};
} =>#t9;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t11 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t11.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
+ #t11.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
var s3 = {...n2, n1};
- ^");
- #t11.{core::Set::add}{Invariant}(n1);
+ ^"){(dynamic) → core::bool};
+ #t11.{core::Set::add}(n1){(dynamic) → core::bool};
} =>#t11;
core::Set<Never> s4 = block {
final core::Set<Never> #t12 = new col::_CompactLinkedHashSet::•<Never>();
final core::Iterable<Never>? #t13 = n2;
- if(!#t13.{core::Object::==}(null))
- #t12.{core::Set::addAll}{Invariant}(#t13{core::Iterable<Never>});
- #t12.{core::Set::add}{Invariant}(n1);
+ if(!(#t13 == null))
+ #t12.{core::Set::addAll}(#t13{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t12.{core::Set::add}(n1){(Never) → core::bool};
} =>#t12;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t14 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t14.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
+ #t14.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
var s5 = {...n3, n1};
- ^");
- #t14.{core::Set::add}{Invariant}(n1);
+ ^"){(dynamic) → core::bool};
+ #t14.{core::Set::add}(n1){(dynamic) → core::bool};
} =>#t14;
core::Set<Never> s6 = block {
final core::Set<Never> #t15 = new col::_CompactLinkedHashSet::•<Never>();
final core::Iterable<Never>? #t16 = n3;
- if(!#t16.{core::Object::==}(null))
- #t15.{core::Set::addAll}{Invariant}(#t16{core::Iterable<Never>});
- #t15.{core::Set::add}{Invariant}(n1);
+ if(!(#t16 == null))
+ #t15.{core::Set::addAll}(#t16{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t15.{core::Set::add}(n1){(Never) → core::bool};
} =>#t15;
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t17 = <Never, Never>{};
@@ -151,22 +151,22 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = n1.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t18 = :sync-for-iterator.{core::Iterator::current};
- #t17.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value});
+ #t17.{core::Map::[]=}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value}){(Never, Never) → void};
}
}
- #t17.{core::Map::[]=}{Invariant}(n1, n1);
+ #t17.{core::Map::[]=}(n1, n1){(Never, Never) → void};
} =>#t17;
core::Map<Never, Never> m2 = block {
final core::Map<Never, Never> #t19 = <Never, Never>{};
final core::Map<Never, Never>? #t20 = n1;
- if(!#t20.{core::Object::==}(null)) {
+ if(!(#t20 == null)) {
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t20{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t21 = :sync-for-iterator.{core::Iterator::current};
- #t19.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t19.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value}){(Never, Never) → void};
}
}
- #t19.{core::Map::[]=}{Invariant}(n1, n1);
+ #t19.{core::Map::[]=}(n1, n1){(Never, Never) → void};
} =>#t19;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
var m3 = {...n2, n1: n1};
@@ -174,14 +174,14 @@
core::Map<Never, Never> m4 = block {
final core::Map<Never, Never> #t22 = <Never, Never>{};
final core::Map<Never, Never>? #t23 = n2;
- if(!#t23.{core::Object::==}(null)) {
+ if(!(#t23 == null)) {
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t23{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t24 = :sync-for-iterator.{core::Iterator::current};
- #t22.{core::Map::[]=}{Invariant}(#t24.{core::MapEntry::key}, #t24.{core::MapEntry::value});
+ #t22.{core::Map::[]=}(#t24.{core::MapEntry::key}, #t24.{core::MapEntry::value}){(Never, Never) → void};
}
}
- #t22.{core::Map::[]=}{Invariant}(n1, n1);
+ #t22.{core::Map::[]=}(n1, n1){(Never, Never) → void};
} =>#t22;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
var m5 = {...n3, n1: n1};
@@ -189,14 +189,14 @@
core::Map<Never, Never> m6 = block {
final core::Map<Never, Never> #t25 = <Never, Never>{};
final core::Map<Never, Never>? #t26 = n3;
- if(!#t26.{core::Object::==}(null)) {
+ if(!(#t26 == null)) {
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t26{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t27 = :sync-for-iterator.{core::Iterator::current};
- #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
+ #t25.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value}){(Never, Never) → void};
}
}
- #t25.{core::Map::[]=}{Invariant}(n1, n1);
+ #t25.{core::Map::[]=}(n1, n1){(Never, Never) → void};
} =>#t25;
}
static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
@@ -206,8 +206,8 @@
core::List<Never> l2 = block {
final core::List<Never> #t29 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t30 = n1;
- if(!#t30.{core::Object::==}(null))
- #t29.{core::List::addAll}{Invariant}(#t30{core::Iterable<Never>});
+ if(!(#t30 == null))
+ #t29.{core::List::addAll}(#t30{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t29;
core::List<dynamic> l3 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
var l3 = [...n2];
@@ -215,8 +215,8 @@
core::List<Never> l4 = block {
final core::List<Never> #t31 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t32 = n2;
- if(!#t32.{core::Object::==}(null))
- #t31.{core::List::addAll}{Invariant}(#t32{core::Iterable<Never>});
+ if(!(#t32 == null))
+ #t31.{core::List::addAll}(#t32{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t31;
core::List<dynamic> l5 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
var l5 = [...n3];
@@ -224,47 +224,47 @@
core::List<Never> l6 = block {
final core::List<Never> #t33 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t34 = n3;
- if(!#t34.{core::Object::==}(null))
- #t33.{core::List::addAll}{Invariant}(#t34{core::Iterable<Never>});
+ if(!(#t34 == null))
+ #t33.{core::List::addAll}(#t34{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t33;
core::Set<self::test2::N1> s1 = block {
final core::Set<self::test2::N1> #t35 = col::LinkedHashSet::of<self::test2::N1>(n1);
- #t35.{core::Set::add}{Invariant}(n1);
+ #t35.{core::Set::add}(n1){(self::test2::N1) → core::bool};
} =>#t35;
core::Set<self::test2::N1> s2 = block {
final core::Set<self::test2::N1> #t36 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t37 = n1;
- if(!#t37.{core::Object::==}(null))
- #t36.{core::Set::addAll}{Invariant}(#t37{core::Iterable<self::test2::N1>});
- #t36.{core::Set::add}{Invariant}(n1);
+ if(!(#t37 == null))
+ #t36.{core::Set::addAll}(#t37{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t36.{core::Set::add}(n1){(self::test2::N1) → core::bool};
} =>#t36;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t38 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t38.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+ #t38.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
var s3 = {...n2, n1};
- ^");
- #t38.{core::Set::add}{Invariant}(n1);
+ ^"){(dynamic) → core::bool};
+ #t38.{core::Set::add}(n1){(dynamic) → core::bool};
} =>#t38;
core::Set<self::test2::N1> s4 = block {
final core::Set<self::test2::N1> #t39 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t40 = n2;
- if(!#t40.{core::Object::==}(null))
- #t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<self::test2::N1>});
- #t39.{core::Set::add}{Invariant}(n1);
+ if(!(#t40 == null))
+ #t39.{core::Set::addAll}(#t40{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t39.{core::Set::add}(n1){(self::test2::N1) → core::bool};
} =>#t39;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t41 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t41.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+ #t41.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
var s5 = {...n3, n1};
- ^");
- #t41.{core::Set::add}{Invariant}(n1);
+ ^"){(dynamic) → core::bool};
+ #t41.{core::Set::add}(n1){(dynamic) → core::bool};
} =>#t41;
core::Set<self::test2::N1> s6 = block {
final core::Set<self::test2::N1> #t42 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t43 = n3;
- if(!#t43.{core::Object::==}(null))
- #t42.{core::Set::addAll}{Invariant}(#t43{core::Iterable<self::test2::N1>});
- #t42.{core::Set::add}{Invariant}(n1);
+ if(!(#t43 == null))
+ #t42.{core::Set::addAll}(#t43{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t42.{core::Set::add}(n1){(self::test2::N1) → core::bool};
} =>#t42;
core::Map<self::test2::N1, self::test2::N1> m1 = block {
final core::Map<self::test2::N1, self::test2::N1> #t44 = <self::test2::N1, self::test2::N1>{};
@@ -272,22 +272,22 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = n1.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t45 = :sync-for-iterator.{core::Iterator::current};
- #t44.{core::Map::[]=}{Invariant}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
+ #t44.{core::Map::[]=}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
}
}
- #t44.{core::Map::[]=}{Invariant}(n1, n1);
+ #t44.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void};
} =>#t44;
core::Map<self::test2::N1, self::test2::N1> m2 = block {
final core::Map<self::test2::N1, self::test2::N1> #t46 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t47 = n1;
- if(!#t47.{core::Object::==}(null)) {
+ if(!(#t47 == null)) {
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t47{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t48 = :sync-for-iterator.{core::Iterator::current};
- #t46.{core::Map::[]=}{Invariant}(#t48.{core::MapEntry::key}, #t48.{core::MapEntry::value});
+ #t46.{core::Map::[]=}(#t48.{core::MapEntry::key}, #t48.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
}
}
- #t46.{core::Map::[]=}{Invariant}(n1, n1);
+ #t46.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void};
} =>#t46;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
var m3 = {...n2, n1: n1};
@@ -295,14 +295,14 @@
core::Map<self::test2::N1, self::test2::N1> m4 = block {
final core::Map<self::test2::N1, self::test2::N1> #t49 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t50 = n2;
- if(!#t50.{core::Object::==}(null)) {
+ if(!(#t50 == null)) {
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t50{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t51 = :sync-for-iterator.{core::Iterator::current};
- #t49.{core::Map::[]=}{Invariant}(#t51.{core::MapEntry::key}, #t51.{core::MapEntry::value});
+ #t49.{core::Map::[]=}(#t51.{core::MapEntry::key}, #t51.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
}
}
- #t49.{core::Map::[]=}{Invariant}(n1, n1);
+ #t49.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void};
} =>#t49;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
var m5 = {...n3, n1: n1};
@@ -310,14 +310,14 @@
core::Map<self::test2::N1, self::test2::N1> m6 = block {
final core::Map<self::test2::N1, self::test2::N1> #t52 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t53 = n3;
- if(!#t53.{core::Object::==}(null)) {
+ if(!(#t53 == null)) {
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t53{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t54 = :sync-for-iterator.{core::Iterator::current};
- #t52.{core::Map::[]=}{Invariant}(#t54.{core::MapEntry::key}, #t54.{core::MapEntry::value});
+ #t52.{core::Map::[]=}(#t54.{core::MapEntry::key}, #t54.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
}
}
- #t52.{core::Map::[]=}{Invariant}(n1, n1);
+ #t52.{core::Map::[]=}(n1, n1){(self::test2::N1, self::test2::N1) → void};
} =>#t52;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect
index 0eb909b..0f8df8e 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect
@@ -86,8 +86,8 @@
core::List<Never> l2 = block {
final core::List<Never> #t3 = <Never>[];
final core::Iterable<Never>? #t4 = let final Never #t5 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t4.{core::Object::==}(null))
- #t3.{core::List::addAll}{Invariant}(#t4{core::Iterable<Never>});
+ if(!(#t4 == null))
+ #t3.{core::List::addAll}(#t4{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t3;
core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:8:16: Error: Can't spread a value with static type 'Never?'.
var l3 = [...n2];
@@ -95,8 +95,8 @@
core::List<Never> l4 = block {
final core::List<Never> #t6 = <Never>[];
final core::Iterable<Never>? #t7 = n2;
- if(!#t7.{core::Object::==}(null))
- #t6.{core::List::addAll}{Invariant}(#t7{core::Iterable<Never>});
+ if(!(#t7 == null))
+ #t6.{core::List::addAll}(#t7{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t6;
core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:10:16: Error: Can't spread a value with static type 'Null'.
var l5 = [...n3];
@@ -104,61 +104,61 @@
core::List<Never> l6 = block {
final core::List<Never> #t8 = <Never>[];
final core::Iterable<Never>? #t9 = n3;
- if(!#t9.{core::Object::==}(null))
- #t8.{core::List::addAll}{Invariant}(#t9{core::Iterable<Never>});
+ if(!(#t9 == null))
+ #t8.{core::List::addAll}(#t9{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t8;
core::Set<Never> s1 = block {
final core::Set<Never> #t10 = col::LinkedHashSet::of<Never>(let final Never #t11 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
- #t10.{core::Set::add}{Invariant}(let final Never #t12 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t10.{core::Set::add}(let final Never #t12 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
} =>#t10;
core::Set<Never> s2 = block {
final core::Set<Never> #t13 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t14 = let final Never #t15 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t14.{core::Object::==}(null))
- #t13.{core::Set::addAll}{Invariant}(#t14{core::Iterable<Never>});
- #t13.{core::Set::add}{Invariant}(let final Never #t16 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t14 == null))
+ #t13.{core::Set::addAll}(#t14{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t13.{core::Set::add}(let final Never #t16 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
} =>#t13;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t17 = col::LinkedHashSet::•<dynamic>();
- #t17.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
+ #t17.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
var s3 = {...n2, n1};
- ^");
- #t17.{core::Set::add}{Invariant}(let final Never #t18 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ ^"){(dynamic) → core::bool};
+ #t17.{core::Set::add}(let final Never #t18 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
} =>#t17;
core::Set<Never> s4 = block {
final core::Set<Never> #t19 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t20 = n2;
- if(!#t20.{core::Object::==}(null))
- #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<Never>});
- #t19.{core::Set::add}{Invariant}(let final Never #t21 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t20 == null))
+ #t19.{core::Set::addAll}(#t20{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t19.{core::Set::add}(let final Never #t21 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
} =>#t19;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t22 = col::LinkedHashSet::•<dynamic>();
- #t22.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
+ #t22.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
var s5 = {...n3, n1};
- ^");
- #t22.{core::Set::add}{Invariant}(let final Never #t23 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ ^"){(dynamic) → core::bool};
+ #t22.{core::Set::add}(let final Never #t23 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
} =>#t22;
core::Set<Never> s6 = block {
final core::Set<Never> #t24 = col::LinkedHashSet::•<Never>();
final core::Iterable<Never>? #t25 = n3;
- if(!#t25.{core::Object::==}(null))
- #t24.{core::Set::addAll}{Invariant}(#t25{core::Iterable<Never>});
- #t24.{core::Set::add}{Invariant}(let final Never #t26 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t25 == null))
+ #t24.{core::Set::addAll}(#t25{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t24.{core::Set::add}(let final Never #t26 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
} =>#t24;
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t27 = <Never, Never>{};
for (final core::MapEntry<Never, Never> #t28 in (let final Never #t29 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries})
- #t27.{core::Map::[]=}{Invariant}(#t28.{core::MapEntry::key}, #t28.{core::MapEntry::value});
- #t27.{core::Map::[]=}{Invariant}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t31 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t27.{core::Map::[]=}(#t28.{core::MapEntry::key}, #t28.{core::MapEntry::value}){(Never, Never) → void};
+ #t27.{core::Map::[]=}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t31 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
} =>#t27;
core::Map<Never, Never> m2 = block {
final core::Map<Never, Never> #t32 = <Never, Never>{};
final core::Map<Never, Never>? #t33 = let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t33.{core::Object::==}(null))
+ if(!(#t33 == null))
for (final core::MapEntry<Never, Never> #t35 in #t33{core::Map<Never, Never>}.{core::Map::entries})
- #t32.{core::Map::[]=}{Invariant}(#t35.{core::MapEntry::key}, #t35.{core::MapEntry::value});
- #t32.{core::Map::[]=}{Invariant}(let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t32.{core::Map::[]=}(#t35.{core::MapEntry::key}, #t35.{core::MapEntry::value}){(Never, Never) → void};
+ #t32.{core::Map::[]=}(let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
} =>#t32;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
var m3 = {...n2, n1: n1};
@@ -166,10 +166,10 @@
core::Map<Never, Never> m4 = block {
final core::Map<Never, Never> #t40 = <Never, Never>{};
final core::Map<Never, Never>? #t41 = n2;
- if(!#t41.{core::Object::==}(null))
+ if(!(#t41 == null))
for (final core::MapEntry<Never, Never> #t42 in #t41{core::Map<Never, Never>}.{core::Map::entries})
- #t40.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}, #t42.{core::MapEntry::value});
- #t40.{core::Map::[]=}{Invariant}(let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t40.{core::Map::[]=}(#t42.{core::MapEntry::key}, #t42.{core::MapEntry::value}){(Never, Never) → void};
+ #t40.{core::Map::[]=}(let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
} =>#t40;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
var m5 = {...n3, n1: n1};
@@ -177,10 +177,10 @@
core::Map<Never, Never> m6 = block {
final core::Map<Never, Never> #t47 = <Never, Never>{};
final core::Map<Never, Never>? #t48 = n3;
- if(!#t48.{core::Object::==}(null))
+ if(!(#t48 == null))
for (final core::MapEntry<Never, Never> #t49 in #t48{core::Map<Never, Never>}.{core::Map::entries})
- #t47.{core::Map::[]=}{Invariant}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
- #t47.{core::Map::[]=}{Invariant}(let final Never #t50 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t47.{core::Map::[]=}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value}){(Never, Never) → void};
+ #t47.{core::Map::[]=}(let final Never #t50 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
} =>#t47;
}
static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
@@ -190,8 +190,8 @@
core::List<Never> l2 = block {
final core::List<Never> #t54 = <Never>[];
final core::Iterable<Never>? #t55 = let final self::test2::N1 #t56 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t55.{core::Object::==}(null))
- #t54.{core::List::addAll}{Invariant}(#t55{core::Iterable<Never>});
+ if(!(#t55 == null))
+ #t54.{core::List::addAll}(#t55{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t54;
core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
var l3 = [...n2];
@@ -199,8 +199,8 @@
core::List<Never> l4 = block {
final core::List<Never> #t57 = <Never>[];
final core::Iterable<Never>? #t58 = n2;
- if(!#t58.{core::Object::==}(null))
- #t57.{core::List::addAll}{Invariant}(#t58{core::Iterable<Never>});
+ if(!(#t58 == null))
+ #t57.{core::List::addAll}(#t58{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t57;
core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
var l5 = [...n3];
@@ -208,61 +208,61 @@
core::List<Never> l6 = block {
final core::List<Never> #t59 = <Never>[];
final core::Iterable<Never>? #t60 = n3;
- if(!#t60.{core::Object::==}(null))
- #t59.{core::List::addAll}{Invariant}(#t60{core::Iterable<Never>});
+ if(!(#t60 == null))
+ #t59.{core::List::addAll}(#t60{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t59;
core::Set<self::test2::N1> s1 = block {
final core::Set<self::test2::N1> #t61 = col::LinkedHashSet::of<self::test2::N1>(let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
- #t61.{core::Set::add}{Invariant}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t61.{core::Set::add}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
} =>#t61;
core::Set<self::test2::N1> s2 = block {
final core::Set<self::test2::N1> #t64 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t65 = let final self::test2::N1 #t66 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t65.{core::Object::==}(null))
- #t64.{core::Set::addAll}{Invariant}(#t65{core::Iterable<self::test2::N1>});
- #t64.{core::Set::add}{Invariant}(let final self::test2::N1 #t67 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t65 == null))
+ #t64.{core::Set::addAll}(#t65{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t64.{core::Set::add}(let final self::test2::N1 #t67 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
} =>#t64;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t68 = col::LinkedHashSet::•<dynamic>();
- #t68.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+ #t68.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
var s3 = {...n2, n1};
- ^");
- #t68.{core::Set::add}{Invariant}(let final self::test2::N1 #t69 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ ^"){(dynamic) → core::bool};
+ #t68.{core::Set::add}(let final self::test2::N1 #t69 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
} =>#t68;
core::Set<self::test2::N1> s4 = block {
final core::Set<self::test2::N1> #t70 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t71 = n2;
- if(!#t71.{core::Object::==}(null))
- #t70.{core::Set::addAll}{Invariant}(#t71{core::Iterable<self::test2::N1>});
- #t70.{core::Set::add}{Invariant}(let final self::test2::N1 #t72 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t71 == null))
+ #t70.{core::Set::addAll}(#t71{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t70.{core::Set::add}(let final self::test2::N1 #t72 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
} =>#t70;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t73 = col::LinkedHashSet::•<dynamic>();
- #t73.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+ #t73.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
var s5 = {...n3, n1};
- ^");
- #t73.{core::Set::add}{Invariant}(let final self::test2::N1 #t74 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ ^"){(dynamic) → core::bool};
+ #t73.{core::Set::add}(let final self::test2::N1 #t74 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
} =>#t73;
core::Set<self::test2::N1> s6 = block {
final core::Set<self::test2::N1> #t75 = col::LinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t76 = n3;
- if(!#t76.{core::Object::==}(null))
- #t75.{core::Set::addAll}{Invariant}(#t76{core::Iterable<self::test2::N1>});
- #t75.{core::Set::add}{Invariant}(let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t76 == null))
+ #t75.{core::Set::addAll}(#t76{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t75.{core::Set::add}(let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
} =>#t75;
core::Map<self::test2::N1, self::test2::N1> m1 = block {
final core::Map<self::test2::N1, self::test2::N1> #t78 = <self::test2::N1, self::test2::N1>{};
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t79 in (let final self::test2::N1 #t80 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries})
- #t78.{core::Map::[]=}{Invariant}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value});
- #t78.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t82 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t78.{core::Map::[]=}(#t79.{core::MapEntry::key}, #t79.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
+ #t78.{core::Map::[]=}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t82 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
} =>#t78;
core::Map<self::test2::N1, self::test2::N1> m2 = block {
final core::Map<self::test2::N1, self::test2::N1> #t83 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t84 = let final self::test2::N1 #t85 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t84.{core::Object::==}(null))
+ if(!(#t84 == null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t86 in #t84{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t83.{core::Map::[]=}{Invariant}(#t86.{core::MapEntry::key}, #t86.{core::MapEntry::value});
- #t83.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t83.{core::Map::[]=}(#t86.{core::MapEntry::key}, #t86.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
+ #t83.{core::Map::[]=}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
} =>#t83;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
var m3 = {...n2, n1: n1};
@@ -270,10 +270,10 @@
core::Map<self::test2::N1, self::test2::N1> m4 = block {
final core::Map<self::test2::N1, self::test2::N1> #t91 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t92 = n2;
- if(!#t92.{core::Object::==}(null))
+ if(!(#t92 == null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t93 in #t92{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t91.{core::Map::[]=}{Invariant}(#t93.{core::MapEntry::key}, #t93.{core::MapEntry::value});
- #t91.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t95 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t91.{core::Map::[]=}(#t93.{core::MapEntry::key}, #t93.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
+ #t91.{core::Map::[]=}(let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t95 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
} =>#t91;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
var m5 = {...n3, n1: n1};
@@ -281,10 +281,10 @@
core::Map<self::test2::N1, self::test2::N1> m6 = block {
final core::Map<self::test2::N1, self::test2::N1> #t98 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t99 = n3;
- if(!#t99.{core::Object::==}(null))
+ if(!(#t99 == null))
for (final core::MapEntry<self::test2::N1, self::test2::N1> #t100 in #t99{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries})
- #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
- #t98.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t101 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t102 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
+ #t98.{core::Map::[]=}(let final self::test2::N1 #t101 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t102 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
} =>#t98;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
index 645b792..669f826 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
@@ -86,8 +86,8 @@
core::List<Never> l2 = block {
final core::List<Never> #t3 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t4 = let final Never #t5 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t4.{core::Object::==}(null))
- #t3.{core::List::addAll}{Invariant}(#t4{core::Iterable<Never>});
+ if(!(#t4 == null))
+ #t3.{core::List::addAll}(#t4{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t3;
core::List<dynamic> l3 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:8:16: Error: Can't spread a value with static type 'Never?'.
var l3 = [...n2];
@@ -95,8 +95,8 @@
core::List<Never> l4 = block {
final core::List<Never> #t6 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t7 = n2;
- if(!#t7.{core::Object::==}(null))
- #t6.{core::List::addAll}{Invariant}(#t7{core::Iterable<Never>});
+ if(!(#t7 == null))
+ #t6.{core::List::addAll}(#t7{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t6;
core::List<dynamic> l5 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:10:16: Error: Can't spread a value with static type 'Null'.
var l5 = [...n3];
@@ -104,47 +104,47 @@
core::List<Never> l6 = block {
final core::List<Never> #t8 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t9 = n3;
- if(!#t9.{core::Object::==}(null))
- #t8.{core::List::addAll}{Invariant}(#t9{core::Iterable<Never>});
+ if(!(#t9 == null))
+ #t8.{core::List::addAll}(#t9{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t8;
core::Set<Never> s1 = block {
final core::Set<Never> #t10 = col::LinkedHashSet::of<Never>(let final Never #t11 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
- #t10.{core::Set::add}{Invariant}(let final Never #t12 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t10.{core::Set::add}(let final Never #t12 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
} =>#t10;
core::Set<Never> s2 = block {
final core::Set<Never> #t13 = new col::_CompactLinkedHashSet::•<Never>();
final core::Iterable<Never>? #t14 = let final Never #t15 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t14.{core::Object::==}(null))
- #t13.{core::Set::addAll}{Invariant}(#t14{core::Iterable<Never>});
- #t13.{core::Set::add}{Invariant}(let final Never #t16 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t14 == null))
+ #t13.{core::Set::addAll}(#t14{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t13.{core::Set::add}(let final Never #t16 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
} =>#t13;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t17 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t17.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
+ #t17.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:14:16: Error: Can't spread a value with static type 'Never?'.
var s3 = {...n2, n1};
- ^");
- #t17.{core::Set::add}{Invariant}(let final Never #t18 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ ^"){(dynamic) → core::bool};
+ #t17.{core::Set::add}(let final Never #t18 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
} =>#t17;
core::Set<Never> s4 = block {
final core::Set<Never> #t19 = new col::_CompactLinkedHashSet::•<Never>();
final core::Iterable<Never>? #t20 = n2;
- if(!#t20.{core::Object::==}(null))
- #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<Never>});
- #t19.{core::Set::add}{Invariant}(let final Never #t21 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t20 == null))
+ #t19.{core::Set::addAll}(#t20{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t19.{core::Set::add}(let final Never #t21 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
} =>#t19;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t22 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t22.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
+ #t22.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:16:16: Error: Can't spread a value with static type 'Null'.
var s5 = {...n3, n1};
- ^");
- #t22.{core::Set::add}{Invariant}(let final Never #t23 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ ^"){(dynamic) → core::bool};
+ #t22.{core::Set::add}(let final Never #t23 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
} =>#t22;
core::Set<Never> s6 = block {
final core::Set<Never> #t24 = new col::_CompactLinkedHashSet::•<Never>();
final core::Iterable<Never>? #t25 = n3;
- if(!#t25.{core::Object::==}(null))
- #t24.{core::Set::addAll}{Invariant}(#t25{core::Iterable<Never>});
- #t24.{core::Set::add}{Invariant}(let final Never #t26 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t25 == null))
+ #t24.{core::Set::addAll}(#t25{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+ #t24.{core::Set::add}(let final Never #t26 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
} =>#t24;
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t27 = <Never, Never>{};
@@ -152,22 +152,22 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = (let final Never #t28 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t29 = :sync-for-iterator.{core::Iterator::current};
- #t27.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value});
+ #t27.{core::Map::[]=}(#t29.{core::MapEntry::key}, #t29.{core::MapEntry::value}){(Never, Never) → void};
}
}
- #t27.{core::Map::[]=}{Invariant}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t31 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t27.{core::Map::[]=}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t31 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
} =>#t27;
core::Map<Never, Never> m2 = block {
final core::Map<Never, Never> #t32 = <Never, Never>{};
final core::Map<Never, Never>? #t33 = let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t33.{core::Object::==}(null)) {
+ if(!(#t33 == null)) {
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t33{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t35 = :sync-for-iterator.{core::Iterator::current};
- #t32.{core::Map::[]=}{Invariant}(#t35.{core::MapEntry::key}, #t35.{core::MapEntry::value});
+ #t32.{core::Map::[]=}(#t35.{core::MapEntry::key}, #t35.{core::MapEntry::value}){(Never, Never) → void};
}
}
- #t32.{core::Map::[]=}{Invariant}(let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t32.{core::Map::[]=}(let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
} =>#t32;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
var m3 = {...n2, n1: n1};
@@ -175,14 +175,14 @@
core::Map<Never, Never> m4 = block {
final core::Map<Never, Never> #t40 = <Never, Never>{};
final core::Map<Never, Never>? #t41 = n2;
- if(!#t41.{core::Object::==}(null)) {
+ if(!(#t41 == null)) {
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t41{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t42 = :sync-for-iterator.{core::Iterator::current};
- #t40.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}, #t42.{core::MapEntry::value});
+ #t40.{core::Map::[]=}(#t42.{core::MapEntry::key}, #t42.{core::MapEntry::value}){(Never, Never) → void};
}
}
- #t40.{core::Map::[]=}{Invariant}(let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t40.{core::Map::[]=}(let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
} =>#t40;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
var m5 = {...n3, n1: n1};
@@ -190,14 +190,14 @@
core::Map<Never, Never> m6 = block {
final core::Map<Never, Never> #t47 = <Never, Never>{};
final core::Map<Never, Never>? #t48 = n3;
- if(!#t48.{core::Object::==}(null)) {
+ if(!(#t48 == null)) {
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t48{core::Map<Never, Never>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<Never, Never> #t49 = :sync-for-iterator.{core::Iterator::current};
- #t47.{core::Map::[]=}{Invariant}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value});
+ #t47.{core::Map::[]=}(#t49.{core::MapEntry::key}, #t49.{core::MapEntry::value}){(Never, Never) → void};
}
}
- #t47.{core::Map::[]=}{Invariant}(let final Never #t50 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t47.{core::Map::[]=}(let final Never #t50 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
} =>#t47;
}
static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
@@ -207,8 +207,8 @@
core::List<Never> l2 = block {
final core::List<Never> #t54 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t55 = let final self::test2::N1 #t56 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t55.{core::Object::==}(null))
- #t54.{core::List::addAll}{Invariant}(#t55{core::Iterable<Never>});
+ if(!(#t55 == null))
+ #t54.{core::List::addAll}(#t55{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t54;
core::List<dynamic> l3 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
var l3 = [...n2];
@@ -216,8 +216,8 @@
core::List<Never> l4 = block {
final core::List<Never> #t57 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t58 = n2;
- if(!#t58.{core::Object::==}(null))
- #t57.{core::List::addAll}{Invariant}(#t58{core::Iterable<Never>});
+ if(!(#t58 == null))
+ #t57.{core::List::addAll}(#t58{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t57;
core::List<dynamic> l5 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
var l5 = [...n3];
@@ -225,47 +225,47 @@
core::List<Never> l6 = block {
final core::List<Never> #t59 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t60 = n3;
- if(!#t60.{core::Object::==}(null))
- #t59.{core::List::addAll}{Invariant}(#t60{core::Iterable<Never>});
+ if(!(#t60 == null))
+ #t59.{core::List::addAll}(#t60{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t59;
core::Set<self::test2::N1> s1 = block {
final core::Set<self::test2::N1> #t61 = col::LinkedHashSet::of<self::test2::N1>(let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
- #t61.{core::Set::add}{Invariant}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t61.{core::Set::add}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
} =>#t61;
core::Set<self::test2::N1> s2 = block {
final core::Set<self::test2::N1> #t64 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t65 = let final self::test2::N1 #t66 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t65.{core::Object::==}(null))
- #t64.{core::Set::addAll}{Invariant}(#t65{core::Iterable<self::test2::N1>});
- #t64.{core::Set::add}{Invariant}(let final self::test2::N1 #t67 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t65 == null))
+ #t64.{core::Set::addAll}(#t65{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t64.{core::Set::add}(let final self::test2::N1 #t67 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
} =>#t64;
core::Set<dynamic> s3 = block {
final core::Set<dynamic> #t68 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t68.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+ #t68.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
var s3 = {...n2, n1};
- ^");
- #t68.{core::Set::add}{Invariant}(let final self::test2::N1 #t69 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ ^"){(dynamic) → core::bool};
+ #t68.{core::Set::add}(let final self::test2::N1 #t69 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
} =>#t68;
core::Set<self::test2::N1> s4 = block {
final core::Set<self::test2::N1> #t70 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t71 = n2;
- if(!#t71.{core::Object::==}(null))
- #t70.{core::Set::addAll}{Invariant}(#t71{core::Iterable<self::test2::N1>});
- #t70.{core::Set::add}{Invariant}(let final self::test2::N1 #t72 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t71 == null))
+ #t70.{core::Set::addAll}(#t71{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t70.{core::Set::add}(let final self::test2::N1 #t72 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
} =>#t70;
core::Set<dynamic> s5 = block {
final core::Set<dynamic> #t73 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t73.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+ #t73.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
var s5 = {...n3, n1};
- ^");
- #t73.{core::Set::add}{Invariant}(let final self::test2::N1 #t74 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ ^"){(dynamic) → core::bool};
+ #t73.{core::Set::add}(let final self::test2::N1 #t74 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
} =>#t73;
core::Set<self::test2::N1> s6 = block {
final core::Set<self::test2::N1> #t75 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
final core::Iterable<self::test2::N1>? #t76 = n3;
- if(!#t76.{core::Object::==}(null))
- #t75.{core::Set::addAll}{Invariant}(#t76{core::Iterable<self::test2::N1>});
- #t75.{core::Set::add}{Invariant}(let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ if(!(#t76 == null))
+ #t75.{core::Set::addAll}(#t76{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+ #t75.{core::Set::add}(let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
} =>#t75;
core::Map<self::test2::N1, self::test2::N1> m1 = block {
final core::Map<self::test2::N1, self::test2::N1> #t78 = <self::test2::N1, self::test2::N1>{};
@@ -273,22 +273,22 @@
core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = (let final self::test2::N1 #t79 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t80 = :sync-for-iterator.{core::Iterator::current};
- #t78.{core::Map::[]=}{Invariant}(#t80.{core::MapEntry::key}, #t80.{core::MapEntry::value});
+ #t78.{core::Map::[]=}(#t80.{core::MapEntry::key}, #t80.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
}
}
- #t78.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t82 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t78.{core::Map::[]=}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t82 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
} =>#t78;
core::Map<self::test2::N1, self::test2::N1> m2 = block {
final core::Map<self::test2::N1, self::test2::N1> #t83 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t84 = let final self::test2::N1 #t85 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- if(!#t84.{core::Object::==}(null)) {
+ if(!(#t84 == null)) {
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t84{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t86 = :sync-for-iterator.{core::Iterator::current};
- #t83.{core::Map::[]=}{Invariant}(#t86.{core::MapEntry::key}, #t86.{core::MapEntry::value});
+ #t83.{core::Map::[]=}(#t86.{core::MapEntry::key}, #t86.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
}
}
- #t83.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t83.{core::Map::[]=}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
} =>#t83;
core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
var m3 = {...n2, n1: n1};
@@ -296,14 +296,14 @@
core::Map<self::test2::N1, self::test2::N1> m4 = block {
final core::Map<self::test2::N1, self::test2::N1> #t91 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t92 = n2;
- if(!#t92.{core::Object::==}(null)) {
+ if(!(#t92 == null)) {
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t92{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t93 = :sync-for-iterator.{core::Iterator::current};
- #t91.{core::Map::[]=}{Invariant}(#t93.{core::MapEntry::key}, #t93.{core::MapEntry::value});
+ #t91.{core::Map::[]=}(#t93.{core::MapEntry::key}, #t93.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
}
}
- #t91.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t95 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t91.{core::Map::[]=}(let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t95 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
} =>#t91;
core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
var m5 = {...n3, n1: n1};
@@ -311,14 +311,14 @@
core::Map<self::test2::N1, self::test2::N1> m6 = block {
final core::Map<self::test2::N1, self::test2::N1> #t98 = <self::test2::N1, self::test2::N1>{};
final core::Map<self::test2::N1, self::test2::N1>? #t99 = n3;
- if(!#t99.{core::Object::==}(null)) {
+ if(!(#t99 == null)) {
core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t99{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<self::test2::N1, self::test2::N1> #t100 = :sync-for-iterator.{core::Iterator::current};
- #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
+ #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value}){(self::test2::N1, self::test2::N1) → void};
}
}
- #t98.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t101 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t102 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+ #t98.{core::Map::[]=}(let final self::test2::N1 #t101 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t102 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
} =>#t98;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43174.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43174.dart.strong.expect
index 2a0b346..1954bc8 100644
--- a/pkg/front_end/testcases/nnbd/issue43174.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43174.dart.strong.expect
@@ -12,10 +12,10 @@
import "dart:async";
static method method(() → void f) → dynamic {
- f.call();
+ f(){() → void};
}
static method method2(() → FutureOr<void>f) → dynamic {
- f.call();
+ f(){() → FutureOr<void>};
}
static method test() → dynamic {
self::method(() → void {
diff --git a/pkg/front_end/testcases/nnbd/issue43174.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43174.dart.strong.transformed.expect
index 2a0b346..1954bc8 100644
--- a/pkg/front_end/testcases/nnbd/issue43174.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43174.dart.strong.transformed.expect
@@ -12,10 +12,10 @@
import "dart:async";
static method method(() → void f) → dynamic {
- f.call();
+ f(){() → void};
}
static method method2(() → FutureOr<void>f) → dynamic {
- f.call();
+ f(){() → FutureOr<void>};
}
static method test() → dynamic {
self::method(() → void {
diff --git a/pkg/front_end/testcases/nnbd/issue43174.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43174.dart.weak.expect
index 2a0b346..1954bc8 100644
--- a/pkg/front_end/testcases/nnbd/issue43174.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43174.dart.weak.expect
@@ -12,10 +12,10 @@
import "dart:async";
static method method(() → void f) → dynamic {
- f.call();
+ f(){() → void};
}
static method method2(() → FutureOr<void>f) → dynamic {
- f.call();
+ f(){() → FutureOr<void>};
}
static method test() → dynamic {
self::method(() → void {
diff --git a/pkg/front_end/testcases/nnbd/issue43174.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43174.dart.weak.transformed.expect
index 2a0b346..1954bc8 100644
--- a/pkg/front_end/testcases/nnbd/issue43174.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43174.dart.weak.transformed.expect
@@ -12,10 +12,10 @@
import "dart:async";
static method method(() → void f) → dynamic {
- f.call();
+ f(){() → void};
}
static method method2(() → FutureOr<void>f) → dynamic {
- f.call();
+ f(){() → FutureOr<void>};
}
static method test() → dynamic {
self::method(() → void {
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
index a77f5c0..68bc324 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
@@ -57,86 +57,86 @@
static field dynamic dynamicList = <core::int>[1, 2, 3];
static field core::Map<dynamic, dynamic> map1 = block {
final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
- if(self::i.{core::num::>}(0))
- #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t1.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableMap, // error
- ^", null);
- if(self::i.{core::num::>}(0))
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
for (final core::MapEntry<dynamic, dynamic> #t2 in (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries})
- #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
- if(self::i.{core::num::>}(0))
+ #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value}){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
for (final core::MapEntry<dynamic, dynamic> #t3 in self::nullableMap!.{core::Map::entries})
- #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
+ #t1.{core::Map::[]=}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value}){(dynamic, dynamic) → void};
} =>#t1;
static field core::Set<dynamic> set1 = block {
final core::Set<dynamic> #t4 = col::LinkedHashSet::•<dynamic>();
- #t4.{core::Set::add}{Invariant}(0);
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t4.{core::Set::add}(0){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::addAll}{Invariant}(self::nullableList!);
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::addAll}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::addAll}(self::nullableList!){(core::Iterable<dynamic>) → void};
} =>#t4;
static field core::List<dynamic> list1 = block {
final core::List<dynamic> #t5 = <dynamic>[];
- if(self::i.{core::num::>}(0))
- #t5.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t5.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
- if(self::i.{core::num::>}(0))
- #t5.{core::List::addAll}{Invariant}(self::nullableList!);
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::addAll}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::addAll}(self::nullableList!){(core::Iterable<dynamic>) → void};
} =>#t5;
static method testMap<X extends dynamic, Y extends core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
core::Map<dynamic, dynamic> map2 = block {
final core::Map<dynamic, dynamic> #t6 = <dynamic, dynamic>{};
- if(self::i.{core::num::>}(0))
- #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t6.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
if (i > 0) ...x, // error
- ^", null);
- if(self::i.{core::num::>}(0))
- #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t6.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^", null);
- if(self::i.{core::num::>}(0))
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
for (final core::MapEntry<dynamic, dynamic> #t7 in z.{core::Map::entries})
- #t6.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
- if(self::i.{core::num::>}(0))
+ #t6.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value}){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
for (final core::MapEntry<dynamic, dynamic> #t8 in y!.{core::Map::entries})
- #t6.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t6.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value}){(dynamic, dynamic) → void};
} =>#t6;
}
static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
core::Set<dynamic> set2 = block {
final core::Set<dynamic> #t9 = col::LinkedHashSet::•<dynamic>();
- #t9.{core::Set::add}{Invariant}(0);
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t9.{core::Set::add}(0){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::addAll}{Invariant}(z);
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::addAll}(z){(core::Iterable<dynamic>) → void};
} =>#t9;
core::List<dynamic> list2 = block {
final core::List<dynamic> #t10 = <dynamic>[];
- if(self::i.{core::num::>}(0))
- #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t10.{core::List::addAll}{Invariant}(z);
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::addAll}(z){(core::Iterable<dynamic>) → void};
} =>#t10;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
index 04e38068..6a80c4b 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
@@ -57,71 +57,71 @@
static field dynamic dynamicList = core::_GrowableList::_literal3<core::int>(1, 2, 3);
static field core::Map<dynamic, dynamic> map1 = block {
final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
- if(self::i.{core::num::>}(0))
- #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t1.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableMap, // error
- ^", null);
- if(self::i.{core::num::>}(0)) {
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value}){(dynamic, dynamic) → void};
}
}
- if(self::i.{core::num::>}(0)) {
+ if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
+ #t1.{core::Map::[]=}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value}){(dynamic, dynamic) → void};
}
}
} =>#t1;
static field core::Set<dynamic> set1 = block {
final core::Set<dynamic> #t4 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t4.{core::Set::add}{Invariant}(0);
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t4.{core::Set::add}(0){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::addAll}{Invariant}(self::nullableList!);
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::addAll}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::addAll}(self::nullableList!){(core::Iterable<dynamic>) → void};
} =>#t4;
static field core::List<dynamic> list1 = block {
final core::List<dynamic> #t5 = core::_GrowableList::•<dynamic>(0);
- if(self::i.{core::num::>}(0))
- #t5.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t5.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
- if(self::i.{core::num::>}(0))
- #t5.{core::List::addAll}{Invariant}(self::nullableList!);
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::addAll}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::addAll}(self::nullableList!){(core::Iterable<dynamic>) → void};
} =>#t5;
static method testMap<X extends dynamic, Y extends core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
core::Map<dynamic, dynamic> map2 = block {
final core::Map<dynamic, dynamic> #t6 = <dynamic, dynamic>{};
- if(self::i.{core::num::>}(0))
- #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t6.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
if (i > 0) ...x, // error
- ^", null);
- if(self::i.{core::num::>}(0))
- #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t6.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^", null);
- if(self::i.{core::num::>}(0)) {
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = z.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current};
- #t6.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
+ #t6.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value}){(dynamic, dynamic) → void};
}
}
- if(self::i.{core::num::>}(0)) {
+ if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = y!.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t8 = :sync-for-iterator.{core::Iterator::current};
- #t6.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t6.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value}){(dynamic, dynamic) → void};
}
}
} =>#t6;
@@ -129,30 +129,30 @@
static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
core::Set<dynamic> set2 = block {
final core::Set<dynamic> #t9 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t9.{core::Set::add}{Invariant}(0);
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t9.{core::Set::add}(0){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::addAll}{Invariant}(z);
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::addAll}(z){(core::Iterable<dynamic>) → void};
} =>#t9;
core::List<dynamic> list2 = block {
final core::List<dynamic> #t10 = core::_GrowableList::•<dynamic>(0);
- if(self::i.{core::num::>}(0))
- #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t10.{core::List::addAll}{Invariant}(z);
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::addAll}(z){(core::Iterable<dynamic>) → void};
} =>#t10;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
index a77f5c0..68bc324 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
@@ -57,86 +57,86 @@
static field dynamic dynamicList = <core::int>[1, 2, 3];
static field core::Map<dynamic, dynamic> map1 = block {
final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
- if(self::i.{core::num::>}(0))
- #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t1.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableMap, // error
- ^", null);
- if(self::i.{core::num::>}(0))
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
for (final core::MapEntry<dynamic, dynamic> #t2 in (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries})
- #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
- if(self::i.{core::num::>}(0))
+ #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value}){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
for (final core::MapEntry<dynamic, dynamic> #t3 in self::nullableMap!.{core::Map::entries})
- #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
+ #t1.{core::Map::[]=}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value}){(dynamic, dynamic) → void};
} =>#t1;
static field core::Set<dynamic> set1 = block {
final core::Set<dynamic> #t4 = col::LinkedHashSet::•<dynamic>();
- #t4.{core::Set::add}{Invariant}(0);
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t4.{core::Set::add}(0){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::addAll}{Invariant}(self::nullableList!);
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::addAll}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::addAll}(self::nullableList!){(core::Iterable<dynamic>) → void};
} =>#t4;
static field core::List<dynamic> list1 = block {
final core::List<dynamic> #t5 = <dynamic>[];
- if(self::i.{core::num::>}(0))
- #t5.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t5.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
- if(self::i.{core::num::>}(0))
- #t5.{core::List::addAll}{Invariant}(self::nullableList!);
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::addAll}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::addAll}(self::nullableList!){(core::Iterable<dynamic>) → void};
} =>#t5;
static method testMap<X extends dynamic, Y extends core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
core::Map<dynamic, dynamic> map2 = block {
final core::Map<dynamic, dynamic> #t6 = <dynamic, dynamic>{};
- if(self::i.{core::num::>}(0))
- #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t6.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
if (i > 0) ...x, // error
- ^", null);
- if(self::i.{core::num::>}(0))
- #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t6.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^", null);
- if(self::i.{core::num::>}(0))
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
for (final core::MapEntry<dynamic, dynamic> #t7 in z.{core::Map::entries})
- #t6.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
- if(self::i.{core::num::>}(0))
+ #t6.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value}){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
for (final core::MapEntry<dynamic, dynamic> #t8 in y!.{core::Map::entries})
- #t6.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t6.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value}){(dynamic, dynamic) → void};
} =>#t6;
}
static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
core::Set<dynamic> set2 = block {
final core::Set<dynamic> #t9 = col::LinkedHashSet::•<dynamic>();
- #t9.{core::Set::add}{Invariant}(0);
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t9.{core::Set::add}(0){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::addAll}{Invariant}(z);
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::addAll}(z){(core::Iterable<dynamic>) → void};
} =>#t9;
core::List<dynamic> list2 = block {
final core::List<dynamic> #t10 = <dynamic>[];
- if(self::i.{core::num::>}(0))
- #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t10.{core::List::addAll}{Invariant}(z);
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::addAll}(z){(core::Iterable<dynamic>) → void};
} =>#t10;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
index 04e38068..6a80c4b 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
@@ -57,71 +57,71 @@
static field dynamic dynamicList = core::_GrowableList::_literal3<core::int>(1, 2, 3);
static field core::Map<dynamic, dynamic> map1 = block {
final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
- if(self::i.{core::num::>}(0))
- #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t1.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableMap, // error
- ^", null);
- if(self::i.{core::num::>}(0)) {
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value}){(dynamic, dynamic) → void};
}
}
- if(self::i.{core::num::>}(0)) {
+ if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value});
+ #t1.{core::Map::[]=}(#t3.{core::MapEntry::key}, #t3.{core::MapEntry::value}){(dynamic, dynamic) → void};
}
}
} =>#t1;
static field core::Set<dynamic> set1 = block {
final core::Set<dynamic> #t4 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t4.{core::Set::add}{Invariant}(0);
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t4.{core::Set::add}(0){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
- if(self::i.{core::num::>}(0))
- #t4.{core::Set::addAll}{Invariant}(self::nullableList!);
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::addAll}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t4.{core::Set::addAll}(self::nullableList!){(core::Iterable<dynamic>) → void};
} =>#t4;
static field core::List<dynamic> list1 = block {
final core::List<dynamic> #t5 = core::_GrowableList::•<dynamic>(0);
- if(self::i.{core::num::>}(0))
- #t5.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...nullableList, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t5.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
- if(self::i.{core::num::>}(0))
- #t5.{core::List::addAll}{Invariant}(self::nullableList!);
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::addAll}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t5.{core::List::addAll}(self::nullableList!){(core::Iterable<dynamic>) → void};
} =>#t5;
static method testMap<X extends dynamic, Y extends core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
core::Map<dynamic, dynamic> map2 = block {
final core::Map<dynamic, dynamic> #t6 = <dynamic, dynamic>{};
- if(self::i.{core::num::>}(0))
- #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t6.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry. Expected 'dynamic' or a Map.
if (i > 0) ...x, // error
- ^", null);
- if(self::i.{core::num::>}(0))
- #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t6.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^", null);
- if(self::i.{core::num::>}(0)) {
+ ^", null){(dynamic, dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = z.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current};
- #t6.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
+ #t6.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value}){(dynamic, dynamic) → void};
}
}
- if(self::i.{core::num::>}(0)) {
+ if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = y!.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic> #t8 = :sync-for-iterator.{core::Iterator::current};
- #t6.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
+ #t6.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value}){(dynamic, dynamic) → void};
}
}
} =>#t6;
@@ -129,30 +129,30 @@
static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
core::Set<dynamic> set2 = block {
final core::Set<dynamic> #t9 = new col::_CompactLinkedHashSet::•<dynamic>();
- #t9.{core::Set::add}{Invariant}(0);
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ #t9.{core::Set::add}(0){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t9.{core::Set::addAll}{Invariant}(z);
+ ^"){(dynamic) → core::bool};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t9.{core::Set::addAll}(z){(core::Iterable<dynamic>) → void};
} =>#t9;
core::List<dynamic> list2 = block {
final core::List<dynamic> #t10 = core::_GrowableList::•<dynamic>(0);
- if(self::i.{core::num::>}(0))
- #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread. Expected 'dynamic' or an Iterable.
if (i > 0) ...x, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
if (i > 0) ...y, // error
- ^");
- if(self::i.{core::num::>}(0))
- #t10.{core::List::addAll}{Invariant}(z);
+ ^"){(dynamic) → void};
+ if(self::i.{core::num::>}(0){(core::num) → core::bool})
+ #t10.{core::List::addAll}(z){(core::Iterable<dynamic>) → void};
} =>#t10;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43278.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43278.dart.strong.expect
index cd83b1e..3de5c65 100644
--- a/pkg/front_end/testcases/nnbd/issue43278.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43278.dart.strong.expect
@@ -49,20 +49,20 @@
- 'A' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
a.foo ??= x; // Error.
- ^^^" in #t1.{self::A::foo}).{core::num::==}(null) ?{core::int} let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:13:5: Error: Property 'foo' cannot be accessed on 'A?' because it is potentially null.
+ ^^^" in #t1.{self::A::foo}{<nullable>}.{core::int?}) == null ?{core::int} let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:13:5: Error: Property 'foo' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
a.foo ??= x; // Error.
- ^^^" in #t1.{self::A::foo} = x : null;
+ ^^^" in #t1.{self::A::foo}{<nullable>}. = x : null;
let final self::test::T% #t4 = t in (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.foo ??= x; // Error.
- ^^^" in #t4.{self::A::foo}).{core::num::==}(null) ?{core::int} let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
+ ^^^" in #t4.{self::A::foo}{<nullable>}.{core::int?}) == null ?{core::int} let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.foo ??= x; // Error.
- ^^^" in #t4.{self::A::foo} = x : null;
- let final dynamic #t7 = d in #t7.foo.{core::Object::==}(null) ?{dynamic} #t7.foo = x : null;
- let final self::A? #t8 = a in #t8.{core::Object::==}(null) ?{core::int?} null : let final self::A #t9 = #t8{self::A}.{self::A::bar} in #t9.{self::A::foo}.{core::num::==}(null) ?{core::int} #t9.{self::A::foo} = x : null;
+ ^^^" in #t4.{self::A::foo}{<nullable>}. = x : null;
+ let final dynamic #t7 = d in #t7{dynamic}.foo == null ?{dynamic} #t7{dynamic}.foo = x : null;
+ let final self::A? #t8 = a in #t8 == null ?{core::int?} null : let final self::A #t9 = #t8{self::A}.{self::A::bar}{self::A} in #t9.{self::A::foo}{core::int?} == null ?{core::int} #t9.{self::A::foo} = x : null;
}
static method Extension|get#fooExtension(lowered final self::B #this) → core::int?
return null;
@@ -74,7 +74,7 @@
- 'B' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
b.fooExtension ??= x; // Error.
- ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t10)).{core::num::==}(null) ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:28:5: Error: Property 'fooExtension' cannot be accessed on 'B?' because it is potentially null.
+ ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t10)) == null ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:28:5: Error: Property 'fooExtension' cannot be accessed on 'B?' because it is potentially null.
- 'B' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
b.fooExtension ??= x; // Error.
@@ -82,10 +82,10 @@
let final self::testExtension::T% #t13 = t in (let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.fooExtension ??= x; // Error.
- ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t13)).{core::num::==}(null) ?{core::int} let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
+ ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t13)) == null ?{core::int} let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.fooExtension ??= x; // Error.
^^^^^^^^^^^^" in self::Extension|set#fooExtension(#t13, x) : null;
- let final self::B? #t16 = b in #t16.{core::Object::==}(null) ?{core::int?} null : let final self::B #t17 = self::Extension|get#barExtension(#t16{self::B}) in self::Extension|get#fooExtension(#t17).{core::num::==}(null) ?{core::int} self::Extension|set#fooExtension(#t17, x) : null;
+ let final self::B? #t16 = b in #t16 == null ?{core::int?} null : let final self::B #t17 = self::Extension|get#barExtension(#t16{self::B}) in self::Extension|get#fooExtension(#t17) == null ?{core::int} self::Extension|set#fooExtension(#t17, x) : null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43278.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43278.dart.strong.transformed.expect
index cd83b1e..3de5c65 100644
--- a/pkg/front_end/testcases/nnbd/issue43278.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43278.dart.strong.transformed.expect
@@ -49,20 +49,20 @@
- 'A' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
a.foo ??= x; // Error.
- ^^^" in #t1.{self::A::foo}).{core::num::==}(null) ?{core::int} let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:13:5: Error: Property 'foo' cannot be accessed on 'A?' because it is potentially null.
+ ^^^" in #t1.{self::A::foo}{<nullable>}.{core::int?}) == null ?{core::int} let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:13:5: Error: Property 'foo' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
a.foo ??= x; // Error.
- ^^^" in #t1.{self::A::foo} = x : null;
+ ^^^" in #t1.{self::A::foo}{<nullable>}. = x : null;
let final self::test::T% #t4 = t in (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.foo ??= x; // Error.
- ^^^" in #t4.{self::A::foo}).{core::num::==}(null) ?{core::int} let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
+ ^^^" in #t4.{self::A::foo}{<nullable>}.{core::int?}) == null ?{core::int} let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.foo ??= x; // Error.
- ^^^" in #t4.{self::A::foo} = x : null;
- let final dynamic #t7 = d in #t7.foo.{core::Object::==}(null) ?{dynamic} #t7.foo = x : null;
- let final self::A? #t8 = a in #t8.{core::Object::==}(null) ?{core::int?} null : let final self::A #t9 = #t8{self::A}.{self::A::bar} in #t9.{self::A::foo}.{core::num::==}(null) ?{core::int} #t9.{self::A::foo} = x : null;
+ ^^^" in #t4.{self::A::foo}{<nullable>}. = x : null;
+ let final dynamic #t7 = d in #t7{dynamic}.foo == null ?{dynamic} #t7{dynamic}.foo = x : null;
+ let final self::A? #t8 = a in #t8 == null ?{core::int?} null : let final self::A #t9 = #t8{self::A}.{self::A::bar}{self::A} in #t9.{self::A::foo}{core::int?} == null ?{core::int} #t9.{self::A::foo} = x : null;
}
static method Extension|get#fooExtension(lowered final self::B #this) → core::int?
return null;
@@ -74,7 +74,7 @@
- 'B' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
b.fooExtension ??= x; // Error.
- ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t10)).{core::num::==}(null) ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:28:5: Error: Property 'fooExtension' cannot be accessed on 'B?' because it is potentially null.
+ ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t10)) == null ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:28:5: Error: Property 'fooExtension' cannot be accessed on 'B?' because it is potentially null.
- 'B' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
b.fooExtension ??= x; // Error.
@@ -82,10 +82,10 @@
let final self::testExtension::T% #t13 = t in (let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.fooExtension ??= x; // Error.
- ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t13)).{core::num::==}(null) ?{core::int} let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
+ ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t13)) == null ?{core::int} let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.fooExtension ??= x; // Error.
^^^^^^^^^^^^" in self::Extension|set#fooExtension(#t13, x) : null;
- let final self::B? #t16 = b in #t16.{core::Object::==}(null) ?{core::int?} null : let final self::B #t17 = self::Extension|get#barExtension(#t16{self::B}) in self::Extension|get#fooExtension(#t17).{core::num::==}(null) ?{core::int} self::Extension|set#fooExtension(#t17, x) : null;
+ let final self::B? #t16 = b in #t16 == null ?{core::int?} null : let final self::B #t17 = self::Extension|get#barExtension(#t16{self::B}) in self::Extension|get#fooExtension(#t17) == null ?{core::int} self::Extension|set#fooExtension(#t17, x) : null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43278.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43278.dart.weak.expect
index cd83b1e..3de5c65 100644
--- a/pkg/front_end/testcases/nnbd/issue43278.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43278.dart.weak.expect
@@ -49,20 +49,20 @@
- 'A' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
a.foo ??= x; // Error.
- ^^^" in #t1.{self::A::foo}).{core::num::==}(null) ?{core::int} let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:13:5: Error: Property 'foo' cannot be accessed on 'A?' because it is potentially null.
+ ^^^" in #t1.{self::A::foo}{<nullable>}.{core::int?}) == null ?{core::int} let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:13:5: Error: Property 'foo' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
a.foo ??= x; // Error.
- ^^^" in #t1.{self::A::foo} = x : null;
+ ^^^" in #t1.{self::A::foo}{<nullable>}. = x : null;
let final self::test::T% #t4 = t in (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.foo ??= x; // Error.
- ^^^" in #t4.{self::A::foo}).{core::num::==}(null) ?{core::int} let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
+ ^^^" in #t4.{self::A::foo}{<nullable>}.{core::int?}) == null ?{core::int} let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.foo ??= x; // Error.
- ^^^" in #t4.{self::A::foo} = x : null;
- let final dynamic #t7 = d in #t7.foo.{core::Object::==}(null) ?{dynamic} #t7.foo = x : null;
- let final self::A? #t8 = a in #t8.{core::Object::==}(null) ?{core::int?} null : let final self::A #t9 = #t8{self::A}.{self::A::bar} in #t9.{self::A::foo}.{core::num::==}(null) ?{core::int} #t9.{self::A::foo} = x : null;
+ ^^^" in #t4.{self::A::foo}{<nullable>}. = x : null;
+ let final dynamic #t7 = d in #t7{dynamic}.foo == null ?{dynamic} #t7{dynamic}.foo = x : null;
+ let final self::A? #t8 = a in #t8 == null ?{core::int?} null : let final self::A #t9 = #t8{self::A}.{self::A::bar}{self::A} in #t9.{self::A::foo}{core::int?} == null ?{core::int} #t9.{self::A::foo} = x : null;
}
static method Extension|get#fooExtension(lowered final self::B #this) → core::int?
return null;
@@ -74,7 +74,7 @@
- 'B' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
b.fooExtension ??= x; // Error.
- ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t10)).{core::num::==}(null) ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:28:5: Error: Property 'fooExtension' cannot be accessed on 'B?' because it is potentially null.
+ ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t10)) == null ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:28:5: Error: Property 'fooExtension' cannot be accessed on 'B?' because it is potentially null.
- 'B' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
b.fooExtension ??= x; // Error.
@@ -82,10 +82,10 @@
let final self::testExtension::T% #t13 = t in (let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.fooExtension ??= x; // Error.
- ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t13)).{core::num::==}(null) ?{core::int} let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
+ ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t13)) == null ?{core::int} let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.fooExtension ??= x; // Error.
^^^^^^^^^^^^" in self::Extension|set#fooExtension(#t13, x) : null;
- let final self::B? #t16 = b in #t16.{core::Object::==}(null) ?{core::int?} null : let final self::B #t17 = self::Extension|get#barExtension(#t16{self::B}) in self::Extension|get#fooExtension(#t17).{core::num::==}(null) ?{core::int} self::Extension|set#fooExtension(#t17, x) : null;
+ let final self::B? #t16 = b in #t16 == null ?{core::int?} null : let final self::B #t17 = self::Extension|get#barExtension(#t16{self::B}) in self::Extension|get#fooExtension(#t17) == null ?{core::int} self::Extension|set#fooExtension(#t17, x) : null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43278.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43278.dart.weak.transformed.expect
index cd83b1e..3de5c65 100644
--- a/pkg/front_end/testcases/nnbd/issue43278.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43278.dart.weak.transformed.expect
@@ -49,20 +49,20 @@
- 'A' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
a.foo ??= x; // Error.
- ^^^" in #t1.{self::A::foo}).{core::num::==}(null) ?{core::int} let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:13:5: Error: Property 'foo' cannot be accessed on 'A?' because it is potentially null.
+ ^^^" in #t1.{self::A::foo}{<nullable>}.{core::int?}) == null ?{core::int} let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:13:5: Error: Property 'foo' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
a.foo ??= x; // Error.
- ^^^" in #t1.{self::A::foo} = x : null;
+ ^^^" in #t1.{self::A::foo}{<nullable>}. = x : null;
let final self::test::T% #t4 = t in (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.foo ??= x; // Error.
- ^^^" in #t4.{self::A::foo}).{core::num::==}(null) ?{core::int} let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
+ ^^^" in #t4.{self::A::foo}{<nullable>}.{core::int?}) == null ?{core::int} let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:14:5: Error: Property 'foo' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.foo ??= x; // Error.
- ^^^" in #t4.{self::A::foo} = x : null;
- let final dynamic #t7 = d in #t7.foo.{core::Object::==}(null) ?{dynamic} #t7.foo = x : null;
- let final self::A? #t8 = a in #t8.{core::Object::==}(null) ?{core::int?} null : let final self::A #t9 = #t8{self::A}.{self::A::bar} in #t9.{self::A::foo}.{core::num::==}(null) ?{core::int} #t9.{self::A::foo} = x : null;
+ ^^^" in #t4.{self::A::foo}{<nullable>}. = x : null;
+ let final dynamic #t7 = d in #t7{dynamic}.foo == null ?{dynamic} #t7{dynamic}.foo = x : null;
+ let final self::A? #t8 = a in #t8 == null ?{core::int?} null : let final self::A #t9 = #t8{self::A}.{self::A::bar}{self::A} in #t9.{self::A::foo}{core::int?} == null ?{core::int} #t9.{self::A::foo} = x : null;
}
static method Extension|get#fooExtension(lowered final self::B #this) → core::int?
return null;
@@ -74,7 +74,7 @@
- 'B' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
b.fooExtension ??= x; // Error.
- ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t10)).{core::num::==}(null) ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:28:5: Error: Property 'fooExtension' cannot be accessed on 'B?' because it is potentially null.
+ ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t10)) == null ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:28:5: Error: Property 'fooExtension' cannot be accessed on 'B?' because it is potentially null.
- 'B' is from 'pkg/front_end/testcases/nnbd/issue43278.dart'.
Try accessing using ?. instead.
b.fooExtension ??= x; // Error.
@@ -82,10 +82,10 @@
let final self::testExtension::T% #t13 = t in (let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.fooExtension ??= x; // Error.
- ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t13)).{core::num::==}(null) ?{core::int} let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
+ ^^^^^^^^^^^^" in self::Extension|get#fooExtension(#t13)) == null ?{core::int} let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/issue43278.dart:29:5: Error: Property 'fooExtension' cannot be accessed on 'T' because it is potentially null.
Try accessing using ?. instead.
t.fooExtension ??= x; // Error.
^^^^^^^^^^^^" in self::Extension|set#fooExtension(#t13, x) : null;
- let final self::B? #t16 = b in #t16.{core::Object::==}(null) ?{core::int?} null : let final self::B #t17 = self::Extension|get#barExtension(#t16{self::B}) in self::Extension|get#fooExtension(#t17).{core::num::==}(null) ?{core::int} self::Extension|set#fooExtension(#t17, x) : null;
+ let final self::B? #t16 = b in #t16 == null ?{core::int?} null : let final self::B #t17 = self::Extension|get#barExtension(#t16{self::B}) in self::Extension|get#fooExtension(#t17) == null ?{core::int} self::Extension|set#fooExtension(#t17, x) : null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43455.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43455.dart.strong.expect
index 9a0b8b5..bdb5c97 100644
--- a/pkg/front_end/testcases/nnbd/issue43455.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43455.dart.strong.expect
@@ -10,23 +10,23 @@
method test(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y? y) → dynamic {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t1 = col::LinkedHashSet::•<core::Object?>();
- #t1.{core::Set::add}{Invariant}(x);
- #t1.{core::Set::add}{Invariant}(42);
+ #t1.{core::Set::add}(x){(core::Object?) → core::bool};
+ #t1.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t1;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t2 = col::LinkedHashSet::•<core::Object?>();
- #t2.{core::Set::add}{Invariant}(42);
- #t2.{core::Set::add}{Invariant}(x);
+ #t2.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t2.{core::Set::add}(x){(core::Object?) → core::bool};
} =>#t2;
core::Set<core::Object?> p = block {
final core::Set<core::Object?> #t3 = col::LinkedHashSet::•<core::Object?>();
- #t3.{core::Set::add}{Invariant}(y);
- #t3.{core::Set::add}{Invariant}(42);
+ #t3.{core::Set::add}(y){(core::Object?) → core::bool};
+ #t3.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t3;
core::Set<core::Object?> q = block {
final core::Set<core::Object?> #t4 = col::LinkedHashSet::•<core::Object?>();
- #t4.{core::Set::add}{Invariant}(42);
- #t4.{core::Set::add}{Invariant}(y);
+ #t4.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t4.{core::Set::add}(y){(core::Object?) → core::bool};
} =>#t4;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -39,13 +39,13 @@
if(x is{ForNonNullableByDefault} core::Object?) {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t5 = col::LinkedHashSet::•<core::Object?>();
- #t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
- #t5.{core::Set::add}{Invariant}(42);
+ #t5.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
+ #t5.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t5;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t6 = col::LinkedHashSet::•<core::Object?>();
- #t6.{core::Set::add}{Invariant}(42);
- #t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t6.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t6.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
} =>#t6;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -61,6 +61,6 @@
col::LinkedHashSet::•<core::Object?>() as{ForNonNullableByDefault} self::assertLeftSubtype::X%;
}
static method main() → dynamic {
- new self::C::•<core::int?, core::int>().{self::C::test}(42, null);
- new self::C::•<core::int?, core::int>().{self::C::test}(null, null);
+ new self::C::•<core::int?, core::int>().{self::C::test}(42, null){(core::int?, core::int?) → dynamic};
+ new self::C::•<core::int?, core::int>().{self::C::test}(null, null){(core::int?, core::int?) → dynamic};
}
diff --git a/pkg/front_end/testcases/nnbd/issue43455.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43455.dart.strong.transformed.expect
index ceddbed..75bcc24 100644
--- a/pkg/front_end/testcases/nnbd/issue43455.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43455.dart.strong.transformed.expect
@@ -10,23 +10,23 @@
method test(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y? y) → dynamic {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t1 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t1.{core::Set::add}{Invariant}(x);
- #t1.{core::Set::add}{Invariant}(42);
+ #t1.{core::Set::add}(x){(core::Object?) → core::bool};
+ #t1.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t1;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t2 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t2.{core::Set::add}{Invariant}(42);
- #t2.{core::Set::add}{Invariant}(x);
+ #t2.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t2.{core::Set::add}(x){(core::Object?) → core::bool};
} =>#t2;
core::Set<core::Object?> p = block {
final core::Set<core::Object?> #t3 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t3.{core::Set::add}{Invariant}(y);
- #t3.{core::Set::add}{Invariant}(42);
+ #t3.{core::Set::add}(y){(core::Object?) → core::bool};
+ #t3.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t3;
core::Set<core::Object?> q = block {
final core::Set<core::Object?> #t4 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t4.{core::Set::add}{Invariant}(42);
- #t4.{core::Set::add}{Invariant}(y);
+ #t4.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t4.{core::Set::add}(y){(core::Object?) → core::bool};
} =>#t4;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -39,13 +39,13 @@
if(x is{ForNonNullableByDefault} core::Object?) {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t5 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
- #t5.{core::Set::add}{Invariant}(42);
+ #t5.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
+ #t5.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t5;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t6 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t6.{core::Set::add}{Invariant}(42);
- #t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t6.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t6.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
} =>#t6;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -61,6 +61,6 @@
new col::_CompactLinkedHashSet::•<core::Object?>() as{ForNonNullableByDefault} self::assertLeftSubtype::X%;
}
static method main() → dynamic {
- new self::C::•<core::int?, core::int>().{self::C::test}(42, null);
- new self::C::•<core::int?, core::int>().{self::C::test}(null, null);
+ new self::C::•<core::int?, core::int>().{self::C::test}(42, null){(core::int?, core::int?) → dynamic};
+ new self::C::•<core::int?, core::int>().{self::C::test}(null, null){(core::int?, core::int?) → dynamic};
}
diff --git a/pkg/front_end/testcases/nnbd/issue43455.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43455.dart.weak.expect
index 9a0b8b5..bdb5c97 100644
--- a/pkg/front_end/testcases/nnbd/issue43455.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43455.dart.weak.expect
@@ -10,23 +10,23 @@
method test(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y? y) → dynamic {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t1 = col::LinkedHashSet::•<core::Object?>();
- #t1.{core::Set::add}{Invariant}(x);
- #t1.{core::Set::add}{Invariant}(42);
+ #t1.{core::Set::add}(x){(core::Object?) → core::bool};
+ #t1.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t1;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t2 = col::LinkedHashSet::•<core::Object?>();
- #t2.{core::Set::add}{Invariant}(42);
- #t2.{core::Set::add}{Invariant}(x);
+ #t2.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t2.{core::Set::add}(x){(core::Object?) → core::bool};
} =>#t2;
core::Set<core::Object?> p = block {
final core::Set<core::Object?> #t3 = col::LinkedHashSet::•<core::Object?>();
- #t3.{core::Set::add}{Invariant}(y);
- #t3.{core::Set::add}{Invariant}(42);
+ #t3.{core::Set::add}(y){(core::Object?) → core::bool};
+ #t3.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t3;
core::Set<core::Object?> q = block {
final core::Set<core::Object?> #t4 = col::LinkedHashSet::•<core::Object?>();
- #t4.{core::Set::add}{Invariant}(42);
- #t4.{core::Set::add}{Invariant}(y);
+ #t4.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t4.{core::Set::add}(y){(core::Object?) → core::bool};
} =>#t4;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -39,13 +39,13 @@
if(x is{ForNonNullableByDefault} core::Object?) {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t5 = col::LinkedHashSet::•<core::Object?>();
- #t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
- #t5.{core::Set::add}{Invariant}(42);
+ #t5.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
+ #t5.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t5;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t6 = col::LinkedHashSet::•<core::Object?>();
- #t6.{core::Set::add}{Invariant}(42);
- #t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t6.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t6.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
} =>#t6;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -61,6 +61,6 @@
col::LinkedHashSet::•<core::Object?>() as{ForNonNullableByDefault} self::assertLeftSubtype::X%;
}
static method main() → dynamic {
- new self::C::•<core::int?, core::int>().{self::C::test}(42, null);
- new self::C::•<core::int?, core::int>().{self::C::test}(null, null);
+ new self::C::•<core::int?, core::int>().{self::C::test}(42, null){(core::int?, core::int?) → dynamic};
+ new self::C::•<core::int?, core::int>().{self::C::test}(null, null){(core::int?, core::int?) → dynamic};
}
diff --git a/pkg/front_end/testcases/nnbd/issue43455.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43455.dart.weak.transformed.expect
index ceddbed..75bcc24 100644
--- a/pkg/front_end/testcases/nnbd/issue43455.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43455.dart.weak.transformed.expect
@@ -10,23 +10,23 @@
method test(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y? y) → dynamic {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t1 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t1.{core::Set::add}{Invariant}(x);
- #t1.{core::Set::add}{Invariant}(42);
+ #t1.{core::Set::add}(x){(core::Object?) → core::bool};
+ #t1.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t1;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t2 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t2.{core::Set::add}{Invariant}(42);
- #t2.{core::Set::add}{Invariant}(x);
+ #t2.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t2.{core::Set::add}(x){(core::Object?) → core::bool};
} =>#t2;
core::Set<core::Object?> p = block {
final core::Set<core::Object?> #t3 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t3.{core::Set::add}{Invariant}(y);
- #t3.{core::Set::add}{Invariant}(42);
+ #t3.{core::Set::add}(y){(core::Object?) → core::bool};
+ #t3.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t3;
core::Set<core::Object?> q = block {
final core::Set<core::Object?> #t4 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t4.{core::Set::add}{Invariant}(42);
- #t4.{core::Set::add}{Invariant}(y);
+ #t4.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t4.{core::Set::add}(y){(core::Object?) → core::bool};
} =>#t4;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -39,13 +39,13 @@
if(x is{ForNonNullableByDefault} core::Object?) {
core::Set<core::Object?> v = block {
final core::Set<core::Object?> #t5 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t5.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
- #t5.{core::Set::add}{Invariant}(42);
+ #t5.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
+ #t5.{core::Set::add}(42){(core::Object?) → core::bool};
} =>#t5;
core::Set<core::Object?> w = block {
final core::Set<core::Object?> #t6 = new col::_CompactLinkedHashSet::•<core::Object?>();
- #t6.{core::Set::add}{Invariant}(42);
- #t6.{core::Set::add}{Invariant}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */});
+ #t6.{core::Set::add}(42){(core::Object?) → core::bool};
+ #t6.{core::Set::add}(x{self::C::X% & core::Object? /* '%' & '?' = '%' */}){(core::Object?) → core::bool};
} =>#t6;
self::assertRightSubtype(v);
self::assertLeftSubtype<core::Set<core::Object?>>(v);
@@ -61,6 +61,6 @@
new col::_CompactLinkedHashSet::•<core::Object?>() as{ForNonNullableByDefault} self::assertLeftSubtype::X%;
}
static method main() → dynamic {
- new self::C::•<core::int?, core::int>().{self::C::test}(42, null);
- new self::C::•<core::int?, core::int>().{self::C::test}(null, null);
+ new self::C::•<core::int?, core::int>().{self::C::test}(42, null){(core::int?, core::int?) → dynamic};
+ new self::C::•<core::int?, core::int>().{self::C::test}(null, null){(core::int?, core::int?) → dynamic};
}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
index e5985d6..778487e 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
@@ -175,7 +175,7 @@
{...a}, // Error.
^") {
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::Set::add}{Invariant}(#t3);
+ #t1.{core::Set::add}(#t3){(core::int) → core::bool};
}
} =>#t1, block {
final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
@@ -183,7 +183,7 @@
{...b}, // Error.
^") {
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
- #t4.{core::Set::add}{Invariant}(#t6);
+ #t4.{core::Set::add}(#t6){(core::int) → core::bool};
}
} =>#t4, block {
final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
@@ -191,7 +191,7 @@
{...c}, // Error.
^") {
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
- #t7.{core::Set::add}{Invariant}(#t9);
+ #t7.{core::Set::add}(#t9){(core::int) → core::bool};
}
} =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...d}, // Error.
@@ -200,10 +200,10 @@
<int, int>{...a}, // Error.
^": null}, block {
final core::Set<core::int> #t10 = col::LinkedHashSet::•<core::int>();
- #t10.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
+ #t10.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{...d}, // Error.
- ^");
+ ^"){(core::int) → core::bool};
} =>#t10, block {
final core::Set<core::int> #t11 = col::LinkedHashSet::•<core::int>();
if(condition)
@@ -211,7 +211,7 @@
{if (condition) ...a}, // Error.
^") {
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
- #t11.{core::Set::add}{Invariant}(#t13);
+ #t11.{core::Set::add}(#t13){(core::int) → core::bool};
}
} =>#t11, block {
final core::Set<core::int> #t14 = col::LinkedHashSet::•<core::int>();
@@ -220,7 +220,7 @@
{if (condition) ...b}, // Error.
^") {
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
- #t14.{core::Set::add}{Invariant}(#t16);
+ #t14.{core::Set::add}(#t16){(core::int) → core::bool};
}
} =>#t14, block {
final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
@@ -229,14 +229,14 @@
{if (condition) ...c}, // Error.
^") {
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}{Invariant}(#t19);
+ #t17.{core::Set::add}(#t19){(core::int) → core::bool};
}
} =>#t17, block {
final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
if(condition)
- #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t20.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t20, block {
final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable)
@@ -244,7 +244,7 @@
{for (dynamic e in iterable) ...a}, // Error.
^") {
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
- #t21.{core::Set::add}{Invariant}(#t23);
+ #t21.{core::Set::add}(#t23){(core::int) → core::bool};
}
} =>#t21, block {
final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
@@ -253,7 +253,7 @@
{for (dynamic e in iterable) ...b}, // Error.
^") {
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
- #t24.{core::Set::add}{Invariant}(#t26);
+ #t24.{core::Set::add}(#t26){(core::int) → core::bool};
}
} =>#t24, block {
final core::Set<core::int> #t27 = col::LinkedHashSet::•<core::int>();
@@ -262,190 +262,190 @@
{for (dynamic e in iterable) ...c}, // Error.
^") {
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
- #t27.{core::Set::add}{Invariant}(#t29);
+ #t27.{core::Set::add}(#t29){(core::int) → core::bool};
}
} =>#t27, block {
final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
for (dynamic e in iterable)
- #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t30.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t30, block {
final core::Set<core::int> #t31 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t32 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...a}, // Error.
^") {
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
- #t31.{core::Set::add}{Invariant}(#t33);
+ #t31.{core::Set::add}(#t33){(core::int) → core::bool};
}
} =>#t31, block {
final core::Set<core::int> #t34 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t35 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...b}, // Error.
^") {
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
- #t34.{core::Set::add}{Invariant}(#t36);
+ #t34.{core::Set::add}(#t36){(core::int) → core::bool};
}
} =>#t34, block {
final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t38 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...c}, // Error.
^") {
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
- #t37.{core::Set::add}{Invariant}(#t39);
+ #t37.{core::Set::add}(#t39){(core::int) → core::bool};
}
} =>#t37, block {
final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t40.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t40, block {
final core::Set<core::int> #t41 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t42 = a;
- if(!#t42.{core::Object::==}(null))
+ if(!(#t42 == null))
for (final dynamic #t43 in #t42{core::Iterable<dynamic>}) {
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
- #t41.{core::Set::add}{Invariant}(#t44);
+ #t41.{core::Set::add}(#t44){(core::int) → core::bool};
}
} =>#t41, block {
final core::Set<core::int> #t45 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t46 = b;
- if(!#t46.{core::Object::==}(null))
+ if(!(#t46 == null))
for (final dynamic #t47 in #t46{core::Iterable<dynamic>}) {
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
- #t45.{core::Set::add}{Invariant}(#t48);
+ #t45.{core::Set::add}(#t48){(core::int) → core::bool};
}
} =>#t45, block {
final core::Set<core::int> #t49 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t50 = c;
- if(!#t50.{core::Object::==}(null))
+ if(!(#t50 == null))
for (final dynamic #t51 in #t50{core::Iterable<dynamic>}) {
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
- #t49.{core::Set::add}{Invariant}(#t52);
+ #t49.{core::Set::add}(#t52){(core::int) → core::bool};
}
} =>#t49, block {
final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t54 = d;
- if(!#t54.{core::Object::==}(null))
+ if(!(#t54 == null))
for (final core::MapEntry<core::int, core::int> #t55 in #t54{core::Map<core::int, core::int>}.{core::Map::entries})
- #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
+ #t53.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value}){(core::int, core::int) → void};
} =>#t53, block {
final core::Set<core::int> #t56 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t57 = a;
- if(!#t57.{core::Object::==}(null))
+ if(!(#t57 == null))
for (final dynamic #t58 in #t57{core::Iterable<dynamic>}) {
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
- #t56.{core::Set::add}{Invariant}(#t59);
+ #t56.{core::Set::add}(#t59){(core::int) → core::bool};
}
}
} =>#t56, block {
final core::Set<core::int> #t60 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t61 = b;
- if(!#t61.{core::Object::==}(null))
+ if(!(#t61 == null))
for (final dynamic #t62 in #t61{core::Iterable<dynamic>}) {
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
- #t60.{core::Set::add}{Invariant}(#t63);
+ #t60.{core::Set::add}(#t63){(core::int) → core::bool};
}
}
} =>#t60, block {
final core::Set<core::int> #t64 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t65 = c;
- if(!#t65.{core::Object::==}(null))
+ if(!(#t65 == null))
for (final dynamic #t66 in #t65{core::Iterable<dynamic>}) {
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
- #t64.{core::Set::add}{Invariant}(#t67);
+ #t64.{core::Set::add}(#t67){(core::int) → core::bool};
}
}
} =>#t64, block {
final core::Map<core::int, core::int> #t68 = <core::int, core::int>{};
if(condition) {
final core::Map<core::int, core::int>? #t69 = d;
- if(!#t69.{core::Object::==}(null))
+ if(!(#t69 == null))
for (final core::MapEntry<core::int, core::int> #t70 in #t69{core::Map<core::int, core::int>}.{core::Map::entries})
- #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t68, block {
final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t72 = a;
- if(!#t72.{core::Object::==}(null))
+ if(!(#t72 == null))
for (final dynamic #t73 in #t72{core::Iterable<dynamic>}) {
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
- #t71.{core::Set::add}{Invariant}(#t74);
+ #t71.{core::Set::add}(#t74){(core::int) → core::bool};
}
}
} =>#t71, block {
final core::Set<core::int> #t75 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t76 = b;
- if(!#t76.{core::Object::==}(null))
+ if(!(#t76 == null))
for (final dynamic #t77 in #t76{core::Iterable<dynamic>}) {
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
- #t75.{core::Set::add}{Invariant}(#t78);
+ #t75.{core::Set::add}(#t78){(core::int) → core::bool};
}
}
} =>#t75, block {
final core::Set<core::int> #t79 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t80 = c;
- if(!#t80.{core::Object::==}(null))
+ if(!(#t80 == null))
for (final dynamic #t81 in #t80{core::Iterable<dynamic>}) {
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
- #t79.{core::Set::add}{Invariant}(#t82);
+ #t79.{core::Set::add}(#t82){(core::int) → core::bool};
}
}
} =>#t79, block {
final core::Map<core::int, core::int> #t83 = <core::int, core::int>{};
for (dynamic e in iterable) {
final core::Map<core::int, core::int>? #t84 = d;
- if(!#t84.{core::Object::==}(null))
+ if(!(#t84 == null))
for (final core::MapEntry<core::int, core::int> #t85 in #t84{core::Map<core::int, core::int>}.{core::Map::entries})
- #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t83, block {
final core::Set<core::int> #t86 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t87 = a;
- if(!#t87.{core::Object::==}(null))
+ if(!(#t87 == null))
for (final dynamic #t88 in #t87{core::Iterable<dynamic>}) {
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
- #t86.{core::Set::add}{Invariant}(#t89);
+ #t86.{core::Set::add}(#t89){(core::int) → core::bool};
}
}
} =>#t86, block {
final core::Set<core::int> #t90 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t91 = b;
- if(!#t91.{core::Object::==}(null))
+ if(!(#t91 == null))
for (final dynamic #t92 in #t91{core::Iterable<dynamic>}) {
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
- #t90.{core::Set::add}{Invariant}(#t93);
+ #t90.{core::Set::add}(#t93){(core::int) → core::bool};
}
}
} =>#t90, block {
final core::Set<core::int> #t94 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t95 = c;
- if(!#t95.{core::Object::==}(null))
+ if(!(#t95 == null))
for (final dynamic #t96 in #t95{core::Iterable<dynamic>}) {
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
- #t94.{core::Set::add}{Invariant}(#t97);
+ #t94.{core::Set::add}(#t97){(core::int) → core::bool};
}
}
} =>#t94, block {
final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Map<core::int, core::int>? #t99 = d;
- if(!#t99.{core::Object::==}(null))
+ if(!(#t99 == null))
for (final core::MapEntry<core::int, core::int> #t100 in #t99{core::Map<core::int, core::int>}.{core::Map::entries})
- #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
+ #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t98];
}
@@ -456,7 +456,7 @@
{...x}, // Error.
^") {
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
- #t101.{core::Set::add}{Invariant}(#t103);
+ #t101.{core::Set::add}(#t103){(core::int) → core::bool};
}
} =>#t101, block {
final core::Set<core::int> #t104 = col::LinkedHashSet::•<core::int>();
@@ -464,7 +464,7 @@
{...y}, // Error.
^") {
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
- #t104.{core::Set::add}{Invariant}(#t106);
+ #t104.{core::Set::add}(#t106){(core::int) → core::bool};
}
} =>#t104, block {
final core::Set<core::int> #t107 = col::LinkedHashSet::•<core::int>();
@@ -472,7 +472,7 @@
{...z}, // Error.
^") {
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
- #t107.{core::Set::add}{Invariant}(#t109);
+ #t107.{core::Set::add}(#t109){(core::int) → core::bool};
}
} =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...w}, // Error.
@@ -480,9 +480,9 @@
<int, int>{...x}, // Error.
^": null}, block {
final core::Set<core::int> #t110 = col::LinkedHashSet::•<core::int>();
- #t110.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+ #t110.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
<int>{...w}, // Error.
- ^");
+ ^"){(core::int) → core::bool};
} =>#t110, block {
final core::Set<core::int> #t111 = col::LinkedHashSet::•<core::int>();
if(condition)
@@ -490,7 +490,7 @@
{if (condition) ...x}, // Error.
^") {
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
- #t111.{core::Set::add}{Invariant}(#t113);
+ #t111.{core::Set::add}(#t113){(core::int) → core::bool};
}
} =>#t111, block {
final core::Set<core::int> #t114 = col::LinkedHashSet::•<core::int>();
@@ -499,7 +499,7 @@
{if (condition) ...y}, // Error.
^") {
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
- #t114.{core::Set::add}{Invariant}(#t116);
+ #t114.{core::Set::add}(#t116){(core::int) → core::bool};
}
} =>#t114, block {
final core::Set<core::int> #t117 = col::LinkedHashSet::•<core::int>();
@@ -508,14 +508,14 @@
{if (condition) ...z}, // Error.
^") {
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
- #t117.{core::Set::add}{Invariant}(#t119);
+ #t117.{core::Set::add}(#t119){(core::int) → core::bool};
}
} =>#t117, block {
final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
if(condition)
- #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t120.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t120, block {
final core::Set<core::int> #t121 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable)
@@ -523,7 +523,7 @@
{for (dynamic e in iterable) ...x}, // Error.
^") {
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
- #t121.{core::Set::add}{Invariant}(#t123);
+ #t121.{core::Set::add}(#t123){(core::int) → core::bool};
}
} =>#t121, block {
final core::Set<core::int> #t124 = col::LinkedHashSet::•<core::int>();
@@ -532,7 +532,7 @@
{for (dynamic e in iterable) ...y}, // Error.
^") {
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
- #t124.{core::Set::add}{Invariant}(#t126);
+ #t124.{core::Set::add}(#t126){(core::int) → core::bool};
}
} =>#t124, block {
final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
@@ -541,190 +541,190 @@
{for (dynamic e in iterable) ...z}, // Error.
^") {
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
- #t127.{core::Set::add}{Invariant}(#t129);
+ #t127.{core::Set::add}(#t129){(core::int) → core::bool};
}
} =>#t127, block {
final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
for (dynamic e in iterable)
- #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t130.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t130, block {
final core::Set<core::int> #t131 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t132 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...x}, // Error.
^") {
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
- #t131.{core::Set::add}{Invariant}(#t133);
+ #t131.{core::Set::add}(#t133){(core::int) → core::bool};
}
} =>#t131, block {
final core::Set<core::int> #t134 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t135 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...y}, // Error.
^") {
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
- #t134.{core::Set::add}{Invariant}(#t136);
+ #t134.{core::Set::add}(#t136){(core::int) → core::bool};
}
} =>#t134, block {
final core::Set<core::int> #t137 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t138 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...z}, // Error.
^") {
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
- #t137.{core::Set::add}{Invariant}(#t139);
+ #t137.{core::Set::add}(#t139){(core::int) → core::bool};
}
} =>#t137, block {
final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t140.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t140, block {
final core::Set<core::int> #t141 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t142 = x;
- if(!#t142.{core::Object::==}(null))
+ if(!(#t142 == null))
for (final dynamic #t143 in #t142{core::Iterable<dynamic>}) {
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
- #t141.{core::Set::add}{Invariant}(#t144);
+ #t141.{core::Set::add}(#t144){(core::int) → core::bool};
}
} =>#t141, block {
final core::Set<core::int> #t145 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t146 = y;
- if(!#t146.{core::Object::==}(null))
+ if(!(#t146 == null))
for (final dynamic #t147 in #t146{core::Iterable<dynamic>}) {
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
- #t145.{core::Set::add}{Invariant}(#t148);
+ #t145.{core::Set::add}(#t148){(core::int) → core::bool};
}
} =>#t145, block {
final core::Set<core::int> #t149 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t150 = z;
- if(!#t150.{core::Object::==}(null))
+ if(!(#t150 == null))
for (final dynamic #t151 in #t150{core::Iterable<dynamic>}) {
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
- #t149.{core::Set::add}{Invariant}(#t152);
+ #t149.{core::Set::add}(#t152){(core::int) → core::bool};
}
} =>#t149, block {
final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t154 = w;
- if(!#t154.{core::Object::==}(null))
+ if(!(#t154 == null))
for (final core::MapEntry<core::int, core::int> #t155 in #t154{core::Map<core::int, core::int>}.{core::Map::entries})
- #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
+ #t153.{core::Map::[]=}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value}){(core::int, core::int) → void};
} =>#t153, block {
final core::Set<core::int> #t156 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t157 = x;
- if(!#t157.{core::Object::==}(null))
+ if(!(#t157 == null))
for (final dynamic #t158 in #t157{core::Iterable<dynamic>}) {
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
- #t156.{core::Set::add}{Invariant}(#t159);
+ #t156.{core::Set::add}(#t159){(core::int) → core::bool};
}
}
} =>#t156, block {
final core::Set<core::int> #t160 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t161 = y;
- if(!#t161.{core::Object::==}(null))
+ if(!(#t161 == null))
for (final dynamic #t162 in #t161{core::Iterable<dynamic>}) {
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
- #t160.{core::Set::add}{Invariant}(#t163);
+ #t160.{core::Set::add}(#t163){(core::int) → core::bool};
}
}
} =>#t160, block {
final core::Set<core::int> #t164 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t165 = z;
- if(!#t165.{core::Object::==}(null))
+ if(!(#t165 == null))
for (final dynamic #t166 in #t165{core::Iterable<dynamic>}) {
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
- #t164.{core::Set::add}{Invariant}(#t167);
+ #t164.{core::Set::add}(#t167){(core::int) → core::bool};
}
}
} =>#t164, block {
final core::Map<core::int, core::int> #t168 = <core::int, core::int>{};
if(condition) {
final core::Map<core::int, core::int>? #t169 = w;
- if(!#t169.{core::Object::==}(null))
+ if(!(#t169 == null))
for (final core::MapEntry<core::int, core::int> #t170 in #t169{core::Map<core::int, core::int>}.{core::Map::entries})
- #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
+ #t168.{core::Map::[]=}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t168, block {
final core::Set<core::int> #t171 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t172 = x;
- if(!#t172.{core::Object::==}(null))
+ if(!(#t172 == null))
for (final dynamic #t173 in #t172{core::Iterable<dynamic>}) {
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
- #t171.{core::Set::add}{Invariant}(#t174);
+ #t171.{core::Set::add}(#t174){(core::int) → core::bool};
}
}
} =>#t171, block {
final core::Set<core::int> #t175 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t176 = y;
- if(!#t176.{core::Object::==}(null))
+ if(!(#t176 == null))
for (final dynamic #t177 in #t176{core::Iterable<dynamic>}) {
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
- #t175.{core::Set::add}{Invariant}(#t178);
+ #t175.{core::Set::add}(#t178){(core::int) → core::bool};
}
}
} =>#t175, block {
final core::Set<core::int> #t179 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t180 = z;
- if(!#t180.{core::Object::==}(null))
+ if(!(#t180 == null))
for (final dynamic #t181 in #t180{core::Iterable<dynamic>}) {
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
- #t179.{core::Set::add}{Invariant}(#t182);
+ #t179.{core::Set::add}(#t182){(core::int) → core::bool};
}
}
} =>#t179, block {
final core::Map<core::int, core::int> #t183 = <core::int, core::int>{};
for (dynamic e in iterable) {
final core::Map<core::int, core::int>? #t184 = w;
- if(!#t184.{core::Object::==}(null))
+ if(!(#t184 == null))
for (final core::MapEntry<core::int, core::int> #t185 in #t184{core::Map<core::int, core::int>}.{core::Map::entries})
- #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
+ #t183.{core::Map::[]=}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t183, block {
final core::Set<core::int> #t186 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t187 = x;
- if(!#t187.{core::Object::==}(null))
+ if(!(#t187 == null))
for (final dynamic #t188 in #t187{core::Iterable<dynamic>}) {
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
- #t186.{core::Set::add}{Invariant}(#t189);
+ #t186.{core::Set::add}(#t189){(core::int) → core::bool};
}
}
} =>#t186, block {
final core::Set<core::int> #t190 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t191 = y;
- if(!#t191.{core::Object::==}(null))
+ if(!(#t191 == null))
for (final dynamic #t192 in #t191{core::Iterable<dynamic>}) {
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
- #t190.{core::Set::add}{Invariant}(#t193);
+ #t190.{core::Set::add}(#t193){(core::int) → core::bool};
}
}
} =>#t190, block {
final core::Set<core::int> #t194 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t195 = z;
- if(!#t195.{core::Object::==}(null))
+ if(!(#t195 == null))
for (final dynamic #t196 in #t195{core::Iterable<dynamic>}) {
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
- #t194.{core::Set::add}{Invariant}(#t197);
+ #t194.{core::Set::add}(#t197){(core::int) → core::bool};
}
}
} =>#t194, block {
final core::Map<core::int, core::int> #t198 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Map<core::int, core::int>? #t199 = w;
- if(!#t199.{core::Object::==}(null))
+ if(!(#t199 == null))
for (final core::MapEntry<core::int, core::int> #t200 in #t199{core::Map<core::int, core::int>}.{core::Map::entries})
- #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t198.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t198];
}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
index 7d89db1..d59e085 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
@@ -179,7 +179,7 @@
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::Set::add}{Invariant}(#t3);
+ #t1.{core::Set::add}(#t3){(core::int) → core::bool};
}
}
}
@@ -193,7 +193,7 @@
final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
- #t4.{core::Set::add}{Invariant}(#t6);
+ #t4.{core::Set::add}(#t6){(core::int) → core::bool};
}
}
}
@@ -207,7 +207,7 @@
final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
- #t7.{core::Set::add}{Invariant}(#t9);
+ #t7.{core::Set::add}(#t9){(core::int) → core::bool};
}
}
}
@@ -218,10 +218,10 @@
<int, int>{...a}, // Error.
^": null}, block {
final core::Set<core::int> #t10 = new col::_CompactLinkedHashSet::•<core::int>();
- #t10.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
+ #t10.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{...d}, // Error.
- ^");
+ ^"){(core::int) → core::bool};
} =>#t10, block {
final core::Set<core::int> #t11 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
@@ -232,7 +232,7 @@
final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
- #t11.{core::Set::add}{Invariant}(#t13);
+ #t11.{core::Set::add}(#t13){(core::int) → core::bool};
}
}
}
@@ -246,7 +246,7 @@
final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
- #t14.{core::Set::add}{Invariant}(#t16);
+ #t14.{core::Set::add}(#t16){(core::int) → core::bool};
}
}
}
@@ -260,16 +260,16 @@
final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}{Invariant}(#t19);
+ #t17.{core::Set::add}(#t19){(core::int) → core::bool};
}
}
}
} =>#t17, block {
final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
if(condition)
- #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t20.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t20, block {
final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
{
@@ -284,7 +284,7 @@
final dynamic #t22 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
- #t21.{core::Set::add}{Invariant}(#t23);
+ #t21.{core::Set::add}(#t23){(core::int) → core::bool};
}
}
}
@@ -304,7 +304,7 @@
final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
- #t24.{core::Set::add}{Invariant}(#t26);
+ #t24.{core::Set::add}(#t26){(core::int) → core::bool};
}
}
}
@@ -324,7 +324,7 @@
final dynamic #t28 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
- #t27.{core::Set::add}{Invariant}(#t29);
+ #t27.{core::Set::add}(#t29){(core::int) → core::bool};
}
}
}
@@ -336,14 +336,14 @@
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic e = :sync-for-iterator.{core::Iterator::current};
- #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t30.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
}
}
} =>#t30, block {
final core::Set<core::int> #t31 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...a}, // Error.
^".{core::Iterable::iterator};
@@ -351,13 +351,13 @@
final dynamic #t32 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
- #t31.{core::Set::add}{Invariant}(#t33);
+ #t31.{core::Set::add}(#t33){(core::int) → core::bool};
}
}
}
} =>#t31, block {
final core::Set<core::int> #t34 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...b}, // Error.
^".{core::Iterable::iterator};
@@ -365,13 +365,13 @@
final dynamic #t35 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
- #t34.{core::Set::add}{Invariant}(#t36);
+ #t34.{core::Set::add}(#t36){(core::int) → core::bool};
}
}
}
} =>#t34, block {
final core::Set<core::int> #t37 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...c}, // Error.
^".{core::Iterable::iterator};
@@ -379,76 +379,76 @@
final dynamic #t38 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
- #t37.{core::Set::add}{Invariant}(#t39);
+ #t37.{core::Set::add}(#t39){(core::int) → core::bool};
}
}
}
} =>#t37, block {
final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t40.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t40, block {
final core::Set<core::int> #t41 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t42 = a;
- if(!#t42.{core::Object::==}(null)) {
+ if(!(#t42 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t42{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t43 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
- #t41.{core::Set::add}{Invariant}(#t44);
+ #t41.{core::Set::add}(#t44){(core::int) → core::bool};
}
}
}
} =>#t41, block {
final core::Set<core::int> #t45 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t46 = b;
- if(!#t46.{core::Object::==}(null)) {
+ if(!(#t46 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t46{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t47 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
- #t45.{core::Set::add}{Invariant}(#t48);
+ #t45.{core::Set::add}(#t48){(core::int) → core::bool};
}
}
}
} =>#t45, block {
final core::Set<core::int> #t49 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t50 = c;
- if(!#t50.{core::Object::==}(null)) {
+ if(!(#t50 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t50{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t51 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
- #t49.{core::Set::add}{Invariant}(#t52);
+ #t49.{core::Set::add}(#t52){(core::int) → core::bool};
}
}
}
} =>#t49, block {
final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t54 = d;
- if(!#t54.{core::Object::==}(null)) {
+ if(!(#t54 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t54{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current};
- #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
+ #t53.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
} =>#t53, block {
final core::Set<core::int> #t56 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t57 = a;
- if(!#t57.{core::Object::==}(null)) {
+ if(!(#t57 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t57{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t58 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
- #t56.{core::Set::add}{Invariant}(#t59);
+ #t56.{core::Set::add}(#t59){(core::int) → core::bool};
}
}
}
@@ -457,13 +457,13 @@
final core::Set<core::int> #t60 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t61 = b;
- if(!#t61.{core::Object::==}(null)) {
+ if(!(#t61 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t61{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t62 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
- #t60.{core::Set::add}{Invariant}(#t63);
+ #t60.{core::Set::add}(#t63){(core::int) → core::bool};
}
}
}
@@ -472,13 +472,13 @@
final core::Set<core::int> #t64 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t65 = c;
- if(!#t65.{core::Object::==}(null)) {
+ if(!(#t65 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t65{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t66 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
- #t64.{core::Set::add}{Invariant}(#t67);
+ #t64.{core::Set::add}(#t67){(core::int) → core::bool};
}
}
}
@@ -487,11 +487,11 @@
final core::Map<core::int, core::int> #t68 = <core::int, core::int>{};
if(condition) {
final core::Map<core::int, core::int>? #t69 = d;
- if(!#t69.{core::Object::==}(null)) {
+ if(!(#t69 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t69{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current};
- #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -503,13 +503,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t72 = a;
- if(!#t72.{core::Object::==}(null)) {
+ if(!(#t72 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t72{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t73 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
- #t71.{core::Set::add}{Invariant}(#t74);
+ #t71.{core::Set::add}(#t74){(core::int) → core::bool};
}
}
}
@@ -524,13 +524,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t76 = b;
- if(!#t76.{core::Object::==}(null)) {
+ if(!(#t76 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t76{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t77 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
- #t75.{core::Set::add}{Invariant}(#t78);
+ #t75.{core::Set::add}(#t78){(core::int) → core::bool};
}
}
}
@@ -545,13 +545,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t80 = c;
- if(!#t80.{core::Object::==}(null)) {
+ if(!(#t80 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t80{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t81 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
- #t79.{core::Set::add}{Invariant}(#t82);
+ #t79.{core::Set::add}(#t82){(core::int) → core::bool};
}
}
}
@@ -566,11 +566,11 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Map<core::int, core::int>? #t84 = d;
- if(!#t84.{core::Object::==}(null)) {
+ if(!(#t84 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t84{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current};
- #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -578,58 +578,58 @@
}
} =>#t83, block {
final core::Set<core::int> #t86 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t87 = a;
- if(!#t87.{core::Object::==}(null)) {
+ if(!(#t87 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t87{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t88 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
- #t86.{core::Set::add}{Invariant}(#t89);
+ #t86.{core::Set::add}(#t89){(core::int) → core::bool};
}
}
}
}
} =>#t86, block {
final core::Set<core::int> #t90 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t91 = b;
- if(!#t91.{core::Object::==}(null)) {
+ if(!(#t91 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t91{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t92 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
- #t90.{core::Set::add}{Invariant}(#t93);
+ #t90.{core::Set::add}(#t93){(core::int) → core::bool};
}
}
}
}
} =>#t90, block {
final core::Set<core::int> #t94 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t95 = c;
- if(!#t95.{core::Object::==}(null)) {
+ if(!(#t95 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t95{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t96 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
- #t94.{core::Set::add}{Invariant}(#t97);
+ #t94.{core::Set::add}(#t97){(core::int) → core::bool};
}
}
}
}
} =>#t94, block {
final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Map<core::int, core::int>? #t99 = d;
- if(!#t99.{core::Object::==}(null)) {
+ if(!(#t99 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current};
- #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
+ #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -646,7 +646,7 @@
final dynamic #t102 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
- #t101.{core::Set::add}{Invariant}(#t103);
+ #t101.{core::Set::add}(#t103){(core::int) → core::bool};
}
}
}
@@ -660,7 +660,7 @@
final dynamic #t105 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
- #t104.{core::Set::add}{Invariant}(#t106);
+ #t104.{core::Set::add}(#t106){(core::int) → core::bool};
}
}
}
@@ -674,7 +674,7 @@
final dynamic #t108 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
- #t107.{core::Set::add}{Invariant}(#t109);
+ #t107.{core::Set::add}(#t109){(core::int) → core::bool};
}
}
}
@@ -684,9 +684,9 @@
<int, int>{...x}, // Error.
^": null}, block {
final core::Set<core::int> #t110 = new col::_CompactLinkedHashSet::•<core::int>();
- #t110.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+ #t110.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
<int>{...w}, // Error.
- ^");
+ ^"){(core::int) → core::bool};
} =>#t110, block {
final core::Set<core::int> #t111 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
@@ -697,7 +697,7 @@
final dynamic #t112 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
- #t111.{core::Set::add}{Invariant}(#t113);
+ #t111.{core::Set::add}(#t113){(core::int) → core::bool};
}
}
}
@@ -711,7 +711,7 @@
final dynamic #t115 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
- #t114.{core::Set::add}{Invariant}(#t116);
+ #t114.{core::Set::add}(#t116){(core::int) → core::bool};
}
}
}
@@ -725,16 +725,16 @@
final dynamic #t118 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
- #t117.{core::Set::add}{Invariant}(#t119);
+ #t117.{core::Set::add}(#t119){(core::int) → core::bool};
}
}
}
} =>#t117, block {
final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
if(condition)
- #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t120.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t120, block {
final core::Set<core::int> #t121 = new col::_CompactLinkedHashSet::•<core::int>();
{
@@ -749,7 +749,7 @@
final dynamic #t122 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
- #t121.{core::Set::add}{Invariant}(#t123);
+ #t121.{core::Set::add}(#t123){(core::int) → core::bool};
}
}
}
@@ -769,7 +769,7 @@
final dynamic #t125 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
- #t124.{core::Set::add}{Invariant}(#t126);
+ #t124.{core::Set::add}(#t126){(core::int) → core::bool};
}
}
}
@@ -789,7 +789,7 @@
final dynamic #t128 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
- #t127.{core::Set::add}{Invariant}(#t129);
+ #t127.{core::Set::add}(#t129){(core::int) → core::bool};
}
}
}
@@ -801,14 +801,14 @@
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic e = :sync-for-iterator.{core::Iterator::current};
- #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t130.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
}
}
} =>#t130, block {
final core::Set<core::int> #t131 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...x}, // Error.
^".{core::Iterable::iterator};
@@ -816,13 +816,13 @@
final dynamic #t132 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
- #t131.{core::Set::add}{Invariant}(#t133);
+ #t131.{core::Set::add}(#t133){(core::int) → core::bool};
}
}
}
} =>#t131, block {
final core::Set<core::int> #t134 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...y}, // Error.
^".{core::Iterable::iterator};
@@ -830,13 +830,13 @@
final dynamic #t135 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
- #t134.{core::Set::add}{Invariant}(#t136);
+ #t134.{core::Set::add}(#t136){(core::int) → core::bool};
}
}
}
} =>#t134, block {
final core::Set<core::int> #t137 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...z}, // Error.
^".{core::Iterable::iterator};
@@ -844,76 +844,76 @@
final dynamic #t138 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
- #t137.{core::Set::add}{Invariant}(#t139);
+ #t137.{core::Set::add}(#t139){(core::int) → core::bool};
}
}
}
} =>#t137, block {
final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t140.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t140, block {
final core::Set<core::int> #t141 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t142 = x;
- if(!#t142.{core::Object::==}(null)) {
+ if(!(#t142 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t142{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t143 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
- #t141.{core::Set::add}{Invariant}(#t144);
+ #t141.{core::Set::add}(#t144){(core::int) → core::bool};
}
}
}
} =>#t141, block {
final core::Set<core::int> #t145 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t146 = y;
- if(!#t146.{core::Object::==}(null)) {
+ if(!(#t146 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t146{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t147 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
- #t145.{core::Set::add}{Invariant}(#t148);
+ #t145.{core::Set::add}(#t148){(core::int) → core::bool};
}
}
}
} =>#t145, block {
final core::Set<core::int> #t149 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t150 = z;
- if(!#t150.{core::Object::==}(null)) {
+ if(!(#t150 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t150{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t151 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
- #t149.{core::Set::add}{Invariant}(#t152);
+ #t149.{core::Set::add}(#t152){(core::int) → core::bool};
}
}
}
} =>#t149, block {
final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t154 = w;
- if(!#t154.{core::Object::==}(null)) {
+ if(!(#t154 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t154{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current};
- #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
+ #t153.{core::Map::[]=}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
} =>#t153, block {
final core::Set<core::int> #t156 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t157 = x;
- if(!#t157.{core::Object::==}(null)) {
+ if(!(#t157 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t157{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t158 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
- #t156.{core::Set::add}{Invariant}(#t159);
+ #t156.{core::Set::add}(#t159){(core::int) → core::bool};
}
}
}
@@ -922,13 +922,13 @@
final core::Set<core::int> #t160 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t161 = y;
- if(!#t161.{core::Object::==}(null)) {
+ if(!(#t161 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t161{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t162 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
- #t160.{core::Set::add}{Invariant}(#t163);
+ #t160.{core::Set::add}(#t163){(core::int) → core::bool};
}
}
}
@@ -937,13 +937,13 @@
final core::Set<core::int> #t164 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t165 = z;
- if(!#t165.{core::Object::==}(null)) {
+ if(!(#t165 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t165{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t166 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
- #t164.{core::Set::add}{Invariant}(#t167);
+ #t164.{core::Set::add}(#t167){(core::int) → core::bool};
}
}
}
@@ -952,11 +952,11 @@
final core::Map<core::int, core::int> #t168 = <core::int, core::int>{};
if(condition) {
final core::Map<core::int, core::int>? #t169 = w;
- if(!#t169.{core::Object::==}(null)) {
+ if(!(#t169 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t169{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current};
- #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
+ #t168.{core::Map::[]=}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -968,13 +968,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t172 = x;
- if(!#t172.{core::Object::==}(null)) {
+ if(!(#t172 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t172{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t173 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
- #t171.{core::Set::add}{Invariant}(#t174);
+ #t171.{core::Set::add}(#t174){(core::int) → core::bool};
}
}
}
@@ -989,13 +989,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t176 = y;
- if(!#t176.{core::Object::==}(null)) {
+ if(!(#t176 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t176{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t177 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
- #t175.{core::Set::add}{Invariant}(#t178);
+ #t175.{core::Set::add}(#t178){(core::int) → core::bool};
}
}
}
@@ -1010,13 +1010,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t180 = z;
- if(!#t180.{core::Object::==}(null)) {
+ if(!(#t180 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t180{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t181 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
- #t179.{core::Set::add}{Invariant}(#t182);
+ #t179.{core::Set::add}(#t182){(core::int) → core::bool};
}
}
}
@@ -1031,11 +1031,11 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Map<core::int, core::int>? #t184 = w;
- if(!#t184.{core::Object::==}(null)) {
+ if(!(#t184 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t184{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current};
- #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
+ #t183.{core::Map::[]=}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -1043,58 +1043,58 @@
}
} =>#t183, block {
final core::Set<core::int> #t186 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t187 = x;
- if(!#t187.{core::Object::==}(null)) {
+ if(!(#t187 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t187{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t188 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
- #t186.{core::Set::add}{Invariant}(#t189);
+ #t186.{core::Set::add}(#t189){(core::int) → core::bool};
}
}
}
}
} =>#t186, block {
final core::Set<core::int> #t190 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t191 = y;
- if(!#t191.{core::Object::==}(null)) {
+ if(!(#t191 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t191{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t192 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
- #t190.{core::Set::add}{Invariant}(#t193);
+ #t190.{core::Set::add}(#t193){(core::int) → core::bool};
}
}
}
}
} =>#t190, block {
final core::Set<core::int> #t194 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t195 = z;
- if(!#t195.{core::Object::==}(null)) {
+ if(!(#t195 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t195{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t196 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
- #t194.{core::Set::add}{Invariant}(#t197);
+ #t194.{core::Set::add}(#t197){(core::int) → core::bool};
}
}
}
}
} =>#t194, block {
final core::Map<core::int, core::int> #t198 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Map<core::int, core::int>? #t199 = w;
- if(!#t199.{core::Object::==}(null)) {
+ if(!(#t199 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current};
- #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t198.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
index e5985d6..778487e 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
@@ -175,7 +175,7 @@
{...a}, // Error.
^") {
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::Set::add}{Invariant}(#t3);
+ #t1.{core::Set::add}(#t3){(core::int) → core::bool};
}
} =>#t1, block {
final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
@@ -183,7 +183,7 @@
{...b}, // Error.
^") {
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
- #t4.{core::Set::add}{Invariant}(#t6);
+ #t4.{core::Set::add}(#t6){(core::int) → core::bool};
}
} =>#t4, block {
final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
@@ -191,7 +191,7 @@
{...c}, // Error.
^") {
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
- #t7.{core::Set::add}{Invariant}(#t9);
+ #t7.{core::Set::add}(#t9){(core::int) → core::bool};
}
} =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...d}, // Error.
@@ -200,10 +200,10 @@
<int, int>{...a}, // Error.
^": null}, block {
final core::Set<core::int> #t10 = col::LinkedHashSet::•<core::int>();
- #t10.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
+ #t10.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{...d}, // Error.
- ^");
+ ^"){(core::int) → core::bool};
} =>#t10, block {
final core::Set<core::int> #t11 = col::LinkedHashSet::•<core::int>();
if(condition)
@@ -211,7 +211,7 @@
{if (condition) ...a}, // Error.
^") {
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
- #t11.{core::Set::add}{Invariant}(#t13);
+ #t11.{core::Set::add}(#t13){(core::int) → core::bool};
}
} =>#t11, block {
final core::Set<core::int> #t14 = col::LinkedHashSet::•<core::int>();
@@ -220,7 +220,7 @@
{if (condition) ...b}, // Error.
^") {
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
- #t14.{core::Set::add}{Invariant}(#t16);
+ #t14.{core::Set::add}(#t16){(core::int) → core::bool};
}
} =>#t14, block {
final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
@@ -229,14 +229,14 @@
{if (condition) ...c}, // Error.
^") {
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}{Invariant}(#t19);
+ #t17.{core::Set::add}(#t19){(core::int) → core::bool};
}
} =>#t17, block {
final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
if(condition)
- #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t20.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t20, block {
final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable)
@@ -244,7 +244,7 @@
{for (dynamic e in iterable) ...a}, // Error.
^") {
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
- #t21.{core::Set::add}{Invariant}(#t23);
+ #t21.{core::Set::add}(#t23){(core::int) → core::bool};
}
} =>#t21, block {
final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
@@ -253,7 +253,7 @@
{for (dynamic e in iterable) ...b}, // Error.
^") {
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
- #t24.{core::Set::add}{Invariant}(#t26);
+ #t24.{core::Set::add}(#t26){(core::int) → core::bool};
}
} =>#t24, block {
final core::Set<core::int> #t27 = col::LinkedHashSet::•<core::int>();
@@ -262,190 +262,190 @@
{for (dynamic e in iterable) ...c}, // Error.
^") {
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
- #t27.{core::Set::add}{Invariant}(#t29);
+ #t27.{core::Set::add}(#t29){(core::int) → core::bool};
}
} =>#t27, block {
final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
for (dynamic e in iterable)
- #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t30.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t30, block {
final core::Set<core::int> #t31 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t32 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...a}, // Error.
^") {
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
- #t31.{core::Set::add}{Invariant}(#t33);
+ #t31.{core::Set::add}(#t33){(core::int) → core::bool};
}
} =>#t31, block {
final core::Set<core::int> #t34 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t35 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...b}, // Error.
^") {
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
- #t34.{core::Set::add}{Invariant}(#t36);
+ #t34.{core::Set::add}(#t36){(core::int) → core::bool};
}
} =>#t34, block {
final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t38 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...c}, // Error.
^") {
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
- #t37.{core::Set::add}{Invariant}(#t39);
+ #t37.{core::Set::add}(#t39){(core::int) → core::bool};
}
} =>#t37, block {
final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t40.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t40, block {
final core::Set<core::int> #t41 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t42 = a;
- if(!#t42.{core::Object::==}(null))
+ if(!(#t42 == null))
for (final dynamic #t43 in #t42{core::Iterable<dynamic>}) {
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
- #t41.{core::Set::add}{Invariant}(#t44);
+ #t41.{core::Set::add}(#t44){(core::int) → core::bool};
}
} =>#t41, block {
final core::Set<core::int> #t45 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t46 = b;
- if(!#t46.{core::Object::==}(null))
+ if(!(#t46 == null))
for (final dynamic #t47 in #t46{core::Iterable<dynamic>}) {
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
- #t45.{core::Set::add}{Invariant}(#t48);
+ #t45.{core::Set::add}(#t48){(core::int) → core::bool};
}
} =>#t45, block {
final core::Set<core::int> #t49 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t50 = c;
- if(!#t50.{core::Object::==}(null))
+ if(!(#t50 == null))
for (final dynamic #t51 in #t50{core::Iterable<dynamic>}) {
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
- #t49.{core::Set::add}{Invariant}(#t52);
+ #t49.{core::Set::add}(#t52){(core::int) → core::bool};
}
} =>#t49, block {
final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t54 = d;
- if(!#t54.{core::Object::==}(null))
+ if(!(#t54 == null))
for (final core::MapEntry<core::int, core::int> #t55 in #t54{core::Map<core::int, core::int>}.{core::Map::entries})
- #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
+ #t53.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value}){(core::int, core::int) → void};
} =>#t53, block {
final core::Set<core::int> #t56 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t57 = a;
- if(!#t57.{core::Object::==}(null))
+ if(!(#t57 == null))
for (final dynamic #t58 in #t57{core::Iterable<dynamic>}) {
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
- #t56.{core::Set::add}{Invariant}(#t59);
+ #t56.{core::Set::add}(#t59){(core::int) → core::bool};
}
}
} =>#t56, block {
final core::Set<core::int> #t60 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t61 = b;
- if(!#t61.{core::Object::==}(null))
+ if(!(#t61 == null))
for (final dynamic #t62 in #t61{core::Iterable<dynamic>}) {
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
- #t60.{core::Set::add}{Invariant}(#t63);
+ #t60.{core::Set::add}(#t63){(core::int) → core::bool};
}
}
} =>#t60, block {
final core::Set<core::int> #t64 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t65 = c;
- if(!#t65.{core::Object::==}(null))
+ if(!(#t65 == null))
for (final dynamic #t66 in #t65{core::Iterable<dynamic>}) {
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
- #t64.{core::Set::add}{Invariant}(#t67);
+ #t64.{core::Set::add}(#t67){(core::int) → core::bool};
}
}
} =>#t64, block {
final core::Map<core::int, core::int> #t68 = <core::int, core::int>{};
if(condition) {
final core::Map<core::int, core::int>? #t69 = d;
- if(!#t69.{core::Object::==}(null))
+ if(!(#t69 == null))
for (final core::MapEntry<core::int, core::int> #t70 in #t69{core::Map<core::int, core::int>}.{core::Map::entries})
- #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t68, block {
final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t72 = a;
- if(!#t72.{core::Object::==}(null))
+ if(!(#t72 == null))
for (final dynamic #t73 in #t72{core::Iterable<dynamic>}) {
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
- #t71.{core::Set::add}{Invariant}(#t74);
+ #t71.{core::Set::add}(#t74){(core::int) → core::bool};
}
}
} =>#t71, block {
final core::Set<core::int> #t75 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t76 = b;
- if(!#t76.{core::Object::==}(null))
+ if(!(#t76 == null))
for (final dynamic #t77 in #t76{core::Iterable<dynamic>}) {
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
- #t75.{core::Set::add}{Invariant}(#t78);
+ #t75.{core::Set::add}(#t78){(core::int) → core::bool};
}
}
} =>#t75, block {
final core::Set<core::int> #t79 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t80 = c;
- if(!#t80.{core::Object::==}(null))
+ if(!(#t80 == null))
for (final dynamic #t81 in #t80{core::Iterable<dynamic>}) {
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
- #t79.{core::Set::add}{Invariant}(#t82);
+ #t79.{core::Set::add}(#t82){(core::int) → core::bool};
}
}
} =>#t79, block {
final core::Map<core::int, core::int> #t83 = <core::int, core::int>{};
for (dynamic e in iterable) {
final core::Map<core::int, core::int>? #t84 = d;
- if(!#t84.{core::Object::==}(null))
+ if(!(#t84 == null))
for (final core::MapEntry<core::int, core::int> #t85 in #t84{core::Map<core::int, core::int>}.{core::Map::entries})
- #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t83, block {
final core::Set<core::int> #t86 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t87 = a;
- if(!#t87.{core::Object::==}(null))
+ if(!(#t87 == null))
for (final dynamic #t88 in #t87{core::Iterable<dynamic>}) {
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
- #t86.{core::Set::add}{Invariant}(#t89);
+ #t86.{core::Set::add}(#t89){(core::int) → core::bool};
}
}
} =>#t86, block {
final core::Set<core::int> #t90 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t91 = b;
- if(!#t91.{core::Object::==}(null))
+ if(!(#t91 == null))
for (final dynamic #t92 in #t91{core::Iterable<dynamic>}) {
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
- #t90.{core::Set::add}{Invariant}(#t93);
+ #t90.{core::Set::add}(#t93){(core::int) → core::bool};
}
}
} =>#t90, block {
final core::Set<core::int> #t94 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t95 = c;
- if(!#t95.{core::Object::==}(null))
+ if(!(#t95 == null))
for (final dynamic #t96 in #t95{core::Iterable<dynamic>}) {
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
- #t94.{core::Set::add}{Invariant}(#t97);
+ #t94.{core::Set::add}(#t97){(core::int) → core::bool};
}
}
} =>#t94, block {
final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Map<core::int, core::int>? #t99 = d;
- if(!#t99.{core::Object::==}(null))
+ if(!(#t99 == null))
for (final core::MapEntry<core::int, core::int> #t100 in #t99{core::Map<core::int, core::int>}.{core::Map::entries})
- #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
+ #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t98];
}
@@ -456,7 +456,7 @@
{...x}, // Error.
^") {
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
- #t101.{core::Set::add}{Invariant}(#t103);
+ #t101.{core::Set::add}(#t103){(core::int) → core::bool};
}
} =>#t101, block {
final core::Set<core::int> #t104 = col::LinkedHashSet::•<core::int>();
@@ -464,7 +464,7 @@
{...y}, // Error.
^") {
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
- #t104.{core::Set::add}{Invariant}(#t106);
+ #t104.{core::Set::add}(#t106){(core::int) → core::bool};
}
} =>#t104, block {
final core::Set<core::int> #t107 = col::LinkedHashSet::•<core::int>();
@@ -472,7 +472,7 @@
{...z}, // Error.
^") {
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
- #t107.{core::Set::add}{Invariant}(#t109);
+ #t107.{core::Set::add}(#t109){(core::int) → core::bool};
}
} =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...w}, // Error.
@@ -480,9 +480,9 @@
<int, int>{...x}, // Error.
^": null}, block {
final core::Set<core::int> #t110 = col::LinkedHashSet::•<core::int>();
- #t110.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+ #t110.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
<int>{...w}, // Error.
- ^");
+ ^"){(core::int) → core::bool};
} =>#t110, block {
final core::Set<core::int> #t111 = col::LinkedHashSet::•<core::int>();
if(condition)
@@ -490,7 +490,7 @@
{if (condition) ...x}, // Error.
^") {
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
- #t111.{core::Set::add}{Invariant}(#t113);
+ #t111.{core::Set::add}(#t113){(core::int) → core::bool};
}
} =>#t111, block {
final core::Set<core::int> #t114 = col::LinkedHashSet::•<core::int>();
@@ -499,7 +499,7 @@
{if (condition) ...y}, // Error.
^") {
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
- #t114.{core::Set::add}{Invariant}(#t116);
+ #t114.{core::Set::add}(#t116){(core::int) → core::bool};
}
} =>#t114, block {
final core::Set<core::int> #t117 = col::LinkedHashSet::•<core::int>();
@@ -508,14 +508,14 @@
{if (condition) ...z}, // Error.
^") {
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
- #t117.{core::Set::add}{Invariant}(#t119);
+ #t117.{core::Set::add}(#t119){(core::int) → core::bool};
}
} =>#t117, block {
final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
if(condition)
- #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t120.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t120, block {
final core::Set<core::int> #t121 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable)
@@ -523,7 +523,7 @@
{for (dynamic e in iterable) ...x}, // Error.
^") {
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
- #t121.{core::Set::add}{Invariant}(#t123);
+ #t121.{core::Set::add}(#t123){(core::int) → core::bool};
}
} =>#t121, block {
final core::Set<core::int> #t124 = col::LinkedHashSet::•<core::int>();
@@ -532,7 +532,7 @@
{for (dynamic e in iterable) ...y}, // Error.
^") {
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
- #t124.{core::Set::add}{Invariant}(#t126);
+ #t124.{core::Set::add}(#t126){(core::int) → core::bool};
}
} =>#t124, block {
final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
@@ -541,190 +541,190 @@
{for (dynamic e in iterable) ...z}, // Error.
^") {
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
- #t127.{core::Set::add}{Invariant}(#t129);
+ #t127.{core::Set::add}(#t129){(core::int) → core::bool};
}
} =>#t127, block {
final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
for (dynamic e in iterable)
- #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t130.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t130, block {
final core::Set<core::int> #t131 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t132 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...x}, // Error.
^") {
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
- #t131.{core::Set::add}{Invariant}(#t133);
+ #t131.{core::Set::add}(#t133){(core::int) → core::bool};
}
} =>#t131, block {
final core::Set<core::int> #t134 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t135 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...y}, // Error.
^") {
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
- #t134.{core::Set::add}{Invariant}(#t136);
+ #t134.{core::Set::add}(#t136){(core::int) → core::bool};
}
} =>#t134, block {
final core::Set<core::int> #t137 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
for (final dynamic #t138 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...z}, // Error.
^") {
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
- #t137.{core::Set::add}{Invariant}(#t139);
+ #t137.{core::Set::add}(#t139){(core::int) → core::bool};
}
} =>#t137, block {
final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t140.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t140, block {
final core::Set<core::int> #t141 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t142 = x;
- if(!#t142.{core::Object::==}(null))
+ if(!(#t142 == null))
for (final dynamic #t143 in #t142{core::Iterable<dynamic>}) {
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
- #t141.{core::Set::add}{Invariant}(#t144);
+ #t141.{core::Set::add}(#t144){(core::int) → core::bool};
}
} =>#t141, block {
final core::Set<core::int> #t145 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t146 = y;
- if(!#t146.{core::Object::==}(null))
+ if(!(#t146 == null))
for (final dynamic #t147 in #t146{core::Iterable<dynamic>}) {
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
- #t145.{core::Set::add}{Invariant}(#t148);
+ #t145.{core::Set::add}(#t148){(core::int) → core::bool};
}
} =>#t145, block {
final core::Set<core::int> #t149 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t150 = z;
- if(!#t150.{core::Object::==}(null))
+ if(!(#t150 == null))
for (final dynamic #t151 in #t150{core::Iterable<dynamic>}) {
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
- #t149.{core::Set::add}{Invariant}(#t152);
+ #t149.{core::Set::add}(#t152){(core::int) → core::bool};
}
} =>#t149, block {
final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t154 = w;
- if(!#t154.{core::Object::==}(null))
+ if(!(#t154 == null))
for (final core::MapEntry<core::int, core::int> #t155 in #t154{core::Map<core::int, core::int>}.{core::Map::entries})
- #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
+ #t153.{core::Map::[]=}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value}){(core::int, core::int) → void};
} =>#t153, block {
final core::Set<core::int> #t156 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t157 = x;
- if(!#t157.{core::Object::==}(null))
+ if(!(#t157 == null))
for (final dynamic #t158 in #t157{core::Iterable<dynamic>}) {
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
- #t156.{core::Set::add}{Invariant}(#t159);
+ #t156.{core::Set::add}(#t159){(core::int) → core::bool};
}
}
} =>#t156, block {
final core::Set<core::int> #t160 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t161 = y;
- if(!#t161.{core::Object::==}(null))
+ if(!(#t161 == null))
for (final dynamic #t162 in #t161{core::Iterable<dynamic>}) {
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
- #t160.{core::Set::add}{Invariant}(#t163);
+ #t160.{core::Set::add}(#t163){(core::int) → core::bool};
}
}
} =>#t160, block {
final core::Set<core::int> #t164 = col::LinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t165 = z;
- if(!#t165.{core::Object::==}(null))
+ if(!(#t165 == null))
for (final dynamic #t166 in #t165{core::Iterable<dynamic>}) {
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
- #t164.{core::Set::add}{Invariant}(#t167);
+ #t164.{core::Set::add}(#t167){(core::int) → core::bool};
}
}
} =>#t164, block {
final core::Map<core::int, core::int> #t168 = <core::int, core::int>{};
if(condition) {
final core::Map<core::int, core::int>? #t169 = w;
- if(!#t169.{core::Object::==}(null))
+ if(!(#t169 == null))
for (final core::MapEntry<core::int, core::int> #t170 in #t169{core::Map<core::int, core::int>}.{core::Map::entries})
- #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
+ #t168.{core::Map::[]=}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t168, block {
final core::Set<core::int> #t171 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t172 = x;
- if(!#t172.{core::Object::==}(null))
+ if(!(#t172 == null))
for (final dynamic #t173 in #t172{core::Iterable<dynamic>}) {
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
- #t171.{core::Set::add}{Invariant}(#t174);
+ #t171.{core::Set::add}(#t174){(core::int) → core::bool};
}
}
} =>#t171, block {
final core::Set<core::int> #t175 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t176 = y;
- if(!#t176.{core::Object::==}(null))
+ if(!(#t176 == null))
for (final dynamic #t177 in #t176{core::Iterable<dynamic>}) {
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
- #t175.{core::Set::add}{Invariant}(#t178);
+ #t175.{core::Set::add}(#t178){(core::int) → core::bool};
}
}
} =>#t175, block {
final core::Set<core::int> #t179 = col::LinkedHashSet::•<core::int>();
for (dynamic e in iterable) {
final core::Iterable<dynamic>? #t180 = z;
- if(!#t180.{core::Object::==}(null))
+ if(!(#t180 == null))
for (final dynamic #t181 in #t180{core::Iterable<dynamic>}) {
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
- #t179.{core::Set::add}{Invariant}(#t182);
+ #t179.{core::Set::add}(#t182){(core::int) → core::bool};
}
}
} =>#t179, block {
final core::Map<core::int, core::int> #t183 = <core::int, core::int>{};
for (dynamic e in iterable) {
final core::Map<core::int, core::int>? #t184 = w;
- if(!#t184.{core::Object::==}(null))
+ if(!(#t184 == null))
for (final core::MapEntry<core::int, core::int> #t185 in #t184{core::Map<core::int, core::int>}.{core::Map::entries})
- #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
+ #t183.{core::Map::[]=}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t183, block {
final core::Set<core::int> #t186 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t187 = x;
- if(!#t187.{core::Object::==}(null))
+ if(!(#t187 == null))
for (final dynamic #t188 in #t187{core::Iterable<dynamic>}) {
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
- #t186.{core::Set::add}{Invariant}(#t189);
+ #t186.{core::Set::add}(#t189){(core::int) → core::bool};
}
}
} =>#t186, block {
final core::Set<core::int> #t190 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t191 = y;
- if(!#t191.{core::Object::==}(null))
+ if(!(#t191 == null))
for (final dynamic #t192 in #t191{core::Iterable<dynamic>}) {
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
- #t190.{core::Set::add}{Invariant}(#t193);
+ #t190.{core::Set::add}(#t193){(core::int) → core::bool};
}
}
} =>#t190, block {
final core::Set<core::int> #t194 = col::LinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t195 = z;
- if(!#t195.{core::Object::==}(null))
+ if(!(#t195 == null))
for (final dynamic #t196 in #t195{core::Iterable<dynamic>}) {
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
- #t194.{core::Set::add}{Invariant}(#t197);
+ #t194.{core::Set::add}(#t197){(core::int) → core::bool};
}
}
} =>#t194, block {
final core::Map<core::int, core::int> #t198 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Map<core::int, core::int>? #t199 = w;
- if(!#t199.{core::Object::==}(null))
+ if(!(#t199 == null))
for (final core::MapEntry<core::int, core::int> #t200 in #t199{core::Map<core::int, core::int>}.{core::Map::entries})
- #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t198.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value}){(core::int, core::int) → void};
}
} =>#t198];
}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
index 7d89db1..d59e085 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
@@ -179,7 +179,7 @@
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::Set::add}{Invariant}(#t3);
+ #t1.{core::Set::add}(#t3){(core::int) → core::bool};
}
}
}
@@ -193,7 +193,7 @@
final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
- #t4.{core::Set::add}{Invariant}(#t6);
+ #t4.{core::Set::add}(#t6){(core::int) → core::bool};
}
}
}
@@ -207,7 +207,7 @@
final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
- #t7.{core::Set::add}{Invariant}(#t9);
+ #t7.{core::Set::add}(#t9){(core::int) → core::bool};
}
}
}
@@ -218,10 +218,10 @@
<int, int>{...a}, // Error.
^": null}, block {
final core::Set<core::int> #t10 = new col::_CompactLinkedHashSet::•<core::int>();
- #t10.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
+ #t10.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread. Expected 'dynamic' or an Iterable.
- 'Map' is from 'dart:core'.
<int>{...d}, // Error.
- ^");
+ ^"){(core::int) → core::bool};
} =>#t10, block {
final core::Set<core::int> #t11 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
@@ -232,7 +232,7 @@
final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
- #t11.{core::Set::add}{Invariant}(#t13);
+ #t11.{core::Set::add}(#t13){(core::int) → core::bool};
}
}
}
@@ -246,7 +246,7 @@
final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
- #t14.{core::Set::add}{Invariant}(#t16);
+ #t14.{core::Set::add}(#t16){(core::int) → core::bool};
}
}
}
@@ -260,16 +260,16 @@
final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}{Invariant}(#t19);
+ #t17.{core::Set::add}(#t19){(core::int) → core::bool};
}
}
}
} =>#t17, block {
final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
if(condition)
- #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t20.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t20, block {
final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
{
@@ -284,7 +284,7 @@
final dynamic #t22 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
- #t21.{core::Set::add}{Invariant}(#t23);
+ #t21.{core::Set::add}(#t23){(core::int) → core::bool};
}
}
}
@@ -304,7 +304,7 @@
final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
- #t24.{core::Set::add}{Invariant}(#t26);
+ #t24.{core::Set::add}(#t26){(core::int) → core::bool};
}
}
}
@@ -324,7 +324,7 @@
final dynamic #t28 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
- #t27.{core::Set::add}{Invariant}(#t29);
+ #t27.{core::Set::add}(#t29){(core::int) → core::bool};
}
}
}
@@ -336,14 +336,14 @@
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic e = :sync-for-iterator.{core::Iterator::current};
- #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t30.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
}
}
} =>#t30, block {
final core::Set<core::int> #t31 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...a}, // Error.
^".{core::Iterable::iterator};
@@ -351,13 +351,13 @@
final dynamic #t32 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
- #t31.{core::Set::add}{Invariant}(#t33);
+ #t31.{core::Set::add}(#t33){(core::int) → core::bool};
}
}
}
} =>#t31, block {
final core::Set<core::int> #t34 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...b}, // Error.
^".{core::Iterable::iterator};
@@ -365,13 +365,13 @@
final dynamic #t35 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
- #t34.{core::Set::add}{Invariant}(#t36);
+ #t34.{core::Set::add}(#t36){(core::int) → core::bool};
}
}
}
} =>#t34, block {
final core::Set<core::int> #t37 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...c}, // Error.
^".{core::Iterable::iterator};
@@ -379,76 +379,76 @@
final dynamic #t38 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
- #t37.{core::Set::add}{Invariant}(#t39);
+ #t37.{core::Set::add}(#t39){(core::int) → core::bool};
}
}
}
} =>#t37, block {
final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t40.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...d}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t40, block {
final core::Set<core::int> #t41 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t42 = a;
- if(!#t42.{core::Object::==}(null)) {
+ if(!(#t42 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t42{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t43 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
- #t41.{core::Set::add}{Invariant}(#t44);
+ #t41.{core::Set::add}(#t44){(core::int) → core::bool};
}
}
}
} =>#t41, block {
final core::Set<core::int> #t45 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t46 = b;
- if(!#t46.{core::Object::==}(null)) {
+ if(!(#t46 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t46{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t47 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
- #t45.{core::Set::add}{Invariant}(#t48);
+ #t45.{core::Set::add}(#t48){(core::int) → core::bool};
}
}
}
} =>#t45, block {
final core::Set<core::int> #t49 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t50 = c;
- if(!#t50.{core::Object::==}(null)) {
+ if(!(#t50 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t50{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t51 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
- #t49.{core::Set::add}{Invariant}(#t52);
+ #t49.{core::Set::add}(#t52){(core::int) → core::bool};
}
}
}
} =>#t49, block {
final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t54 = d;
- if(!#t54.{core::Object::==}(null)) {
+ if(!(#t54 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t54{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current};
- #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value});
+ #t53.{core::Map::[]=}(#t55.{core::MapEntry::key}, #t55.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
} =>#t53, block {
final core::Set<core::int> #t56 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t57 = a;
- if(!#t57.{core::Object::==}(null)) {
+ if(!(#t57 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t57{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t58 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
- #t56.{core::Set::add}{Invariant}(#t59);
+ #t56.{core::Set::add}(#t59){(core::int) → core::bool};
}
}
}
@@ -457,13 +457,13 @@
final core::Set<core::int> #t60 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t61 = b;
- if(!#t61.{core::Object::==}(null)) {
+ if(!(#t61 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t61{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t62 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
- #t60.{core::Set::add}{Invariant}(#t63);
+ #t60.{core::Set::add}(#t63){(core::int) → core::bool};
}
}
}
@@ -472,13 +472,13 @@
final core::Set<core::int> #t64 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t65 = c;
- if(!#t65.{core::Object::==}(null)) {
+ if(!(#t65 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t65{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t66 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
- #t64.{core::Set::add}{Invariant}(#t67);
+ #t64.{core::Set::add}(#t67){(core::int) → core::bool};
}
}
}
@@ -487,11 +487,11 @@
final core::Map<core::int, core::int> #t68 = <core::int, core::int>{};
if(condition) {
final core::Map<core::int, core::int>? #t69 = d;
- if(!#t69.{core::Object::==}(null)) {
+ if(!(#t69 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t69{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current};
- #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value});
+ #t68.{core::Map::[]=}(#t70.{core::MapEntry::key}, #t70.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -503,13 +503,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t72 = a;
- if(!#t72.{core::Object::==}(null)) {
+ if(!(#t72 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t72{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t73 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
- #t71.{core::Set::add}{Invariant}(#t74);
+ #t71.{core::Set::add}(#t74){(core::int) → core::bool};
}
}
}
@@ -524,13 +524,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t76 = b;
- if(!#t76.{core::Object::==}(null)) {
+ if(!(#t76 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t76{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t77 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
- #t75.{core::Set::add}{Invariant}(#t78);
+ #t75.{core::Set::add}(#t78){(core::int) → core::bool};
}
}
}
@@ -545,13 +545,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t80 = c;
- if(!#t80.{core::Object::==}(null)) {
+ if(!(#t80 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t80{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t81 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
- #t79.{core::Set::add}{Invariant}(#t82);
+ #t79.{core::Set::add}(#t82){(core::int) → core::bool};
}
}
}
@@ -566,11 +566,11 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Map<core::int, core::int>? #t84 = d;
- if(!#t84.{core::Object::==}(null)) {
+ if(!(#t84 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t84{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current};
- #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
+ #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -578,58 +578,58 @@
}
} =>#t83, block {
final core::Set<core::int> #t86 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t87 = a;
- if(!#t87.{core::Object::==}(null)) {
+ if(!(#t87 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t87{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t88 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
- #t86.{core::Set::add}{Invariant}(#t89);
+ #t86.{core::Set::add}(#t89){(core::int) → core::bool};
}
}
}
}
} =>#t86, block {
final core::Set<core::int> #t90 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t91 = b;
- if(!#t91.{core::Object::==}(null)) {
+ if(!(#t91 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t91{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t92 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
- #t90.{core::Set::add}{Invariant}(#t93);
+ #t90.{core::Set::add}(#t93){(core::int) → core::bool};
}
}
}
}
} =>#t90, block {
final core::Set<core::int> #t94 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t95 = c;
- if(!#t95.{core::Object::==}(null)) {
+ if(!(#t95 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t95{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t96 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
- #t94.{core::Set::add}{Invariant}(#t97);
+ #t94.{core::Set::add}(#t97){(core::int) → core::bool};
}
}
}
}
} =>#t94, block {
final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Map<core::int, core::int>? #t99 = d;
- if(!#t99.{core::Object::==}(null)) {
+ if(!(#t99 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current};
- #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value});
+ #t98.{core::Map::[]=}(#t100.{core::MapEntry::key}, #t100.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -646,7 +646,7 @@
final dynamic #t102 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
- #t101.{core::Set::add}{Invariant}(#t103);
+ #t101.{core::Set::add}(#t103){(core::int) → core::bool};
}
}
}
@@ -660,7 +660,7 @@
final dynamic #t105 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
- #t104.{core::Set::add}{Invariant}(#t106);
+ #t104.{core::Set::add}(#t106){(core::int) → core::bool};
}
}
}
@@ -674,7 +674,7 @@
final dynamic #t108 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
- #t107.{core::Set::add}{Invariant}(#t109);
+ #t107.{core::Set::add}(#t109){(core::int) → core::bool};
}
}
}
@@ -684,9 +684,9 @@
<int, int>{...x}, // Error.
^": null}, block {
final core::Set<core::int> #t110 = new col::_CompactLinkedHashSet::•<core::int>();
- #t110.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
+ #t110.{core::Set::add}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread. Expected 'dynamic' or an Iterable.
<int>{...w}, // Error.
- ^");
+ ^"){(core::int) → core::bool};
} =>#t110, block {
final core::Set<core::int> #t111 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
@@ -697,7 +697,7 @@
final dynamic #t112 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
- #t111.{core::Set::add}{Invariant}(#t113);
+ #t111.{core::Set::add}(#t113){(core::int) → core::bool};
}
}
}
@@ -711,7 +711,7 @@
final dynamic #t115 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
- #t114.{core::Set::add}{Invariant}(#t116);
+ #t114.{core::Set::add}(#t116){(core::int) → core::bool};
}
}
}
@@ -725,16 +725,16 @@
final dynamic #t118 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
- #t117.{core::Set::add}{Invariant}(#t119);
+ #t117.{core::Set::add}(#t119){(core::int) → core::bool};
}
}
}
} =>#t117, block {
final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
if(condition)
- #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t120.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t120, block {
final core::Set<core::int> #t121 = new col::_CompactLinkedHashSet::•<core::int>();
{
@@ -749,7 +749,7 @@
final dynamic #t122 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
- #t121.{core::Set::add}{Invariant}(#t123);
+ #t121.{core::Set::add}(#t123){(core::int) → core::bool};
}
}
}
@@ -769,7 +769,7 @@
final dynamic #t125 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
- #t124.{core::Set::add}{Invariant}(#t126);
+ #t124.{core::Set::add}(#t126){(core::int) → core::bool};
}
}
}
@@ -789,7 +789,7 @@
final dynamic #t128 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
- #t127.{core::Set::add}{Invariant}(#t129);
+ #t127.{core::Set::add}(#t129){(core::int) → core::bool};
}
}
}
@@ -801,14 +801,14 @@
core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic e = :sync-for-iterator.{core::Iterator::current};
- #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ #t130.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
}
}
} =>#t130, block {
final core::Set<core::int> #t131 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...x}, // Error.
^".{core::Iterable::iterator};
@@ -816,13 +816,13 @@
final dynamic #t132 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
- #t131.{core::Set::add}{Invariant}(#t133);
+ #t131.{core::Set::add}(#t133){(core::int) → core::bool};
}
}
}
} =>#t131, block {
final core::Set<core::int> #t134 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...y}, // Error.
^".{core::Iterable::iterator};
@@ -830,13 +830,13 @@
final dynamic #t135 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
- #t134.{core::Set::add}{Invariant}(#t136);
+ #t134.{core::Set::add}(#t136){(core::int) → core::bool};
}
}
}
} =>#t134, block {
final core::Set<core::int> #t137 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...z}, // Error.
^".{core::Iterable::iterator};
@@ -844,76 +844,76 @@
final dynamic #t138 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
- #t137.{core::Set::add}{Invariant}(#t139);
+ #t137.{core::Set::add}(#t139){(core::int) → core::bool};
}
}
}
} =>#t137, block {
final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1))
- #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t140.{core::Map::[]=}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (int i = 0; i < 42; ++i) ...w}, // Error.
- ^", null);
+ ^", null){(core::int, core::int) → void};
} =>#t140, block {
final core::Set<core::int> #t141 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t142 = x;
- if(!#t142.{core::Object::==}(null)) {
+ if(!(#t142 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t142{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t143 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
- #t141.{core::Set::add}{Invariant}(#t144);
+ #t141.{core::Set::add}(#t144){(core::int) → core::bool};
}
}
}
} =>#t141, block {
final core::Set<core::int> #t145 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t146 = y;
- if(!#t146.{core::Object::==}(null)) {
+ if(!(#t146 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t146{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t147 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
- #t145.{core::Set::add}{Invariant}(#t148);
+ #t145.{core::Set::add}(#t148){(core::int) → core::bool};
}
}
}
} =>#t145, block {
final core::Set<core::int> #t149 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t150 = z;
- if(!#t150.{core::Object::==}(null)) {
+ if(!(#t150 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t150{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t151 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
- #t149.{core::Set::add}{Invariant}(#t152);
+ #t149.{core::Set::add}(#t152){(core::int) → core::bool};
}
}
}
} =>#t149, block {
final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t154 = w;
- if(!#t154.{core::Object::==}(null)) {
+ if(!(#t154 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t154{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current};
- #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value});
+ #t153.{core::Map::[]=}(#t155.{core::MapEntry::key}, #t155.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
} =>#t153, block {
final core::Set<core::int> #t156 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t157 = x;
- if(!#t157.{core::Object::==}(null)) {
+ if(!(#t157 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t157{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t158 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
- #t156.{core::Set::add}{Invariant}(#t159);
+ #t156.{core::Set::add}(#t159){(core::int) → core::bool};
}
}
}
@@ -922,13 +922,13 @@
final core::Set<core::int> #t160 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t161 = y;
- if(!#t161.{core::Object::==}(null)) {
+ if(!(#t161 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t161{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t162 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
- #t160.{core::Set::add}{Invariant}(#t163);
+ #t160.{core::Set::add}(#t163){(core::int) → core::bool};
}
}
}
@@ -937,13 +937,13 @@
final core::Set<core::int> #t164 = new col::_CompactLinkedHashSet::•<core::int>();
if(condition) {
final core::Iterable<dynamic>? #t165 = z;
- if(!#t165.{core::Object::==}(null)) {
+ if(!(#t165 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t165{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t166 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
- #t164.{core::Set::add}{Invariant}(#t167);
+ #t164.{core::Set::add}(#t167){(core::int) → core::bool};
}
}
}
@@ -952,11 +952,11 @@
final core::Map<core::int, core::int> #t168 = <core::int, core::int>{};
if(condition) {
final core::Map<core::int, core::int>? #t169 = w;
- if(!#t169.{core::Object::==}(null)) {
+ if(!(#t169 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t169{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current};
- #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value});
+ #t168.{core::Map::[]=}(#t170.{core::MapEntry::key}, #t170.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -968,13 +968,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t172 = x;
- if(!#t172.{core::Object::==}(null)) {
+ if(!(#t172 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t172{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t173 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
- #t171.{core::Set::add}{Invariant}(#t174);
+ #t171.{core::Set::add}(#t174){(core::int) → core::bool};
}
}
}
@@ -989,13 +989,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t176 = y;
- if(!#t176.{core::Object::==}(null)) {
+ if(!(#t176 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t176{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t177 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
- #t175.{core::Set::add}{Invariant}(#t178);
+ #t175.{core::Set::add}(#t178){(core::int) → core::bool};
}
}
}
@@ -1010,13 +1010,13 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Iterable<dynamic>? #t180 = z;
- if(!#t180.{core::Object::==}(null)) {
+ if(!(#t180 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t180{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t181 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
- #t179.{core::Set::add}{Invariant}(#t182);
+ #t179.{core::Set::add}(#t182){(core::int) → core::bool};
}
}
}
@@ -1031,11 +1031,11 @@
dynamic e = :sync-for-iterator.{core::Iterator::current};
{
final core::Map<core::int, core::int>? #t184 = w;
- if(!#t184.{core::Object::==}(null)) {
+ if(!(#t184 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t184{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current};
- #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value});
+ #t183.{core::Map::[]=}(#t185.{core::MapEntry::key}, #t185.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
@@ -1043,58 +1043,58 @@
}
} =>#t183, block {
final core::Set<core::int> #t186 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t187 = x;
- if(!#t187.{core::Object::==}(null)) {
+ if(!(#t187 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t187{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t188 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
- #t186.{core::Set::add}{Invariant}(#t189);
+ #t186.{core::Set::add}(#t189){(core::int) → core::bool};
}
}
}
}
} =>#t186, block {
final core::Set<core::int> #t190 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t191 = y;
- if(!#t191.{core::Object::==}(null)) {
+ if(!(#t191 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t191{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t192 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
- #t190.{core::Set::add}{Invariant}(#t193);
+ #t190.{core::Set::add}(#t193){(core::int) → core::bool};
}
}
}
}
} =>#t190, block {
final core::Set<core::int> #t194 = new col::_CompactLinkedHashSet::•<core::int>();
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Iterable<dynamic>? #t195 = z;
- if(!#t195.{core::Object::==}(null)) {
+ if(!(#t195 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t195{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t196 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
- #t194.{core::Set::add}{Invariant}(#t197);
+ #t194.{core::Set::add}(#t197){(core::int) → core::bool};
}
}
}
}
} =>#t194, block {
final core::Map<core::int, core::int> #t198 = <core::int, core::int>{};
- for (core::int i = 0; i.{core::num::<}(42); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
final core::Map<core::int, core::int>? #t199 = w;
- if(!#t199.{core::Object::==}(null)) {
+ if(!(#t199 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current};
- #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value});
+ #t198.{core::Map::[]=}(#t200.{core::MapEntry::key}, #t200.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue43536.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43536.dart.strong.expect
index de6fdb8..acf5d78 100644
--- a/pkg/front_end/testcases/nnbd/issue43536.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43536.dart.strong.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method foo<generic-covariant-impl E extends self::C::T%>(core::List<self::C::foo::E%> list) → dynamic {
- core::List<self::C::foo::E%> variable = this.{self::C::method}<self::C::foo::E%>(list);
+ core::List<self::C::foo::E%> variable = this.{self::C::method}<self::C::foo::E%>(list){(core::List<self::C::foo::E%>) → core::List<self::C::foo::E%>};
}
method method<generic-covariant-impl F extends self::C::T%>(core::List<self::C::method::F%> list) → core::List<self::C::method::F%>
return list;
diff --git a/pkg/front_end/testcases/nnbd/issue43536.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43536.dart.strong.transformed.expect
index de6fdb8..acf5d78 100644
--- a/pkg/front_end/testcases/nnbd/issue43536.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43536.dart.strong.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method foo<generic-covariant-impl E extends self::C::T%>(core::List<self::C::foo::E%> list) → dynamic {
- core::List<self::C::foo::E%> variable = this.{self::C::method}<self::C::foo::E%>(list);
+ core::List<self::C::foo::E%> variable = this.{self::C::method}<self::C::foo::E%>(list){(core::List<self::C::foo::E%>) → core::List<self::C::foo::E%>};
}
method method<generic-covariant-impl F extends self::C::T%>(core::List<self::C::method::F%> list) → core::List<self::C::method::F%>
return list;
diff --git a/pkg/front_end/testcases/nnbd/issue43536.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43536.dart.weak.expect
index de6fdb8..acf5d78 100644
--- a/pkg/front_end/testcases/nnbd/issue43536.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43536.dart.weak.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method foo<generic-covariant-impl E extends self::C::T%>(core::List<self::C::foo::E%> list) → dynamic {
- core::List<self::C::foo::E%> variable = this.{self::C::method}<self::C::foo::E%>(list);
+ core::List<self::C::foo::E%> variable = this.{self::C::method}<self::C::foo::E%>(list){(core::List<self::C::foo::E%>) → core::List<self::C::foo::E%>};
}
method method<generic-covariant-impl F extends self::C::T%>(core::List<self::C::method::F%> list) → core::List<self::C::method::F%>
return list;
diff --git a/pkg/front_end/testcases/nnbd/issue43536.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43536.dart.weak.transformed.expect
index de6fdb8..acf5d78 100644
--- a/pkg/front_end/testcases/nnbd/issue43536.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43536.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method foo<generic-covariant-impl E extends self::C::T%>(core::List<self::C::foo::E%> list) → dynamic {
- core::List<self::C::foo::E%> variable = this.{self::C::method}<self::C::foo::E%>(list);
+ core::List<self::C::foo::E%> variable = this.{self::C::method}<self::C::foo::E%>(list){(core::List<self::C::foo::E%>) → core::List<self::C::foo::E%>};
}
method method<generic-covariant-impl F extends self::C::T%>(core::List<self::C::method::F%> list) → core::List<self::C::method::F%>
return list;
diff --git a/pkg/front_end/testcases/nnbd/issue43591.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43591.dart.strong.expect
index c09bec5..7bb6ecb 100644
--- a/pkg/front_end/testcases/nnbd/issue43591.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43591.dart.strong.expect
@@ -11,12 +11,12 @@
(self::method1::S%) → self::method1::S% f = self::E|get#f<self::method1::S%>(s);
}
static method method2<S extends dynamic>(self::method2::S% s) → dynamic {
- self::throws(() → void => s.f);
+ self::throws(() → void => s{dynamic}.f);
}
static method main() → dynamic {}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
return;
diff --git a/pkg/front_end/testcases/nnbd/issue43591.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43591.dart.strong.transformed.expect
index c09bec5..7bb6ecb 100644
--- a/pkg/front_end/testcases/nnbd/issue43591.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43591.dart.strong.transformed.expect
@@ -11,12 +11,12 @@
(self::method1::S%) → self::method1::S% f = self::E|get#f<self::method1::S%>(s);
}
static method method2<S extends dynamic>(self::method2::S% s) → dynamic {
- self::throws(() → void => s.f);
+ self::throws(() → void => s{dynamic}.f);
}
static method main() → dynamic {}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
return;
diff --git a/pkg/front_end/testcases/nnbd/issue43591.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43591.dart.weak.expect
index c09bec5..7bb6ecb 100644
--- a/pkg/front_end/testcases/nnbd/issue43591.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43591.dart.weak.expect
@@ -11,12 +11,12 @@
(self::method1::S%) → self::method1::S% f = self::E|get#f<self::method1::S%>(s);
}
static method method2<S extends dynamic>(self::method2::S% s) → dynamic {
- self::throws(() → void => s.f);
+ self::throws(() → void => s{dynamic}.f);
}
static method main() → dynamic {}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
return;
diff --git a/pkg/front_end/testcases/nnbd/issue43591.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43591.dart.weak.transformed.expect
index c09bec5..7bb6ecb 100644
--- a/pkg/front_end/testcases/nnbd/issue43591.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43591.dart.weak.transformed.expect
@@ -11,12 +11,12 @@
(self::method1::S%) → self::method1::S% f = self::E|get#f<self::method1::S%>(s);
}
static method method2<S extends dynamic>(self::method2::S% s) → dynamic {
- self::throws(() → void => s.f);
+ self::throws(() → void => s{dynamic}.f);
}
static method main() → dynamic {}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
return;
diff --git a/pkg/front_end/testcases/nnbd/issue43716a.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43716a.dart.strong.expect
index 6482203..ac73263 100644
--- a/pkg/front_end/testcases/nnbd/issue43716a.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43716a.dart.strong.expect
@@ -17,12 +17,12 @@
;
method m(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y% y) → core::Object {
self::C<core::Object?, core::Object?>? z = self::b ?{self::C<core::Object?, core::Object?>?} x : y;
- if(z.{core::Object::==}(null))
+ if(z == null)
throw 0;
return let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716a.dart:15:14: Error: A value of type 'Object?' can't be returned from a function with return type 'Object' because 'Object?' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
return z.x; // Error.
- ^" in z{self::C<core::Object?, core::Object?>}.{self::C::x} as{TypeError,ForNonNullableByDefault} core::Object;
+ ^" in z{self::C<core::Object?, core::Object?>}.{self::C::x}{core::Object?} as{TypeError,ForNonNullableByDefault} core::Object;
}
}
static field core::bool b = true;
diff --git a/pkg/front_end/testcases/nnbd/issue43716a.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43716a.dart.strong.transformed.expect
index 144101c..03d87ee 100644
--- a/pkg/front_end/testcases/nnbd/issue43716a.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43716a.dart.strong.transformed.expect
@@ -17,12 +17,12 @@
;
method m(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y% y) → core::Object {
self::C<core::Object?, core::Object?>? z = self::b ?{self::C<core::Object?, core::Object?>?} x : y;
- if(z.{core::Object::==}(null))
+ if(z == null)
throw 0;
return let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716a.dart:15:14: Error: A value of type 'Object?' can't be returned from a function with return type 'Object' because 'Object?' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
return z.x; // Error.
- ^" in let core::Object? #t2 = z{self::C<core::Object?, core::Object?>}.{self::C::x} in #t2.==(null) ?{core::Object} #t2 as{TypeError,ForNonNullableByDefault} core::Object : #t2{core::Object};
+ ^" in let core::Object? #t2 = z{self::C<core::Object?, core::Object?>}.{self::C::x}{core::Object?} in #t2.==(null) ?{core::Object} #t2 as{TypeError,ForNonNullableByDefault} core::Object : #t2{core::Object};
}
}
static field core::bool b = true;
diff --git a/pkg/front_end/testcases/nnbd/issue43716a.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43716a.dart.weak.expect
index 6482203..ac73263 100644
--- a/pkg/front_end/testcases/nnbd/issue43716a.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43716a.dart.weak.expect
@@ -17,12 +17,12 @@
;
method m(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y% y) → core::Object {
self::C<core::Object?, core::Object?>? z = self::b ?{self::C<core::Object?, core::Object?>?} x : y;
- if(z.{core::Object::==}(null))
+ if(z == null)
throw 0;
return let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716a.dart:15:14: Error: A value of type 'Object?' can't be returned from a function with return type 'Object' because 'Object?' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
return z.x; // Error.
- ^" in z{self::C<core::Object?, core::Object?>}.{self::C::x} as{TypeError,ForNonNullableByDefault} core::Object;
+ ^" in z{self::C<core::Object?, core::Object?>}.{self::C::x}{core::Object?} as{TypeError,ForNonNullableByDefault} core::Object;
}
}
static field core::bool b = true;
diff --git a/pkg/front_end/testcases/nnbd/issue43716a.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43716a.dart.weak.transformed.expect
index efcc89c..3c0963d 100644
--- a/pkg/front_end/testcases/nnbd/issue43716a.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43716a.dart.weak.transformed.expect
@@ -17,12 +17,12 @@
;
method m(generic-covariant-impl self::C::X% x, generic-covariant-impl self::C::Y% y) → core::Object {
self::C<core::Object?, core::Object?>? z = self::b ?{self::C<core::Object?, core::Object?>?} x : y;
- if(z.{core::Object::==}(null))
+ if(z == null)
throw 0;
return let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716a.dart:15:14: Error: A value of type 'Object?' can't be returned from a function with return type 'Object' because 'Object?' is nullable and 'Object' isn't.
- 'Object' is from 'dart:core'.
return z.x; // Error.
- ^" in z{self::C<core::Object?, core::Object?>}.{self::C::x};
+ ^" in z{self::C<core::Object?, core::Object?>}.{self::C::x}{core::Object?};
}
}
static field core::bool b = true;
diff --git a/pkg/front_end/testcases/nnbd/issue43716b.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43716b.dart.strong.expect
index eb2e00a..0bba0ad 100644
--- a/pkg/front_end/testcases/nnbd/issue43716b.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43716b.dart.strong.expect
@@ -15,12 +15,12 @@
: self::C::x = x, super core::Object::•()
;
method m() → void {
- (Never) →? void z = self::b ?{(Never) →? void} this.{self::C::x} : #C1;
- if(z.{core::Object::==}(null))
+ (Never) →? void z = self::b ?{(Never) →? void} this.{self::C::x}{self::C::X%} : #C1;
+ if(z == null)
return;
- z{(Never) → void}.call(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716b.dart:17:7: Error: The argument type 'int' can't be assigned to the parameter type 'Never'.
+ z{(Never) → void}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716b.dart:17:7: Error: The argument type 'int' can't be assigned to the parameter type 'Never'.
z(42); // Error.
- ^" in 42 as{TypeError,ForNonNullableByDefault} Never);
+ ^" in 42 as{TypeError,ForNonNullableByDefault} Never){(Never) → void};
}
}
static field core::bool b = true;
diff --git a/pkg/front_end/testcases/nnbd/issue43716b.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43716b.dart.strong.transformed.expect
index eb2e00a..0bba0ad 100644
--- a/pkg/front_end/testcases/nnbd/issue43716b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43716b.dart.strong.transformed.expect
@@ -15,12 +15,12 @@
: self::C::x = x, super core::Object::•()
;
method m() → void {
- (Never) →? void z = self::b ?{(Never) →? void} this.{self::C::x} : #C1;
- if(z.{core::Object::==}(null))
+ (Never) →? void z = self::b ?{(Never) →? void} this.{self::C::x}{self::C::X%} : #C1;
+ if(z == null)
return;
- z{(Never) → void}.call(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716b.dart:17:7: Error: The argument type 'int' can't be assigned to the parameter type 'Never'.
+ z{(Never) → void}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716b.dart:17:7: Error: The argument type 'int' can't be assigned to the parameter type 'Never'.
z(42); // Error.
- ^" in 42 as{TypeError,ForNonNullableByDefault} Never);
+ ^" in 42 as{TypeError,ForNonNullableByDefault} Never){(Never) → void};
}
}
static field core::bool b = true;
diff --git a/pkg/front_end/testcases/nnbd/issue43716b.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43716b.dart.weak.expect
index eb2e00a..0bba0ad 100644
--- a/pkg/front_end/testcases/nnbd/issue43716b.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43716b.dart.weak.expect
@@ -15,12 +15,12 @@
: self::C::x = x, super core::Object::•()
;
method m() → void {
- (Never) →? void z = self::b ?{(Never) →? void} this.{self::C::x} : #C1;
- if(z.{core::Object::==}(null))
+ (Never) →? void z = self::b ?{(Never) →? void} this.{self::C::x}{self::C::X%} : #C1;
+ if(z == null)
return;
- z{(Never) → void}.call(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716b.dart:17:7: Error: The argument type 'int' can't be assigned to the parameter type 'Never'.
+ z{(Never) → void}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716b.dart:17:7: Error: The argument type 'int' can't be assigned to the parameter type 'Never'.
z(42); // Error.
- ^" in 42 as{TypeError,ForNonNullableByDefault} Never);
+ ^" in 42 as{TypeError,ForNonNullableByDefault} Never){(Never) → void};
}
}
static field core::bool b = true;
diff --git a/pkg/front_end/testcases/nnbd/issue43716b.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43716b.dart.weak.transformed.expect
index eb2e00a..0bba0ad 100644
--- a/pkg/front_end/testcases/nnbd/issue43716b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43716b.dart.weak.transformed.expect
@@ -15,12 +15,12 @@
: self::C::x = x, super core::Object::•()
;
method m() → void {
- (Never) →? void z = self::b ?{(Never) →? void} this.{self::C::x} : #C1;
- if(z.{core::Object::==}(null))
+ (Never) →? void z = self::b ?{(Never) →? void} this.{self::C::x}{self::C::X%} : #C1;
+ if(z == null)
return;
- z{(Never) → void}.call(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716b.dart:17:7: Error: The argument type 'int' can't be assigned to the parameter type 'Never'.
+ z{(Never) → void}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue43716b.dart:17:7: Error: The argument type 'int' can't be assigned to the parameter type 'Never'.
z(42); // Error.
- ^" in 42 as{TypeError,ForNonNullableByDefault} Never);
+ ^" in 42 as{TypeError,ForNonNullableByDefault} Never){(Never) → void};
}
}
static field core::bool b = true;
diff --git a/pkg/front_end/testcases/nnbd/issue44276.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue44276.dart.strong.expect
index 9f8c187..ce89c73 100644
--- a/pkg/front_end/testcases/nnbd/issue44276.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue44276.dart.strong.expect
@@ -14,6 +14,6 @@
}
static method fun() → core::int? {
self::Base? a;
- final core::int? b = let final core::int? #t1 = let final self::Base? #t2 = a in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::Base}.{self::Base::value1} in #t1.{core::num::==}(null) ?{core::int?} let final self::Base? #t3 = a in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Base}.{self::Base::value2} : #t1{core::int};
+ final core::int? b = let final core::int? #t1 = let final self::Base? #t2 = a in #t2 == null ?{core::int?} null : #t2{self::Base}.{self::Base::value1}{core::int?} in #t1 == null ?{core::int?} let final self::Base? #t3 = a in #t3 == null ?{core::int?} null : #t3{self::Base}.{self::Base::value2}{core::int?} : #t1{core::int};
return b;
}
diff --git a/pkg/front_end/testcases/nnbd/issue44276.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue44276.dart.strong.transformed.expect
index 9f8c187..ce89c73 100644
--- a/pkg/front_end/testcases/nnbd/issue44276.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue44276.dart.strong.transformed.expect
@@ -14,6 +14,6 @@
}
static method fun() → core::int? {
self::Base? a;
- final core::int? b = let final core::int? #t1 = let final self::Base? #t2 = a in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::Base}.{self::Base::value1} in #t1.{core::num::==}(null) ?{core::int?} let final self::Base? #t3 = a in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Base}.{self::Base::value2} : #t1{core::int};
+ final core::int? b = let final core::int? #t1 = let final self::Base? #t2 = a in #t2 == null ?{core::int?} null : #t2{self::Base}.{self::Base::value1}{core::int?} in #t1 == null ?{core::int?} let final self::Base? #t3 = a in #t3 == null ?{core::int?} null : #t3{self::Base}.{self::Base::value2}{core::int?} : #t1{core::int};
return b;
}
diff --git a/pkg/front_end/testcases/nnbd/issue44276.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue44276.dart.weak.expect
index 9f8c187..ce89c73 100644
--- a/pkg/front_end/testcases/nnbd/issue44276.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue44276.dart.weak.expect
@@ -14,6 +14,6 @@
}
static method fun() → core::int? {
self::Base? a;
- final core::int? b = let final core::int? #t1 = let final self::Base? #t2 = a in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::Base}.{self::Base::value1} in #t1.{core::num::==}(null) ?{core::int?} let final self::Base? #t3 = a in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Base}.{self::Base::value2} : #t1{core::int};
+ final core::int? b = let final core::int? #t1 = let final self::Base? #t2 = a in #t2 == null ?{core::int?} null : #t2{self::Base}.{self::Base::value1}{core::int?} in #t1 == null ?{core::int?} let final self::Base? #t3 = a in #t3 == null ?{core::int?} null : #t3{self::Base}.{self::Base::value2}{core::int?} : #t1{core::int};
return b;
}
diff --git a/pkg/front_end/testcases/nnbd/issue44276.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue44276.dart.weak.transformed.expect
index 9f8c187..ce89c73 100644
--- a/pkg/front_end/testcases/nnbd/issue44276.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue44276.dart.weak.transformed.expect
@@ -14,6 +14,6 @@
}
static method fun() → core::int? {
self::Base? a;
- final core::int? b = let final core::int? #t1 = let final self::Base? #t2 = a in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::Base}.{self::Base::value1} in #t1.{core::num::==}(null) ?{core::int?} let final self::Base? #t3 = a in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Base}.{self::Base::value2} : #t1{core::int};
+ final core::int? b = let final core::int? #t1 = let final self::Base? #t2 = a in #t2 == null ?{core::int?} null : #t2{self::Base}.{self::Base::value1}{core::int?} in #t1 == null ?{core::int?} let final self::Base? #t3 = a in #t3 == null ?{core::int?} null : #t3{self::Base}.{self::Base::value2}{core::int?} : #t1{core::int};
return b;
}
diff --git a/pkg/front_end/testcases/nnbd/issue44595.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue44595.dart.strong.expect
index e9cfab0..150af53 100644
--- a/pkg/front_end/testcases/nnbd/issue44595.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue44595.dart.strong.expect
@@ -12,11 +12,11 @@
static method id<T extends core::Object? = dynamic>(self::id::T% value) → self::id::T%
return value;
static method main() → dynamic async {
- FutureOr<core::int>x = 1.{core::num::+}(self::id<core::int>(1));
- FutureOr<core::int>y = let final core::int #t1 = 1.{core::num::+}(self::id<core::int>(1)) in block {
+ FutureOr<core::int>x = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int};
+ FutureOr<core::int>y = let final core::int #t1 = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int} in block {
self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t1);
} =>#t1;
- FutureOr<core::int>z = let final core::int #t2 = 1.{core::num::+}(self::contextType<core::int>(1)) in block {
+ FutureOr<core::int>z = let final core::int #t2 = 1.{core::num::+}(self::contextType<core::int>(1)){(core::num) → core::int} in block {
self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t2);
} =>#t2;
}
diff --git a/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect
index ef34905..e08b045 100644
--- a/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect
@@ -24,11 +24,11 @@
try {
#L1:
{
- FutureOr<core::int>x = 1.{core::num::+}(self::id<core::int>(1));
- FutureOr<core::int>y = let final core::int #t1 = 1.{core::num::+}(self::id<core::int>(1)) in block {
+ FutureOr<core::int>x = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int};
+ FutureOr<core::int>y = let final core::int #t1 = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int} in block {
self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t1);
} =>#t1;
- FutureOr<core::int>z = let final core::int #t2 = 1.{core::num::+}(self::contextType<core::int>(1)) in block {
+ FutureOr<core::int>z = let final core::int #t2 = 1.{core::num::+}(self::contextType<core::int>(1)){(core::num) → core::int} in block {
self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t2);
} =>#t2;
}
diff --git a/pkg/front_end/testcases/nnbd/issue44595.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue44595.dart.weak.expect
index e9cfab0..150af53 100644
--- a/pkg/front_end/testcases/nnbd/issue44595.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue44595.dart.weak.expect
@@ -12,11 +12,11 @@
static method id<T extends core::Object? = dynamic>(self::id::T% value) → self::id::T%
return value;
static method main() → dynamic async {
- FutureOr<core::int>x = 1.{core::num::+}(self::id<core::int>(1));
- FutureOr<core::int>y = let final core::int #t1 = 1.{core::num::+}(self::id<core::int>(1)) in block {
+ FutureOr<core::int>x = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int};
+ FutureOr<core::int>y = let final core::int #t1 = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int} in block {
self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t1);
} =>#t1;
- FutureOr<core::int>z = let final core::int #t2 = 1.{core::num::+}(self::contextType<core::int>(1)) in block {
+ FutureOr<core::int>z = let final core::int #t2 = 1.{core::num::+}(self::contextType<core::int>(1)){(core::num) → core::int} in block {
self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t2);
} =>#t2;
}
diff --git a/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect
index ef34905..e08b045 100644
--- a/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect
@@ -24,11 +24,11 @@
try {
#L1:
{
- FutureOr<core::int>x = 1.{core::num::+}(self::id<core::int>(1));
- FutureOr<core::int>y = let final core::int #t1 = 1.{core::num::+}(self::id<core::int>(1)) in block {
+ FutureOr<core::int>x = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int};
+ FutureOr<core::int>y = let final core::int #t1 = 1.{core::num::+}(self::id<core::int>(1)){(core::num) → core::int} in block {
self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t1);
} =>#t1;
- FutureOr<core::int>z = let final core::int #t2 = 1.{core::num::+}(self::contextType<core::int>(1)) in block {
+ FutureOr<core::int>z = let final core::int #t2 = 1.{core::num::+}(self::contextType<core::int>(1)){(core::num) → core::int} in block {
self::_extension#0|checkStaticType<core::int, (core::int) → core::int>(#t2);
} =>#t2;
}
diff --git a/pkg/front_end/testcases/nnbd/issue45598.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue45598.dart.strong.expect
index a1055bf..b03a7ab 100644
--- a/pkg/front_end/testcases/nnbd/issue45598.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue45598.dart.strong.expect
@@ -3,6 +3,6 @@
import "dart:core" as core;
static method foo(<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({m: core::Map<Y%, Z%>}) → dynamic bar, core::Map<core::String, core::String> m) → dynamic {
- bar.call<core::String, core::String, core::String>(m: m);
+ bar<core::String, core::String, core::String>(m: m){({m: core::Map<core::String, core::String>}) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue45598.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue45598.dart.strong.transformed.expect
index a1055bf..b03a7ab 100644
--- a/pkg/front_end/testcases/nnbd/issue45598.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue45598.dart.strong.transformed.expect
@@ -3,6 +3,6 @@
import "dart:core" as core;
static method foo(<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({m: core::Map<Y%, Z%>}) → dynamic bar, core::Map<core::String, core::String> m) → dynamic {
- bar.call<core::String, core::String, core::String>(m: m);
+ bar<core::String, core::String, core::String>(m: m){({m: core::Map<core::String, core::String>}) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue45598.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue45598.dart.weak.expect
index a1055bf..b03a7ab 100644
--- a/pkg/front_end/testcases/nnbd/issue45598.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue45598.dart.weak.expect
@@ -3,6 +3,6 @@
import "dart:core" as core;
static method foo(<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({m: core::Map<Y%, Z%>}) → dynamic bar, core::Map<core::String, core::String> m) → dynamic {
- bar.call<core::String, core::String, core::String>(m: m);
+ bar<core::String, core::String, core::String>(m: m){({m: core::Map<core::String, core::String>}) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue45598.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue45598.dart.weak.transformed.expect
index a1055bf..b03a7ab 100644
--- a/pkg/front_end/testcases/nnbd/issue45598.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue45598.dart.weak.transformed.expect
@@ -3,6 +3,6 @@
import "dart:core" as core;
static method foo(<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({m: core::Map<Y%, Z%>}) → dynamic bar, core::Map<core::String, core::String> m) → dynamic {
- bar.call<core::String, core::String, core::String>(m: m);
+ bar<core::String, core::String, core::String>(m: m){({m: core::Map<core::String, core::String>}) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue45598_2.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue45598_2.dart.strong.expect
index 9c145d3..f0813ae 100644
--- a/pkg/front_end/testcases/nnbd/issue45598_2.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue45598_2.dart.strong.expect
@@ -4,7 +4,7 @@
static method foo(core::Map<core::String, core::String> m) → dynamic {
function bar<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({required core::Map<Y%, Z%> m = #C1}) → void {}
- bar.call<core::String, core::String, core::String>(m: m);
+ bar<core::String, core::String, core::String>(m: m){({required m: core::Map<core::String, core::String>}) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue45598_2.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue45598_2.dart.strong.transformed.expect
index 9c145d3..f0813ae 100644
--- a/pkg/front_end/testcases/nnbd/issue45598_2.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue45598_2.dart.strong.transformed.expect
@@ -4,7 +4,7 @@
static method foo(core::Map<core::String, core::String> m) → dynamic {
function bar<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({required core::Map<Y%, Z%> m = #C1}) → void {}
- bar.call<core::String, core::String, core::String>(m: m);
+ bar<core::String, core::String, core::String>(m: m){({required m: core::Map<core::String, core::String>}) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue45598_2.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue45598_2.dart.weak.expect
index 9c145d3..f0813ae 100644
--- a/pkg/front_end/testcases/nnbd/issue45598_2.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue45598_2.dart.weak.expect
@@ -4,7 +4,7 @@
static method foo(core::Map<core::String, core::String> m) → dynamic {
function bar<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({required core::Map<Y%, Z%> m = #C1}) → void {}
- bar.call<core::String, core::String, core::String>(m: m);
+ bar<core::String, core::String, core::String>(m: m){({required m: core::Map<core::String, core::String>}) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue45598_2.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue45598_2.dart.weak.transformed.expect
index 9c145d3..f0813ae 100644
--- a/pkg/front_end/testcases/nnbd/issue45598_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue45598_2.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
static method foo(core::Map<core::String, core::String> m) → dynamic {
function bar<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({required core::Map<Y%, Z%> m = #C1}) → void {}
- bar.call<core::String, core::String, core::String>(m: m);
+ bar<core::String, core::String, core::String>(m: m){({required m: core::Map<core::String, core::String>}) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue_39286.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue_39286.dart.strong.expect
index 95a3402..ebe9eae 100644
--- a/pkg/front_end/testcases/nnbd/issue_39286.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue_39286.dart.strong.expect
@@ -18,8 +18,8 @@
}
static method test(self::C x) → void {
let final self::C #t1 = x in block {
- #t1.{self::C::f}()!.{self::D::g}();
- #t1.{self::C::h}();
+ #t1.{self::C::f}(){() → self::D?}!.{self::D::g}(){() → void};
+ #t1.{self::C::h}(){() → void};
} =>#t1;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue_39286.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue_39286.dart.strong.transformed.expect
index 95a3402..ebe9eae 100644
--- a/pkg/front_end/testcases/nnbd/issue_39286.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue_39286.dart.strong.transformed.expect
@@ -18,8 +18,8 @@
}
static method test(self::C x) → void {
let final self::C #t1 = x in block {
- #t1.{self::C::f}()!.{self::D::g}();
- #t1.{self::C::h}();
+ #t1.{self::C::f}(){() → self::D?}!.{self::D::g}(){() → void};
+ #t1.{self::C::h}(){() → void};
} =>#t1;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue_39286.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue_39286.dart.weak.expect
index 95a3402..ebe9eae 100644
--- a/pkg/front_end/testcases/nnbd/issue_39286.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue_39286.dart.weak.expect
@@ -18,8 +18,8 @@
}
static method test(self::C x) → void {
let final self::C #t1 = x in block {
- #t1.{self::C::f}()!.{self::D::g}();
- #t1.{self::C::h}();
+ #t1.{self::C::f}(){() → self::D?}!.{self::D::g}(){() → void};
+ #t1.{self::C::h}(){() → void};
} =>#t1;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue_39286.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue_39286.dart.weak.transformed.expect
index 95a3402..ebe9eae 100644
--- a/pkg/front_end/testcases/nnbd/issue_39286.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue_39286.dart.weak.transformed.expect
@@ -18,8 +18,8 @@
}
static method test(self::C x) → void {
let final self::C #t1 = x in block {
- #t1.{self::C::f}()!.{self::D::g}();
- #t1.{self::C::h}();
+ #t1.{self::C::f}(){() → self::D?}!.{self::D::g}(){() → void};
+ #t1.{self::C::h}(){() → void};
} =>#t1;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue_39286_2.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue_39286_2.dart.strong.expect
index b21ab32..261dcc1 100644
--- a/pkg/front_end/testcases/nnbd/issue_39286_2.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue_39286_2.dart.strong.expect
@@ -36,8 +36,8 @@
}
static method test(self::C x) → void {
let final self::C #t1 = x in block {
- #t1.{self::C::f}()!.{self::D::g}().{self::D::[]}("Hi!")!;
- #t1.{self::C::h}()!.{self::C::y} = 2;
+ #t1.{self::C::f}(){() → self::D?}!.{self::D::g}(){() → self::D}.{self::D::[]}("Hi!"){(core::String) → core::String}!;
+ #t1.{self::C::h}(){() → self::C}!.{self::C::y} = 2;
} =>#t1;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue_39286_2.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue_39286_2.dart.strong.transformed.expect
index b21ab32..261dcc1 100644
--- a/pkg/front_end/testcases/nnbd/issue_39286_2.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue_39286_2.dart.strong.transformed.expect
@@ -36,8 +36,8 @@
}
static method test(self::C x) → void {
let final self::C #t1 = x in block {
- #t1.{self::C::f}()!.{self::D::g}().{self::D::[]}("Hi!")!;
- #t1.{self::C::h}()!.{self::C::y} = 2;
+ #t1.{self::C::f}(){() → self::D?}!.{self::D::g}(){() → self::D}.{self::D::[]}("Hi!"){(core::String) → core::String}!;
+ #t1.{self::C::h}(){() → self::C}!.{self::C::y} = 2;
} =>#t1;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.expect
index b21ab32..261dcc1 100644
--- a/pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.expect
@@ -36,8 +36,8 @@
}
static method test(self::C x) → void {
let final self::C #t1 = x in block {
- #t1.{self::C::f}()!.{self::D::g}().{self::D::[]}("Hi!")!;
- #t1.{self::C::h}()!.{self::C::y} = 2;
+ #t1.{self::C::f}(){() → self::D?}!.{self::D::g}(){() → self::D}.{self::D::[]}("Hi!"){(core::String) → core::String}!;
+ #t1.{self::C::h}(){() → self::C}!.{self::C::y} = 2;
} =>#t1;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.transformed.expect
index b21ab32..261dcc1 100644
--- a/pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.transformed.expect
@@ -36,8 +36,8 @@
}
static method test(self::C x) → void {
let final self::C #t1 = x in block {
- #t1.{self::C::f}()!.{self::D::g}().{self::D::[]}("Hi!")!;
- #t1.{self::C::h}()!.{self::C::y} = 2;
+ #t1.{self::C::f}(){() → self::D?}!.{self::D::g}(){() → self::D}.{self::D::[]}("Hi!"){(core::String) → core::String}!;
+ #t1.{self::C::h}(){() → self::C}!.{self::C::y} = 2;
} =>#t1;
}
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/late.dart.strong.expect b/pkg/front_end/testcases/nnbd/late.dart.strong.expect
index eaf8c2c..d08482c 100644
--- a/pkg/front_end/testcases/nnbd/late.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/late.dart.strong.expect
@@ -81,7 +81,7 @@
self::lateTopLevelField = 0;
self::lateFinalTopLevelField = 0;
self::Class c1 = new self::Class::•();
- c1.{self::Class::method}();
+ c1.{self::Class::method}(){() → dynamic};
self::Class c2 = new self::Class::•();
c2.{self::Class::lateInstanceField} = 0;
c2.{self::Class::lateFinalInstanceField2} = 0;
@@ -98,7 +98,7 @@
Try correcting the name to the name of an existing setter, or defining a setter or field named 'lateFinalInstanceFieldWithInit'.
c.lateFinalInstanceFieldWithInit = 0;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
- c.{self::Class::methodWithErrors}();
+ c.{self::Class::methodWithErrors}(){() → dynamic};
invalid-expression "pkg/front_end/testcases/nnbd/late.dart:67:9: Error: Setter not found: 'lateFinalStaticFieldWithInit'.
Class.lateFinalStaticFieldWithInit = 0;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
diff --git a/pkg/front_end/testcases/nnbd/late.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/late.dart.strong.transformed.expect
index eaf8c2c..d08482c 100644
--- a/pkg/front_end/testcases/nnbd/late.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/late.dart.strong.transformed.expect
@@ -81,7 +81,7 @@
self::lateTopLevelField = 0;
self::lateFinalTopLevelField = 0;
self::Class c1 = new self::Class::•();
- c1.{self::Class::method}();
+ c1.{self::Class::method}(){() → dynamic};
self::Class c2 = new self::Class::•();
c2.{self::Class::lateInstanceField} = 0;
c2.{self::Class::lateFinalInstanceField2} = 0;
@@ -98,7 +98,7 @@
Try correcting the name to the name of an existing setter, or defining a setter or field named 'lateFinalInstanceFieldWithInit'.
c.lateFinalInstanceFieldWithInit = 0;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
- c.{self::Class::methodWithErrors}();
+ c.{self::Class::methodWithErrors}(){() → dynamic};
invalid-expression "pkg/front_end/testcases/nnbd/late.dart:67:9: Error: Setter not found: 'lateFinalStaticFieldWithInit'.
Class.lateFinalStaticFieldWithInit = 0;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
diff --git a/pkg/front_end/testcases/nnbd/late.dart.weak.expect b/pkg/front_end/testcases/nnbd/late.dart.weak.expect
index eaf8c2c..d08482c 100644
--- a/pkg/front_end/testcases/nnbd/late.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/late.dart.weak.expect
@@ -81,7 +81,7 @@
self::lateTopLevelField = 0;
self::lateFinalTopLevelField = 0;
self::Class c1 = new self::Class::•();
- c1.{self::Class::method}();
+ c1.{self::Class::method}(){() → dynamic};
self::Class c2 = new self::Class::•();
c2.{self::Class::lateInstanceField} = 0;
c2.{self::Class::lateFinalInstanceField2} = 0;
@@ -98,7 +98,7 @@
Try correcting the name to the name of an existing setter, or defining a setter or field named 'lateFinalInstanceFieldWithInit'.
c.lateFinalInstanceFieldWithInit = 0;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
- c.{self::Class::methodWithErrors}();
+ c.{self::Class::methodWithErrors}(){() → dynamic};
invalid-expression "pkg/front_end/testcases/nnbd/late.dart:67:9: Error: Setter not found: 'lateFinalStaticFieldWithInit'.
Class.lateFinalStaticFieldWithInit = 0;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
diff --git a/pkg/front_end/testcases/nnbd/late.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/late.dart.weak.transformed.expect
index eaf8c2c..d08482c 100644
--- a/pkg/front_end/testcases/nnbd/late.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/late.dart.weak.transformed.expect
@@ -81,7 +81,7 @@
self::lateTopLevelField = 0;
self::lateFinalTopLevelField = 0;
self::Class c1 = new self::Class::•();
- c1.{self::Class::method}();
+ c1.{self::Class::method}(){() → dynamic};
self::Class c2 = new self::Class::•();
c2.{self::Class::lateInstanceField} = 0;
c2.{self::Class::lateFinalInstanceField2} = 0;
@@ -98,7 +98,7 @@
Try correcting the name to the name of an existing setter, or defining a setter or field named 'lateFinalInstanceFieldWithInit'.
c.lateFinalInstanceFieldWithInit = 0;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
- c.{self::Class::methodWithErrors}();
+ c.{self::Class::methodWithErrors}(){() → dynamic};
invalid-expression "pkg/front_end/testcases/nnbd/late.dart:67:9: Error: Setter not found: 'lateFinalStaticFieldWithInit'.
Class.lateFinalStaticFieldWithInit = 0;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
diff --git a/pkg/front_end/testcases/nnbd/later.dart.strong.expect b/pkg/front_end/testcases/nnbd/later.dart.strong.expect
index df47af6..7bd7713 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.strong.expect
@@ -68,7 +68,7 @@
class A extends core::Object {
field core::int a = 42;
- late field core::int b = this.{self::A::a}.{core::num::*}(2).{core::int::>>}(1);
+ late field core::int b = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int};
synthetic constructor •() → self::A
: super core::Object::•()
;
@@ -104,7 +104,7 @@
on dynamic catch(final dynamic late, final core::StackTrace e) {
}
}
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print("baz");
}
for (core::String s in <core::String>["baz"]) {
@@ -112,8 +112,8 @@
}
block {
final core::List<core::int> #t1 = <core::int>[];
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t1.{core::List::add}{Invariant}(i);
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t1.{core::List::add}(i){(core::int) → void};
} =>#t1;
}
static method hest() → dynamic async {
diff --git a/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
index 2aba575..303c03a 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
@@ -69,7 +69,7 @@
class A extends core::Object {
field core::int a = 42;
- late field core::int b = this.{self::A::a}.{core::num::*}(2).{core::int::>>}(1);
+ late field core::int b = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int};
synthetic constructor •() → self::A
: super core::Object::•()
;
@@ -105,7 +105,7 @@
on dynamic catch(final dynamic late, final core::StackTrace e) {
}
}
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print("baz");
}
{
@@ -119,8 +119,8 @@
}
block {
final core::List<core::int> #t1 = core::_GrowableList::•<core::int>(0);
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t1.{core::List::add}{Invariant}(i);
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t1.{core::List::add}(i){(core::int) → void};
} =>#t1;
}
static method hest() → dynamic /* originally async */ {
diff --git a/pkg/front_end/testcases/nnbd/later.dart.weak.expect b/pkg/front_end/testcases/nnbd/later.dart.weak.expect
index df47af6..7bd7713 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.weak.expect
@@ -68,7 +68,7 @@
class A extends core::Object {
field core::int a = 42;
- late field core::int b = this.{self::A::a}.{core::num::*}(2).{core::int::>>}(1);
+ late field core::int b = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int};
synthetic constructor •() → self::A
: super core::Object::•()
;
@@ -104,7 +104,7 @@
on dynamic catch(final dynamic late, final core::StackTrace e) {
}
}
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print("baz");
}
for (core::String s in <core::String>["baz"]) {
@@ -112,8 +112,8 @@
}
block {
final core::List<core::int> #t1 = <core::int>[];
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t1.{core::List::add}{Invariant}(i);
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t1.{core::List::add}(i){(core::int) → void};
} =>#t1;
}
static method hest() → dynamic async {
diff --git a/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
index 2aba575..303c03a 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
@@ -69,7 +69,7 @@
class A extends core::Object {
field core::int a = 42;
- late field core::int b = this.{self::A::a}.{core::num::*}(2).{core::int::>>}(1);
+ late field core::int b = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int};
synthetic constructor •() → self::A
: super core::Object::•()
;
@@ -105,7 +105,7 @@
on dynamic catch(final dynamic late, final core::StackTrace e) {
}
}
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
core::print("baz");
}
{
@@ -119,8 +119,8 @@
}
block {
final core::List<core::int> #t1 = core::_GrowableList::•<core::int>(0);
- for (core::int i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1))
- #t1.{core::List::add}{Invariant}(i);
+ for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+ #t1.{core::List::add}(i){(core::int) → void};
} =>#t1;
}
static method hest() → dynamic /* originally async */ {
diff --git a/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.strong.expect b/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.strong.expect
index b8f0b54..42bf683 100644
--- a/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.strong.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method f() → core::Object
- return let final core::Object? #t1 = self::g<core::Object?>(null) in #t1.{core::Object::==}(null) ?{core::Object} 0 : #t1{core::Object};
+ return let final core::Object? #t1 = self::g<core::Object?>(null) in #t1 == null ?{core::Object} 0 : #t1{core::Object};
static method g<T extends core::Object? = dynamic>(self::g::T% t) → self::g::T%
return t;
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.strong.transformed.expect
index b8f0b54..42bf683 100644
--- a/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.strong.transformed.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method f() → core::Object
- return let final core::Object? #t1 = self::g<core::Object?>(null) in #t1.{core::Object::==}(null) ?{core::Object} 0 : #t1{core::Object};
+ return let final core::Object? #t1 = self::g<core::Object?>(null) in #t1 == null ?{core::Object} 0 : #t1{core::Object};
static method g<T extends core::Object? = dynamic>(self::g::T% t) → self::g::T%
return t;
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.expect b/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.expect
index b8f0b54..42bf683 100644
--- a/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method f() → core::Object
- return let final core::Object? #t1 = self::g<core::Object?>(null) in #t1.{core::Object::==}(null) ?{core::Object} 0 : #t1{core::Object};
+ return let final core::Object? #t1 = self::g<core::Object?>(null) in #t1 == null ?{core::Object} 0 : #t1{core::Object};
static method g<T extends core::Object? = dynamic>(self::g::T% t) → self::g::T%
return t;
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.transformed.expect
index b8f0b54..42bf683 100644
--- a/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.transformed.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method f() → core::Object
- return let final core::Object? #t1 = self::g<core::Object?>(null) in #t1.{core::Object::==}(null) ?{core::Object} 0 : #t1{core::Object};
+ return let final core::Object? #t1 = self::g<core::Object?>(null) in #t1 == null ?{core::Object} 0 : #t1{core::Object};
static method g<T extends core::Object? = dynamic>(self::g::T% t) → self::g::T%
return t;
static method main() → dynamic {
diff --git a/pkg/front_end/testcases/nnbd/load_library.dart.strong.expect b/pkg/front_end/testcases/nnbd/load_library.dart.strong.expect
index 0e7e3b1..ee6401a 100644
--- a/pkg/front_end/testcases/nnbd/load_library.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/load_library.dart.strong.expect
@@ -6,9 +6,9 @@
static method main() → dynamic {
asy::Future<dynamic> v1 = LoadLibrary(math);
- v1.{asy::Future::then}<Null>((dynamic _) → Null {});
+ v1.{asy::Future::then}<Null>((dynamic _) → Null {}){((dynamic) → FutureOr<Null>, {onError: dart.core::Function?}) → asy::Future<Null>};
() → asy::Future<dynamic> v2 = #C1;
- v2.call().{asy::Future::then}<Null>((dynamic _) → Null {});
+ v2(){() → asy::Future<dynamic>}.{asy::Future::then}<Null>((dynamic _) → Null {}){((dynamic) → FutureOr<Null>, {onError: dart.core::Function?}) → asy::Future<Null>};
}
static method _#loadLibrary_math() → asy::Future<dynamic>
return LoadLibrary(math);
diff --git a/pkg/front_end/testcases/nnbd/load_library.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/load_library.dart.strong.transformed.expect
index 0e7e3b1..ee6401a 100644
--- a/pkg/front_end/testcases/nnbd/load_library.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/load_library.dart.strong.transformed.expect
@@ -6,9 +6,9 @@
static method main() → dynamic {
asy::Future<dynamic> v1 = LoadLibrary(math);
- v1.{asy::Future::then}<Null>((dynamic _) → Null {});
+ v1.{asy::Future::then}<Null>((dynamic _) → Null {}){((dynamic) → FutureOr<Null>, {onError: dart.core::Function?}) → asy::Future<Null>};
() → asy::Future<dynamic> v2 = #C1;
- v2.call().{asy::Future::then}<Null>((dynamic _) → Null {});
+ v2(){() → asy::Future<dynamic>}.{asy::Future::then}<Null>((dynamic _) → Null {}){((dynamic) → FutureOr<Null>, {onError: dart.core::Function?}) → asy::Future<Null>};
}
static method _#loadLibrary_math() → asy::Future<dynamic>
return LoadLibrary(math);
diff --git a/pkg/front_end/testcases/nnbd/load_library.dart.weak.expect b/pkg/front_end/testcases/nnbd/load_library.dart.weak.expect
index 0e7e3b1..ee6401a 100644
--- a/pkg/front_end/testcases/nnbd/load_library.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/load_library.dart.weak.expect
@@ -6,9 +6,9 @@
static method main() → dynamic {
asy::Future<dynamic> v1 = LoadLibrary(math);
- v1.{asy::Future::then}<Null>((dynamic _) → Null {});
+ v1.{asy::Future::then}<Null>((dynamic _) → Null {}){((dynamic) → FutureOr<Null>, {onError: dart.core::Function?}) → asy::Future<Null>};
() → asy::Future<dynamic> v2 = #C1;
- v2.call().{asy::Future::then}<Null>((dynamic _) → Null {});
+ v2(){() → asy::Future<dynamic>}.{asy::Future::then}<Null>((dynamic _) → Null {}){((dynamic) → FutureOr<Null>, {onError: dart.core::Function?}) → asy::Future<Null>};
}
static method _#loadLibrary_math() → asy::Future<dynamic>
return LoadLibrary(math);
diff --git a/pkg/front_end/testcases/nnbd/load_library.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/load_library.dart.weak.transformed.expect
index 0e7e3b1..ee6401a 100644
--- a/pkg/front_end/testcases/nnbd/load_library.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/load_library.dart.weak.transformed.expect
@@ -6,9 +6,9 @@
static method main() → dynamic {
asy::Future<dynamic> v1 = LoadLibrary(math);
- v1.{asy::Future::then}<Null>((dynamic _) → Null {});
+ v1.{asy::Future::then}<Null>((dynamic _) → Null {}){((dynamic) → FutureOr<Null>, {onError: dart.core::Function?}) → asy::Future<Null>};
() → asy::Future<dynamic> v2 = #C1;
- v2.call().{asy::Future::then}<Null>((dynamic _) → Null {});
+ v2(){() → asy::Future<dynamic>}.{asy::Future::then}<Null>((dynamic _) → Null {}){((dynamic) → FutureOr<Null>, {onError: dart.core::Function?}) → asy::Future<Null>};
}
static method _#loadLibrary_math() → asy::Future<dynamic>
return LoadLibrary(math);
diff --git a/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.strong.expect b/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.strong.expect
index fc8db9e..03536f5 100644
--- a/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.strong.expect
@@ -50,13 +50,13 @@
self::A a = new self::A::•(x: 42);
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:18:8: Error: Required named parameter 'y' must be provided.
a.foo();
- ^" in a.{self::A::foo}();
+ ^" in a.{self::A::foo}{<inapplicable>}.(){() → invalid-type};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:19:6: Error: Required named parameter 's' must be provided.
a.f();
- ^" in a.{self::A::f}.call();
+ ^" in a.{self::A::f}{({required s: core::String}) → void}{<inapplicable>}.();
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:20:4: Error: Required named parameter 's' must be provided.
g();
- ^" in self::g.call();
+ ^" in self::g{<inapplicable>}.();
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.strong.transformed.expect
index fc8db9e..03536f5 100644
--- a/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.strong.transformed.expect
@@ -50,13 +50,13 @@
self::A a = new self::A::•(x: 42);
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:18:8: Error: Required named parameter 'y' must be provided.
a.foo();
- ^" in a.{self::A::foo}();
+ ^" in a.{self::A::foo}{<inapplicable>}.(){() → invalid-type};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:19:6: Error: Required named parameter 's' must be provided.
a.f();
- ^" in a.{self::A::f}.call();
+ ^" in a.{self::A::f}{({required s: core::String}) → void}{<inapplicable>}.();
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:20:4: Error: Required named parameter 's' must be provided.
g();
- ^" in self::g.call();
+ ^" in self::g{<inapplicable>}.();
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.expect b/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.expect
index fc8db9e..03536f5 100644
--- a/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.expect
@@ -50,13 +50,13 @@
self::A a = new self::A::•(x: 42);
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:18:8: Error: Required named parameter 'y' must be provided.
a.foo();
- ^" in a.{self::A::foo}();
+ ^" in a.{self::A::foo}{<inapplicable>}.(){() → invalid-type};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:19:6: Error: Required named parameter 's' must be provided.
a.f();
- ^" in a.{self::A::f}.call();
+ ^" in a.{self::A::f}{({required s: core::String}) → void}{<inapplicable>}.();
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:20:4: Error: Required named parameter 's' must be provided.
g();
- ^" in self::g.call();
+ ^" in self::g{<inapplicable>}.();
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.transformed.expect
index fc8db9e..03536f5 100644
--- a/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.transformed.expect
@@ -50,13 +50,13 @@
self::A a = new self::A::•(x: 42);
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:18:8: Error: Required named parameter 'y' must be provided.
a.foo();
- ^" in a.{self::A::foo}();
+ ^" in a.{self::A::foo}{<inapplicable>}.(){() → invalid-type};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:19:6: Error: Required named parameter 's' must be provided.
a.f();
- ^" in a.{self::A::f}.call();
+ ^" in a.{self::A::f}{({required s: core::String}) → void}{<inapplicable>}.();
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart:20:4: Error: Required named parameter 's' must be provided.
g();
- ^" in self::g.call();
+ ^" in self::g{<inapplicable>}.();
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/never_calls.dart.strong.expect b/pkg/front_end/testcases/nnbd/never_calls.dart.strong.expect
index 33ac05b..6187566 100644
--- a/pkg/front_end/testcases/nnbd/never_calls.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/never_calls.dart.strong.expect
@@ -3,32 +3,32 @@
import "dart:core" as core;
static method propertyGet(Never never) → dynamic {
- Never v1 = never.foo;
- Never v2 = never.hashCode;
- Never v3 = never.runtimeType;
- Never v4 = never.toString;
- Never v5 = never.noSuchMethod;
+ Never v1 = never{Never}.foo;
+ Never v2 = never{Never}.hashCode;
+ Never v3 = never{Never}.runtimeType;
+ Never v4 = never{Never}.toString;
+ Never v5 = never{Never}.noSuchMethod;
}
static method propertySet(Never never) → dynamic {
- core::int v1 = never.foo = 42;
+ core::int v1 = never{Never}.foo = 42;
}
static method methodInvocation(Never never, core::Invocation invocation) → dynamic {
- Never v1 = never.foo();
- Never v2 = never.hashCode();
- Never v3 = never.runtimeType();
- Never v4 = never.toString();
- Never v5 = never.toString(foo: 42);
- Never v6 = never.noSuchMethod(invocation);
- Never v7 = never.noSuchMethod(42);
+ Never v1 = never{Never}.foo();
+ Never v2 = never{Never}.hashCode();
+ Never v3 = never{Never}.runtimeType();
+ Never v4 = never{Never}.toString();
+ Never v5 = never{Never}.toString(foo: 42);
+ Never v6 = never{Never}.noSuchMethod(invocation);
+ Never v7 = never{Never}.noSuchMethod(42);
}
static method equals(Never never) → dynamic {
- Never v1 = never.==(null);
- Never v2 = never.==(never);
+ core::bool v1 = never == null;
+ Never v2 = never =={core::Object::==}{(dynamic) → Never} never;
}
static method operator(Never never) → dynamic {
- Never v1 = never.+(never);
- Never v2 = never.unary-();
- Never v3 = never.[](never);
- Never v4 = let final Never #t1 = never in let final Never #t2 = never in let final Never #t3 = never in let final void #t4 = #t1.[]=(#t2, #t3) in #t3;
+ Never v1 = never{Never}.+(never);
+ Never v2 = never{Never}.unary-();
+ Never v3 = never{Never}.[](never);
+ Never v4 = let final Never #t1 = never in let final Never #t2 = never in let final Never #t3 = never in let final void #t4 = #t1{Never}.[]=(#t2, #t3) in #t3;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/never_calls.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/never_calls.dart.strong.transformed.expect
index 33ac05b..6187566 100644
--- a/pkg/front_end/testcases/nnbd/never_calls.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/never_calls.dart.strong.transformed.expect
@@ -3,32 +3,32 @@
import "dart:core" as core;
static method propertyGet(Never never) → dynamic {
- Never v1 = never.foo;
- Never v2 = never.hashCode;
- Never v3 = never.runtimeType;
- Never v4 = never.toString;
- Never v5 = never.noSuchMethod;
+ Never v1 = never{Never}.foo;
+ Never v2 = never{Never}.hashCode;
+ Never v3 = never{Never}.runtimeType;
+ Never v4 = never{Never}.toString;
+ Never v5 = never{Never}.noSuchMethod;
}
static method propertySet(Never never) → dynamic {
- core::int v1 = never.foo = 42;
+ core::int v1 = never{Never}.foo = 42;
}
static method methodInvocation(Never never, core::Invocation invocation) → dynamic {
- Never v1 = never.foo();
- Never v2 = never.hashCode();
- Never v3 = never.runtimeType();
- Never v4 = never.toString();
- Never v5 = never.toString(foo: 42);
- Never v6 = never.noSuchMethod(invocation);
- Never v7 = never.noSuchMethod(42);
+ Never v1 = never{Never}.foo();
+ Never v2 = never{Never}.hashCode();
+ Never v3 = never{Never}.runtimeType();
+ Never v4 = never{Never}.toString();
+ Never v5 = never{Never}.toString(foo: 42);
+ Never v6 = never{Never}.noSuchMethod(invocation);
+ Never v7 = never{Never}.noSuchMethod(42);
}
static method equals(Never never) → dynamic {
- Never v1 = never.==(null);
- Never v2 = never.==(never);
+ core::bool v1 = never == null;
+ Never v2 = never =={core::Object::==}{(dynamic) → Never} never;
}
static method operator(Never never) → dynamic {
- Never v1 = never.+(never);
- Never v2 = never.unary-();
- Never v3 = never.[](never);
- Never v4 = let final Never #t1 = never in let final Never #t2 = never in let final Never #t3 = never in let final void #t4 = #t1.[]=(#t2, #t3) in #t3;
+ Never v1 = never{Never}.+(never);
+ Never v2 = never{Never}.unary-();
+ Never v3 = never{Never}.[](never);
+ Never v4 = let final Never #t1 = never in let final Never #t2 = never in let final Never #t3 = never in let final void #t4 = #t1{Never}.[]=(#t2, #t3) in #t3;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/never_calls.dart.weak.expect b/pkg/front_end/testcases/nnbd/never_calls.dart.weak.expect
index 242bb80..a1ee958 100644
--- a/pkg/front_end/testcases/nnbd/never_calls.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/never_calls.dart.weak.expect
@@ -4,32 +4,32 @@
import "dart:core" as core;
static method propertyGet(Never never) → dynamic {
- Never v1 = let final Never #t1 = (let final Never #t2 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t3 = (let final Never #t4 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).hashCode in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v3 = let final Never #t5 = (let final Never #t6 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v4 = let final Never #t7 = (let final Never #t8 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v5 = let final Never #t9 = (let final Never #t10 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).noSuchMethod in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v1 = let final Never #t1 = (let final Never #t2 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v2 = let final Never #t3 = (let final Never #t4 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.hashCode in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v3 = let final Never #t5 = (let final Never #t6 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v4 = let final Never #t7 = (let final Never #t8 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v5 = let final Never #t9 = (let final Never #t10 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.noSuchMethod in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method propertySet(Never never) → dynamic {
- core::int v1 = (let final Never #t11 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo = 42;
+ core::int v1 = (let final Never #t11 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo = 42;
}
static method methodInvocation(Never never, core::Invocation invocation) → dynamic {
- Never v1 = let final Never #t12 = (let final Never #t13 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t14 = (let final Never #t15 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).hashCode() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v3 = let final Never #t16 = (let final Never #t17 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v4 = let final Never #t18 = (let final Never #t19 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v5 = let final Never #t20 = (let final Never #t21 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString(foo: 42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v6 = let final Never #t22 = (let final Never #t23 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).noSuchMethod(invocation) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v7 = let final Never #t24 = (let final Never #t25 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).noSuchMethod(42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v1 = let final Never #t12 = (let final Never #t13 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v2 = let final Never #t14 = (let final Never #t15 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.hashCode() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v3 = let final Never #t16 = (let final Never #t17 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v4 = let final Never #t18 = (let final Never #t19 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v5 = let final Never #t20 = (let final Never #t21 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString(foo: 42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v6 = let final Never #t22 = (let final Never #t23 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.noSuchMethod(invocation) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v7 = let final Never #t24 = (let final Never #t25 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.noSuchMethod(42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method equals(Never never) → dynamic {
- Never v1 = let final Never #t26 = (let final Never #t27 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).==(null) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t28 = (let final Never #t29 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).==(let final Never #t30 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ core::bool v1 = (let final Never #t26 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) == null;
+ Never v2 = let final Never #t27 = (let final Never #t28 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) =={core::Object::==}{(dynamic) → Never} (let final Never #t29 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method operator(Never never) → dynamic {
- Never v1 = let final Never #t31 = (let final Never #t32 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(let final Never #t33 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t34 = (let final Never #t35 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).unary-() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v3 = let final Never #t36 = (let final Never #t37 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](let final Never #t38 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v4 = let final Never #t39 = let final Never #t40 = let final Never #t41 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final Never #t42 = let final Never #t43 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final Never #t44 = let final Never #t45 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final void #t46 = #t40.[]=(#t42, #t44) in #t44 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v1 = let final Never #t30 = (let final Never #t31 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(let final Never #t32 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v2 = let final Never #t33 = (let final Never #t34 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.unary-() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v3 = let final Never #t35 = (let final Never #t36 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](let final Never #t37 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v4 = let final Never #t38 = let final Never #t39 = let final Never #t40 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final Never #t41 = let final Never #t42 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final Never #t43 = let final Never #t44 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final void #t45 = #t39{Never}.[]=(#t41, #t43) in #t43 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/never_calls.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/never_calls.dart.weak.transformed.expect
index 242bb80..a1ee958 100644
--- a/pkg/front_end/testcases/nnbd/never_calls.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/never_calls.dart.weak.transformed.expect
@@ -4,32 +4,32 @@
import "dart:core" as core;
static method propertyGet(Never never) → dynamic {
- Never v1 = let final Never #t1 = (let final Never #t2 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t3 = (let final Never #t4 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).hashCode in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v3 = let final Never #t5 = (let final Never #t6 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v4 = let final Never #t7 = (let final Never #t8 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v5 = let final Never #t9 = (let final Never #t10 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).noSuchMethod in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v1 = let final Never #t1 = (let final Never #t2 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v2 = let final Never #t3 = (let final Never #t4 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.hashCode in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v3 = let final Never #t5 = (let final Never #t6 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v4 = let final Never #t7 = (let final Never #t8 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v5 = let final Never #t9 = (let final Never #t10 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.noSuchMethod in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method propertySet(Never never) → dynamic {
- core::int v1 = (let final Never #t11 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo = 42;
+ core::int v1 = (let final Never #t11 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo = 42;
}
static method methodInvocation(Never never, core::Invocation invocation) → dynamic {
- Never v1 = let final Never #t12 = (let final Never #t13 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t14 = (let final Never #t15 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).hashCode() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v3 = let final Never #t16 = (let final Never #t17 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v4 = let final Never #t18 = (let final Never #t19 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v5 = let final Never #t20 = (let final Never #t21 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).toString(foo: 42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v6 = let final Never #t22 = (let final Never #t23 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).noSuchMethod(invocation) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v7 = let final Never #t24 = (let final Never #t25 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).noSuchMethod(42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v1 = let final Never #t12 = (let final Never #t13 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v2 = let final Never #t14 = (let final Never #t15 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.hashCode() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v3 = let final Never #t16 = (let final Never #t17 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.runtimeType() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v4 = let final Never #t18 = (let final Never #t19 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v5 = let final Never #t20 = (let final Never #t21 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.toString(foo: 42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v6 = let final Never #t22 = (let final Never #t23 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.noSuchMethod(invocation) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v7 = let final Never #t24 = (let final Never #t25 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.noSuchMethod(42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method equals(Never never) → dynamic {
- Never v1 = let final Never #t26 = (let final Never #t27 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).==(null) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t28 = (let final Never #t29 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).==(let final Never #t30 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ core::bool v1 = (let final Never #t26 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) == null;
+ Never v2 = let final Never #t27 = (let final Never #t28 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) =={core::Object::==}{(dynamic) → Never} (let final Never #t29 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method operator(Never never) → dynamic {
- Never v1 = let final Never #t31 = (let final Never #t32 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(let final Never #t33 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v2 = let final Never #t34 = (let final Never #t35 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).unary-() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v3 = let final Never #t36 = (let final Never #t37 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](let final Never #t38 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- Never v4 = let final Never #t39 = let final Never #t40 = let final Never #t41 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final Never #t42 = let final Never #t43 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final Never #t44 = let final Never #t45 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final void #t46 = #t40.[]=(#t42, #t44) in #t44 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v1 = let final Never #t30 = (let final Never #t31 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(let final Never #t32 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v2 = let final Never #t33 = (let final Never #t34 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.unary-() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v3 = let final Never #t35 = (let final Never #t36 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](let final Never #t37 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ Never v4 = let final Never #t38 = let final Never #t39 = let final Never #t40 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final Never #t41 = let final Never #t42 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final Never #t43 = let final Never #t44 = never in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in let final void #t45 = #t39{Never}.[]=(#t41, #t43) in #t43 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/never_equals.dart.strong.expect b/pkg/front_end/testcases/nnbd/never_equals.dart.strong.expect
index eafd607..6db1fcc 100644
--- a/pkg/front_end/testcases/nnbd/never_equals.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/never_equals.dart.strong.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method test(Never nonNullableNever, Never? nullableNever) → dynamic {
- Never v1 = nonNullableNever.==(nonNullableNever);
- core::bool v2 = nullableNever.{core::Object::==}(nullableNever);
+ Never v1 = nonNullableNever =={core::Object::==}{(dynamic) → Never} nonNullableNever;
+ core::bool v2 = nullableNever =={core::Object::==}{(core::Object) → core::bool} nullableNever;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/never_equals.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/never_equals.dart.strong.transformed.expect
index eafd607..6db1fcc 100644
--- a/pkg/front_end/testcases/nnbd/never_equals.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/never_equals.dart.strong.transformed.expect
@@ -3,7 +3,7 @@
import "dart:core" as core;
static method test(Never nonNullableNever, Never? nullableNever) → dynamic {
- Never v1 = nonNullableNever.==(nonNullableNever);
- core::bool v2 = nullableNever.{core::Object::==}(nullableNever);
+ Never v1 = nonNullableNever =={core::Object::==}{(dynamic) → Never} nonNullableNever;
+ core::bool v2 = nullableNever =={core::Object::==}{(core::Object) → core::bool} nullableNever;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/never_equals.dart.weak.expect b/pkg/front_end/testcases/nnbd/never_equals.dart.weak.expect
index 52cfdac..3863424 100644
--- a/pkg/front_end/testcases/nnbd/never_equals.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/never_equals.dart.weak.expect
@@ -4,7 +4,7 @@
import "dart:core" as core;
static method test(Never nonNullableNever, Never? nullableNever) → dynamic {
- Never v1 = let final Never #t1 = (let final Never #t2 = nonNullableNever in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).==(let final Never #t3 = nonNullableNever in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- core::bool v2 = nullableNever.{core::Object::==}(nullableNever);
+ Never v1 = let final Never #t1 = (let final Never #t2 = nonNullableNever in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) =={core::Object::==}{(dynamic) → Never} (let final Never #t3 = nonNullableNever in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ core::bool v2 = nullableNever =={core::Object::==}{(core::Object) → core::bool} nullableNever;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/never_equals.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/never_equals.dart.weak.transformed.expect
index 52cfdac..3863424 100644
--- a/pkg/front_end/testcases/nnbd/never_equals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/never_equals.dart.weak.transformed.expect
@@ -4,7 +4,7 @@
import "dart:core" as core;
static method test(Never nonNullableNever, Never? nullableNever) → dynamic {
- Never v1 = let final Never #t1 = (let final Never #t2 = nonNullableNever in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).==(let final Never #t3 = nonNullableNever in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- core::bool v2 = nullableNever.{core::Object::==}(nullableNever);
+ Never v1 = let final Never #t1 = (let final Never #t2 = nonNullableNever in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) =={core::Object::==}{(dynamic) → Never} (let final Never #t3 = nonNullableNever in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ core::bool v2 = nullableNever =={core::Object::==}{(core::Object) → core::bool} nullableNever;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/never_receiver.dart.strong.expect b/pkg/front_end/testcases/nnbd/never_receiver.dart.strong.expect
index 1a136213..cfeb55d 100644
--- a/pkg/front_end/testcases/nnbd/never_receiver.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/never_receiver.dart.strong.expect
@@ -66,27 +66,27 @@
import "dart:core" as core;
static method foo(Never x, Never? y) → dynamic {
- core::String local0 = y.{core::Object::toString}();
- core::int local1 = y.{core::Object::hashCode};
- x.foo();
- x.bar;
- x.baz = 42;
- x.call();
- x.[](42);
- x.[]=(42, 42);
- x = x.+(1);
- x = x.+(1);
- let final Never? #t1 = y in #t1.{core::Object::==}(null) ?{Null} null : #t1{Never}.foo();
- let final Never? #t2 = y in #t2.{core::Object::==}(null) ?{Null} null : #t2{Never}.bar;
- let final Never? #t3 = y in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{Never}.baz = 42;
- let final Never? #t4 = y in #t4.{core::Object::==}(null) ?{Null} null : #t4{Never}.call();
- let final Never? #t5 = y in #t5.{core::Object::==}(null) ?{Null} null : #t5{Never}.[](42);
- let final Never? #t6 = y in #t6.{core::Object::==}(null) ?{core::int?} null : #t6{Never}.[]=(42, 42);
- let final Never #t7 = x in #t7.{core::Object::==}(null) ?{Null} null : #t7.foo();
- let final Never #t8 = x in #t8.{core::Object::==}(null) ?{Null} null : #t8.bar;
- let final Never #t9 = x in #t9.{core::Object::==}(null) ?{core::int?} null : #t9.baz = 42;
- let final Never #t10 = x in #t10.{core::Object::==}(null) ?{Null} null : #t10.[](42);
- let final Never #t11 = x in #t11.{core::Object::==}(null) ?{core::int?} null : #t11.[]=(42, 42);
+ core::String local0 = y.{core::Object::toString}(){() → core::String};
+ core::int local1 = y.{core::Object::hashCode}{core::int};
+ x{Never}.foo();
+ x{Never}.bar;
+ x{Never}.baz = 42;
+ x{Never}.call();
+ x{Never}.[](42);
+ x{Never}.[]=(42, 42);
+ x = x{Never}.+(1);
+ x = x{Never}.+(1);
+ let final Never? #t1 = y in #t1 == null ?{Null} null : #t1{Never}{Never}.foo();
+ let final Never? #t2 = y in #t2 == null ?{Null} null : #t2{Never}{Never}.bar;
+ let final Never? #t3 = y in #t3 == null ?{core::int?} null : #t3{Never}{Never}.baz = 42;
+ let final Never? #t4 = y in #t4 == null ?{Null} null : #t4{Never}{Never}.call();
+ let final Never? #t5 = y in #t5 == null ?{Null} null : #t5{Never}{Never}.[](42);
+ let final Never? #t6 = y in #t6 == null ?{core::int?} null : #t6{Never}{Never}.[]=(42, 42);
+ let final Never #t7 = x in #t7 == null ?{Null} null : #t7{Never}.foo();
+ let final Never #t8 = x in #t8 == null ?{Null} null : #t8{Never}.bar;
+ let final Never #t9 = x in #t9 == null ?{core::int?} null : #t9{Never}.baz = 42;
+ let final Never #t10 = x in #t10 == null ?{Null} null : #t10{Never}.[](42);
+ let final Never #t11 = x in #t11 == null ?{core::int?} null : #t11{Never}.[]=(42, 42);
invalid-expression "pkg/front_end/testcases/nnbd/never_receiver.dart:30:5: Error: The method 'foo' isn't defined for the class 'Never?'.
Try correcting the name to the name of an existing method, or defining a method named 'foo'.
y.foo(); // Error.
diff --git a/pkg/front_end/testcases/nnbd/never_receiver.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/never_receiver.dart.strong.transformed.expect
index 8078ed3..0451577 100644
--- a/pkg/front_end/testcases/nnbd/never_receiver.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/never_receiver.dart.strong.transformed.expect
@@ -66,27 +66,27 @@
import "dart:core" as core;
static method foo(Never x, Never? y) → dynamic {
- core::String local0 = y.{core::Object::toString}();
- core::int local1 = y.{core::Object::hashCode};
- x.foo();
- x.bar;
- x.baz = 42;
- x.call();
- x.[](42);
- x.[]=(42, 42);
- x = x.+(1);
- x = x.+(1);
- let final Never? #t1 = y in #t1.{core::Object::==}(null) ?{Null} null : #t1{Never}.foo();
- let final Never? #t2 = y in #t2.{core::Object::==}(null) ?{Null} null : #t2{Never}.bar;
- let final Never? #t3 = y in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{Never}.baz = 42;
- let final Never? #t4 = y in #t4.{core::Object::==}(null) ?{Null} null : #t4{Never}.call();
- let final Never? #t5 = y in #t5.{core::Object::==}(null) ?{Null} null : #t5{Never}.[](42);
- let final Never? #t6 = y in #t6.{core::Object::==}(null) ?{core::int?} null : #t6{Never}.[]=(42, 42);
- let final Never #t7 = x in #t7.{core::Object::==}(null) ?{Null} null : #t7.foo();
- let final Never #t8 = x in #t8.{core::Object::==}(null) ?{Null} null : #t8.bar;
- let final Never #t9 = x in #t9.{core::Object::==}(null) ?{core::int?} null : #t9.baz = 42;
- let final Never #t10 = x in #t10.{core::Object::==}(null) ?{Null} null : #t10.[](42);
- let final Never #t11 = x in #t11.{core::Object::==}(null) ?{core::int?} null : #t11.[]=(42, 42);
+ core::String local0 = y.{core::Object::toString}(){() → core::String};
+ core::int local1 = y.{core::Object::hashCode}{core::int};
+ x{Never}.foo();
+ x{Never}.bar;
+ x{Never}.baz = 42;
+ x{Never}.call();
+ x{Never}.[](42);
+ x{Never}.[]=(42, 42);
+ x = x{Never}.+(1);
+ x = x{Never}.+(1);
+ let final Never? #t1 = y in #t1 == null ?{Null} null : #t1{Never}{Never}.foo();
+ let final Never? #t2 = y in #t2 == null ?{Null} null : #t2{Never}{Never}.bar;
+ let final Never? #t3 = y in #t3 == null ?{core::int?} null : #t3{Never}{Never}.baz = 42;
+ let final Never? #t4 = y in #t4 == null ?{Null} null : #t4{Never}{Never}.call();
+ let final Never? #t5 = y in #t5 == null ?{Null} null : #t5{Never}{Never}.[](42);
+ let final Never? #t6 = y in #t6 == null ?{core::int?} null : #t6{Never}{Never}.[]=(42, 42);
+ let final Never #t7 = x in #t7 == null ?{Null} null : #t7{Never}.foo();
+ let final Never #t8 = x in #t8 == null ?{Null} null : #t8{Never}.bar;
+ let final Never #t9 = x in #t9 == null ?{core::int?} null : #t9{Never}.baz = 42;
+ let final Never #t10 = x in #t10 == null ?{Null} null : #t10{Never}.[](42);
+ let final Never #t11 = x in #t11 == null ?{core::int?} null : #t11{Never}.[]=(42, 42);
invalid-expression "pkg/front_end/testcases/nnbd/never_receiver.dart:30:5: Error: The method 'foo' isn't defined for the class 'Never?'.
Try correcting the name to the name of an existing method, or defining a method named 'foo'.
y.foo(); // Error.
diff --git a/pkg/front_end/testcases/nnbd/never_receiver.dart.weak.expect b/pkg/front_end/testcases/nnbd/never_receiver.dart.weak.expect
index 8460d43..c766f41 100644
--- a/pkg/front_end/testcases/nnbd/never_receiver.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/never_receiver.dart.weak.expect
@@ -67,27 +67,27 @@
import "dart:_internal" as _in;
static method foo(Never x, Never? y) → dynamic {
- core::String local0 = y.{core::Object::toString}();
- core::int local1 = y.{core::Object::hashCode};
- let final Never #t1 = (let final Never #t2 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t3 = (let final Never #t4 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- (let final Never #t5 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).baz = 42;
- let final Never #t6 = (let final Never #t7 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t8 = (let final Never #t9 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- (let final Never #t10 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[]=(42, 42);
- let final Never #t11 = x = let final Never #t12 = (let final Never #t13 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(1) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t14 = x = let final Never #t15 = (let final Never #t16 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(1) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t17 = y in #t17.{core::Object::==}(null) ?{Null} null : let final Never #t18 = (let final Never #t19 = #t17{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t20 = y in #t20.{core::Object::==}(null) ?{Null} null : let final Never #t21 = (let final Never #t22 = #t20{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t23 = y in #t23.{core::Object::==}(null) ?{core::int?} null : (let final Never #t24 = #t23{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).baz = 42;
- let final Never? #t25 = y in #t25.{core::Object::==}(null) ?{Null} null : let final Never #t26 = (let final Never #t27 = #t25{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t28 = y in #t28.{core::Object::==}(null) ?{Null} null : let final Never #t29 = (let final Never #t30 = #t28{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t31 = y in #t31.{core::Object::==}(null) ?{core::int?} null : (let final Never #t32 = #t31{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[]=(42, 42);
- let final Never #t33 = let final Never #t34 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t33.{core::Object::==}(null) ?{Null} null : let final Never #t35 = (let final Never #t36 = #t33 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t37 = let final Never #t38 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t37.{core::Object::==}(null) ?{Null} null : let final Never #t39 = (let final Never #t40 = #t37 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t41 = let final Never #t42 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t41.{core::Object::==}(null) ?{core::int?} null : (let final Never #t43 = #t41 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).baz = 42;
- let final Never #t44 = let final Never #t45 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t44.{core::Object::==}(null) ?{Null} null : let final Never #t46 = (let final Never #t47 = #t44 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t48 = let final Never #t49 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t48.{core::Object::==}(null) ?{core::int?} null : (let final Never #t50 = #t48 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[]=(42, 42);
+ core::String local0 = y.{core::Object::toString}(){() → core::String};
+ core::int local1 = y.{core::Object::hashCode}{core::int};
+ let final Never #t1 = (let final Never #t2 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t3 = (let final Never #t4 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ (let final Never #t5 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.baz = 42;
+ let final Never #t6 = (let final Never #t7 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t8 = (let final Never #t9 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ (let final Never #t10 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[]=(42, 42);
+ let final Never #t11 = x = let final Never #t12 = (let final Never #t13 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(1) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t14 = x = let final Never #t15 = (let final Never #t16 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(1) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t17 = y in #t17 == null ?{Null} null : let final Never #t18 = (let final Never #t19 = #t17{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t20 = y in #t20 == null ?{Null} null : let final Never #t21 = (let final Never #t22 = #t20{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t23 = y in #t23 == null ?{core::int?} null : (let final Never #t24 = #t23{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.baz = 42;
+ let final Never? #t25 = y in #t25 == null ?{Null} null : let final Never #t26 = (let final Never #t27 = #t25{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t28 = y in #t28 == null ?{Null} null : let final Never #t29 = (let final Never #t30 = #t28{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t31 = y in #t31 == null ?{core::int?} null : (let final Never #t32 = #t31{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[]=(42, 42);
+ let final Never #t33 = let final Never #t34 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t33 == null ?{Null} null : let final Never #t35 = (let final Never #t36 = #t33 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t37 = let final Never #t38 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t37 == null ?{Null} null : let final Never #t39 = (let final Never #t40 = #t37 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t41 = let final Never #t42 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t41 == null ?{core::int?} null : (let final Never #t43 = #t41 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.baz = 42;
+ let final Never #t44 = let final Never #t45 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t44 == null ?{Null} null : let final Never #t46 = (let final Never #t47 = #t44 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t48 = let final Never #t49 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t48 == null ?{core::int?} null : (let final Never #t50 = #t48 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[]=(42, 42);
invalid-expression "pkg/front_end/testcases/nnbd/never_receiver.dart:30:5: Error: The method 'foo' isn't defined for the class 'Never?'.
Try correcting the name to the name of an existing method, or defining a method named 'foo'.
y.foo(); // Error.
diff --git a/pkg/front_end/testcases/nnbd/never_receiver.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/never_receiver.dart.weak.transformed.expect
index 7e2c429..58e9b4e 100644
--- a/pkg/front_end/testcases/nnbd/never_receiver.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/never_receiver.dart.weak.transformed.expect
@@ -67,27 +67,27 @@
import "dart:_internal" as _in;
static method foo(Never x, Never? y) → dynamic {
- core::String local0 = y.{core::Object::toString}();
- core::int local1 = y.{core::Object::hashCode};
- let final Never #t1 = (let final Never #t2 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t3 = (let final Never #t4 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- (let final Never #t5 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).baz = 42;
- let final Never #t6 = (let final Never #t7 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t8 = (let final Never #t9 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- (let final Never #t10 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[]=(42, 42);
- let final Never #t11 = x = let final Never #t12 = (let final Never #t13 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(1) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t14 = x = let final Never #t15 = (let final Never #t16 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).+(1) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t17 = y in #t17.{core::Object::==}(null) ?{Null} null : let final Never #t18 = (let final Never #t19 = #t17{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t20 = y in #t20.{core::Object::==}(null) ?{Null} null : let final Never #t21 = (let final Never #t22 = #t20{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t23 = y in #t23.{core::Object::==}(null) ?{core::int?} null : (let final Never #t24 = #t23{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).baz = 42;
- let final Never? #t25 = y in #t25.{core::Object::==}(null) ?{Null} null : let final Never #t26 = (let final Never #t27 = #t25{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t28 = y in #t28.{core::Object::==}(null) ?{Null} null : let final Never #t29 = (let final Never #t30 = #t28{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never? #t31 = y in #t31.{core::Object::==}(null) ?{core::int?} null : (let final Never #t32 = #t31{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[]=(42, 42);
- let final Never #t33 = let final Never #t34 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t33.{core::Object::==}(null) ?{Null} null : let final Never #t35 = (let final Never #t36 = #t33 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t37 = let final Never #t38 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t37.{core::Object::==}(null) ?{Null} null : let final Never #t39 = (let final Never #t40 = #t37 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t41 = let final Never #t42 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t41.{core::Object::==}(null) ?{core::int?} null : (let final Never #t43 = #t41 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).baz = 42;
- let final Never #t44 = let final Never #t45 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t44.{core::Object::==}(null) ?{Null} null : let final Never #t46 = (let final Never #t47 = #t44 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
- let final Never #t48 = let final Never #t49 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t48.{core::Object::==}(null) ?{core::int?} null : (let final Never #t50 = #t48 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).[]=(42, 42);
+ core::String local0 = y.{core::Object::toString}(){() → core::String};
+ core::int local1 = y.{core::Object::hashCode}{core::int};
+ let final Never #t1 = (let final Never #t2 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t3 = (let final Never #t4 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ (let final Never #t5 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.baz = 42;
+ let final Never #t6 = (let final Never #t7 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t8 = (let final Never #t9 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ (let final Never #t10 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[]=(42, 42);
+ let final Never #t11 = x = let final Never #t12 = (let final Never #t13 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(1) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t14 = x = let final Never #t15 = (let final Never #t16 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.+(1) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t17 = y in #t17 == null ?{Null} null : let final Never #t18 = (let final Never #t19 = #t17{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t20 = y in #t20 == null ?{Null} null : let final Never #t21 = (let final Never #t22 = #t20{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t23 = y in #t23 == null ?{core::int?} null : (let final Never #t24 = #t23{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.baz = 42;
+ let final Never? #t25 = y in #t25 == null ?{Null} null : let final Never #t26 = (let final Never #t27 = #t25{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t28 = y in #t28 == null ?{Null} null : let final Never #t29 = (let final Never #t30 = #t28{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never? #t31 = y in #t31 == null ?{core::int?} null : (let final Never #t32 = #t31{Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[]=(42, 42);
+ let final Never #t33 = let final Never #t34 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t33 == null ?{Null} null : let final Never #t35 = (let final Never #t36 = #t33 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.foo() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t37 = let final Never #t38 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t37 == null ?{Null} null : let final Never #t39 = (let final Never #t40 = #t37 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.bar in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t41 = let final Never #t42 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t41 == null ?{core::int?} null : (let final Never #t43 = #t41 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.baz = 42;
+ let final Never #t44 = let final Never #t45 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t44 == null ?{Null} null : let final Never #t46 = (let final Never #t47 = #t44 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[](42) in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t48 = let final Never #t49 = x in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.") in #t48 == null ?{core::int?} null : (let final Never #t50 = #t48 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){Never}.[]=(42, 42);
invalid-expression "pkg/front_end/testcases/nnbd/never_receiver.dart:30:5: Error: The method 'foo' isn't defined for the class 'Never?'.
Try correcting the name to the name of an existing method, or defining a method named 'foo'.
y.foo(); // Error.
diff --git a/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.strong.expect b/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.strong.expect
index f59eb15..8c14009 100644
--- a/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.strong.expect
@@ -192,12 +192,12 @@
classAndSetter = classAndSetter();
^^^^^^^^^^^^^^";
self::Class c = new self::Class::•();
- c.{self::Class::instanceMethodAndSetter} = c.{self::Class::instanceMethodAndSetter}();
+ c.{self::Class::instanceMethodAndSetter} = c.{self::Class::instanceMethodAndSetter}(){() → dynamic};
invalid-expression "pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart:55:9: Error: Setter not found: 'staticMethodAndSetter'.
Class.staticMethodAndSetter = Class.staticMethodAndSetter();
^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::staticMethodAndInstanceSetter} = self::Class::staticMethodAndInstanceSetter();
- self::Class::instanceMethodAndStaticSetter = c.{self::Class::instanceMethodAndStaticSetter}();
+ self::Class::instanceMethodAndStaticSetter = c.{self::Class::instanceMethodAndStaticSetter}(){() → dynamic};
c.{self::Class::Class} = invalid-expression "pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart:61:15: Error: The getter 'Class' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'Class'.
diff --git a/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.strong.transformed.expect
index f59eb15..8c14009 100644
--- a/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.strong.transformed.expect
@@ -192,12 +192,12 @@
classAndSetter = classAndSetter();
^^^^^^^^^^^^^^";
self::Class c = new self::Class::•();
- c.{self::Class::instanceMethodAndSetter} = c.{self::Class::instanceMethodAndSetter}();
+ c.{self::Class::instanceMethodAndSetter} = c.{self::Class::instanceMethodAndSetter}(){() → dynamic};
invalid-expression "pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart:55:9: Error: Setter not found: 'staticMethodAndSetter'.
Class.staticMethodAndSetter = Class.staticMethodAndSetter();
^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::staticMethodAndInstanceSetter} = self::Class::staticMethodAndInstanceSetter();
- self::Class::instanceMethodAndStaticSetter = c.{self::Class::instanceMethodAndStaticSetter}();
+ self::Class::instanceMethodAndStaticSetter = c.{self::Class::instanceMethodAndStaticSetter}(){() → dynamic};
c.{self::Class::Class} = invalid-expression "pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart:61:15: Error: The getter 'Class' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'Class'.
diff --git a/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.expect b/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.expect
index f59eb15..8c14009 100644
--- a/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.expect
@@ -192,12 +192,12 @@
classAndSetter = classAndSetter();
^^^^^^^^^^^^^^";
self::Class c = new self::Class::•();
- c.{self::Class::instanceMethodAndSetter} = c.{self::Class::instanceMethodAndSetter}();
+ c.{self::Class::instanceMethodAndSetter} = c.{self::Class::instanceMethodAndSetter}(){() → dynamic};
invalid-expression "pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart:55:9: Error: Setter not found: 'staticMethodAndSetter'.
Class.staticMethodAndSetter = Class.staticMethodAndSetter();
^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::staticMethodAndInstanceSetter} = self::Class::staticMethodAndInstanceSetter();
- self::Class::instanceMethodAndStaticSetter = c.{self::Class::instanceMethodAndStaticSetter}();
+ self::Class::instanceMethodAndStaticSetter = c.{self::Class::instanceMethodAndStaticSetter}(){() → dynamic};
c.{self::Class::Class} = invalid-expression "pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart:61:15: Error: The getter 'Class' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'Class'.
diff --git a/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.transformed.expect
index f59eb15..8c14009 100644
--- a/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.transformed.expect
@@ -192,12 +192,12 @@
classAndSetter = classAndSetter();
^^^^^^^^^^^^^^";
self::Class c = new self::Class::•();
- c.{self::Class::instanceMethodAndSetter} = c.{self::Class::instanceMethodAndSetter}();
+ c.{self::Class::instanceMethodAndSetter} = c.{self::Class::instanceMethodAndSetter}(){() → dynamic};
invalid-expression "pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart:55:9: Error: Setter not found: 'staticMethodAndSetter'.
Class.staticMethodAndSetter = Class.staticMethodAndSetter();
^^^^^^^^^^^^^^^^^^^^^";
c.{self::Class::staticMethodAndInstanceSetter} = self::Class::staticMethodAndInstanceSetter();
- self::Class::instanceMethodAndStaticSetter = c.{self::Class::instanceMethodAndStaticSetter}();
+ self::Class::instanceMethodAndStaticSetter = c.{self::Class::instanceMethodAndStaticSetter}(){() → dynamic};
c.{self::Class::Class} = invalid-expression "pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart:61:15: Error: The getter 'Class' isn't defined for the class 'Class'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'Class'.
diff --git a/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.strong.expect b/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.strong.expect
index 56259bd..9cb92de 100644
--- a/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.strong.expect
@@ -13,13 +13,13 @@
late self::A::T% value;
late core::int intValue;
() → Null result = () → Null {
- this.{self::A::bar}(value);
- this.{self::A::barInt}(intValue);
+ this.{self::A::bar}(value){(self::A::T%) → dynamic};
+ this.{self::A::barInt}(intValue){(core::int) → dynamic};
};
(() → Null {
- value = this.{self::A::baz}();
+ value = this.{self::A::baz}(){() → self::A::T%};
intValue = 42;
- }).call();
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.strong.transformed.expect
index 56259bd..9cb92de 100644
--- a/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.strong.transformed.expect
@@ -13,13 +13,13 @@
late self::A::T% value;
late core::int intValue;
() → Null result = () → Null {
- this.{self::A::bar}(value);
- this.{self::A::barInt}(intValue);
+ this.{self::A::bar}(value){(self::A::T%) → dynamic};
+ this.{self::A::barInt}(intValue){(core::int) → dynamic};
};
(() → Null {
- value = this.{self::A::baz}();
+ value = this.{self::A::baz}(){() → self::A::T%};
intValue = 42;
- }).call();
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.expect b/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.expect
index 56259bd..9cb92de 100644
--- a/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.expect
@@ -13,13 +13,13 @@
late self::A::T% value;
late core::int intValue;
() → Null result = () → Null {
- this.{self::A::bar}(value);
- this.{self::A::barInt}(intValue);
+ this.{self::A::bar}(value){(self::A::T%) → dynamic};
+ this.{self::A::barInt}(intValue){(core::int) → dynamic};
};
(() → Null {
- value = this.{self::A::baz}();
+ value = this.{self::A::baz}(){() → self::A::T%};
intValue = 42;
- }).call();
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.transformed.expect
index 56259bd..9cb92de 100644
--- a/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.transformed.expect
@@ -13,13 +13,13 @@
late self::A::T% value;
late core::int intValue;
() → Null result = () → Null {
- this.{self::A::bar}(value);
- this.{self::A::barInt}(intValue);
+ this.{self::A::bar}(value){(self::A::T%) → dynamic};
+ this.{self::A::barInt}(intValue){(core::int) → dynamic};
};
(() → Null {
- value = this.{self::A::baz}();
+ value = this.{self::A::baz}(){() → self::A::T%};
intValue = 42;
- }).call();
+ })(){() → Null};
return result;
}
}
diff --git a/pkg/front_end/testcases/nnbd/null_access.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_access.dart.strong.expect
index 3474107..bf9303e 100644
--- a/pkg/front_end/testcases/nnbd/null_access.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_access.dart.strong.expect
@@ -125,80 +125,80 @@
static method errors(self::Class? nullableClass, self::Class nonNullableClass, core::int? nullableInt, core::int nonNullableInt, self::NullableIndexClass? nullableNullableIndexClass) → dynamic {
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:24:3: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-nullableInt; // error
- ^" in nullableInt.{core::int::unary-}();
+ ^" in nullableInt.{core::int::unary-}(){() → core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:25:15: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nullableInt + 2; // error
- ^" in nullableInt.{core::num::+}(2);
+ ^" in nullableInt.{core::num::+}(2){(core::num) → core::num};
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:26:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt]; // error
- ^" in nullableClass.{self::Class::[]}(nonNullableInt);
+ ^" in nullableClass.{self::Class::[]}{<nullable>}.(nonNullableInt){(core::int) → core::int};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:27:16: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] = nonNullableInt; // error
- ^" in nullableClass.{self::Class::[]=}(nonNullableInt, nonNullableInt);
+ ^" in nullableClass.{self::Class::[]=}{<nullable>}.(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
let final self::Class? #t5 = nullableClass in let final core::int #t6 = nonNullableInt in let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] += nonNullableInt; // error
- ^" in #t5.{self::Class::[]=}(#t6, (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
+ ^" in #t5.{self::Class::[]=}{<nullable>}.(#t6, (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] += nonNullableInt; // error
- ^" in #t5.{self::Class::[]}(#t6)).{core::num::+}(nonNullableInt));
+ ^" in #t5.{self::Class::[]}{<nullable>}.(#t6){(core::int) → core::int}).{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
let final self::NullableIndexClass? #t9 = nullableNullableIndexClass in let final core::int #t10 = nonNullableInt in (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
- ^" in #t9.{self::NullableIndexClass::[]}(#t10)).{core::num::==}(null) ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
+ ^" in #t9.{self::NullableIndexClass::[]}{<nullable>}.(#t10){(core::int) → core::int?}) == null ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
- ^" in #t9.{self::NullableIndexClass::[]=}(#t10, nonNullableInt) : null;
- let final self::Class? #t13 = nullableClass in #t13.{core::Object::==}(null) ?{core::int?} null : #t13{self::Class}.{self::Class::nonNullableClass}.{self::Class::[]}(nonNullableInt);
- let final self::Class? #t14 = nullableClass in #t14.{core::Object::==}(null) ?{core::int?} null : #t14{self::Class}.{self::Class::nonNullableClass}.{self::Class::[]=}(nonNullableInt, nonNullableInt);
- let final self::Class? #t15 = nullableClass in #t15.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::nonNullableClass} in let final core::int #t17 = nonNullableInt in #t16.{self::Class::[]=}(#t17, #t16.{self::Class::[]}(#t17).{core::num::+}(nonNullableInt));
- let final self::Class? #t18 = nullableClass in #t18.{core::Object::==}(null) ?{core::int?} null : let final self::NullableIndexClass #t19 = #t18{self::Class}.{self::Class::nonNullableNullableIndexClass} in let final core::int #t20 = nonNullableInt in #t19.{self::NullableIndexClass::[]}(#t20).{core::num::==}(null) ?{core::int} #t19.{self::NullableIndexClass::[]=}(#t20, nonNullableInt) : null;
+ ^" in #t9.{self::NullableIndexClass::[]=}{<nullable>}.(#t10, nonNullableInt){(core::int, core::int) → void} : null;
+ let final self::Class? #t13 = nullableClass in #t13 == null ?{core::int?} null : #t13{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]}(nonNullableInt){(core::int) → core::int};
+ let final self::Class? #t14 = nullableClass in #t14 == null ?{core::int?} null : #t14{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]=}(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
+ let final self::Class? #t15 = nullableClass in #t15 == null ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::nonNullableClass}{self::Class} in let final core::int #t17 = nonNullableInt in #t16.{self::Class::[]=}(#t17, #t16.{self::Class::[]}(#t17){(core::int) → core::int}.{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class? #t18 = nullableClass in #t18 == null ?{core::int?} null : let final self::NullableIndexClass #t19 = #t18{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t20 = nonNullableInt in #t19.{self::NullableIndexClass::[]}(#t20){(core::int) → core::int?} == null ?{core::int} #t19.{self::NullableIndexClass::[]=}(#t20, nonNullableInt){(core::int, core::int) → void} : null;
let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:37:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField; // error
- ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField};
+ ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField}{<nullable>}.{core::int};
let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:38:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField = 2; // error
- ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField} = 2;
+ ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField}{<nullable>}. = 2;
let final self::Class? #t23 = nullableClass in let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField += 2; // error
- ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField} = (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
+ ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}{<nullable>}. = (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField += 2; // error
- ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}).{core::num::+}(2);
- let final self::Class? #t26 = nullableClass in #t26.{core::Object::==}(null) ?{core::int?} null : #t26{self::Class}.{self::Class::nonNullableField};
- let final self::Class? #t27 = nullableClass in #t27.{core::Object::==}(null) ?{core::int?} null : #t27{self::Class}.{self::Class::nonNullableField} = 2;
- let final self::Class? #t28 = nullableClass in #t28.{core::Object::==}(null) ?{core::int?} null : #t28.{self::Class::nonNullableField} = #t28.{self::Class::nonNullableField}.{core::num::+}(2);
- let final self::Class? #t29 = nullableClass in #t29.{core::Object::==}(null) ?{core::int?} null : #t29{self::Class}.{self::Class::nonNullableClass}.{self::Class::nonNullableField};
- let final self::Class? #t30 = nullableClass in #t30.{core::Object::==}(null) ?{core::int?} null : #t30{self::Class}.{self::Class::nonNullableClass}.{self::Class::nonNullableField} = 2;
+ ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}{<nullable>}.{core::int}).{core::num::+}(2){(core::num) → core::int};
+ let final self::Class? #t26 = nullableClass in #t26 == null ?{core::int?} null : #t26{self::Class}.{self::Class::nonNullableField}{core::int};
+ let final self::Class? #t27 = nullableClass in #t27 == null ?{core::int?} null : #t27{self::Class}.{self::Class::nonNullableField} = 2;
+ let final self::Class? #t28 = nullableClass in #t28 == null ?{core::int?} null : #t28.{self::Class::nonNullableField} = #t28.{self::Class::nonNullableField}{core::int}.{core::num::+}(2){(core::num) → core::int};
+ let final self::Class? #t29 = nullableClass in #t29 == null ?{core::int?} null : #t29{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableField}{core::int};
+ let final self::Class? #t30 = nullableClass in #t30 == null ?{core::int?} null : #t30{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableField} = 2;
let final self::Class #t31 = nonNullableClass in #t31.{self::Class::nullableField} = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
nonNullableClass.nullableField += 2; // error
^" in (let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nonNullableClass.nullableField += 2; // error
- ^" in #t31.{self::Class::nullableField}.{core::num::+}(2)) as{TypeError,ForNonNullableByDefault} core::int?;
- let final self::Class? #t34 = nullableClass in #t34.{core::Object::==}(null) ?{core::num?} null : #t34.{self::Class::nullableField} = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
+ ^" in #t31.{self::Class::nullableField}{core::int?}.{core::num::+}(2){(core::num) → core::num}) as{TypeError,ForNonNullableByDefault} core::int?;
+ let final self::Class? #t34 = nullableClass in #t34 == null ?{core::num?} null : #t34.{self::Class::nullableField} = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
nullableClass?.nullableField += 2; // error
^" in (let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nullableClass?.nullableField += 2; // error
- ^" in #t34.{self::Class::nullableField}.{core::num::+}(2)) as{TypeError,ForNonNullableByDefault} core::int?;
- let final self::Class? #t37 = nullableClass in #t37.{core::Object::==}(null) ?{core::int?} null : #t37.{self::Class::nonNullableField}.{core::num::==}(null) ?{core::int} #t37.{self::Class::nonNullableField} = 0 : null;
- let final self::Class? #t38 = nullableClass in #t38.{core::Object::==}(null) ?{core::int?} null : #t38.{self::Class::nullableField}.{core::num::==}(null) ?{core::int} #t38.{self::Class::nullableField} = 0 : null;
- let final self::Class? #t39 = nullableClass in #t39.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t40 = #t39{self::Class}.{self::Class::nonNullableClass} in #t40.{self::Class::nonNullableField}.{core::num::==}(null) ?{core::int} #t40.{self::Class::nonNullableField} = 0 : null;
- let final self::Class? #t41 = nullableClass in #t41.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t42 = #t41{self::Class}.{self::Class::nonNullableClass} in #t42.{self::Class::nullableField}.{core::num::==}(null) ?{core::int} #t42.{self::Class::nullableField} = 0 : null;
+ ^" in #t34.{self::Class::nullableField}{core::int?}.{core::num::+}(2){(core::num) → core::num}) as{TypeError,ForNonNullableByDefault} core::int?;
+ let final self::Class? #t37 = nullableClass in #t37 == null ?{core::int?} null : #t37.{self::Class::nonNullableField}{core::int} == null ?{core::int} #t37.{self::Class::nonNullableField} = 0 : null;
+ let final self::Class? #t38 = nullableClass in #t38 == null ?{core::int?} null : #t38.{self::Class::nullableField}{core::int?} == null ?{core::int} #t38.{self::Class::nullableField} = 0 : null;
+ let final self::Class? #t39 = nullableClass in #t39 == null ?{core::int?} null : let final self::Class #t40 = #t39{self::Class}.{self::Class::nonNullableClass}{self::Class} in #t40.{self::Class::nonNullableField}{core::int} == null ?{core::int} #t40.{self::Class::nonNullableField} = 0 : null;
+ let final self::Class? #t41 = nullableClass in #t41 == null ?{core::int?} null : let final self::Class #t42 = #t41{self::Class}.{self::Class::nonNullableClass}{self::Class} in #t42.{self::Class::nullableField}{core::int?} == null ?{core::int} #t42.{self::Class::nullableField} = 0 : null;
let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:57:16: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try calling using ?.call instead.
nullableClass(); // error
- ^" in nullableClass.{self::Class::call}();
- nonNullableClass.{self::Class::call}();
- let final self::Class #t44 = nonNullableClass in #t44.{core::Object::==}(null) ?{self::Class?} null : #t44.{self::Class::nonNullableClass}.{self::Class::call}();
- let final self::Class #t45 = nonNullableClass in #t45.{core::Object::==}(null) ?{self::Class?} null : #t45.{self::Class::nonNullableClass}.{self::Class::nonNullableClass}.{self::Class::call}();
+ ^" in nullableClass.{self::Class::call}{<nullable>}.(){() → self::Class};
+ nonNullableClass.{self::Class::call}(){() → self::Class};
+ let final self::Class #t44 = nonNullableClass in #t44 == null ?{self::Class?} null : #t44.{self::Class::nonNullableClass}{self::Class}.{self::Class::call}(){() → self::Class};
+ let final self::Class #t45 = nonNullableClass in #t45 == null ?{self::Class?} null : #t45.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::call}(){() → self::Class};
}
diff --git a/pkg/front_end/testcases/nnbd/null_access.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_access.dart.strong.transformed.expect
index 103d267..bf9303e 100644
--- a/pkg/front_end/testcases/nnbd/null_access.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_access.dart.strong.transformed.expect
@@ -125,80 +125,80 @@
static method errors(self::Class? nullableClass, self::Class nonNullableClass, core::int? nullableInt, core::int nonNullableInt, self::NullableIndexClass? nullableNullableIndexClass) → dynamic {
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:24:3: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-nullableInt; // error
- ^" in nullableInt.{core::int::unary-}();
+ ^" in nullableInt.{core::int::unary-}(){() → core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:25:15: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nullableInt + 2; // error
- ^" in nullableInt.{core::num::+}(2);
+ ^" in nullableInt.{core::num::+}(2){(core::num) → core::num};
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:26:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt]; // error
- ^" in nullableClass.{self::Class::[]}(nonNullableInt);
+ ^" in nullableClass.{self::Class::[]}{<nullable>}.(nonNullableInt){(core::int) → core::int};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:27:16: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] = nonNullableInt; // error
- ^" in nullableClass.{self::Class::[]=}(nonNullableInt, nonNullableInt);
+ ^" in nullableClass.{self::Class::[]=}{<nullable>}.(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
let final self::Class? #t5 = nullableClass in let final core::int #t6 = nonNullableInt in let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] += nonNullableInt; // error
- ^" in #t5.{self::Class::[]=}(#t6, (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
+ ^" in #t5.{self::Class::[]=}{<nullable>}.(#t6, (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] += nonNullableInt; // error
- ^" in #t5.{self::Class::[]}(#t6)).{core::num::+}(nonNullableInt));
+ ^" in #t5.{self::Class::[]}{<nullable>}.(#t6){(core::int) → core::int}).{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
let final self::NullableIndexClass? #t9 = nullableNullableIndexClass in let final core::int #t10 = nonNullableInt in (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
- ^" in #t9.{self::NullableIndexClass::[]}(#t10)).{core::num::==}(null) ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
+ ^" in #t9.{self::NullableIndexClass::[]}{<nullable>}.(#t10){(core::int) → core::int?}) == null ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
- ^" in #t9.{self::NullableIndexClass::[]=}(#t10, nonNullableInt) : null;
- let final self::Class? #t13 = nullableClass in #t13.{core::Object::==}(null) ?{core::int?} null : #t13{self::Class}.{self::Class::nonNullableClass}.{self::Class::[]}(nonNullableInt);
- let final self::Class? #t14 = nullableClass in #t14.{core::Object::==}(null) ?{core::int?} null : #t14{self::Class}.{self::Class::nonNullableClass}.{self::Class::[]=}(nonNullableInt, nonNullableInt);
- let final self::Class? #t15 = nullableClass in #t15.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::nonNullableClass} in let final core::int #t17 = nonNullableInt in #t16.{self::Class::[]=}(#t17, #t16.{self::Class::[]}(#t17).{core::num::+}(nonNullableInt));
- let final self::Class? #t18 = nullableClass in #t18.{core::Object::==}(null) ?{core::int?} null : let final self::NullableIndexClass #t19 = #t18{self::Class}.{self::Class::nonNullableNullableIndexClass} in let final core::int #t20 = nonNullableInt in #t19.{self::NullableIndexClass::[]}(#t20).{core::num::==}(null) ?{core::int} #t19.{self::NullableIndexClass::[]=}(#t20, nonNullableInt) : null;
+ ^" in #t9.{self::NullableIndexClass::[]=}{<nullable>}.(#t10, nonNullableInt){(core::int, core::int) → void} : null;
+ let final self::Class? #t13 = nullableClass in #t13 == null ?{core::int?} null : #t13{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]}(nonNullableInt){(core::int) → core::int};
+ let final self::Class? #t14 = nullableClass in #t14 == null ?{core::int?} null : #t14{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]=}(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
+ let final self::Class? #t15 = nullableClass in #t15 == null ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::nonNullableClass}{self::Class} in let final core::int #t17 = nonNullableInt in #t16.{self::Class::[]=}(#t17, #t16.{self::Class::[]}(#t17){(core::int) → core::int}.{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class? #t18 = nullableClass in #t18 == null ?{core::int?} null : let final self::NullableIndexClass #t19 = #t18{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t20 = nonNullableInt in #t19.{self::NullableIndexClass::[]}(#t20){(core::int) → core::int?} == null ?{core::int} #t19.{self::NullableIndexClass::[]=}(#t20, nonNullableInt){(core::int, core::int) → void} : null;
let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:37:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField; // error
- ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField};
+ ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField}{<nullable>}.{core::int};
let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:38:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField = 2; // error
- ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField} = 2;
+ ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField}{<nullable>}. = 2;
let final self::Class? #t23 = nullableClass in let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField += 2; // error
- ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField} = (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
+ ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}{<nullable>}. = (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField += 2; // error
- ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}).{core::num::+}(2);
- let final self::Class? #t26 = nullableClass in #t26.{core::Object::==}(null) ?{core::int?} null : #t26{self::Class}.{self::Class::nonNullableField};
- let final self::Class? #t27 = nullableClass in #t27.{core::Object::==}(null) ?{core::int?} null : #t27{self::Class}.{self::Class::nonNullableField} = 2;
- let final self::Class? #t28 = nullableClass in #t28.{core::Object::==}(null) ?{core::int?} null : #t28.{self::Class::nonNullableField} = #t28.{self::Class::nonNullableField}.{core::num::+}(2);
- let final self::Class? #t29 = nullableClass in #t29.{core::Object::==}(null) ?{core::int?} null : #t29{self::Class}.{self::Class::nonNullableClass}.{self::Class::nonNullableField};
- let final self::Class? #t30 = nullableClass in #t30.{core::Object::==}(null) ?{core::int?} null : #t30{self::Class}.{self::Class::nonNullableClass}.{self::Class::nonNullableField} = 2;
+ ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}{<nullable>}.{core::int}).{core::num::+}(2){(core::num) → core::int};
+ let final self::Class? #t26 = nullableClass in #t26 == null ?{core::int?} null : #t26{self::Class}.{self::Class::nonNullableField}{core::int};
+ let final self::Class? #t27 = nullableClass in #t27 == null ?{core::int?} null : #t27{self::Class}.{self::Class::nonNullableField} = 2;
+ let final self::Class? #t28 = nullableClass in #t28 == null ?{core::int?} null : #t28.{self::Class::nonNullableField} = #t28.{self::Class::nonNullableField}{core::int}.{core::num::+}(2){(core::num) → core::int};
+ let final self::Class? #t29 = nullableClass in #t29 == null ?{core::int?} null : #t29{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableField}{core::int};
+ let final self::Class? #t30 = nullableClass in #t30 == null ?{core::int?} null : #t30{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableField} = 2;
let final self::Class #t31 = nonNullableClass in #t31.{self::Class::nullableField} = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
nonNullableClass.nullableField += 2; // error
- ^" in let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
+ ^" in (let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nonNullableClass.nullableField += 2; // error
- ^" in #t31.{self::Class::nullableField}.{core::num::+}(2);
- let final self::Class? #t34 = nullableClass in #t34.{core::Object::==}(null) ?{core::num?} null : #t34.{self::Class::nullableField} = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
+ ^" in #t31.{self::Class::nullableField}{core::int?}.{core::num::+}(2){(core::num) → core::num}) as{TypeError,ForNonNullableByDefault} core::int?;
+ let final self::Class? #t34 = nullableClass in #t34 == null ?{core::num?} null : #t34.{self::Class::nullableField} = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
nullableClass?.nullableField += 2; // error
- ^" in let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
+ ^" in (let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nullableClass?.nullableField += 2; // error
- ^" in #t34.{self::Class::nullableField}.{core::num::+}(2);
- let final self::Class? #t37 = nullableClass in #t37.{core::Object::==}(null) ?{core::int?} null : #t37.{self::Class::nonNullableField}.{core::num::==}(null) ?{core::int} #t37.{self::Class::nonNullableField} = 0 : null;
- let final self::Class? #t38 = nullableClass in #t38.{core::Object::==}(null) ?{core::int?} null : #t38.{self::Class::nullableField}.{core::num::==}(null) ?{core::int} #t38.{self::Class::nullableField} = 0 : null;
- let final self::Class? #t39 = nullableClass in #t39.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t40 = #t39{self::Class}.{self::Class::nonNullableClass} in #t40.{self::Class::nonNullableField}.{core::num::==}(null) ?{core::int} #t40.{self::Class::nonNullableField} = 0 : null;
- let final self::Class? #t41 = nullableClass in #t41.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t42 = #t41{self::Class}.{self::Class::nonNullableClass} in #t42.{self::Class::nullableField}.{core::num::==}(null) ?{core::int} #t42.{self::Class::nullableField} = 0 : null;
+ ^" in #t34.{self::Class::nullableField}{core::int?}.{core::num::+}(2){(core::num) → core::num}) as{TypeError,ForNonNullableByDefault} core::int?;
+ let final self::Class? #t37 = nullableClass in #t37 == null ?{core::int?} null : #t37.{self::Class::nonNullableField}{core::int} == null ?{core::int} #t37.{self::Class::nonNullableField} = 0 : null;
+ let final self::Class? #t38 = nullableClass in #t38 == null ?{core::int?} null : #t38.{self::Class::nullableField}{core::int?} == null ?{core::int} #t38.{self::Class::nullableField} = 0 : null;
+ let final self::Class? #t39 = nullableClass in #t39 == null ?{core::int?} null : let final self::Class #t40 = #t39{self::Class}.{self::Class::nonNullableClass}{self::Class} in #t40.{self::Class::nonNullableField}{core::int} == null ?{core::int} #t40.{self::Class::nonNullableField} = 0 : null;
+ let final self::Class? #t41 = nullableClass in #t41 == null ?{core::int?} null : let final self::Class #t42 = #t41{self::Class}.{self::Class::nonNullableClass}{self::Class} in #t42.{self::Class::nullableField}{core::int?} == null ?{core::int} #t42.{self::Class::nullableField} = 0 : null;
let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:57:16: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try calling using ?.call instead.
nullableClass(); // error
- ^" in nullableClass.{self::Class::call}();
- nonNullableClass.{self::Class::call}();
- let final self::Class #t44 = nonNullableClass in #t44.{core::Object::==}(null) ?{self::Class?} null : #t44.{self::Class::nonNullableClass}.{self::Class::call}();
- let final self::Class #t45 = nonNullableClass in #t45.{core::Object::==}(null) ?{self::Class?} null : #t45.{self::Class::nonNullableClass}.{self::Class::nonNullableClass}.{self::Class::call}();
+ ^" in nullableClass.{self::Class::call}{<nullable>}.(){() → self::Class};
+ nonNullableClass.{self::Class::call}(){() → self::Class};
+ let final self::Class #t44 = nonNullableClass in #t44 == null ?{self::Class?} null : #t44.{self::Class::nonNullableClass}{self::Class}.{self::Class::call}(){() → self::Class};
+ let final self::Class #t45 = nonNullableClass in #t45 == null ?{self::Class?} null : #t45.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::call}(){() → self::Class};
}
diff --git a/pkg/front_end/testcases/nnbd/null_access.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_access.dart.weak.expect
index 3474107..bf9303e 100644
--- a/pkg/front_end/testcases/nnbd/null_access.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_access.dart.weak.expect
@@ -125,80 +125,80 @@
static method errors(self::Class? nullableClass, self::Class nonNullableClass, core::int? nullableInt, core::int nonNullableInt, self::NullableIndexClass? nullableNullableIndexClass) → dynamic {
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:24:3: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-nullableInt; // error
- ^" in nullableInt.{core::int::unary-}();
+ ^" in nullableInt.{core::int::unary-}(){() → core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:25:15: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nullableInt + 2; // error
- ^" in nullableInt.{core::num::+}(2);
+ ^" in nullableInt.{core::num::+}(2){(core::num) → core::num};
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:26:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt]; // error
- ^" in nullableClass.{self::Class::[]}(nonNullableInt);
+ ^" in nullableClass.{self::Class::[]}{<nullable>}.(nonNullableInt){(core::int) → core::int};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:27:16: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] = nonNullableInt; // error
- ^" in nullableClass.{self::Class::[]=}(nonNullableInt, nonNullableInt);
+ ^" in nullableClass.{self::Class::[]=}{<nullable>}.(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
let final self::Class? #t5 = nullableClass in let final core::int #t6 = nonNullableInt in let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] += nonNullableInt; // error
- ^" in #t5.{self::Class::[]=}(#t6, (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
+ ^" in #t5.{self::Class::[]=}{<nullable>}.(#t6, (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] += nonNullableInt; // error
- ^" in #t5.{self::Class::[]}(#t6)).{core::num::+}(nonNullableInt));
+ ^" in #t5.{self::Class::[]}{<nullable>}.(#t6){(core::int) → core::int}).{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
let final self::NullableIndexClass? #t9 = nullableNullableIndexClass in let final core::int #t10 = nonNullableInt in (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
- ^" in #t9.{self::NullableIndexClass::[]}(#t10)).{core::num::==}(null) ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
+ ^" in #t9.{self::NullableIndexClass::[]}{<nullable>}.(#t10){(core::int) → core::int?}) == null ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
- ^" in #t9.{self::NullableIndexClass::[]=}(#t10, nonNullableInt) : null;
- let final self::Class? #t13 = nullableClass in #t13.{core::Object::==}(null) ?{core::int?} null : #t13{self::Class}.{self::Class::nonNullableClass}.{self::Class::[]}(nonNullableInt);
- let final self::Class? #t14 = nullableClass in #t14.{core::Object::==}(null) ?{core::int?} null : #t14{self::Class}.{self::Class::nonNullableClass}.{self::Class::[]=}(nonNullableInt, nonNullableInt);
- let final self::Class? #t15 = nullableClass in #t15.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::nonNullableClass} in let final core::int #t17 = nonNullableInt in #t16.{self::Class::[]=}(#t17, #t16.{self::Class::[]}(#t17).{core::num::+}(nonNullableInt));
- let final self::Class? #t18 = nullableClass in #t18.{core::Object::==}(null) ?{core::int?} null : let final self::NullableIndexClass #t19 = #t18{self::Class}.{self::Class::nonNullableNullableIndexClass} in let final core::int #t20 = nonNullableInt in #t19.{self::NullableIndexClass::[]}(#t20).{core::num::==}(null) ?{core::int} #t19.{self::NullableIndexClass::[]=}(#t20, nonNullableInt) : null;
+ ^" in #t9.{self::NullableIndexClass::[]=}{<nullable>}.(#t10, nonNullableInt){(core::int, core::int) → void} : null;
+ let final self::Class? #t13 = nullableClass in #t13 == null ?{core::int?} null : #t13{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]}(nonNullableInt){(core::int) → core::int};
+ let final self::Class? #t14 = nullableClass in #t14 == null ?{core::int?} null : #t14{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]=}(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
+ let final self::Class? #t15 = nullableClass in #t15 == null ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::nonNullableClass}{self::Class} in let final core::int #t17 = nonNullableInt in #t16.{self::Class::[]=}(#t17, #t16.{self::Class::[]}(#t17){(core::int) → core::int}.{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class? #t18 = nullableClass in #t18 == null ?{core::int?} null : let final self::NullableIndexClass #t19 = #t18{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t20 = nonNullableInt in #t19.{self::NullableIndexClass::[]}(#t20){(core::int) → core::int?} == null ?{core::int} #t19.{self::NullableIndexClass::[]=}(#t20, nonNullableInt){(core::int, core::int) → void} : null;
let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:37:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField; // error
- ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField};
+ ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField}{<nullable>}.{core::int};
let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:38:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField = 2; // error
- ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField} = 2;
+ ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField}{<nullable>}. = 2;
let final self::Class? #t23 = nullableClass in let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField += 2; // error
- ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField} = (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
+ ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}{<nullable>}. = (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField += 2; // error
- ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}).{core::num::+}(2);
- let final self::Class? #t26 = nullableClass in #t26.{core::Object::==}(null) ?{core::int?} null : #t26{self::Class}.{self::Class::nonNullableField};
- let final self::Class? #t27 = nullableClass in #t27.{core::Object::==}(null) ?{core::int?} null : #t27{self::Class}.{self::Class::nonNullableField} = 2;
- let final self::Class? #t28 = nullableClass in #t28.{core::Object::==}(null) ?{core::int?} null : #t28.{self::Class::nonNullableField} = #t28.{self::Class::nonNullableField}.{core::num::+}(2);
- let final self::Class? #t29 = nullableClass in #t29.{core::Object::==}(null) ?{core::int?} null : #t29{self::Class}.{self::Class::nonNullableClass}.{self::Class::nonNullableField};
- let final self::Class? #t30 = nullableClass in #t30.{core::Object::==}(null) ?{core::int?} null : #t30{self::Class}.{self::Class::nonNullableClass}.{self::Class::nonNullableField} = 2;
+ ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}{<nullable>}.{core::int}).{core::num::+}(2){(core::num) → core::int};
+ let final self::Class? #t26 = nullableClass in #t26 == null ?{core::int?} null : #t26{self::Class}.{self::Class::nonNullableField}{core::int};
+ let final self::Class? #t27 = nullableClass in #t27 == null ?{core::int?} null : #t27{self::Class}.{self::Class::nonNullableField} = 2;
+ let final self::Class? #t28 = nullableClass in #t28 == null ?{core::int?} null : #t28.{self::Class::nonNullableField} = #t28.{self::Class::nonNullableField}{core::int}.{core::num::+}(2){(core::num) → core::int};
+ let final self::Class? #t29 = nullableClass in #t29 == null ?{core::int?} null : #t29{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableField}{core::int};
+ let final self::Class? #t30 = nullableClass in #t30 == null ?{core::int?} null : #t30{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableField} = 2;
let final self::Class #t31 = nonNullableClass in #t31.{self::Class::nullableField} = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
nonNullableClass.nullableField += 2; // error
^" in (let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nonNullableClass.nullableField += 2; // error
- ^" in #t31.{self::Class::nullableField}.{core::num::+}(2)) as{TypeError,ForNonNullableByDefault} core::int?;
- let final self::Class? #t34 = nullableClass in #t34.{core::Object::==}(null) ?{core::num?} null : #t34.{self::Class::nullableField} = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
+ ^" in #t31.{self::Class::nullableField}{core::int?}.{core::num::+}(2){(core::num) → core::num}) as{TypeError,ForNonNullableByDefault} core::int?;
+ let final self::Class? #t34 = nullableClass in #t34 == null ?{core::num?} null : #t34.{self::Class::nullableField} = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
nullableClass?.nullableField += 2; // error
^" in (let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nullableClass?.nullableField += 2; // error
- ^" in #t34.{self::Class::nullableField}.{core::num::+}(2)) as{TypeError,ForNonNullableByDefault} core::int?;
- let final self::Class? #t37 = nullableClass in #t37.{core::Object::==}(null) ?{core::int?} null : #t37.{self::Class::nonNullableField}.{core::num::==}(null) ?{core::int} #t37.{self::Class::nonNullableField} = 0 : null;
- let final self::Class? #t38 = nullableClass in #t38.{core::Object::==}(null) ?{core::int?} null : #t38.{self::Class::nullableField}.{core::num::==}(null) ?{core::int} #t38.{self::Class::nullableField} = 0 : null;
- let final self::Class? #t39 = nullableClass in #t39.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t40 = #t39{self::Class}.{self::Class::nonNullableClass} in #t40.{self::Class::nonNullableField}.{core::num::==}(null) ?{core::int} #t40.{self::Class::nonNullableField} = 0 : null;
- let final self::Class? #t41 = nullableClass in #t41.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t42 = #t41{self::Class}.{self::Class::nonNullableClass} in #t42.{self::Class::nullableField}.{core::num::==}(null) ?{core::int} #t42.{self::Class::nullableField} = 0 : null;
+ ^" in #t34.{self::Class::nullableField}{core::int?}.{core::num::+}(2){(core::num) → core::num}) as{TypeError,ForNonNullableByDefault} core::int?;
+ let final self::Class? #t37 = nullableClass in #t37 == null ?{core::int?} null : #t37.{self::Class::nonNullableField}{core::int} == null ?{core::int} #t37.{self::Class::nonNullableField} = 0 : null;
+ let final self::Class? #t38 = nullableClass in #t38 == null ?{core::int?} null : #t38.{self::Class::nullableField}{core::int?} == null ?{core::int} #t38.{self::Class::nullableField} = 0 : null;
+ let final self::Class? #t39 = nullableClass in #t39 == null ?{core::int?} null : let final self::Class #t40 = #t39{self::Class}.{self::Class::nonNullableClass}{self::Class} in #t40.{self::Class::nonNullableField}{core::int} == null ?{core::int} #t40.{self::Class::nonNullableField} = 0 : null;
+ let final self::Class? #t41 = nullableClass in #t41 == null ?{core::int?} null : let final self::Class #t42 = #t41{self::Class}.{self::Class::nonNullableClass}{self::Class} in #t42.{self::Class::nullableField}{core::int?} == null ?{core::int} #t42.{self::Class::nullableField} = 0 : null;
let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:57:16: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try calling using ?.call instead.
nullableClass(); // error
- ^" in nullableClass.{self::Class::call}();
- nonNullableClass.{self::Class::call}();
- let final self::Class #t44 = nonNullableClass in #t44.{core::Object::==}(null) ?{self::Class?} null : #t44.{self::Class::nonNullableClass}.{self::Class::call}();
- let final self::Class #t45 = nonNullableClass in #t45.{core::Object::==}(null) ?{self::Class?} null : #t45.{self::Class::nonNullableClass}.{self::Class::nonNullableClass}.{self::Class::call}();
+ ^" in nullableClass.{self::Class::call}{<nullable>}.(){() → self::Class};
+ nonNullableClass.{self::Class::call}(){() → self::Class};
+ let final self::Class #t44 = nonNullableClass in #t44 == null ?{self::Class?} null : #t44.{self::Class::nonNullableClass}{self::Class}.{self::Class::call}(){() → self::Class};
+ let final self::Class #t45 = nonNullableClass in #t45 == null ?{self::Class?} null : #t45.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::call}(){() → self::Class};
}
diff --git a/pkg/front_end/testcases/nnbd/null_access.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_access.dart.weak.transformed.expect
index 103d267..bf9303e 100644
--- a/pkg/front_end/testcases/nnbd/null_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_access.dart.weak.transformed.expect
@@ -125,80 +125,80 @@
static method errors(self::Class? nullableClass, self::Class nonNullableClass, core::int? nullableInt, core::int nonNullableInt, self::NullableIndexClass? nullableNullableIndexClass) → dynamic {
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:24:3: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-nullableInt; // error
- ^" in nullableInt.{core::int::unary-}();
+ ^" in nullableInt.{core::int::unary-}(){() → core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:25:15: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nullableInt + 2; // error
- ^" in nullableInt.{core::num::+}(2);
+ ^" in nullableInt.{core::num::+}(2){(core::num) → core::num};
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:26:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt]; // error
- ^" in nullableClass.{self::Class::[]}(nonNullableInt);
+ ^" in nullableClass.{self::Class::[]}{<nullable>}.(nonNullableInt){(core::int) → core::int};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:27:16: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] = nonNullableInt; // error
- ^" in nullableClass.{self::Class::[]=}(nonNullableInt, nonNullableInt);
+ ^" in nullableClass.{self::Class::[]=}{<nullable>}.(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
let final self::Class? #t5 = nullableClass in let final core::int #t6 = nonNullableInt in let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] += nonNullableInt; // error
- ^" in #t5.{self::Class::[]=}(#t6, (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
+ ^" in #t5.{self::Class::[]=}{<nullable>}.(#t6, (let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:28:16: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableClass[nonNullableInt] += nonNullableInt; // error
- ^" in #t5.{self::Class::[]}(#t6)).{core::num::+}(nonNullableInt));
+ ^" in #t5.{self::Class::[]}{<nullable>}.(#t6){(core::int) → core::int}).{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
let final self::NullableIndexClass? #t9 = nullableNullableIndexClass in let final core::int #t10 = nonNullableInt in (let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
- ^" in #t9.{self::NullableIndexClass::[]}(#t10)).{core::num::==}(null) ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
+ ^" in #t9.{self::NullableIndexClass::[]}{<nullable>}.(#t10){(core::int) → core::int?}) == null ?{core::int} let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:29:29: Error: Operator '[]=' cannot be called on 'NullableIndexClass?' because it is potentially null.
- 'NullableIndexClass' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
nullableNullableIndexClass[nonNullableInt] ??= nonNullableInt; // error
- ^" in #t9.{self::NullableIndexClass::[]=}(#t10, nonNullableInt) : null;
- let final self::Class? #t13 = nullableClass in #t13.{core::Object::==}(null) ?{core::int?} null : #t13{self::Class}.{self::Class::nonNullableClass}.{self::Class::[]}(nonNullableInt);
- let final self::Class? #t14 = nullableClass in #t14.{core::Object::==}(null) ?{core::int?} null : #t14{self::Class}.{self::Class::nonNullableClass}.{self::Class::[]=}(nonNullableInt, nonNullableInt);
- let final self::Class? #t15 = nullableClass in #t15.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::nonNullableClass} in let final core::int #t17 = nonNullableInt in #t16.{self::Class::[]=}(#t17, #t16.{self::Class::[]}(#t17).{core::num::+}(nonNullableInt));
- let final self::Class? #t18 = nullableClass in #t18.{core::Object::==}(null) ?{core::int?} null : let final self::NullableIndexClass #t19 = #t18{self::Class}.{self::Class::nonNullableNullableIndexClass} in let final core::int #t20 = nonNullableInt in #t19.{self::NullableIndexClass::[]}(#t20).{core::num::==}(null) ?{core::int} #t19.{self::NullableIndexClass::[]=}(#t20, nonNullableInt) : null;
+ ^" in #t9.{self::NullableIndexClass::[]=}{<nullable>}.(#t10, nonNullableInt){(core::int, core::int) → void} : null;
+ let final self::Class? #t13 = nullableClass in #t13 == null ?{core::int?} null : #t13{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]}(nonNullableInt){(core::int) → core::int};
+ let final self::Class? #t14 = nullableClass in #t14 == null ?{core::int?} null : #t14{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::[]=}(nonNullableInt, nonNullableInt){(core::int, core::int) → void};
+ let final self::Class? #t15 = nullableClass in #t15 == null ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::nonNullableClass}{self::Class} in let final core::int #t17 = nonNullableInt in #t16.{self::Class::[]=}(#t17, #t16.{self::Class::[]}(#t17){(core::int) → core::int}.{core::num::+}(nonNullableInt){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class? #t18 = nullableClass in #t18 == null ?{core::int?} null : let final self::NullableIndexClass #t19 = #t18{self::Class}.{self::Class::nonNullableNullableIndexClass}{self::NullableIndexClass} in let final core::int #t20 = nonNullableInt in #t19.{self::NullableIndexClass::[]}(#t20){(core::int) → core::int?} == null ?{core::int} #t19.{self::NullableIndexClass::[]=}(#t20, nonNullableInt){(core::int, core::int) → void} : null;
let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:37:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField; // error
- ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField};
+ ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField}{<nullable>}.{core::int};
let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:38:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField = 2; // error
- ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField} = 2;
+ ^^^^^^^^^^^^^^^^" in nullableClass.{self::Class::nonNullableField}{<nullable>}. = 2;
let final self::Class? #t23 = nullableClass in let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField += 2; // error
- ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField} = (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
+ ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}{<nullable>}. = (let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:39:17: Error: Property 'nonNullableField' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try accessing using ?. instead.
nullableClass.nonNullableField += 2; // error
- ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}).{core::num::+}(2);
- let final self::Class? #t26 = nullableClass in #t26.{core::Object::==}(null) ?{core::int?} null : #t26{self::Class}.{self::Class::nonNullableField};
- let final self::Class? #t27 = nullableClass in #t27.{core::Object::==}(null) ?{core::int?} null : #t27{self::Class}.{self::Class::nonNullableField} = 2;
- let final self::Class? #t28 = nullableClass in #t28.{core::Object::==}(null) ?{core::int?} null : #t28.{self::Class::nonNullableField} = #t28.{self::Class::nonNullableField}.{core::num::+}(2);
- let final self::Class? #t29 = nullableClass in #t29.{core::Object::==}(null) ?{core::int?} null : #t29{self::Class}.{self::Class::nonNullableClass}.{self::Class::nonNullableField};
- let final self::Class? #t30 = nullableClass in #t30.{core::Object::==}(null) ?{core::int?} null : #t30{self::Class}.{self::Class::nonNullableClass}.{self::Class::nonNullableField} = 2;
+ ^^^^^^^^^^^^^^^^" in #t23.{self::Class::nonNullableField}{<nullable>}.{core::int}).{core::num::+}(2){(core::num) → core::int};
+ let final self::Class? #t26 = nullableClass in #t26 == null ?{core::int?} null : #t26{self::Class}.{self::Class::nonNullableField}{core::int};
+ let final self::Class? #t27 = nullableClass in #t27 == null ?{core::int?} null : #t27{self::Class}.{self::Class::nonNullableField} = 2;
+ let final self::Class? #t28 = nullableClass in #t28 == null ?{core::int?} null : #t28.{self::Class::nonNullableField} = #t28.{self::Class::nonNullableField}{core::int}.{core::num::+}(2){(core::num) → core::int};
+ let final self::Class? #t29 = nullableClass in #t29 == null ?{core::int?} null : #t29{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableField}{core::int};
+ let final self::Class? #t30 = nullableClass in #t30 == null ?{core::int?} null : #t30{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableField} = 2;
let final self::Class #t31 = nonNullableClass in #t31.{self::Class::nullableField} = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
nonNullableClass.nullableField += 2; // error
- ^" in let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
+ ^" in (let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:48:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nonNullableClass.nullableField += 2; // error
- ^" in #t31.{self::Class::nullableField}.{core::num::+}(2);
- let final self::Class? #t34 = nullableClass in #t34.{core::Object::==}(null) ?{core::num?} null : #t34.{self::Class::nullableField} = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
+ ^" in #t31.{self::Class::nullableField}{core::int?}.{core::num::+}(2){(core::num) → core::num}) as{TypeError,ForNonNullableByDefault} core::int?;
+ let final self::Class? #t34 = nullableClass in #t34 == null ?{core::num?} null : #t34.{self::Class::nullableField} = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: A value of type 'num' can't be assigned to a variable of type 'int?'.
nullableClass?.nullableField += 2; // error
- ^" in let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
+ ^" in (let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:49:32: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
nullableClass?.nullableField += 2; // error
- ^" in #t34.{self::Class::nullableField}.{core::num::+}(2);
- let final self::Class? #t37 = nullableClass in #t37.{core::Object::==}(null) ?{core::int?} null : #t37.{self::Class::nonNullableField}.{core::num::==}(null) ?{core::int} #t37.{self::Class::nonNullableField} = 0 : null;
- let final self::Class? #t38 = nullableClass in #t38.{core::Object::==}(null) ?{core::int?} null : #t38.{self::Class::nullableField}.{core::num::==}(null) ?{core::int} #t38.{self::Class::nullableField} = 0 : null;
- let final self::Class? #t39 = nullableClass in #t39.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t40 = #t39{self::Class}.{self::Class::nonNullableClass} in #t40.{self::Class::nonNullableField}.{core::num::==}(null) ?{core::int} #t40.{self::Class::nonNullableField} = 0 : null;
- let final self::Class? #t41 = nullableClass in #t41.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t42 = #t41{self::Class}.{self::Class::nonNullableClass} in #t42.{self::Class::nullableField}.{core::num::==}(null) ?{core::int} #t42.{self::Class::nullableField} = 0 : null;
+ ^" in #t34.{self::Class::nullableField}{core::int?}.{core::num::+}(2){(core::num) → core::num}) as{TypeError,ForNonNullableByDefault} core::int?;
+ let final self::Class? #t37 = nullableClass in #t37 == null ?{core::int?} null : #t37.{self::Class::nonNullableField}{core::int} == null ?{core::int} #t37.{self::Class::nonNullableField} = 0 : null;
+ let final self::Class? #t38 = nullableClass in #t38 == null ?{core::int?} null : #t38.{self::Class::nullableField}{core::int?} == null ?{core::int} #t38.{self::Class::nullableField} = 0 : null;
+ let final self::Class? #t39 = nullableClass in #t39 == null ?{core::int?} null : let final self::Class #t40 = #t39{self::Class}.{self::Class::nonNullableClass}{self::Class} in #t40.{self::Class::nonNullableField}{core::int} == null ?{core::int} #t40.{self::Class::nonNullableField} = 0 : null;
+ let final self::Class? #t41 = nullableClass in #t41 == null ?{core::int?} null : let final self::Class #t42 = #t41{self::Class}.{self::Class::nonNullableClass}{self::Class} in #t42.{self::Class::nullableField}{core::int?} == null ?{core::int} #t42.{self::Class::nullableField} = 0 : null;
let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/null_access.dart:57:16: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/null_access.dart'.
Try calling using ?.call instead.
nullableClass(); // error
- ^" in nullableClass.{self::Class::call}();
- nonNullableClass.{self::Class::call}();
- let final self::Class #t44 = nonNullableClass in #t44.{core::Object::==}(null) ?{self::Class?} null : #t44.{self::Class::nonNullableClass}.{self::Class::call}();
- let final self::Class #t45 = nonNullableClass in #t45.{core::Object::==}(null) ?{self::Class?} null : #t45.{self::Class::nonNullableClass}.{self::Class::nonNullableClass}.{self::Class::call}();
+ ^" in nullableClass.{self::Class::call}{<nullable>}.(){() → self::Class};
+ nonNullableClass.{self::Class::call}(){() → self::Class};
+ let final self::Class #t44 = nonNullableClass in #t44 == null ?{self::Class?} null : #t44.{self::Class::nonNullableClass}{self::Class}.{self::Class::call}(){() → self::Class};
+ let final self::Class #t45 = nonNullableClass in #t45 == null ?{self::Class?} null : #t45.{self::Class::nonNullableClass}{self::Class}.{self::Class::nonNullableClass}{self::Class}.{self::Class::call}(){() → self::Class};
}
diff --git a/pkg/front_end/testcases/nnbd/null_aware_chain.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_aware_chain.dart.strong.expect
index 4c16033..ce3973c 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_chain.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_chain.dart.strong.expect
@@ -10,11 +10,11 @@
get getter1() → self::Class
return this;
get getter2() → self::Class?
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class?};
}
static method main() → dynamic {
self::Class? c = new self::Class::•() as{ForNonNullableByDefault} self::Class?;
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t2.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t3.{core::Object::==}(null) ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class};
+ let final self::Class? #t1 = c in #t1 == null ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t2 == null ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t3 == null ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/null_aware_chain.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_aware_chain.dart.strong.transformed.expect
index 267161a..5b52dd0 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_chain.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_chain.dart.strong.transformed.expect
@@ -10,11 +10,11 @@
get getter1() → self::Class
return this;
get getter2() → self::Class?
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class?};
}
static method main() → dynamic {
self::Class? c = new self::Class::•();
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t2.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t3.{core::Object::==}(null) ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class};
+ let final self::Class? #t1 = c in #t1 == null ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t2 == null ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t3 == null ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.expect
index 4c16033..ce3973c 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.expect
@@ -10,11 +10,11 @@
get getter1() → self::Class
return this;
get getter2() → self::Class?
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class?};
}
static method main() → dynamic {
self::Class? c = new self::Class::•() as{ForNonNullableByDefault} self::Class?;
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t2.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t3.{core::Object::==}(null) ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class};
+ let final self::Class? #t1 = c in #t1 == null ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t2 == null ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t3 == null ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.transformed.expect
index 267161a..5b52dd0 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.transformed.expect
@@ -10,11 +10,11 @@
get getter1() → self::Class
return this;
get getter2() → self::Class?
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class?};
}
static method main() → dynamic {
self::Class? c = new self::Class::•();
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t2.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t3.{core::Object::==}(null) ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class};
+ let final self::Class? #t1 = c in #t1 == null ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t2 == null ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t3 == null ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.strong.expect
index df91c3c..9811bce 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.strong.expect
@@ -86,13 +86,13 @@
self::C::staticMember;
self::C::staticMember = 42;
self::C::staticMethod();
- self::C::staticMember.{core::int::isEven};
- self::C::staticMember.{core::int::toString}();
- self::C::property.{core::List::[]}(0);
- self::C::property.{core::List::[]=}(0, 0);
- let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2).{core::num::==}(null) ?{core::int} #t1.{core::Map::[]=}(#t2, 0) : null;
- self::C::staticMember2.{core::num::==}(null) ?{core::int} self::C::staticMember2 = 42 : null;
- self::C::staticMember = self::C::staticMember.{core::num::+}(2);
- self::C::staticMember = self::C::staticMember.{core::num::+}(1);
- self::C::staticMember = self::C::staticMember.{core::num::-}(1);
+ self::C::staticMember.{core::int::isEven}{core::bool};
+ self::C::staticMember.{core::int::toString}(){() → core::String};
+ self::C::property.{core::List::[]}(0){(core::int) → core::int};
+ self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
+ self::C::staticMember2 == null ?{core::int} self::C::staticMember2 = 42 : null;
+ self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
+ self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};
+ self::C::staticMember = self::C::staticMember.{core::num::-}(1){(core::num) → core::int};
}
diff --git a/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.strong.transformed.expect
index 51e735b..551088b 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.strong.transformed.expect
@@ -86,15 +86,15 @@
self::C::staticMember;
self::C::staticMember = 42;
self::C::staticMethod();
- self::C::staticMember.{core::int::isEven};
- self::C::staticMember.{core::int::toString}();
- self::C::property.{core::List::[]}(0);
- self::C::property.{core::List::[]=}(0, 0);
- let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2).{core::num::==}(null) ?{core::int} #t1.{core::Map::[]=}(#t2, 0) : null;
- self::C::staticMember2.{core::num::==}(null) ?{core::int} self::C::staticMember2 = 42 : null;
- self::C::staticMember = self::C::staticMember.{core::num::+}(2);
- self::C::staticMember = self::C::staticMember.{core::num::+}(1);
- self::C::staticMember = self::C::staticMember.{core::num::-}(1);
+ self::C::staticMember.{core::int::isEven}{core::bool};
+ self::C::staticMember.{core::int::toString}(){() → core::String};
+ self::C::property.{core::List::[]}(0){(core::int) → core::int};
+ self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
+ self::C::staticMember2 == null ?{core::int} self::C::staticMember2 = 42 : null;
+ self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
+ self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};
+ self::C::staticMember = self::C::staticMember.{core::num::-}(1){(core::num) → core::int};
}
diff --git a/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.expect
index df91c3c..9811bce 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.expect
@@ -86,13 +86,13 @@
self::C::staticMember;
self::C::staticMember = 42;
self::C::staticMethod();
- self::C::staticMember.{core::int::isEven};
- self::C::staticMember.{core::int::toString}();
- self::C::property.{core::List::[]}(0);
- self::C::property.{core::List::[]=}(0, 0);
- let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2).{core::num::==}(null) ?{core::int} #t1.{core::Map::[]=}(#t2, 0) : null;
- self::C::staticMember2.{core::num::==}(null) ?{core::int} self::C::staticMember2 = 42 : null;
- self::C::staticMember = self::C::staticMember.{core::num::+}(2);
- self::C::staticMember = self::C::staticMember.{core::num::+}(1);
- self::C::staticMember = self::C::staticMember.{core::num::-}(1);
+ self::C::staticMember.{core::int::isEven}{core::bool};
+ self::C::staticMember.{core::int::toString}(){() → core::String};
+ self::C::property.{core::List::[]}(0){(core::int) → core::int};
+ self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
+ self::C::staticMember2 == null ?{core::int} self::C::staticMember2 = 42 : null;
+ self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
+ self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};
+ self::C::staticMember = self::C::staticMember.{core::num::-}(1){(core::num) → core::int};
}
diff --git a/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.transformed.expect
index 51e735b..551088b 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.transformed.expect
@@ -86,15 +86,15 @@
self::C::staticMember;
self::C::staticMember = 42;
self::C::staticMethod();
- self::C::staticMember.{core::int::isEven};
- self::C::staticMember.{core::int::toString}();
- self::C::property.{core::List::[]}(0);
- self::C::property.{core::List::[]=}(0, 0);
- let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2).{core::num::==}(null) ?{core::int} #t1.{core::Map::[]=}(#t2, 0) : null;
- self::C::staticMember2.{core::num::==}(null) ?{core::int} self::C::staticMember2 = 42 : null;
- self::C::staticMember = self::C::staticMember.{core::num::+}(2);
- self::C::staticMember = self::C::staticMember.{core::num::+}(1);
- self::C::staticMember = self::C::staticMember.{core::num::-}(1);
+ self::C::staticMember.{core::int::isEven}{core::bool};
+ self::C::staticMember.{core::int::toString}(){() → core::String};
+ self::C::property.{core::List::[]}(0){(core::int) → core::int};
+ self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
+ self::C::staticMember2 == null ?{core::int} self::C::staticMember2 = 42 : null;
+ self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
+ self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};
+ self::C::staticMember = self::C::staticMember.{core::num::-}(1){(core::num) → core::int};
}
diff --git a/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.strong.expect
index 2c133c7..aac887e 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.strong.expect
@@ -124,21 +124,21 @@
get property() → self::C
return this;
method test() → dynamic {
- this.{self::C::m1};
+ this.{self::C::m1}{core::int?};
this.{self::C::m1} = 42;
- this.{self::C::method}();
- this.{self::C::property}.{self::C::m1};
- this.{self::C::property}.{self::C::method}();
- this.{self::C::[]}(0);
- this.{self::C::[]=}(0, 0);
- let final core::int #t1 = 0 in this.{self::C::[]}(#t1).{core::num::==}(null) ?{core::int} this.{self::C::[]=}(#t1, 0) : null;
- this.{self::C::property}.{self::C::[]}(0);
- this.{self::C::property}.{self::C::[]=}(0, 0);
- let final self::C #t2 = this.{self::C::property} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3).{core::num::==}(null) ?{core::int} #t2.{self::C::[]=}(#t3, 0) : null;
- this.{self::C::m1}.{core::num::==}(null) ?{core::int} this.{self::C::m1} = 42 : null;
- this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(2);
- this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(1);
- this.{self::C::m2} = this.{self::C::m2}.{core::num::-}(1);
+ this.{self::C::method}(){() → dynamic};
+ this.{self::C::property}{self::C}.{self::C::m1}{core::int?};
+ this.{self::C::property}{self::C}.{self::C::method}(){() → dynamic};
+ this.{self::C::[]}(0){(core::int) → core::int?};
+ this.{self::C::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
+ this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
+ this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
+ let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
+ this.{self::C::m1}{core::int?} == null ?{core::int} this.{self::C::m1} = 42 : null;
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::-}(1){(core::num) → core::int};
this;
}
operator [](core::int index) → core::int?
@@ -153,18 +153,18 @@
get property() → self::D
return this;
method test() → dynamic {
- this.{self::D::[]}(0);
- this.{self::D::[]=}(0, 0);
- let final core::int #t4 = 0 in this.{self::D::[]=}(#t4, this.{self::D::[]}(#t4).{core::num::+}(0));
- this.{self::D::property}.{self::D::[]}(0);
- this.{self::D::property}.{self::D::[]=}(0, 0);
- let final self::D #t5 = this.{self::D::property} in let final core::int #t6 = 0 in #t5.{self::D::[]=}(#t6, #t5.{self::D::[]}(#t6).{core::num::+}(0));
+ this.{self::D::[]}(0){(core::int) → core::int};
+ this.{self::D::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::int #t4 = 0 in this.{self::D::[]=}(#t4, this.{self::D::[]}(#t4){(core::int) → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int, core::int) → void};
+ this.{self::D::property}{self::D}.{self::D::[]}(0){(core::int) → core::int};
+ this.{self::D::property}{self::D}.{self::D::[]=}(0, 0){(core::int, core::int) → void};
+ let final self::D #t5 = this.{self::D::property}{self::D} in let final core::int #t6 = 0 in #t5.{self::D::[]=}(#t6, #t5.{self::D::[]}(#t6){(core::int) → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int, core::int) → void};
}
operator [](core::int index) → core::int
return 0;
operator []=(core::int index, core::int value) → void {}
}
static method main() → dynamic {
- new self::C::•().{self::C::test}();
- new self::D::•().{self::D::test}();
+ new self::C::•().{self::C::test}(){() → dynamic};
+ new self::D::•().{self::D::test}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.strong.transformed.expect
index 992a282..5a45d00 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.strong.transformed.expect
@@ -124,21 +124,21 @@
get property() → self::C
return this;
method test() → dynamic {
- this.{self::C::m1};
+ this.{self::C::m1}{core::int?};
this.{self::C::m1} = 42;
- this.{self::C::method}();
- this.{self::C::property}.{self::C::m1};
- this.{self::C::property}.{self::C::method}();
- this.{self::C::[]}(0);
- this.{self::C::[]=}(0, 0);
- let final core::int #t1 = 0 in this.{self::C::[]}(#t1).{core::num::==}(null) ?{core::int} this.{self::C::[]=}(#t1, 0) : null;
- this.{self::C::property}.{self::C::[]}(0);
- this.{self::C::property}.{self::C::[]=}(0, 0);
- let final self::C #t2 = this.{self::C::property} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3).{core::num::==}(null) ?{core::int} #t2.{self::C::[]=}(#t3, 0) : null;
- this.{self::C::m1}.{core::num::==}(null) ?{core::int} this.{self::C::m1} = 42 : null;
- this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(2);
- this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(1);
- this.{self::C::m2} = this.{self::C::m2}.{core::num::-}(1);
+ this.{self::C::method}(){() → dynamic};
+ this.{self::C::property}{self::C}.{self::C::m1}{core::int?};
+ this.{self::C::property}{self::C}.{self::C::method}(){() → dynamic};
+ this.{self::C::[]}(0){(core::int) → core::int?};
+ this.{self::C::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
+ this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
+ this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
+ let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
+ this.{self::C::m1}{core::int?} == null ?{core::int} this.{self::C::m1} = 42 : null;
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::-}(1){(core::num) → core::int};
this;
}
operator [](core::int index) → core::int?
@@ -153,20 +153,20 @@
get property() → self::D
return this;
method test() → dynamic {
- this.{self::D::[]}(0);
- this.{self::D::[]=}(0, 0);
- let final core::int #t4 = 0 in this.{self::D::[]=}(#t4, this.{self::D::[]}(#t4).{core::num::+}(0));
- this.{self::D::property}.{self::D::[]}(0);
- this.{self::D::property}.{self::D::[]=}(0, 0);
- let final self::D #t5 = this.{self::D::property} in let final core::int #t6 = 0 in #t5.{self::D::[]=}(#t6, #t5.{self::D::[]}(#t6).{core::num::+}(0));
+ this.{self::D::[]}(0){(core::int) → core::int};
+ this.{self::D::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::int #t4 = 0 in this.{self::D::[]=}(#t4, this.{self::D::[]}(#t4){(core::int) → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int, core::int) → void};
+ this.{self::D::property}{self::D}.{self::D::[]}(0){(core::int) → core::int};
+ this.{self::D::property}{self::D}.{self::D::[]=}(0, 0){(core::int, core::int) → void};
+ let final self::D #t5 = this.{self::D::property}{self::D} in let final core::int #t6 = 0 in #t5.{self::D::[]=}(#t6, #t5.{self::D::[]}(#t6){(core::int) → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int, core::int) → void};
}
operator [](core::int index) → core::int
return 0;
operator []=(core::int index, core::int value) → void {}
}
static method main() → dynamic {
- new self::C::•().{self::C::test}();
- new self::D::•().{self::D::test}();
+ new self::C::•().{self::C::test}(){() → dynamic};
+ new self::D::•().{self::D::test}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.expect
index 2c133c7..aac887e 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.expect
@@ -124,21 +124,21 @@
get property() → self::C
return this;
method test() → dynamic {
- this.{self::C::m1};
+ this.{self::C::m1}{core::int?};
this.{self::C::m1} = 42;
- this.{self::C::method}();
- this.{self::C::property}.{self::C::m1};
- this.{self::C::property}.{self::C::method}();
- this.{self::C::[]}(0);
- this.{self::C::[]=}(0, 0);
- let final core::int #t1 = 0 in this.{self::C::[]}(#t1).{core::num::==}(null) ?{core::int} this.{self::C::[]=}(#t1, 0) : null;
- this.{self::C::property}.{self::C::[]}(0);
- this.{self::C::property}.{self::C::[]=}(0, 0);
- let final self::C #t2 = this.{self::C::property} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3).{core::num::==}(null) ?{core::int} #t2.{self::C::[]=}(#t3, 0) : null;
- this.{self::C::m1}.{core::num::==}(null) ?{core::int} this.{self::C::m1} = 42 : null;
- this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(2);
- this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(1);
- this.{self::C::m2} = this.{self::C::m2}.{core::num::-}(1);
+ this.{self::C::method}(){() → dynamic};
+ this.{self::C::property}{self::C}.{self::C::m1}{core::int?};
+ this.{self::C::property}{self::C}.{self::C::method}(){() → dynamic};
+ this.{self::C::[]}(0){(core::int) → core::int?};
+ this.{self::C::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
+ this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
+ this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
+ let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
+ this.{self::C::m1}{core::int?} == null ?{core::int} this.{self::C::m1} = 42 : null;
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::-}(1){(core::num) → core::int};
this;
}
operator [](core::int index) → core::int?
@@ -153,18 +153,18 @@
get property() → self::D
return this;
method test() → dynamic {
- this.{self::D::[]}(0);
- this.{self::D::[]=}(0, 0);
- let final core::int #t4 = 0 in this.{self::D::[]=}(#t4, this.{self::D::[]}(#t4).{core::num::+}(0));
- this.{self::D::property}.{self::D::[]}(0);
- this.{self::D::property}.{self::D::[]=}(0, 0);
- let final self::D #t5 = this.{self::D::property} in let final core::int #t6 = 0 in #t5.{self::D::[]=}(#t6, #t5.{self::D::[]}(#t6).{core::num::+}(0));
+ this.{self::D::[]}(0){(core::int) → core::int};
+ this.{self::D::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::int #t4 = 0 in this.{self::D::[]=}(#t4, this.{self::D::[]}(#t4){(core::int) → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int, core::int) → void};
+ this.{self::D::property}{self::D}.{self::D::[]}(0){(core::int) → core::int};
+ this.{self::D::property}{self::D}.{self::D::[]=}(0, 0){(core::int, core::int) → void};
+ let final self::D #t5 = this.{self::D::property}{self::D} in let final core::int #t6 = 0 in #t5.{self::D::[]=}(#t6, #t5.{self::D::[]}(#t6){(core::int) → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int, core::int) → void};
}
operator [](core::int index) → core::int
return 0;
operator []=(core::int index, core::int value) → void {}
}
static method main() → dynamic {
- new self::C::•().{self::C::test}();
- new self::D::•().{self::D::test}();
+ new self::C::•().{self::C::test}(){() → dynamic};
+ new self::D::•().{self::D::test}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.transformed.expect
index 992a282..5a45d00 100644
--- a/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.transformed.expect
@@ -124,21 +124,21 @@
get property() → self::C
return this;
method test() → dynamic {
- this.{self::C::m1};
+ this.{self::C::m1}{core::int?};
this.{self::C::m1} = 42;
- this.{self::C::method}();
- this.{self::C::property}.{self::C::m1};
- this.{self::C::property}.{self::C::method}();
- this.{self::C::[]}(0);
- this.{self::C::[]=}(0, 0);
- let final core::int #t1 = 0 in this.{self::C::[]}(#t1).{core::num::==}(null) ?{core::int} this.{self::C::[]=}(#t1, 0) : null;
- this.{self::C::property}.{self::C::[]}(0);
- this.{self::C::property}.{self::C::[]=}(0, 0);
- let final self::C #t2 = this.{self::C::property} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3).{core::num::==}(null) ?{core::int} #t2.{self::C::[]=}(#t3, 0) : null;
- this.{self::C::m1}.{core::num::==}(null) ?{core::int} this.{self::C::m1} = 42 : null;
- this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(2);
- this.{self::C::m2} = this.{self::C::m2}.{core::num::+}(1);
- this.{self::C::m2} = this.{self::C::m2}.{core::num::-}(1);
+ this.{self::C::method}(){() → dynamic};
+ this.{self::C::property}{self::C}.{self::C::m1}{core::int?};
+ this.{self::C::property}{self::C}.{self::C::method}(){() → dynamic};
+ this.{self::C::[]}(0){(core::int) → core::int?};
+ this.{self::C::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::int #t1 = 0 in this.{self::C::[]}(#t1){(core::int) → core::int?} == null ?{core::int} this.{self::C::[]=}(#t1, 0){(core::int, core::int) → void} : null;
+ this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
+ this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
+ let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
+ this.{self::C::m1}{core::int?} == null ?{core::int} this.{self::C::m1} = 42 : null;
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};
+ this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::-}(1){(core::num) → core::int};
this;
}
operator [](core::int index) → core::int?
@@ -153,20 +153,20 @@
get property() → self::D
return this;
method test() → dynamic {
- this.{self::D::[]}(0);
- this.{self::D::[]=}(0, 0);
- let final core::int #t4 = 0 in this.{self::D::[]=}(#t4, this.{self::D::[]}(#t4).{core::num::+}(0));
- this.{self::D::property}.{self::D::[]}(0);
- this.{self::D::property}.{self::D::[]=}(0, 0);
- let final self::D #t5 = this.{self::D::property} in let final core::int #t6 = 0 in #t5.{self::D::[]=}(#t6, #t5.{self::D::[]}(#t6).{core::num::+}(0));
+ this.{self::D::[]}(0){(core::int) → core::int};
+ this.{self::D::[]=}(0, 0){(core::int, core::int) → void};
+ let final core::int #t4 = 0 in this.{self::D::[]=}(#t4, this.{self::D::[]}(#t4){(core::int) → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int, core::int) → void};
+ this.{self::D::property}{self::D}.{self::D::[]}(0){(core::int) → core::int};
+ this.{self::D::property}{self::D}.{self::D::[]=}(0, 0){(core::int, core::int) → void};
+ let final self::D #t5 = this.{self::D::property}{self::D} in let final core::int #t6 = 0 in #t5.{self::D::[]=}(#t6, #t5.{self::D::[]}(#t6){(core::int) → core::int}.{core::num::+}(0){(core::num) → core::int}){(core::int, core::int) → void};
}
operator [](core::int index) → core::int
return 0;
operator []=(core::int index, core::int value) → void {}
}
static method main() → dynamic {
- new self::C::•().{self::C::test}();
- new self::D::•().{self::D::test}();
+ new self::C::•().{self::C::test}(){() → dynamic};
+ new self::D::•().{self::D::test}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/nnbd/null_check.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_check.dart.strong.expect
index a1827fa..bbfe2d7 100644
--- a/pkg/front_end/testcases/nnbd/null_check.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_check.dart.strong.expect
@@ -94,23 +94,23 @@
: super core::Object::•()
;
method method() → core::int?
- return this.{self::Class::field};
+ return this.{self::Class::field}{core::int?};
operator +(self::Class other) → self::Class
return new self::Class::•();
}
static method main() → dynamic {
self::Class? c = new self::Class::•() as{ForNonNullableByDefault} self::Class?;
c!;
- c{self::Class}!.{self::Class::field};
+ c{self::Class}!.{self::Class::field}{core::int?};
c{self::Class}!.{self::Class::field} = 42;
- c{self::Class}!.{self::Class::method};
- c{self::Class}!.{self::Class::method}();
- c{self::Class}!.{self::Class::field}!.{core::int::toString}();
- c{self::Class}!.{self::Class::method}()!.{core::int::toString}();
- c{self::Class}!.{self::Class::+}(c{self::Class});
- c{self::Class}!.{self::Class::+}(c{self::Class}!);
- c{self::Class}.{self::Class::+}(c{self::Class}!);
- c{self::Class}.{self::Class::+}(c{self::Class})!;
+ c{self::Class}!.{self::Class::method}{() → core::int?};
+ c{self::Class}!.{self::Class::method}(){() → core::int?};
+ c{self::Class}!.{self::Class::field}{core::int?}!.{core::int::toString}(){() → core::String};
+ c{self::Class}!.{self::Class::method}(){() → core::int?}!.{core::int::toString}(){() → core::String};
+ c{self::Class}!.{self::Class::+}(c{self::Class}){(self::Class) → self::Class};
+ c{self::Class}!.{self::Class::+}(c{self::Class}!){(self::Class) → self::Class};
+ c{self::Class}.{self::Class::+}(c{self::Class}!){(self::Class) → self::Class};
+ c{self::Class}.{self::Class::+}(c{self::Class}){(self::Class) → self::Class}!;
core::bool? o = true as{ForNonNullableByDefault} core::bool?;
!o! ?{core::bool} !o{core::bool}! : !!o{core::bool}!!;
!o{core::bool}! ?{core::bool} (!o{core::bool})! : (!(!o{core::bool})!)!;
diff --git a/pkg/front_end/testcases/nnbd/null_check.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_check.dart.strong.transformed.expect
index 26ca627..0b8c30b 100644
--- a/pkg/front_end/testcases/nnbd/null_check.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_check.dart.strong.transformed.expect
@@ -94,23 +94,23 @@
: super core::Object::•()
;
method method() → core::int?
- return this.{self::Class::field};
+ return this.{self::Class::field}{core::int?};
operator +(self::Class other) → self::Class
return new self::Class::•();
}
static method main() → dynamic {
self::Class? c = new self::Class::•();
c!;
- c{self::Class}!.{self::Class::field};
+ c{self::Class}!.{self::Class::field}{core::int?};
c{self::Class}!.{self::Class::field} = 42;
- c{self::Class}!.{self::Class::method};
- c{self::Class}!.{self::Class::method}();
- c{self::Class}!.{self::Class::field}!.{core::int::toString}();
- c{self::Class}!.{self::Class::method}()!.{core::int::toString}();
- c{self::Class}!.{self::Class::+}(c{self::Class});
- c{self::Class}!.{self::Class::+}(c{self::Class}!);
- c{self::Class}.{self::Class::+}(c{self::Class}!);
- c{self::Class}.{self::Class::+}(c{self::Class})!;
+ c{self::Class}!.{self::Class::method}{() → core::int?};
+ c{self::Class}!.{self::Class::method}(){() → core::int?};
+ c{self::Class}!.{self::Class::field}{core::int?}!.{core::int::toString}(){() → core::String};
+ c{self::Class}!.{self::Class::method}(){() → core::int?}!.{core::int::toString}(){() → core::String};
+ c{self::Class}!.{self::Class::+}(c{self::Class}){(self::Class) → self::Class};
+ c{self::Class}!.{self::Class::+}(c{self::Class}!){(self::Class) → self::Class};
+ c{self::Class}.{self::Class::+}(c{self::Class}!){(self::Class) → self::Class};
+ c{self::Class}.{self::Class::+}(c{self::Class}){(self::Class) → self::Class}!;
core::bool? o = true;
!o! ?{core::bool} !o{core::bool}! : !!o{core::bool}!!;
!o{core::bool}! ?{core::bool} (!o{core::bool})! : (!(!o{core::bool})!)!;
diff --git a/pkg/front_end/testcases/nnbd/null_check.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_check.dart.weak.expect
index a1827fa..bbfe2d7 100644
--- a/pkg/front_end/testcases/nnbd/null_check.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_check.dart.weak.expect
@@ -94,23 +94,23 @@
: super core::Object::•()
;
method method() → core::int?
- return this.{self::Class::field};
+ return this.{self::Class::field}{core::int?};
operator +(self::Class other) → self::Class
return new self::Class::•();
}
static method main() → dynamic {
self::Class? c = new self::Class::•() as{ForNonNullableByDefault} self::Class?;
c!;
- c{self::Class}!.{self::Class::field};
+ c{self::Class}!.{self::Class::field}{core::int?};
c{self::Class}!.{self::Class::field} = 42;
- c{self::Class}!.{self::Class::method};
- c{self::Class}!.{self::Class::method}();
- c{self::Class}!.{self::Class::field}!.{core::int::toString}();
- c{self::Class}!.{self::Class::method}()!.{core::int::toString}();
- c{self::Class}!.{self::Class::+}(c{self::Class});
- c{self::Class}!.{self::Class::+}(c{self::Class}!);
- c{self::Class}.{self::Class::+}(c{self::Class}!);
- c{self::Class}.{self::Class::+}(c{self::Class})!;
+ c{self::Class}!.{self::Class::method}{() → core::int?};
+ c{self::Class}!.{self::Class::method}(){() → core::int?};
+ c{self::Class}!.{self::Class::field}{core::int?}!.{core::int::toString}(){() → core::String};
+ c{self::Class}!.{self::Class::method}(){() → core::int?}!.{core::int::toString}(){() → core::String};
+ c{self::Class}!.{self::Class::+}(c{self::Class}){(self::Class) → self::Class};
+ c{self::Class}!.{self::Class::+}(c{self::Class}!){(self::Class) → self::Class};
+ c{self::Class}.{self::Class::+}(c{self::Class}!){(self::Class) → self::Class};
+ c{self::Class}.{self::Class::+}(c{self::Class}){(self::Class) → self::Class}!;
core::bool? o = true as{ForNonNullableByDefault} core::bool?;
!o! ?{core::bool} !o{core::bool}! : !!o{core::bool}!!;
!o{core::bool}! ?{core::bool} (!o{core::bool})! : (!(!o{core::bool})!)!;
diff --git a/pkg/front_end/testcases/nnbd/null_check.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_check.dart.weak.transformed.expect
index 26ca627..0b8c30b 100644
--- a/pkg/front_end/testcases/nnbd/null_check.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_check.dart.weak.transformed.expect
@@ -94,23 +94,23 @@
: super core::Object::•()
;
method method() → core::int?
- return this.{self::Class::field};
+ return this.{self::Class::field}{core::int?};
operator +(self::Class other) → self::Class
return new self::Class::•();
}
static method main() → dynamic {
self::Class? c = new self::Class::•();
c!;
- c{self::Class}!.{self::Class::field};
+ c{self::Class}!.{self::Class::field}{core::int?};
c{self::Class}!.{self::Class::field} = 42;
- c{self::Class}!.{self::Class::method};
- c{self::Class}!.{self::Class::method}();
- c{self::Class}!.{self::Class::field}!.{core::int::toString}();
- c{self::Class}!.{self::Class::method}()!.{core::int::toString}();
- c{self::Class}!.{self::Class::+}(c{self::Class});
- c{self::Class}!.{self::Class::+}(c{self::Class}!);
- c{self::Class}.{self::Class::+}(c{self::Class}!);
- c{self::Class}.{self::Class::+}(c{self::Class})!;
+ c{self::Class}!.{self::Class::method}{() → core::int?};
+ c{self::Class}!.{self::Class::method}(){() → core::int?};
+ c{self::Class}!.{self::Class::field}{core::int?}!.{core::int::toString}(){() → core::String};
+ c{self::Class}!.{self::Class::method}(){() → core::int?}!.{core::int::toString}(){() → core::String};
+ c{self::Class}!.{self::Class::+}(c{self::Class}){(self::Class) → self::Class};
+ c{self::Class}!.{self::Class::+}(c{self::Class}!){(self::Class) → self::Class};
+ c{self::Class}.{self::Class::+}(c{self::Class}!){(self::Class) → self::Class};
+ c{self::Class}.{self::Class::+}(c{self::Class}){(self::Class) → self::Class}!;
core::bool? o = true;
!o! ?{core::bool} !o{core::bool}! : !!o{core::bool}!!;
!o{core::bool}! ?{core::bool} (!o{core::bool})! : (!(!o{core::bool})!)!;
diff --git a/pkg/front_end/testcases/nnbd/null_check_context.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_check_context.dart.strong.expect
index a9e189a..010a0ff 100644
--- a/pkg/front_end/testcases/nnbd/null_check_context.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_check_context.dart.strong.expect
@@ -8,6 +8,6 @@
;
abstract method bar<T extends core::Object? = dynamic>() → self::A::bar::T%;
method foo() → core::String
- return this.{self::A::bar}<core::String?>()!;
+ return this.{self::A::bar}<core::String?>(){() → core::String?}!;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/null_check_context.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_check_context.dart.strong.transformed.expect
index a9e189a..010a0ff 100644
--- a/pkg/front_end/testcases/nnbd/null_check_context.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_check_context.dart.strong.transformed.expect
@@ -8,6 +8,6 @@
;
abstract method bar<T extends core::Object? = dynamic>() → self::A::bar::T%;
method foo() → core::String
- return this.{self::A::bar}<core::String?>()!;
+ return this.{self::A::bar}<core::String?>(){() → core::String?}!;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/null_check_context.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_check_context.dart.weak.expect
index a9e189a..010a0ff 100644
--- a/pkg/front_end/testcases/nnbd/null_check_context.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_check_context.dart.weak.expect
@@ -8,6 +8,6 @@
;
abstract method bar<T extends core::Object? = dynamic>() → self::A::bar::T%;
method foo() → core::String
- return this.{self::A::bar}<core::String?>()!;
+ return this.{self::A::bar}<core::String?>(){() → core::String?}!;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/null_check_context.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_check_context.dart.weak.transformed.expect
index a9e189a..010a0ff 100644
--- a/pkg/front_end/testcases/nnbd/null_check_context.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_check_context.dart.weak.transformed.expect
@@ -8,6 +8,6 @@
;
abstract method bar<T extends core::Object? = dynamic>() → self::A::bar::T%;
method foo() → core::String
- return this.{self::A::bar}<core::String?>()!;
+ return this.{self::A::bar}<core::String?>(){() → core::String?}!;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/null_shorting.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_shorting.dart.strong.expect
index d6e1e8e..ed3bb8d 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting.dart.strong.expect
@@ -39,25 +39,25 @@
get property2() → self::Class2
return new self::Class2::•();
get nullable1() → self::Class1?
- return this.{self::Class1::property1};
+ return this.{self::Class1::property1}{self::Class1};
set nullable1(self::Class1? value) → void {
this.{self::Class1::property} = value;
}
method nonNullable1Method() → self::Class1
- return this.{self::Class1::nonNullable1};
+ return this.{self::Class1::nonNullable1}{self::Class1};
operator [](self::Class1? key) → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
operator []=(self::Class1? key, self::Class1? value) → void {
this.{self::Class1::property} = value;
}
operator +(core::int value) → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
operator unary-() → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
get nonNullable1() → self::Class1
- return this.{self::Class1::property1};
+ return this.{self::Class1::property1}{self::Class1};
get nonNullable2() → self::Class2
- return this.{self::Class1::property2};
+ return this.{self::Class1::property2}{self::Class2};
}
class Class2 extends core::Object {
synthetic constructor •() → self::Class2
@@ -67,17 +67,17 @@
return this;
set property(self::Class2 value) → void {}
method nonNullable2Method() → self::Class2
- return this.{self::Class2::nonNullable2};
+ return this.{self::Class2::nonNullable2}{self::Class2};
operator [](self::Class2? key) → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator []=(self::Class2? key, self::Class2? value) → void
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator +(core::int value) → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator unary-() → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
get nonNullable2() → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
set nonNullable2(self::Class2 value) → void {
this.{self::Class2::property} = value;
}
@@ -89,7 +89,7 @@
get property() → self::Class2?
return null;
operator [](self::Class3? key) → self::Class2?
- return this.{self::Class3::property};
+ return this.{self::Class3::property}{self::Class2?};
}
static method main() → dynamic {
self::propertyAccess(null);
@@ -99,168 +99,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : #t1{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : #t2{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : #t3{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t4 = n1 in #t4.{core::Object::==}(null) ?{self::Class1?} null : #t4{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t5 = n1 in #t5.{core::Object::==}(null) ?{self::Class1?} null : #t5{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t7 = #t6{self::Class1}.{self::Class1::nullable1} in #t7.{core::Object::==}(null) ?{self::Class1?} null : #t7{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = #t8{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t9.{core::Object::==}(null) ?{self::Class1?} null : #t9{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : #t10{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t11 = n1 in #t11.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t12 = #t11{self::Class1}.{self::Class1::nullable1} in #t12.{core::Object::==}(null) ?{self::Class1?} null : #t12{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = #t13{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t14.{core::Object::==}(null) ?{self::Class1?} null : #t14{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t15 = let final self::Class1? #t16 = n1 in #t16.{core::Object::==}(null) ?{self::Class1?} null : #t16{self::Class1}.{self::Class1::nullable1} in #t15.{core::Object::==}(null) ?{self::Class1?} null : #t15{self::Class1}.{self::Class1::nullable1};
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : #t1{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : #t2{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : #t3{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t4 = n1 in #t4 == null ?{self::Class1?} null : #t4{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t5 = n1 in #t5 == null ?{self::Class1?} null : #t5{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : let final self::Class1? #t7 = #t6{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t7 == null ?{self::Class1?} null : #t7{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = #t8{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t9 == null ?{self::Class1?} null : #t9{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : #t10{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t11 = n1 in #t11 == null ?{self::Class1?} null : let final self::Class1? #t12 = #t11{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t12 == null ?{self::Class1?} null : #t12{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = #t13{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t14 == null ?{self::Class1?} null : #t14{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t15 = let final self::Class1? #t16 = n1 in #t16 == null ?{self::Class1?} null : #t16{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t15 == null ?{self::Class1?} null : #t15{self::Class1}.{self::Class1::nullable1}{self::Class1?};
self::throws(() → void => let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:87:47: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in (let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : #t18{self::Class1}.{self::Class1::nullable1} = new self::Class1::•()).{self::Class1::nullable1});
+ ^^^^^^^^^" in (let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : #t18{self::Class1}.{self::Class1::nullable1} = new self::Class1::•()).{self::Class1::nullable1}{<nullable>}.{self::Class1?});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:88:43: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in (let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : #t20{self::Class1}.{self::Class1::nonNullable1Method}()).{self::Class1::nullable1});
- nullable1 = let final self::Class1? #t21 = n1 in #t21.{core::Object::==}(null) ?{self::Class1?} null : #t21{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t22 = n1 in #t22.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t23 = #t22{self::Class1}.{self::Class1::nullable1} in #t23.{core::Object::==}(null) ?{self::Class1?} null : #t23{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t25 = #t24{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t25.{core::Object::==}(null) ?{self::Class1?} null : #t25{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t26 = n1 in #t26.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t27 = #t26{self::Class1}.{self::Class1::nullable1} in #t27.{core::Object::==}(null) ?{self::Class1?} null : #t27{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : #t28{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t29 = n1 in #t29.{core::Object::==}(null) ?{self::Class1?} null : #t29{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t30 = n1 in #t30.{core::Object::==}(null) ?{self::Class1?} null : #t30{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t31 = n1 in #t31.{core::Object::==}(null) ?{self::Class1?} null : #t31{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : #t32{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t33 = n1 in #t33.{core::Object::==}(null) ?{self::Class1?} null : #t33{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t34 = n1 in #t34.{core::Object::==}(null) ?{self::Class1?} null : #t34{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t35 = n1 in #t35.{core::Object::==}(null) ?{self::Class1?} null : #t35{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : #t36{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t37 = n1 in #t37.{core::Object::==}(null) ?{self::Class1?} null : #t37{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : #t38{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : #t39{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t40 = n1 in #t40.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t41 = #t40{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t41.{core::Object::==}(null) ?{self::Class1?} null : #t41{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : #t42{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t43 = n1 in #t43.{core::Object::==}(null) ?{self::Class1?} null : #t43{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t44 = n1 in #t44.{core::Object::==}(null) ?{self::Class1?} null : #t44{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : #t45{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t46 = n1 in #t46.{core::Object::==}(null) ?{self::Class1?} null : #t46{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t47 = n1 in #t47.{core::Object::==}(null) ?{self::Class1?} null : #t47{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t48 = n1 in #t48.{core::Object::==}(null) ?{self::Class1?} null : #t48{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t49 = n1 in #t49.{core::Object::==}(null) ?{self::Class1?} null : #t49{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : #t50{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : #t51{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t52 = n1 in #t52.{core::Object::==}(null) ?{self::Class1?} null : #t52{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t53 = n1 in #t53.{core::Object::==}(null) ?{self::Class1?} null : #t53{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : #t54{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : #t55{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : #t56{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : #t57{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : #t58{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : #t59{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t60 = n1 in #t60.{core::Object::==}(null) ?{self::Class1?} null : #t60{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t61 = n1 in #t61.{core::Object::==}(null) ?{self::Class1?} null : #t61{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : #t62{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t63 = n1 in #t63.{core::Object::==}(null) ?{self::Class1?} null : #t63{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : #t64{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : #t65{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t66 = n1 in #t66.{core::Object::==}(null) ?{self::Class1?} null : #t66{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t67 = n1 in #t67.{core::Object::==}(null) ?{self::Class1?} null : #t67{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : #t68{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t69 = n1 in #t69.{core::Object::==}(null) ?{self::Class1?} null : #t69{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t70 = n1 in #t70.{core::Object::==}(null) ?{self::Class1?} null : #t70{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : #t71{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t72 = n1 in #t72.{core::Object::==}(null) ?{self::Class1?} null : #t72{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t73 = n1 in #t73.{core::Object::==}(null) ?{self::Class1?} null : #t73{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t74 = n1 in #t74.{core::Object::==}(null) ?{self::Class1?} null : #t74{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t75 = n1 in #t75.{core::Object::==}(null) ?{self::Class1?} null : #t75{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : #t76{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : #t77{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t78 = n1 in #t78.{core::Object::==}(null) ?{self::Class1?} null : #t78{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t79 = n1 in #t79.{core::Object::==}(null) ?{self::Class1?} null : #t79{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : #t80{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : #t81{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t83 = #t82{self::Class1}.{self::Class1::nonNullable1Method}() in #t83.{core::Object::==}(null) ?{self::Class1?} null : #t83{self::Class1}.{self::Class1::nonNullable1Method}();
+ ^^^^^^^^^" in (let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : #t20{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}).{self::Class1::nullable1}{<nullable>}.{self::Class1?});
+ nullable1 = let final self::Class1? #t21 = n1 in #t21 == null ?{self::Class1?} null : #t21{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t22 = n1 in #t22 == null ?{self::Class1?} null : let final self::Class1? #t23 = #t22{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t23 == null ?{self::Class1?} null : #t23{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : let final self::Class1? #t25 = #t24{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t25 == null ?{self::Class1?} null : #t25{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t26 = n1 in #t26 == null ?{self::Class1?} null : let final self::Class1? #t27 = #t26{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t27 == null ?{self::Class1?} null : #t27{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : #t28{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t29 = n1 in #t29 == null ?{self::Class1?} null : #t29{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t30 = n1 in #t30 == null ?{self::Class1?} null : #t30{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t31 = n1 in #t31 == null ?{self::Class1?} null : #t31{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : #t32{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t33 = n1 in #t33 == null ?{self::Class1?} null : #t33{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t34 = n1 in #t34 == null ?{self::Class1?} null : #t34{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t35 = n1 in #t35 == null ?{self::Class1?} null : #t35{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : #t36{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t37 = n1 in #t37 == null ?{self::Class1?} null : #t37{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : #t38{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : #t39{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t40 = n1 in #t40 == null ?{self::Class1?} null : let final self::Class1? #t41 = #t40{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t41 == null ?{self::Class1?} null : #t41{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : #t42{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t43 = n1 in #t43 == null ?{self::Class1?} null : #t43{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t44 = n1 in #t44 == null ?{self::Class1?} null : #t44{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : #t45{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t46 = n1 in #t46 == null ?{self::Class1?} null : #t46{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t47 = n1 in #t47 == null ?{self::Class1?} null : #t47{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t48 = n1 in #t48 == null ?{self::Class1?} null : #t48{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t49 = n1 in #t49 == null ?{self::Class1?} null : #t49{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : #t50{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : #t51{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t52 = n1 in #t52 == null ?{self::Class1?} null : #t52{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t53 = n1 in #t53 == null ?{self::Class1?} null : #t53{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : #t54{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : #t55{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : #t56{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : #t57{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : #t58{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : #t59{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t60 = n1 in #t60 == null ?{self::Class1?} null : #t60{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t61 = n1 in #t61 == null ?{self::Class1?} null : #t61{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : #t62{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t63 = n1 in #t63 == null ?{self::Class1?} null : #t63{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : #t64{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : #t65{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t66 = n1 in #t66 == null ?{self::Class1?} null : #t66{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t67 = n1 in #t67 == null ?{self::Class1?} null : #t67{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : #t68{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t69 = n1 in #t69 == null ?{self::Class1?} null : #t69{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t70 = n1 in #t70 == null ?{self::Class1?} null : #t70{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : #t71{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t72 = n1 in #t72 == null ?{self::Class1?} null : #t72{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t73 = n1 in #t73 == null ?{self::Class1?} null : #t73{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t74 = n1 in #t74 == null ?{self::Class1?} null : #t74{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t75 = n1 in #t75 == null ?{self::Class1?} null : #t75{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : #t76{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : #t77{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t78 = n1 in #t78 == null ?{self::Class1?} null : #t78{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t79 = n1 in #t79 == null ?{self::Class1?} null : #t79{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : #t80{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : #t81{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : let final self::Class1? #t83 = #t82{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1} in #t83 == null ?{self::Class1?} null : #t83{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : #t84{self::Class1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t85 = n1 in #t85.{core::Object::==}(null) ?{self::Class1?} null : #t85{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- let final self::Class1? #t86 = n1 in #t86.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t87 = #t86{self::Class1}.{self::Class1::[]}(nullable1) in #t87.{core::Object::==}(null) ?{self::Class1?} null : #t87{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t88 = n1 in #t88.{core::Object::==}(null) ?{self::Class1?} null : #t88{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t89 = n1 in #t89.{core::Object::==}(null) ?{self::Class1?} null : #t89{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = #t90{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1? #t92 = nullable1 in let final self::Class1 #t93 = new self::Class1::•() in let final void #t94 = #t91.{self::Class1::[]=}(#t92, #t93) in #t93;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t96 = #t95{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]}(nullable1) in #t96.{core::Object::==}(null) ?{self::Class1?} null : #t96{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t97 = n1 in #t97.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t98 = #t97{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t99 = nullable2 in #t98.{self::Class2::[]=}(#t99, #t98.{self::Class2::[]}(#t99).{self::Class2::+}(0));
- nullable2 = let final self::Class1? #t100 = n1 in #t100.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t101 = #t100{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t102 = nullable2 in let final self::Class2 #t103 = #t101.{self::Class2::[]}(#t102).{self::Class2::+}(0) in let final void #t104 = #t101.{self::Class2::[]=}(#t102, #t103) in #t103;
- let final self::Class1? #t105 = n1 in #t105.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t106 = nullable1 in #t105{self::Class1}.{self::Class1::[]}(#t106).{core::Object::==}(null) ?{self::Class1?} #t105{self::Class1}.{self::Class1::[]=}(#t106, nullable1) : null;
- nullable1 = let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t108 = nullable1 in let final self::Class1? #t109 = #t107{self::Class1}.{self::Class1::[]}(#t108) in #t109.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t110 = nullable1 in let final void #t111 = #t107{self::Class1}.{self::Class1::[]=}(#t108, #t110) in #t110 : #t109{self::Class1};
- let final self::Class2? #t112 = n2 in #t112.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t113 = nullable2 in #t112{self::Class2}.{self::Class2::[]=}(#t113, #t112{self::Class2}.{self::Class2::[]}(#t113).{self::Class2::+}(0));
- nullable2 = let final self::Class2? #t114 = n2 in #t114.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t115 = nullable2 in let final self::Class2 #t116 = #t114{self::Class2}.{self::Class2::[]}(#t115).{self::Class2::+}(0) in let final void #t117 = #t114{self::Class2}.{self::Class2::[]=}(#t115, #t116) in #t116;
- let final self::Class2? #t118 = n2 in #t118.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t119 = nullable2 in #t118{self::Class2}.{self::Class2::[]=}(#t119, #t118{self::Class2}.{self::Class2::[]}(#t119).{self::Class2::+}(0));
- nullable2 = let final self::Class2? #t120 = n2 in #t120.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t121 = nullable2 in let final self::Class2 #t122 = #t120{self::Class2}.{self::Class2::[]}(#t121).{self::Class2::+}(0) in let final void #t123 = #t120{self::Class2}.{self::Class2::[]=}(#t121, #t122) in #t122;
- let final self::Class2? #t124 = n2 in #t124.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t125 = nullable2 in #t124{self::Class2}.{self::Class2::[]=}(#t125, #t124{self::Class2}.{self::Class2::[]}(#t125).{self::Class2::+}(1));
- nullable2 = let final self::Class2? #t126 = n2 in #t126.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t127 = nullable2 in let final self::Class2 #t128 = #t126{self::Class2}.{self::Class2::[]}(#t127) in let final void #t129 = #t126{self::Class2}.{self::Class2::[]=}(#t127, #t128.{self::Class2::+}(1)) in #t128;
- let final self::Class2? #t130 = n2 in #t130.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t131 = nullable2 in let final self::Class2 #t132 = #t130{self::Class2}.{self::Class2::[]}(#t131).{self::Class2::+}(1) in let final void #t133 = #t130{self::Class2}.{self::Class2::[]=}(#t131, #t132) in #t132;
- nullable2 = let final self::Class2? #t134 = n2 in #t134.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t135 = nullable2 in let final self::Class2 #t136 = #t134{self::Class2}.{self::Class2::[]}(#t135).{self::Class2::+}(1) in let final void #t137 = #t134{self::Class2}.{self::Class2::[]=}(#t135, #t136) in #t136;
- let final self::Class1? #t138 = n1 in #t138.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t139 = #t138{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t140 = nullable2 in #t139.{self::Class2::[]=}(#t140, #t139.{self::Class2::[]}(#t140).{self::Class2::+}(1));
- nullable2 = let final self::Class1? #t141 = n1 in #t141.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t142 = #t141{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t143 = nullable2 in let final self::Class2 #t144 = #t142.{self::Class2::[]}(#t143) in let final void #t145 = #t142.{self::Class2::[]=}(#t143, #t144.{self::Class2::+}(1)) in #t144;
- let final self::Class1? #t146 = n1 in #t146.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t147 = #t146{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t148 = nullable2 in let final self::Class2 #t149 = #t147.{self::Class2::[]}(#t148).{self::Class2::+}(1) in let final void #t150 = #t147.{self::Class2::[]=}(#t148, #t149) in #t149;
- nullable2 = let final self::Class1? #t151 = n1 in #t151.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t152 = #t151{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t153 = nullable2 in let final self::Class2 #t154 = #t152.{self::Class2::[]}(#t153).{self::Class2::+}(1) in let final void #t155 = #t152.{self::Class2::[]=}(#t153, #t154) in #t154;
- let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class2?} null : #t156{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]}(nullable2);
- let final self::Class1? #t157 = n1 in #t157.{core::Object::==}(null) ?{self::Class2?} null : #t157{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]=}(nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t158 = n1 in #t158.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t159 = #t158{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t160 = nullable2 in let final self::Class2 #t161 = new self::Class2::•() in let final void #t162 = #t159.{self::Class2::[]=}(#t160, #t161) in #t161;
- let final self::Class1? #t163 = n1 in #t163.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t164 = #t163{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]}(nullable2) in #t164.{core::Object::==}(null) ?{self::Class2?} null : #t164{self::Class2}.{self::Class2::nonNullable2Method}();
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t166 = #t165{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t167 = nullable2 in #t166.{self::Class2::[]=}(#t167, #t166.{self::Class2::[]}(#t167).{self::Class2::+}(0));
- nullable2 = let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t169 = #t168{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t170 = nullable2 in let final self::Class2 #t171 = #t169.{self::Class2::[]}(#t170).{self::Class2::+}(0) in let final void #t172 = #t169.{self::Class2::[]=}(#t170, #t171) in #t171;
- let final self::Class1? #t173 = n1 in #t173.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t174 = #t173{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t175 = nullable2 in #t174.{self::Class2::[]=}(#t175, #t174.{self::Class2::[]}(#t175).{self::Class2::+}(1));
- nullable2 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t177 = #t176{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t178 = nullable2 in let final self::Class2 #t179 = #t177.{self::Class2::[]}(#t178) in let final void #t180 = #t177.{self::Class2::[]=}(#t178, #t179.{self::Class2::+}(1)) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t182 = #t181{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t183 = nullable2 in let final self::Class2 #t184 = #t182.{self::Class2::[]}(#t183).{self::Class2::+}(1) in let final void #t185 = #t182.{self::Class2::[]=}(#t183, #t184) in #t184;
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = #t186{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = #t187.{self::Class2::[]}(#t188).{self::Class2::+}(1) in let final void #t190 = #t187.{self::Class2::[]=}(#t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = #t191{self::Class1}.{self::Class1::[]}(nullable1) in #t192.{core::Object::==}(null) ?{self::Class1?} null : #t192{self::Class1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = #t193{self::Class1}.{self::Class1::[]}(nullable1) in #t194.{core::Object::==}(null) ?{self::Class1?} null : #t194{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t195 = n1 in #t195.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t196 = #t195{self::Class1}.{self::Class1::[]}(nullable1) in #t196.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t197 = nullable1 in let final self::Class1 #t198 = new self::Class1::•() in let final void #t199 = #t196{self::Class1}.{self::Class1::[]=}(#t197, #t198) in #t198;
- let final self::Class1? #t200 = n1 in #t200.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t201 = #t200{self::Class1}.{self::Class1::[]}(nullable1) in #t201.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t202 = #t201{self::Class1}.{self::Class1::[]}(nullable1) in #t202.{core::Object::==}(null) ?{self::Class1?} null : #t202{self::Class1}.{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t203 = n1 in #t203.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t204 = #t203{self::Class1}.{self::Class1::[]}(nullable1) in #t204.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t205 = #t204{self::Class1}.{self::Class1::[]}(nullable1) in #t205.{core::Object::==}(null) ?{self::Class1?} null : #t205{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t206 = n1 in #t206.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t207 = #t206{self::Class1}.{self::Class1::[]}(nullable1) in #t207.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t208 = nullable1 in #t207{self::Class1}.{self::Class1::[]}(#t208).{core::Object::==}(null) ?{self::Class1?} #t207{self::Class1}.{self::Class1::[]=}(#t208, nullable1) : null;
- nullable1 = let final self::Class1? #t209 = n1 in #t209.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t210 = #t209{self::Class1}.{self::Class1::[]}(nullable1) in #t210.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t211 = nullable1 in let final self::Class1? #t212 = #t210{self::Class1}.{self::Class1::[]}(#t211) in #t212.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t213 = nullable1 in let final void #t214 = #t210{self::Class1}.{self::Class1::[]=}(#t211, #t213) in #t213 : #t212{self::Class1};
- let final self::Class3? #t215 = n3 in #t215.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t216 = #t215{self::Class3}.{self::Class3::[]}(nullable3) in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in #t216{self::Class2}.{self::Class2::[]=}(#t217, #t216{self::Class2}.{self::Class2::[]}(#t217).{self::Class2::+}(0));
- nullable2 = let final self::Class3? #t218 = n3 in #t218.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t219 = #t218{self::Class3}.{self::Class3::[]}(nullable3) in #t219.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t220 = nullable2 in let final self::Class2 #t221 = #t219{self::Class2}.{self::Class2::[]}(#t220).{self::Class2::+}(0) in let final void #t222 = #t219{self::Class2}.{self::Class2::[]=}(#t220, #t221) in #t221;
- let final self::Class3? #t223 = n3 in #t223.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t224 = #t223{self::Class3}.{self::Class3::[]}(nullable3) in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t225 = nullable2 in #t224{self::Class2}.{self::Class2::[]=}(#t225, #t224{self::Class2}.{self::Class2::[]}(#t225).{self::Class2::+}(1));
- nullable2 = let final self::Class3? #t226 = n3 in #t226.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t227 = #t226{self::Class3}.{self::Class3::[]}(nullable3) in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t228 = nullable2 in let final self::Class2 #t229 = #t227{self::Class2}.{self::Class2::[]}(#t228) in let final void #t230 = #t227{self::Class2}.{self::Class2::[]=}(#t228, #t229.{self::Class2::+}(1)) in #t229;
- let final self::Class3? #t231 = n3 in #t231.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t232 = #t231{self::Class3}.{self::Class3::[]}(nullable3) in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t233 = nullable2 in let final self::Class2 #t234 = #t232{self::Class2}.{self::Class2::[]}(#t233).{self::Class2::+}(1) in let final void #t235 = #t232{self::Class2}.{self::Class2::[]=}(#t233, #t234) in #t234;
- nullable2 = let final self::Class3? #t236 = n3 in #t236.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t237 = #t236{self::Class3}.{self::Class3::[]}(nullable3) in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t238 = nullable2 in let final self::Class2 #t239 = #t237{self::Class2}.{self::Class2::[]}(#t238).{self::Class2::+}(1) in let final void #t240 = #t237{self::Class2}.{self::Class2::[]=}(#t238, #t239) in #t239;
+ let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : #t84{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t85 = n1 in #t85 == null ?{self::Class1?} null : #t85{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ let final self::Class1? #t86 = n1 in #t86 == null ?{self::Class1?} null : let final self::Class1? #t87 = #t86{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t87 == null ?{self::Class1?} null : #t87{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t88 = n1 in #t88 == null ?{self::Class1?} null : #t88{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t89 = n1 in #t89 == null ?{self::Class1?} null : #t89{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = #t90{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t92 = nullable1 in let final self::Class1 #t93 = new self::Class1::•() in let final void #t94 = #t91.{self::Class1::[]=}(#t92, #t93){(self::Class1?, self::Class1?) → void} in #t93;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : let final self::Class1? #t96 = #t95{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t96 == null ?{self::Class1?} null : #t96{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t97 = n1 in #t97 == null ?{self::Class2?} null : let final self::Class2 #t98 = #t97{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t99 = nullable2 in #t98.{self::Class2::[]=}(#t99, #t98.{self::Class2::[]}(#t99){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t100 = n1 in #t100 == null ?{self::Class2?} null : let final self::Class2 #t101 = #t100{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t102 = nullable2 in let final self::Class2 #t103 = #t101.{self::Class2::[]}(#t102){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t104 = #t101.{self::Class2::[]=}(#t102, #t103){(self::Class2?, self::Class2?) → void} in #t103;
+ let final self::Class1? #t105 = n1 in #t105 == null ?{self::Class1?} null : let final self::Class1? #t106 = nullable1 in #t105{self::Class1}.{self::Class1::[]}(#t106){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t105{self::Class1}.{self::Class1::[]=}(#t106, nullable1){(self::Class1?, self::Class1?) → void} : null;
+ nullable1 = let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : let final self::Class1? #t108 = nullable1 in let final self::Class1? #t109 = #t107{self::Class1}.{self::Class1::[]}(#t108){(self::Class1?) → self::Class1?} in #t109 == null ?{self::Class1?} let final self::Class1? #t110 = nullable1 in let final void #t111 = #t107{self::Class1}.{self::Class1::[]=}(#t108, #t110){(self::Class1?, self::Class1?) → void} in #t110 : #t109{self::Class1};
+ let final self::Class2? #t112 = n2 in #t112 == null ?{self::Class2?} null : let final self::Class2? #t113 = nullable2 in #t112{self::Class2}.{self::Class2::[]=}(#t113, #t112{self::Class2}.{self::Class2::[]}(#t113){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t114 = n2 in #t114 == null ?{self::Class2?} null : let final self::Class2? #t115 = nullable2 in let final self::Class2 #t116 = #t114{self::Class2}.{self::Class2::[]}(#t115){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t117 = #t114{self::Class2}.{self::Class2::[]=}(#t115, #t116){(self::Class2?, self::Class2?) → void} in #t116;
+ let final self::Class2? #t118 = n2 in #t118 == null ?{self::Class2?} null : let final self::Class2? #t119 = nullable2 in #t118{self::Class2}.{self::Class2::[]=}(#t119, #t118{self::Class2}.{self::Class2::[]}(#t119){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t120 = n2 in #t120 == null ?{self::Class2?} null : let final self::Class2? #t121 = nullable2 in let final self::Class2 #t122 = #t120{self::Class2}.{self::Class2::[]}(#t121){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t123 = #t120{self::Class2}.{self::Class2::[]=}(#t121, #t122){(self::Class2?, self::Class2?) → void} in #t122;
+ let final self::Class2? #t124 = n2 in #t124 == null ?{self::Class2?} null : let final self::Class2? #t125 = nullable2 in #t124{self::Class2}.{self::Class2::[]=}(#t125, #t124{self::Class2}.{self::Class2::[]}(#t125){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t126 = n2 in #t126 == null ?{self::Class2?} null : let final self::Class2? #t127 = nullable2 in let final self::Class2 #t128 = #t126{self::Class2}.{self::Class2::[]}(#t127){(self::Class2?) → self::Class2} in let final void #t129 = #t126{self::Class2}.{self::Class2::[]=}(#t127, #t128.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t128;
+ let final self::Class2? #t130 = n2 in #t130 == null ?{self::Class2?} null : let final self::Class2? #t131 = nullable2 in let final self::Class2 #t132 = #t130{self::Class2}.{self::Class2::[]}(#t131){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t133 = #t130{self::Class2}.{self::Class2::[]=}(#t131, #t132){(self::Class2?, self::Class2?) → void} in #t132;
+ nullable2 = let final self::Class2? #t134 = n2 in #t134 == null ?{self::Class2?} null : let final self::Class2? #t135 = nullable2 in let final self::Class2 #t136 = #t134{self::Class2}.{self::Class2::[]}(#t135){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t137 = #t134{self::Class2}.{self::Class2::[]=}(#t135, #t136){(self::Class2?, self::Class2?) → void} in #t136;
+ let final self::Class1? #t138 = n1 in #t138 == null ?{self::Class2?} null : let final self::Class2 #t139 = #t138{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t140 = nullable2 in #t139.{self::Class2::[]=}(#t140, #t139.{self::Class2::[]}(#t140){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t141 = n1 in #t141 == null ?{self::Class2?} null : let final self::Class2 #t142 = #t141{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t143 = nullable2 in let final self::Class2 #t144 = #t142.{self::Class2::[]}(#t143){(self::Class2?) → self::Class2} in let final void #t145 = #t142.{self::Class2::[]=}(#t143, #t144.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t144;
+ let final self::Class1? #t146 = n1 in #t146 == null ?{self::Class2?} null : let final self::Class2 #t147 = #t146{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t148 = nullable2 in let final self::Class2 #t149 = #t147.{self::Class2::[]}(#t148){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t150 = #t147.{self::Class2::[]=}(#t148, #t149){(self::Class2?, self::Class2?) → void} in #t149;
+ nullable2 = let final self::Class1? #t151 = n1 in #t151 == null ?{self::Class2?} null : let final self::Class2 #t152 = #t151{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t153 = nullable2 in let final self::Class2 #t154 = #t152.{self::Class2::[]}(#t153){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t155 = #t152.{self::Class2::[]=}(#t153, #t154){(self::Class2?, self::Class2?) → void} in #t154;
+ let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class2?} null : #t156{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2};
+ let final self::Class1? #t157 = n1 in #t157 == null ?{self::Class2?} null : #t157{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]=}(nullable2, new self::Class2::•()){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t158 = n1 in #t158 == null ?{self::Class2?} null : let final self::Class2 #t159 = #t158{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t160 = nullable2 in let final self::Class2 #t161 = new self::Class2::•() in let final void #t162 = #t159.{self::Class2::[]=}(#t160, #t161){(self::Class2?, self::Class2?) → void} in #t161;
+ let final self::Class1? #t163 = n1 in #t163 == null ?{self::Class2?} null : let final self::Class2? #t164 = #t163{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in #t164 == null ?{self::Class2?} null : #t164{self::Class2}.{self::Class2::nonNullable2Method}(){() → self::Class2};
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class2?} null : let final self::Class2 #t166 = #t165{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t167 = nullable2 in #t166.{self::Class2::[]=}(#t167, #t166.{self::Class2::[]}(#t167){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class2?} null : let final self::Class2 #t169 = #t168{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t170 = nullable2 in let final self::Class2 #t171 = #t169.{self::Class2::[]}(#t170){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t172 = #t169.{self::Class2::[]=}(#t170, #t171){(self::Class2?, self::Class2?) → void} in #t171;
+ let final self::Class1? #t173 = n1 in #t173 == null ?{self::Class2?} null : let final self::Class2 #t174 = #t173{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t175 = nullable2 in #t174.{self::Class2::[]=}(#t175, #t174.{self::Class2::[]}(#t175){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class2?} null : let final self::Class2 #t177 = #t176{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t178 = nullable2 in let final self::Class2 #t179 = #t177.{self::Class2::[]}(#t178){(self::Class2?) → self::Class2} in let final void #t180 = #t177.{self::Class2::[]=}(#t178, #t179.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class2?} null : let final self::Class2 #t182 = #t181{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t183 = nullable2 in let final self::Class2 #t184 = #t182.{self::Class2::[]}(#t183){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t185 = #t182.{self::Class2::[]=}(#t183, #t184){(self::Class2?, self::Class2?) → void} in #t184;
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = #t186{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = #t187.{self::Class2::[]}(#t188){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t190 = #t187.{self::Class2::[]=}(#t188, #t189){(self::Class2?, self::Class2?) → void} in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = #t191{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t192 == null ?{self::Class1?} null : #t192{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = #t193{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t194 == null ?{self::Class1?} null : #t194{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ nullable1 = let final self::Class1? #t195 = n1 in #t195 == null ?{self::Class1?} null : let final self::Class1? #t196 = #t195{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t196 == null ?{self::Class1?} null : let final self::Class1? #t197 = nullable1 in let final self::Class1 #t198 = new self::Class1::•() in let final void #t199 = #t196{self::Class1}.{self::Class1::[]=}(#t197, #t198){(self::Class1?, self::Class1?) → void} in #t198;
+ let final self::Class1? #t200 = n1 in #t200 == null ?{self::Class1?} null : let final self::Class1? #t201 = #t200{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t201 == null ?{self::Class1?} null : let final self::Class1? #t202 = #t201{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t202 == null ?{self::Class1?} null : #t202{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t203 = n1 in #t203 == null ?{self::Class1?} null : let final self::Class1? #t204 = #t203{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t204 == null ?{self::Class1?} null : let final self::Class1? #t205 = #t204{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t205 == null ?{self::Class1?} null : #t205{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t206 = n1 in #t206 == null ?{self::Class1?} null : let final self::Class1? #t207 = #t206{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t207 == null ?{self::Class1?} null : let final self::Class1? #t208 = nullable1 in #t207{self::Class1}.{self::Class1::[]}(#t208){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t207{self::Class1}.{self::Class1::[]=}(#t208, nullable1){(self::Class1?, self::Class1?) → void} : null;
+ nullable1 = let final self::Class1? #t209 = n1 in #t209 == null ?{self::Class1?} null : let final self::Class1? #t210 = #t209{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t210 == null ?{self::Class1?} null : let final self::Class1? #t211 = nullable1 in let final self::Class1? #t212 = #t210{self::Class1}.{self::Class1::[]}(#t211){(self::Class1?) → self::Class1?} in #t212 == null ?{self::Class1?} let final self::Class1? #t213 = nullable1 in let final void #t214 = #t210{self::Class1}.{self::Class1::[]=}(#t211, #t213){(self::Class1?, self::Class1?) → void} in #t213 : #t212{self::Class1};
+ let final self::Class3? #t215 = n3 in #t215 == null ?{self::Class2?} null : let final self::Class2? #t216 = #t215{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in #t216{self::Class2}.{self::Class2::[]=}(#t217, #t216{self::Class2}.{self::Class2::[]}(#t217){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class3? #t218 = n3 in #t218 == null ?{self::Class2?} null : let final self::Class2? #t219 = #t218{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t219 == null ?{self::Class2?} null : let final self::Class2? #t220 = nullable2 in let final self::Class2 #t221 = #t219{self::Class2}.{self::Class2::[]}(#t220){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t222 = #t219{self::Class2}.{self::Class2::[]=}(#t220, #t221){(self::Class2?, self::Class2?) → void} in #t221;
+ let final self::Class3? #t223 = n3 in #t223 == null ?{self::Class2?} null : let final self::Class2? #t224 = #t223{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t224 == null ?{self::Class2?} null : let final self::Class2? #t225 = nullable2 in #t224{self::Class2}.{self::Class2::[]=}(#t225, #t224{self::Class2}.{self::Class2::[]}(#t225){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class3? #t226 = n3 in #t226 == null ?{self::Class2?} null : let final self::Class2? #t227 = #t226{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t227 == null ?{self::Class2?} null : let final self::Class2? #t228 = nullable2 in let final self::Class2 #t229 = #t227{self::Class2}.{self::Class2::[]}(#t228){(self::Class2?) → self::Class2} in let final void #t230 = #t227{self::Class2}.{self::Class2::[]=}(#t228, #t229.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t229;
+ let final self::Class3? #t231 = n3 in #t231 == null ?{self::Class2?} null : let final self::Class2? #t232 = #t231{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t232 == null ?{self::Class2?} null : let final self::Class2? #t233 = nullable2 in let final self::Class2 #t234 = #t232{self::Class2}.{self::Class2::[]}(#t233){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t235 = #t232{self::Class2}.{self::Class2::[]=}(#t233, #t234){(self::Class2?, self::Class2?) → void} in #t234;
+ nullable2 = let final self::Class3? #t236 = n3 in #t236 == null ?{self::Class2?} null : let final self::Class2? #t237 = #t236{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t237 == null ?{self::Class2?} null : let final self::Class2? #t238 = nullable2 in let final self::Class2 #t239 = #t237{self::Class2}.{self::Class2::[]}(#t238){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t240 = #t237{self::Class2}.{self::Class2::[]=}(#t238, #t239){(self::Class2?, self::Class2?) → void} in #t239;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t241 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:220:33: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
throws(() => n1?.nonNullable1 + 0);
- ^" in (let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class1?} null : #t242{self::Class1}.{self::Class1::nonNullable1}).{self::Class1::+}(0));
+ ^" in (let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class1?} null : #t242{self::Class1}.{self::Class1::nonNullable1}{self::Class1}).{self::Class1::+}(0){(core::int) → self::Class1?});
self::throws(() → void => let final Never #t243 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:221:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
throws(() => -n1?.nonNullable1);
- ^" in (let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class1?} null : #t244{self::Class1}.{self::Class1::nonNullable1}).{self::Class1::unary-}());
- let final self::Class2? #t245 = n2 in #t245.{core::Object::==}(null) ?{self::Class2?} null : #t245.{self::Class2::nonNullable2} = #t245.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- nullable2 = let final self::Class2? #t246 = n2 in #t246.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t247 = #t246.{self::Class2::nonNullable2}.{self::Class2::+}(0) in let final void #t248 = #t246.{self::Class2::nonNullable2} = #t247 in #t247;
- let final self::Class2? #t249 = n2 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t250 = #t249{self::Class2}.{self::Class2::nonNullable2} in #t250.{self::Class2::nonNullable2} = #t250.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- nullable2 = let final self::Class2? #t251 = n2 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = #t251{self::Class2}.{self::Class2::nonNullable2} in #t252.{self::Class2::nonNullable2} = #t252.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- let final self::Class2? #t253 = n2 in #t253.{core::Object::==}(null) ?{self::Class2?} null : #t253.{self::Class2::nonNullable2} = #t253.{self::Class2::nonNullable2}.{self::Class2::+}(1);
- nullable2 = let final self::Class2? #t254 = n2 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = #t254.{self::Class2::nonNullable2} in let final void #t256 = #t254.{self::Class2::nonNullable2} = #t255.{self::Class2::+}(1) in #t255;
- let final self::Class2? #t257 = n2 in #t257.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t258 = #t257.{self::Class2::nonNullable2}.{self::Class2::+}(1) in let final void #t259 = #t257.{self::Class2::nonNullable2} = #t258 in #t258;
- nullable2 = let final self::Class2? #t260 = n2 in #t260.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t261 = #t260.{self::Class2::nonNullable2}.{self::Class2::+}(1) in let final void #t262 = #t260.{self::Class2::nonNullable2} = #t261 in #t261;
+ ^" in (let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class1?} null : #t244{self::Class1}.{self::Class1::nonNullable1}{self::Class1}).{self::Class1::unary-}(){() → self::Class1?});
+ let final self::Class2? #t245 = n2 in #t245 == null ?{self::Class2?} null : #t245.{self::Class2::nonNullable2} = #t245.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t246 = n2 in #t246 == null ?{self::Class2?} null : let final self::Class2 #t247 = #t246.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t248 = #t246.{self::Class2::nonNullable2} = #t247 in #t247;
+ let final self::Class2? #t249 = n2 in #t249 == null ?{self::Class2?} null : let final self::Class2 #t250 = #t249{self::Class2}.{self::Class2::nonNullable2}{self::Class2} in #t250.{self::Class2::nonNullable2} = #t250.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t251 = n2 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = #t251{self::Class2}.{self::Class2::nonNullable2}{self::Class2} in #t252.{self::Class2::nonNullable2} = #t252.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ let final self::Class2? #t253 = n2 in #t253 == null ?{self::Class2?} null : #t253.{self::Class2::nonNullable2} = #t253.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t254 = n2 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = #t254.{self::Class2::nonNullable2}{self::Class2} in let final void #t256 = #t254.{self::Class2::nonNullable2} = #t255.{self::Class2::+}(1){(core::int) → self::Class2} in #t255;
+ let final self::Class2? #t257 = n2 in #t257 == null ?{self::Class2?} null : let final self::Class2 #t258 = #t257.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t259 = #t257.{self::Class2::nonNullable2} = #t258 in #t258;
+ nullable2 = let final self::Class2? #t260 = n2 in #t260 == null ?{self::Class2?} null : let final self::Class2 #t261 = #t260.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t262 = #t260.{self::Class2::nonNullable2} = #t261 in #t261;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t263 = n1 in #t263.{core::Object::==}(null) ?{self::Class1?} null : #t263.{self::Class1::nullable1}.{core::Object::==}(null) ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
- n1 = let final self::Class1? #t264 = n1 in #t264.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t265 = #t264.{self::Class1::nullable1} in #t265.{core::Object::==}(null) ?{self::Class1} #t264.{self::Class1::nullable1} = n1{self::Class1} : #t265{self::Class1};
- let final self::Class1? #t266 = n1 in #t266.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t267 = #t266{self::Class1}.{self::Class1::nonNullable1} in #t267.{self::Class1::nullable1}.{core::Object::==}(null) ?{self::Class1} #t267.{self::Class1::nullable1} = n1{self::Class1} : null;
- n1 = let final self::Class1? #t268 = n1 in #t268.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t269 = #t268{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1? #t270 = #t269.{self::Class1::nullable1} in #t270.{core::Object::==}(null) ?{self::Class1} #t269.{self::Class1::nullable1} = n1{self::Class1} : #t270{self::Class1};
- let final self::Class1? #t271 = n1 in #t271.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t272 = #t271{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1 #t273 = n1{self::Class1} in #t272.{self::Class1::[]}(#t273).{core::Object::==}(null) ?{self::Class1} #t272.{self::Class1::[]=}(#t273, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t274 = n1 in #t274.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t275 = #t274{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1 #t276 = n1{self::Class1} in let final self::Class1? #t277 = #t275.{self::Class1::[]}(#t276) in #t277.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t278 = n1{self::Class1} in let final void #t279 = #t275.{self::Class1::[]=}(#t276, #t278) in #t278 : #t277{self::Class1};
+ let final self::Class1? #t263 = n1 in #t263 == null ?{self::Class1?} null : #t263.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
+ n1 = let final self::Class1? #t264 = n1 in #t264 == null ?{self::Class1?} null : let final self::Class1? #t265 = #t264.{self::Class1::nullable1}{self::Class1?} in #t265 == null ?{self::Class1} #t264.{self::Class1::nullable1} = n1{self::Class1} : #t265{self::Class1};
+ let final self::Class1? #t266 = n1 in #t266 == null ?{self::Class1?} null : let final self::Class1 #t267 = #t266{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in #t267.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t267.{self::Class1::nullable1} = n1{self::Class1} : null;
+ n1 = let final self::Class1? #t268 = n1 in #t268 == null ?{self::Class1?} null : let final self::Class1 #t269 = #t268{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t270 = #t269.{self::Class1::nullable1}{self::Class1?} in #t270 == null ?{self::Class1} #t269.{self::Class1::nullable1} = n1{self::Class1} : #t270{self::Class1};
+ let final self::Class1? #t271 = n1 in #t271 == null ?{self::Class1?} null : let final self::Class1 #t272 = #t271{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t273 = n1{self::Class1} in #t272.{self::Class1::[]}(#t273){(self::Class1?) → self::Class1?} == null ?{self::Class1} #t272.{self::Class1::[]=}(#t273, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
+ n1 = let final self::Class1? #t274 = n1 in #t274 == null ?{self::Class1?} null : let final self::Class1 #t275 = #t274{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t276 = n1{self::Class1} in let final self::Class1? #t277 = #t275.{self::Class1::[]}(#t276){(self::Class1?) → self::Class1?} in #t277 == null ?{self::Class1} let final self::Class1 #t278 = n1{self::Class1} in let final void #t279 = #t275.{self::Class1::[]=}(#t276, #t278){(self::Class1?, self::Class1?) → void} in #t278 : #t277{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting.dart.strong.transformed.expect
index d6e1e8e..ed3bb8d 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting.dart.strong.transformed.expect
@@ -39,25 +39,25 @@
get property2() → self::Class2
return new self::Class2::•();
get nullable1() → self::Class1?
- return this.{self::Class1::property1};
+ return this.{self::Class1::property1}{self::Class1};
set nullable1(self::Class1? value) → void {
this.{self::Class1::property} = value;
}
method nonNullable1Method() → self::Class1
- return this.{self::Class1::nonNullable1};
+ return this.{self::Class1::nonNullable1}{self::Class1};
operator [](self::Class1? key) → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
operator []=(self::Class1? key, self::Class1? value) → void {
this.{self::Class1::property} = value;
}
operator +(core::int value) → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
operator unary-() → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
get nonNullable1() → self::Class1
- return this.{self::Class1::property1};
+ return this.{self::Class1::property1}{self::Class1};
get nonNullable2() → self::Class2
- return this.{self::Class1::property2};
+ return this.{self::Class1::property2}{self::Class2};
}
class Class2 extends core::Object {
synthetic constructor •() → self::Class2
@@ -67,17 +67,17 @@
return this;
set property(self::Class2 value) → void {}
method nonNullable2Method() → self::Class2
- return this.{self::Class2::nonNullable2};
+ return this.{self::Class2::nonNullable2}{self::Class2};
operator [](self::Class2? key) → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator []=(self::Class2? key, self::Class2? value) → void
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator +(core::int value) → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator unary-() → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
get nonNullable2() → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
set nonNullable2(self::Class2 value) → void {
this.{self::Class2::property} = value;
}
@@ -89,7 +89,7 @@
get property() → self::Class2?
return null;
operator [](self::Class3? key) → self::Class2?
- return this.{self::Class3::property};
+ return this.{self::Class3::property}{self::Class2?};
}
static method main() → dynamic {
self::propertyAccess(null);
@@ -99,168 +99,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : #t1{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : #t2{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : #t3{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t4 = n1 in #t4.{core::Object::==}(null) ?{self::Class1?} null : #t4{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t5 = n1 in #t5.{core::Object::==}(null) ?{self::Class1?} null : #t5{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t7 = #t6{self::Class1}.{self::Class1::nullable1} in #t7.{core::Object::==}(null) ?{self::Class1?} null : #t7{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = #t8{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t9.{core::Object::==}(null) ?{self::Class1?} null : #t9{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : #t10{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t11 = n1 in #t11.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t12 = #t11{self::Class1}.{self::Class1::nullable1} in #t12.{core::Object::==}(null) ?{self::Class1?} null : #t12{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = #t13{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t14.{core::Object::==}(null) ?{self::Class1?} null : #t14{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t15 = let final self::Class1? #t16 = n1 in #t16.{core::Object::==}(null) ?{self::Class1?} null : #t16{self::Class1}.{self::Class1::nullable1} in #t15.{core::Object::==}(null) ?{self::Class1?} null : #t15{self::Class1}.{self::Class1::nullable1};
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : #t1{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : #t2{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : #t3{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t4 = n1 in #t4 == null ?{self::Class1?} null : #t4{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t5 = n1 in #t5 == null ?{self::Class1?} null : #t5{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : let final self::Class1? #t7 = #t6{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t7 == null ?{self::Class1?} null : #t7{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = #t8{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t9 == null ?{self::Class1?} null : #t9{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : #t10{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t11 = n1 in #t11 == null ?{self::Class1?} null : let final self::Class1? #t12 = #t11{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t12 == null ?{self::Class1?} null : #t12{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = #t13{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t14 == null ?{self::Class1?} null : #t14{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t15 = let final self::Class1? #t16 = n1 in #t16 == null ?{self::Class1?} null : #t16{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t15 == null ?{self::Class1?} null : #t15{self::Class1}.{self::Class1::nullable1}{self::Class1?};
self::throws(() → void => let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:87:47: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in (let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : #t18{self::Class1}.{self::Class1::nullable1} = new self::Class1::•()).{self::Class1::nullable1});
+ ^^^^^^^^^" in (let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : #t18{self::Class1}.{self::Class1::nullable1} = new self::Class1::•()).{self::Class1::nullable1}{<nullable>}.{self::Class1?});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:88:43: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in (let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : #t20{self::Class1}.{self::Class1::nonNullable1Method}()).{self::Class1::nullable1});
- nullable1 = let final self::Class1? #t21 = n1 in #t21.{core::Object::==}(null) ?{self::Class1?} null : #t21{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t22 = n1 in #t22.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t23 = #t22{self::Class1}.{self::Class1::nullable1} in #t23.{core::Object::==}(null) ?{self::Class1?} null : #t23{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t25 = #t24{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t25.{core::Object::==}(null) ?{self::Class1?} null : #t25{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t26 = n1 in #t26.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t27 = #t26{self::Class1}.{self::Class1::nullable1} in #t27.{core::Object::==}(null) ?{self::Class1?} null : #t27{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : #t28{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t29 = n1 in #t29.{core::Object::==}(null) ?{self::Class1?} null : #t29{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t30 = n1 in #t30.{core::Object::==}(null) ?{self::Class1?} null : #t30{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t31 = n1 in #t31.{core::Object::==}(null) ?{self::Class1?} null : #t31{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : #t32{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t33 = n1 in #t33.{core::Object::==}(null) ?{self::Class1?} null : #t33{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t34 = n1 in #t34.{core::Object::==}(null) ?{self::Class1?} null : #t34{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t35 = n1 in #t35.{core::Object::==}(null) ?{self::Class1?} null : #t35{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : #t36{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t37 = n1 in #t37.{core::Object::==}(null) ?{self::Class1?} null : #t37{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : #t38{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : #t39{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t40 = n1 in #t40.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t41 = #t40{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t41.{core::Object::==}(null) ?{self::Class1?} null : #t41{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : #t42{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t43 = n1 in #t43.{core::Object::==}(null) ?{self::Class1?} null : #t43{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t44 = n1 in #t44.{core::Object::==}(null) ?{self::Class1?} null : #t44{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : #t45{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t46 = n1 in #t46.{core::Object::==}(null) ?{self::Class1?} null : #t46{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t47 = n1 in #t47.{core::Object::==}(null) ?{self::Class1?} null : #t47{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t48 = n1 in #t48.{core::Object::==}(null) ?{self::Class1?} null : #t48{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t49 = n1 in #t49.{core::Object::==}(null) ?{self::Class1?} null : #t49{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : #t50{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : #t51{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t52 = n1 in #t52.{core::Object::==}(null) ?{self::Class1?} null : #t52{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t53 = n1 in #t53.{core::Object::==}(null) ?{self::Class1?} null : #t53{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : #t54{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : #t55{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : #t56{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : #t57{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : #t58{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : #t59{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t60 = n1 in #t60.{core::Object::==}(null) ?{self::Class1?} null : #t60{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t61 = n1 in #t61.{core::Object::==}(null) ?{self::Class1?} null : #t61{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : #t62{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t63 = n1 in #t63.{core::Object::==}(null) ?{self::Class1?} null : #t63{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : #t64{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : #t65{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t66 = n1 in #t66.{core::Object::==}(null) ?{self::Class1?} null : #t66{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t67 = n1 in #t67.{core::Object::==}(null) ?{self::Class1?} null : #t67{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : #t68{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t69 = n1 in #t69.{core::Object::==}(null) ?{self::Class1?} null : #t69{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t70 = n1 in #t70.{core::Object::==}(null) ?{self::Class1?} null : #t70{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : #t71{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t72 = n1 in #t72.{core::Object::==}(null) ?{self::Class1?} null : #t72{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t73 = n1 in #t73.{core::Object::==}(null) ?{self::Class1?} null : #t73{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t74 = n1 in #t74.{core::Object::==}(null) ?{self::Class1?} null : #t74{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t75 = n1 in #t75.{core::Object::==}(null) ?{self::Class1?} null : #t75{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : #t76{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : #t77{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t78 = n1 in #t78.{core::Object::==}(null) ?{self::Class1?} null : #t78{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t79 = n1 in #t79.{core::Object::==}(null) ?{self::Class1?} null : #t79{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : #t80{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : #t81{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t83 = #t82{self::Class1}.{self::Class1::nonNullable1Method}() in #t83.{core::Object::==}(null) ?{self::Class1?} null : #t83{self::Class1}.{self::Class1::nonNullable1Method}();
+ ^^^^^^^^^" in (let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : #t20{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}).{self::Class1::nullable1}{<nullable>}.{self::Class1?});
+ nullable1 = let final self::Class1? #t21 = n1 in #t21 == null ?{self::Class1?} null : #t21{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t22 = n1 in #t22 == null ?{self::Class1?} null : let final self::Class1? #t23 = #t22{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t23 == null ?{self::Class1?} null : #t23{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : let final self::Class1? #t25 = #t24{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t25 == null ?{self::Class1?} null : #t25{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t26 = n1 in #t26 == null ?{self::Class1?} null : let final self::Class1? #t27 = #t26{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t27 == null ?{self::Class1?} null : #t27{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : #t28{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t29 = n1 in #t29 == null ?{self::Class1?} null : #t29{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t30 = n1 in #t30 == null ?{self::Class1?} null : #t30{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t31 = n1 in #t31 == null ?{self::Class1?} null : #t31{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : #t32{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t33 = n1 in #t33 == null ?{self::Class1?} null : #t33{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t34 = n1 in #t34 == null ?{self::Class1?} null : #t34{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t35 = n1 in #t35 == null ?{self::Class1?} null : #t35{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : #t36{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t37 = n1 in #t37 == null ?{self::Class1?} null : #t37{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : #t38{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : #t39{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t40 = n1 in #t40 == null ?{self::Class1?} null : let final self::Class1? #t41 = #t40{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t41 == null ?{self::Class1?} null : #t41{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : #t42{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t43 = n1 in #t43 == null ?{self::Class1?} null : #t43{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t44 = n1 in #t44 == null ?{self::Class1?} null : #t44{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : #t45{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t46 = n1 in #t46 == null ?{self::Class1?} null : #t46{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t47 = n1 in #t47 == null ?{self::Class1?} null : #t47{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t48 = n1 in #t48 == null ?{self::Class1?} null : #t48{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t49 = n1 in #t49 == null ?{self::Class1?} null : #t49{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : #t50{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : #t51{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t52 = n1 in #t52 == null ?{self::Class1?} null : #t52{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t53 = n1 in #t53 == null ?{self::Class1?} null : #t53{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : #t54{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : #t55{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : #t56{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : #t57{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : #t58{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : #t59{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t60 = n1 in #t60 == null ?{self::Class1?} null : #t60{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t61 = n1 in #t61 == null ?{self::Class1?} null : #t61{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : #t62{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t63 = n1 in #t63 == null ?{self::Class1?} null : #t63{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : #t64{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : #t65{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t66 = n1 in #t66 == null ?{self::Class1?} null : #t66{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t67 = n1 in #t67 == null ?{self::Class1?} null : #t67{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : #t68{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t69 = n1 in #t69 == null ?{self::Class1?} null : #t69{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t70 = n1 in #t70 == null ?{self::Class1?} null : #t70{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : #t71{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t72 = n1 in #t72 == null ?{self::Class1?} null : #t72{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t73 = n1 in #t73 == null ?{self::Class1?} null : #t73{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t74 = n1 in #t74 == null ?{self::Class1?} null : #t74{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t75 = n1 in #t75 == null ?{self::Class1?} null : #t75{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : #t76{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : #t77{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t78 = n1 in #t78 == null ?{self::Class1?} null : #t78{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t79 = n1 in #t79 == null ?{self::Class1?} null : #t79{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : #t80{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : #t81{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : let final self::Class1? #t83 = #t82{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1} in #t83 == null ?{self::Class1?} null : #t83{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : #t84{self::Class1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t85 = n1 in #t85.{core::Object::==}(null) ?{self::Class1?} null : #t85{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- let final self::Class1? #t86 = n1 in #t86.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t87 = #t86{self::Class1}.{self::Class1::[]}(nullable1) in #t87.{core::Object::==}(null) ?{self::Class1?} null : #t87{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t88 = n1 in #t88.{core::Object::==}(null) ?{self::Class1?} null : #t88{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t89 = n1 in #t89.{core::Object::==}(null) ?{self::Class1?} null : #t89{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = #t90{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1? #t92 = nullable1 in let final self::Class1 #t93 = new self::Class1::•() in let final void #t94 = #t91.{self::Class1::[]=}(#t92, #t93) in #t93;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t96 = #t95{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]}(nullable1) in #t96.{core::Object::==}(null) ?{self::Class1?} null : #t96{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t97 = n1 in #t97.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t98 = #t97{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t99 = nullable2 in #t98.{self::Class2::[]=}(#t99, #t98.{self::Class2::[]}(#t99).{self::Class2::+}(0));
- nullable2 = let final self::Class1? #t100 = n1 in #t100.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t101 = #t100{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t102 = nullable2 in let final self::Class2 #t103 = #t101.{self::Class2::[]}(#t102).{self::Class2::+}(0) in let final void #t104 = #t101.{self::Class2::[]=}(#t102, #t103) in #t103;
- let final self::Class1? #t105 = n1 in #t105.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t106 = nullable1 in #t105{self::Class1}.{self::Class1::[]}(#t106).{core::Object::==}(null) ?{self::Class1?} #t105{self::Class1}.{self::Class1::[]=}(#t106, nullable1) : null;
- nullable1 = let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t108 = nullable1 in let final self::Class1? #t109 = #t107{self::Class1}.{self::Class1::[]}(#t108) in #t109.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t110 = nullable1 in let final void #t111 = #t107{self::Class1}.{self::Class1::[]=}(#t108, #t110) in #t110 : #t109{self::Class1};
- let final self::Class2? #t112 = n2 in #t112.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t113 = nullable2 in #t112{self::Class2}.{self::Class2::[]=}(#t113, #t112{self::Class2}.{self::Class2::[]}(#t113).{self::Class2::+}(0));
- nullable2 = let final self::Class2? #t114 = n2 in #t114.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t115 = nullable2 in let final self::Class2 #t116 = #t114{self::Class2}.{self::Class2::[]}(#t115).{self::Class2::+}(0) in let final void #t117 = #t114{self::Class2}.{self::Class2::[]=}(#t115, #t116) in #t116;
- let final self::Class2? #t118 = n2 in #t118.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t119 = nullable2 in #t118{self::Class2}.{self::Class2::[]=}(#t119, #t118{self::Class2}.{self::Class2::[]}(#t119).{self::Class2::+}(0));
- nullable2 = let final self::Class2? #t120 = n2 in #t120.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t121 = nullable2 in let final self::Class2 #t122 = #t120{self::Class2}.{self::Class2::[]}(#t121).{self::Class2::+}(0) in let final void #t123 = #t120{self::Class2}.{self::Class2::[]=}(#t121, #t122) in #t122;
- let final self::Class2? #t124 = n2 in #t124.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t125 = nullable2 in #t124{self::Class2}.{self::Class2::[]=}(#t125, #t124{self::Class2}.{self::Class2::[]}(#t125).{self::Class2::+}(1));
- nullable2 = let final self::Class2? #t126 = n2 in #t126.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t127 = nullable2 in let final self::Class2 #t128 = #t126{self::Class2}.{self::Class2::[]}(#t127) in let final void #t129 = #t126{self::Class2}.{self::Class2::[]=}(#t127, #t128.{self::Class2::+}(1)) in #t128;
- let final self::Class2? #t130 = n2 in #t130.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t131 = nullable2 in let final self::Class2 #t132 = #t130{self::Class2}.{self::Class2::[]}(#t131).{self::Class2::+}(1) in let final void #t133 = #t130{self::Class2}.{self::Class2::[]=}(#t131, #t132) in #t132;
- nullable2 = let final self::Class2? #t134 = n2 in #t134.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t135 = nullable2 in let final self::Class2 #t136 = #t134{self::Class2}.{self::Class2::[]}(#t135).{self::Class2::+}(1) in let final void #t137 = #t134{self::Class2}.{self::Class2::[]=}(#t135, #t136) in #t136;
- let final self::Class1? #t138 = n1 in #t138.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t139 = #t138{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t140 = nullable2 in #t139.{self::Class2::[]=}(#t140, #t139.{self::Class2::[]}(#t140).{self::Class2::+}(1));
- nullable2 = let final self::Class1? #t141 = n1 in #t141.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t142 = #t141{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t143 = nullable2 in let final self::Class2 #t144 = #t142.{self::Class2::[]}(#t143) in let final void #t145 = #t142.{self::Class2::[]=}(#t143, #t144.{self::Class2::+}(1)) in #t144;
- let final self::Class1? #t146 = n1 in #t146.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t147 = #t146{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t148 = nullable2 in let final self::Class2 #t149 = #t147.{self::Class2::[]}(#t148).{self::Class2::+}(1) in let final void #t150 = #t147.{self::Class2::[]=}(#t148, #t149) in #t149;
- nullable2 = let final self::Class1? #t151 = n1 in #t151.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t152 = #t151{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t153 = nullable2 in let final self::Class2 #t154 = #t152.{self::Class2::[]}(#t153).{self::Class2::+}(1) in let final void #t155 = #t152.{self::Class2::[]=}(#t153, #t154) in #t154;
- let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class2?} null : #t156{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]}(nullable2);
- let final self::Class1? #t157 = n1 in #t157.{core::Object::==}(null) ?{self::Class2?} null : #t157{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]=}(nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t158 = n1 in #t158.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t159 = #t158{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t160 = nullable2 in let final self::Class2 #t161 = new self::Class2::•() in let final void #t162 = #t159.{self::Class2::[]=}(#t160, #t161) in #t161;
- let final self::Class1? #t163 = n1 in #t163.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t164 = #t163{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]}(nullable2) in #t164.{core::Object::==}(null) ?{self::Class2?} null : #t164{self::Class2}.{self::Class2::nonNullable2Method}();
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t166 = #t165{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t167 = nullable2 in #t166.{self::Class2::[]=}(#t167, #t166.{self::Class2::[]}(#t167).{self::Class2::+}(0));
- nullable2 = let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t169 = #t168{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t170 = nullable2 in let final self::Class2 #t171 = #t169.{self::Class2::[]}(#t170).{self::Class2::+}(0) in let final void #t172 = #t169.{self::Class2::[]=}(#t170, #t171) in #t171;
- let final self::Class1? #t173 = n1 in #t173.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t174 = #t173{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t175 = nullable2 in #t174.{self::Class2::[]=}(#t175, #t174.{self::Class2::[]}(#t175).{self::Class2::+}(1));
- nullable2 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t177 = #t176{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t178 = nullable2 in let final self::Class2 #t179 = #t177.{self::Class2::[]}(#t178) in let final void #t180 = #t177.{self::Class2::[]=}(#t178, #t179.{self::Class2::+}(1)) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t182 = #t181{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t183 = nullable2 in let final self::Class2 #t184 = #t182.{self::Class2::[]}(#t183).{self::Class2::+}(1) in let final void #t185 = #t182.{self::Class2::[]=}(#t183, #t184) in #t184;
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = #t186{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = #t187.{self::Class2::[]}(#t188).{self::Class2::+}(1) in let final void #t190 = #t187.{self::Class2::[]=}(#t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = #t191{self::Class1}.{self::Class1::[]}(nullable1) in #t192.{core::Object::==}(null) ?{self::Class1?} null : #t192{self::Class1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = #t193{self::Class1}.{self::Class1::[]}(nullable1) in #t194.{core::Object::==}(null) ?{self::Class1?} null : #t194{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t195 = n1 in #t195.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t196 = #t195{self::Class1}.{self::Class1::[]}(nullable1) in #t196.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t197 = nullable1 in let final self::Class1 #t198 = new self::Class1::•() in let final void #t199 = #t196{self::Class1}.{self::Class1::[]=}(#t197, #t198) in #t198;
- let final self::Class1? #t200 = n1 in #t200.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t201 = #t200{self::Class1}.{self::Class1::[]}(nullable1) in #t201.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t202 = #t201{self::Class1}.{self::Class1::[]}(nullable1) in #t202.{core::Object::==}(null) ?{self::Class1?} null : #t202{self::Class1}.{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t203 = n1 in #t203.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t204 = #t203{self::Class1}.{self::Class1::[]}(nullable1) in #t204.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t205 = #t204{self::Class1}.{self::Class1::[]}(nullable1) in #t205.{core::Object::==}(null) ?{self::Class1?} null : #t205{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t206 = n1 in #t206.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t207 = #t206{self::Class1}.{self::Class1::[]}(nullable1) in #t207.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t208 = nullable1 in #t207{self::Class1}.{self::Class1::[]}(#t208).{core::Object::==}(null) ?{self::Class1?} #t207{self::Class1}.{self::Class1::[]=}(#t208, nullable1) : null;
- nullable1 = let final self::Class1? #t209 = n1 in #t209.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t210 = #t209{self::Class1}.{self::Class1::[]}(nullable1) in #t210.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t211 = nullable1 in let final self::Class1? #t212 = #t210{self::Class1}.{self::Class1::[]}(#t211) in #t212.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t213 = nullable1 in let final void #t214 = #t210{self::Class1}.{self::Class1::[]=}(#t211, #t213) in #t213 : #t212{self::Class1};
- let final self::Class3? #t215 = n3 in #t215.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t216 = #t215{self::Class3}.{self::Class3::[]}(nullable3) in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in #t216{self::Class2}.{self::Class2::[]=}(#t217, #t216{self::Class2}.{self::Class2::[]}(#t217).{self::Class2::+}(0));
- nullable2 = let final self::Class3? #t218 = n3 in #t218.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t219 = #t218{self::Class3}.{self::Class3::[]}(nullable3) in #t219.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t220 = nullable2 in let final self::Class2 #t221 = #t219{self::Class2}.{self::Class2::[]}(#t220).{self::Class2::+}(0) in let final void #t222 = #t219{self::Class2}.{self::Class2::[]=}(#t220, #t221) in #t221;
- let final self::Class3? #t223 = n3 in #t223.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t224 = #t223{self::Class3}.{self::Class3::[]}(nullable3) in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t225 = nullable2 in #t224{self::Class2}.{self::Class2::[]=}(#t225, #t224{self::Class2}.{self::Class2::[]}(#t225).{self::Class2::+}(1));
- nullable2 = let final self::Class3? #t226 = n3 in #t226.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t227 = #t226{self::Class3}.{self::Class3::[]}(nullable3) in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t228 = nullable2 in let final self::Class2 #t229 = #t227{self::Class2}.{self::Class2::[]}(#t228) in let final void #t230 = #t227{self::Class2}.{self::Class2::[]=}(#t228, #t229.{self::Class2::+}(1)) in #t229;
- let final self::Class3? #t231 = n3 in #t231.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t232 = #t231{self::Class3}.{self::Class3::[]}(nullable3) in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t233 = nullable2 in let final self::Class2 #t234 = #t232{self::Class2}.{self::Class2::[]}(#t233).{self::Class2::+}(1) in let final void #t235 = #t232{self::Class2}.{self::Class2::[]=}(#t233, #t234) in #t234;
- nullable2 = let final self::Class3? #t236 = n3 in #t236.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t237 = #t236{self::Class3}.{self::Class3::[]}(nullable3) in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t238 = nullable2 in let final self::Class2 #t239 = #t237{self::Class2}.{self::Class2::[]}(#t238).{self::Class2::+}(1) in let final void #t240 = #t237{self::Class2}.{self::Class2::[]=}(#t238, #t239) in #t239;
+ let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : #t84{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t85 = n1 in #t85 == null ?{self::Class1?} null : #t85{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ let final self::Class1? #t86 = n1 in #t86 == null ?{self::Class1?} null : let final self::Class1? #t87 = #t86{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t87 == null ?{self::Class1?} null : #t87{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t88 = n1 in #t88 == null ?{self::Class1?} null : #t88{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t89 = n1 in #t89 == null ?{self::Class1?} null : #t89{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = #t90{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t92 = nullable1 in let final self::Class1 #t93 = new self::Class1::•() in let final void #t94 = #t91.{self::Class1::[]=}(#t92, #t93){(self::Class1?, self::Class1?) → void} in #t93;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : let final self::Class1? #t96 = #t95{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t96 == null ?{self::Class1?} null : #t96{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t97 = n1 in #t97 == null ?{self::Class2?} null : let final self::Class2 #t98 = #t97{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t99 = nullable2 in #t98.{self::Class2::[]=}(#t99, #t98.{self::Class2::[]}(#t99){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t100 = n1 in #t100 == null ?{self::Class2?} null : let final self::Class2 #t101 = #t100{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t102 = nullable2 in let final self::Class2 #t103 = #t101.{self::Class2::[]}(#t102){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t104 = #t101.{self::Class2::[]=}(#t102, #t103){(self::Class2?, self::Class2?) → void} in #t103;
+ let final self::Class1? #t105 = n1 in #t105 == null ?{self::Class1?} null : let final self::Class1? #t106 = nullable1 in #t105{self::Class1}.{self::Class1::[]}(#t106){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t105{self::Class1}.{self::Class1::[]=}(#t106, nullable1){(self::Class1?, self::Class1?) → void} : null;
+ nullable1 = let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : let final self::Class1? #t108 = nullable1 in let final self::Class1? #t109 = #t107{self::Class1}.{self::Class1::[]}(#t108){(self::Class1?) → self::Class1?} in #t109 == null ?{self::Class1?} let final self::Class1? #t110 = nullable1 in let final void #t111 = #t107{self::Class1}.{self::Class1::[]=}(#t108, #t110){(self::Class1?, self::Class1?) → void} in #t110 : #t109{self::Class1};
+ let final self::Class2? #t112 = n2 in #t112 == null ?{self::Class2?} null : let final self::Class2? #t113 = nullable2 in #t112{self::Class2}.{self::Class2::[]=}(#t113, #t112{self::Class2}.{self::Class2::[]}(#t113){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t114 = n2 in #t114 == null ?{self::Class2?} null : let final self::Class2? #t115 = nullable2 in let final self::Class2 #t116 = #t114{self::Class2}.{self::Class2::[]}(#t115){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t117 = #t114{self::Class2}.{self::Class2::[]=}(#t115, #t116){(self::Class2?, self::Class2?) → void} in #t116;
+ let final self::Class2? #t118 = n2 in #t118 == null ?{self::Class2?} null : let final self::Class2? #t119 = nullable2 in #t118{self::Class2}.{self::Class2::[]=}(#t119, #t118{self::Class2}.{self::Class2::[]}(#t119){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t120 = n2 in #t120 == null ?{self::Class2?} null : let final self::Class2? #t121 = nullable2 in let final self::Class2 #t122 = #t120{self::Class2}.{self::Class2::[]}(#t121){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t123 = #t120{self::Class2}.{self::Class2::[]=}(#t121, #t122){(self::Class2?, self::Class2?) → void} in #t122;
+ let final self::Class2? #t124 = n2 in #t124 == null ?{self::Class2?} null : let final self::Class2? #t125 = nullable2 in #t124{self::Class2}.{self::Class2::[]=}(#t125, #t124{self::Class2}.{self::Class2::[]}(#t125){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t126 = n2 in #t126 == null ?{self::Class2?} null : let final self::Class2? #t127 = nullable2 in let final self::Class2 #t128 = #t126{self::Class2}.{self::Class2::[]}(#t127){(self::Class2?) → self::Class2} in let final void #t129 = #t126{self::Class2}.{self::Class2::[]=}(#t127, #t128.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t128;
+ let final self::Class2? #t130 = n2 in #t130 == null ?{self::Class2?} null : let final self::Class2? #t131 = nullable2 in let final self::Class2 #t132 = #t130{self::Class2}.{self::Class2::[]}(#t131){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t133 = #t130{self::Class2}.{self::Class2::[]=}(#t131, #t132){(self::Class2?, self::Class2?) → void} in #t132;
+ nullable2 = let final self::Class2? #t134 = n2 in #t134 == null ?{self::Class2?} null : let final self::Class2? #t135 = nullable2 in let final self::Class2 #t136 = #t134{self::Class2}.{self::Class2::[]}(#t135){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t137 = #t134{self::Class2}.{self::Class2::[]=}(#t135, #t136){(self::Class2?, self::Class2?) → void} in #t136;
+ let final self::Class1? #t138 = n1 in #t138 == null ?{self::Class2?} null : let final self::Class2 #t139 = #t138{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t140 = nullable2 in #t139.{self::Class2::[]=}(#t140, #t139.{self::Class2::[]}(#t140){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t141 = n1 in #t141 == null ?{self::Class2?} null : let final self::Class2 #t142 = #t141{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t143 = nullable2 in let final self::Class2 #t144 = #t142.{self::Class2::[]}(#t143){(self::Class2?) → self::Class2} in let final void #t145 = #t142.{self::Class2::[]=}(#t143, #t144.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t144;
+ let final self::Class1? #t146 = n1 in #t146 == null ?{self::Class2?} null : let final self::Class2 #t147 = #t146{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t148 = nullable2 in let final self::Class2 #t149 = #t147.{self::Class2::[]}(#t148){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t150 = #t147.{self::Class2::[]=}(#t148, #t149){(self::Class2?, self::Class2?) → void} in #t149;
+ nullable2 = let final self::Class1? #t151 = n1 in #t151 == null ?{self::Class2?} null : let final self::Class2 #t152 = #t151{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t153 = nullable2 in let final self::Class2 #t154 = #t152.{self::Class2::[]}(#t153){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t155 = #t152.{self::Class2::[]=}(#t153, #t154){(self::Class2?, self::Class2?) → void} in #t154;
+ let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class2?} null : #t156{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2};
+ let final self::Class1? #t157 = n1 in #t157 == null ?{self::Class2?} null : #t157{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]=}(nullable2, new self::Class2::•()){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t158 = n1 in #t158 == null ?{self::Class2?} null : let final self::Class2 #t159 = #t158{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t160 = nullable2 in let final self::Class2 #t161 = new self::Class2::•() in let final void #t162 = #t159.{self::Class2::[]=}(#t160, #t161){(self::Class2?, self::Class2?) → void} in #t161;
+ let final self::Class1? #t163 = n1 in #t163 == null ?{self::Class2?} null : let final self::Class2? #t164 = #t163{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in #t164 == null ?{self::Class2?} null : #t164{self::Class2}.{self::Class2::nonNullable2Method}(){() → self::Class2};
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class2?} null : let final self::Class2 #t166 = #t165{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t167 = nullable2 in #t166.{self::Class2::[]=}(#t167, #t166.{self::Class2::[]}(#t167){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class2?} null : let final self::Class2 #t169 = #t168{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t170 = nullable2 in let final self::Class2 #t171 = #t169.{self::Class2::[]}(#t170){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t172 = #t169.{self::Class2::[]=}(#t170, #t171){(self::Class2?, self::Class2?) → void} in #t171;
+ let final self::Class1? #t173 = n1 in #t173 == null ?{self::Class2?} null : let final self::Class2 #t174 = #t173{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t175 = nullable2 in #t174.{self::Class2::[]=}(#t175, #t174.{self::Class2::[]}(#t175){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class2?} null : let final self::Class2 #t177 = #t176{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t178 = nullable2 in let final self::Class2 #t179 = #t177.{self::Class2::[]}(#t178){(self::Class2?) → self::Class2} in let final void #t180 = #t177.{self::Class2::[]=}(#t178, #t179.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class2?} null : let final self::Class2 #t182 = #t181{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t183 = nullable2 in let final self::Class2 #t184 = #t182.{self::Class2::[]}(#t183){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t185 = #t182.{self::Class2::[]=}(#t183, #t184){(self::Class2?, self::Class2?) → void} in #t184;
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = #t186{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = #t187.{self::Class2::[]}(#t188){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t190 = #t187.{self::Class2::[]=}(#t188, #t189){(self::Class2?, self::Class2?) → void} in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = #t191{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t192 == null ?{self::Class1?} null : #t192{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = #t193{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t194 == null ?{self::Class1?} null : #t194{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ nullable1 = let final self::Class1? #t195 = n1 in #t195 == null ?{self::Class1?} null : let final self::Class1? #t196 = #t195{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t196 == null ?{self::Class1?} null : let final self::Class1? #t197 = nullable1 in let final self::Class1 #t198 = new self::Class1::•() in let final void #t199 = #t196{self::Class1}.{self::Class1::[]=}(#t197, #t198){(self::Class1?, self::Class1?) → void} in #t198;
+ let final self::Class1? #t200 = n1 in #t200 == null ?{self::Class1?} null : let final self::Class1? #t201 = #t200{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t201 == null ?{self::Class1?} null : let final self::Class1? #t202 = #t201{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t202 == null ?{self::Class1?} null : #t202{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t203 = n1 in #t203 == null ?{self::Class1?} null : let final self::Class1? #t204 = #t203{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t204 == null ?{self::Class1?} null : let final self::Class1? #t205 = #t204{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t205 == null ?{self::Class1?} null : #t205{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t206 = n1 in #t206 == null ?{self::Class1?} null : let final self::Class1? #t207 = #t206{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t207 == null ?{self::Class1?} null : let final self::Class1? #t208 = nullable1 in #t207{self::Class1}.{self::Class1::[]}(#t208){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t207{self::Class1}.{self::Class1::[]=}(#t208, nullable1){(self::Class1?, self::Class1?) → void} : null;
+ nullable1 = let final self::Class1? #t209 = n1 in #t209 == null ?{self::Class1?} null : let final self::Class1? #t210 = #t209{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t210 == null ?{self::Class1?} null : let final self::Class1? #t211 = nullable1 in let final self::Class1? #t212 = #t210{self::Class1}.{self::Class1::[]}(#t211){(self::Class1?) → self::Class1?} in #t212 == null ?{self::Class1?} let final self::Class1? #t213 = nullable1 in let final void #t214 = #t210{self::Class1}.{self::Class1::[]=}(#t211, #t213){(self::Class1?, self::Class1?) → void} in #t213 : #t212{self::Class1};
+ let final self::Class3? #t215 = n3 in #t215 == null ?{self::Class2?} null : let final self::Class2? #t216 = #t215{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in #t216{self::Class2}.{self::Class2::[]=}(#t217, #t216{self::Class2}.{self::Class2::[]}(#t217){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class3? #t218 = n3 in #t218 == null ?{self::Class2?} null : let final self::Class2? #t219 = #t218{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t219 == null ?{self::Class2?} null : let final self::Class2? #t220 = nullable2 in let final self::Class2 #t221 = #t219{self::Class2}.{self::Class2::[]}(#t220){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t222 = #t219{self::Class2}.{self::Class2::[]=}(#t220, #t221){(self::Class2?, self::Class2?) → void} in #t221;
+ let final self::Class3? #t223 = n3 in #t223 == null ?{self::Class2?} null : let final self::Class2? #t224 = #t223{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t224 == null ?{self::Class2?} null : let final self::Class2? #t225 = nullable2 in #t224{self::Class2}.{self::Class2::[]=}(#t225, #t224{self::Class2}.{self::Class2::[]}(#t225){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class3? #t226 = n3 in #t226 == null ?{self::Class2?} null : let final self::Class2? #t227 = #t226{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t227 == null ?{self::Class2?} null : let final self::Class2? #t228 = nullable2 in let final self::Class2 #t229 = #t227{self::Class2}.{self::Class2::[]}(#t228){(self::Class2?) → self::Class2} in let final void #t230 = #t227{self::Class2}.{self::Class2::[]=}(#t228, #t229.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t229;
+ let final self::Class3? #t231 = n3 in #t231 == null ?{self::Class2?} null : let final self::Class2? #t232 = #t231{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t232 == null ?{self::Class2?} null : let final self::Class2? #t233 = nullable2 in let final self::Class2 #t234 = #t232{self::Class2}.{self::Class2::[]}(#t233){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t235 = #t232{self::Class2}.{self::Class2::[]=}(#t233, #t234){(self::Class2?, self::Class2?) → void} in #t234;
+ nullable2 = let final self::Class3? #t236 = n3 in #t236 == null ?{self::Class2?} null : let final self::Class2? #t237 = #t236{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t237 == null ?{self::Class2?} null : let final self::Class2? #t238 = nullable2 in let final self::Class2 #t239 = #t237{self::Class2}.{self::Class2::[]}(#t238){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t240 = #t237{self::Class2}.{self::Class2::[]=}(#t238, #t239){(self::Class2?, self::Class2?) → void} in #t239;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t241 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:220:33: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
throws(() => n1?.nonNullable1 + 0);
- ^" in (let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class1?} null : #t242{self::Class1}.{self::Class1::nonNullable1}).{self::Class1::+}(0));
+ ^" in (let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class1?} null : #t242{self::Class1}.{self::Class1::nonNullable1}{self::Class1}).{self::Class1::+}(0){(core::int) → self::Class1?});
self::throws(() → void => let final Never #t243 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:221:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
throws(() => -n1?.nonNullable1);
- ^" in (let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class1?} null : #t244{self::Class1}.{self::Class1::nonNullable1}).{self::Class1::unary-}());
- let final self::Class2? #t245 = n2 in #t245.{core::Object::==}(null) ?{self::Class2?} null : #t245.{self::Class2::nonNullable2} = #t245.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- nullable2 = let final self::Class2? #t246 = n2 in #t246.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t247 = #t246.{self::Class2::nonNullable2}.{self::Class2::+}(0) in let final void #t248 = #t246.{self::Class2::nonNullable2} = #t247 in #t247;
- let final self::Class2? #t249 = n2 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t250 = #t249{self::Class2}.{self::Class2::nonNullable2} in #t250.{self::Class2::nonNullable2} = #t250.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- nullable2 = let final self::Class2? #t251 = n2 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = #t251{self::Class2}.{self::Class2::nonNullable2} in #t252.{self::Class2::nonNullable2} = #t252.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- let final self::Class2? #t253 = n2 in #t253.{core::Object::==}(null) ?{self::Class2?} null : #t253.{self::Class2::nonNullable2} = #t253.{self::Class2::nonNullable2}.{self::Class2::+}(1);
- nullable2 = let final self::Class2? #t254 = n2 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = #t254.{self::Class2::nonNullable2} in let final void #t256 = #t254.{self::Class2::nonNullable2} = #t255.{self::Class2::+}(1) in #t255;
- let final self::Class2? #t257 = n2 in #t257.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t258 = #t257.{self::Class2::nonNullable2}.{self::Class2::+}(1) in let final void #t259 = #t257.{self::Class2::nonNullable2} = #t258 in #t258;
- nullable2 = let final self::Class2? #t260 = n2 in #t260.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t261 = #t260.{self::Class2::nonNullable2}.{self::Class2::+}(1) in let final void #t262 = #t260.{self::Class2::nonNullable2} = #t261 in #t261;
+ ^" in (let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class1?} null : #t244{self::Class1}.{self::Class1::nonNullable1}{self::Class1}).{self::Class1::unary-}(){() → self::Class1?});
+ let final self::Class2? #t245 = n2 in #t245 == null ?{self::Class2?} null : #t245.{self::Class2::nonNullable2} = #t245.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t246 = n2 in #t246 == null ?{self::Class2?} null : let final self::Class2 #t247 = #t246.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t248 = #t246.{self::Class2::nonNullable2} = #t247 in #t247;
+ let final self::Class2? #t249 = n2 in #t249 == null ?{self::Class2?} null : let final self::Class2 #t250 = #t249{self::Class2}.{self::Class2::nonNullable2}{self::Class2} in #t250.{self::Class2::nonNullable2} = #t250.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t251 = n2 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = #t251{self::Class2}.{self::Class2::nonNullable2}{self::Class2} in #t252.{self::Class2::nonNullable2} = #t252.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ let final self::Class2? #t253 = n2 in #t253 == null ?{self::Class2?} null : #t253.{self::Class2::nonNullable2} = #t253.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t254 = n2 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = #t254.{self::Class2::nonNullable2}{self::Class2} in let final void #t256 = #t254.{self::Class2::nonNullable2} = #t255.{self::Class2::+}(1){(core::int) → self::Class2} in #t255;
+ let final self::Class2? #t257 = n2 in #t257 == null ?{self::Class2?} null : let final self::Class2 #t258 = #t257.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t259 = #t257.{self::Class2::nonNullable2} = #t258 in #t258;
+ nullable2 = let final self::Class2? #t260 = n2 in #t260 == null ?{self::Class2?} null : let final self::Class2 #t261 = #t260.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t262 = #t260.{self::Class2::nonNullable2} = #t261 in #t261;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t263 = n1 in #t263.{core::Object::==}(null) ?{self::Class1?} null : #t263.{self::Class1::nullable1}.{core::Object::==}(null) ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
- n1 = let final self::Class1? #t264 = n1 in #t264.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t265 = #t264.{self::Class1::nullable1} in #t265.{core::Object::==}(null) ?{self::Class1} #t264.{self::Class1::nullable1} = n1{self::Class1} : #t265{self::Class1};
- let final self::Class1? #t266 = n1 in #t266.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t267 = #t266{self::Class1}.{self::Class1::nonNullable1} in #t267.{self::Class1::nullable1}.{core::Object::==}(null) ?{self::Class1} #t267.{self::Class1::nullable1} = n1{self::Class1} : null;
- n1 = let final self::Class1? #t268 = n1 in #t268.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t269 = #t268{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1? #t270 = #t269.{self::Class1::nullable1} in #t270.{core::Object::==}(null) ?{self::Class1} #t269.{self::Class1::nullable1} = n1{self::Class1} : #t270{self::Class1};
- let final self::Class1? #t271 = n1 in #t271.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t272 = #t271{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1 #t273 = n1{self::Class1} in #t272.{self::Class1::[]}(#t273).{core::Object::==}(null) ?{self::Class1} #t272.{self::Class1::[]=}(#t273, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t274 = n1 in #t274.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t275 = #t274{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1 #t276 = n1{self::Class1} in let final self::Class1? #t277 = #t275.{self::Class1::[]}(#t276) in #t277.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t278 = n1{self::Class1} in let final void #t279 = #t275.{self::Class1::[]=}(#t276, #t278) in #t278 : #t277{self::Class1};
+ let final self::Class1? #t263 = n1 in #t263 == null ?{self::Class1?} null : #t263.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
+ n1 = let final self::Class1? #t264 = n1 in #t264 == null ?{self::Class1?} null : let final self::Class1? #t265 = #t264.{self::Class1::nullable1}{self::Class1?} in #t265 == null ?{self::Class1} #t264.{self::Class1::nullable1} = n1{self::Class1} : #t265{self::Class1};
+ let final self::Class1? #t266 = n1 in #t266 == null ?{self::Class1?} null : let final self::Class1 #t267 = #t266{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in #t267.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t267.{self::Class1::nullable1} = n1{self::Class1} : null;
+ n1 = let final self::Class1? #t268 = n1 in #t268 == null ?{self::Class1?} null : let final self::Class1 #t269 = #t268{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t270 = #t269.{self::Class1::nullable1}{self::Class1?} in #t270 == null ?{self::Class1} #t269.{self::Class1::nullable1} = n1{self::Class1} : #t270{self::Class1};
+ let final self::Class1? #t271 = n1 in #t271 == null ?{self::Class1?} null : let final self::Class1 #t272 = #t271{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t273 = n1{self::Class1} in #t272.{self::Class1::[]}(#t273){(self::Class1?) → self::Class1?} == null ?{self::Class1} #t272.{self::Class1::[]=}(#t273, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
+ n1 = let final self::Class1? #t274 = n1 in #t274 == null ?{self::Class1?} null : let final self::Class1 #t275 = #t274{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t276 = n1{self::Class1} in let final self::Class1? #t277 = #t275.{self::Class1::[]}(#t276){(self::Class1?) → self::Class1?} in #t277 == null ?{self::Class1} let final self::Class1 #t278 = n1{self::Class1} in let final void #t279 = #t275.{self::Class1::[]=}(#t276, #t278){(self::Class1?, self::Class1?) → void} in #t278 : #t277{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_shorting.dart.weak.expect
index d6e1e8e..ed3bb8d 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting.dart.weak.expect
@@ -39,25 +39,25 @@
get property2() → self::Class2
return new self::Class2::•();
get nullable1() → self::Class1?
- return this.{self::Class1::property1};
+ return this.{self::Class1::property1}{self::Class1};
set nullable1(self::Class1? value) → void {
this.{self::Class1::property} = value;
}
method nonNullable1Method() → self::Class1
- return this.{self::Class1::nonNullable1};
+ return this.{self::Class1::nonNullable1}{self::Class1};
operator [](self::Class1? key) → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
operator []=(self::Class1? key, self::Class1? value) → void {
this.{self::Class1::property} = value;
}
operator +(core::int value) → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
operator unary-() → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
get nonNullable1() → self::Class1
- return this.{self::Class1::property1};
+ return this.{self::Class1::property1}{self::Class1};
get nonNullable2() → self::Class2
- return this.{self::Class1::property2};
+ return this.{self::Class1::property2}{self::Class2};
}
class Class2 extends core::Object {
synthetic constructor •() → self::Class2
@@ -67,17 +67,17 @@
return this;
set property(self::Class2 value) → void {}
method nonNullable2Method() → self::Class2
- return this.{self::Class2::nonNullable2};
+ return this.{self::Class2::nonNullable2}{self::Class2};
operator [](self::Class2? key) → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator []=(self::Class2? key, self::Class2? value) → void
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator +(core::int value) → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator unary-() → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
get nonNullable2() → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
set nonNullable2(self::Class2 value) → void {
this.{self::Class2::property} = value;
}
@@ -89,7 +89,7 @@
get property() → self::Class2?
return null;
operator [](self::Class3? key) → self::Class2?
- return this.{self::Class3::property};
+ return this.{self::Class3::property}{self::Class2?};
}
static method main() → dynamic {
self::propertyAccess(null);
@@ -99,168 +99,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : #t1{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : #t2{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : #t3{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t4 = n1 in #t4.{core::Object::==}(null) ?{self::Class1?} null : #t4{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t5 = n1 in #t5.{core::Object::==}(null) ?{self::Class1?} null : #t5{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t7 = #t6{self::Class1}.{self::Class1::nullable1} in #t7.{core::Object::==}(null) ?{self::Class1?} null : #t7{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = #t8{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t9.{core::Object::==}(null) ?{self::Class1?} null : #t9{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : #t10{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t11 = n1 in #t11.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t12 = #t11{self::Class1}.{self::Class1::nullable1} in #t12.{core::Object::==}(null) ?{self::Class1?} null : #t12{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = #t13{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t14.{core::Object::==}(null) ?{self::Class1?} null : #t14{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t15 = let final self::Class1? #t16 = n1 in #t16.{core::Object::==}(null) ?{self::Class1?} null : #t16{self::Class1}.{self::Class1::nullable1} in #t15.{core::Object::==}(null) ?{self::Class1?} null : #t15{self::Class1}.{self::Class1::nullable1};
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : #t1{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : #t2{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : #t3{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t4 = n1 in #t4 == null ?{self::Class1?} null : #t4{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t5 = n1 in #t5 == null ?{self::Class1?} null : #t5{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : let final self::Class1? #t7 = #t6{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t7 == null ?{self::Class1?} null : #t7{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = #t8{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t9 == null ?{self::Class1?} null : #t9{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : #t10{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t11 = n1 in #t11 == null ?{self::Class1?} null : let final self::Class1? #t12 = #t11{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t12 == null ?{self::Class1?} null : #t12{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = #t13{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t14 == null ?{self::Class1?} null : #t14{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t15 = let final self::Class1? #t16 = n1 in #t16 == null ?{self::Class1?} null : #t16{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t15 == null ?{self::Class1?} null : #t15{self::Class1}.{self::Class1::nullable1}{self::Class1?};
self::throws(() → void => let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:87:47: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in (let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : #t18{self::Class1}.{self::Class1::nullable1} = new self::Class1::•()).{self::Class1::nullable1});
+ ^^^^^^^^^" in (let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : #t18{self::Class1}.{self::Class1::nullable1} = new self::Class1::•()).{self::Class1::nullable1}{<nullable>}.{self::Class1?});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:88:43: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in (let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : #t20{self::Class1}.{self::Class1::nonNullable1Method}()).{self::Class1::nullable1});
- nullable1 = let final self::Class1? #t21 = n1 in #t21.{core::Object::==}(null) ?{self::Class1?} null : #t21{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t22 = n1 in #t22.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t23 = #t22{self::Class1}.{self::Class1::nullable1} in #t23.{core::Object::==}(null) ?{self::Class1?} null : #t23{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t25 = #t24{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t25.{core::Object::==}(null) ?{self::Class1?} null : #t25{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t26 = n1 in #t26.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t27 = #t26{self::Class1}.{self::Class1::nullable1} in #t27.{core::Object::==}(null) ?{self::Class1?} null : #t27{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : #t28{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t29 = n1 in #t29.{core::Object::==}(null) ?{self::Class1?} null : #t29{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t30 = n1 in #t30.{core::Object::==}(null) ?{self::Class1?} null : #t30{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t31 = n1 in #t31.{core::Object::==}(null) ?{self::Class1?} null : #t31{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : #t32{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t33 = n1 in #t33.{core::Object::==}(null) ?{self::Class1?} null : #t33{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t34 = n1 in #t34.{core::Object::==}(null) ?{self::Class1?} null : #t34{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t35 = n1 in #t35.{core::Object::==}(null) ?{self::Class1?} null : #t35{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : #t36{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t37 = n1 in #t37.{core::Object::==}(null) ?{self::Class1?} null : #t37{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : #t38{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : #t39{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t40 = n1 in #t40.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t41 = #t40{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t41.{core::Object::==}(null) ?{self::Class1?} null : #t41{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : #t42{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t43 = n1 in #t43.{core::Object::==}(null) ?{self::Class1?} null : #t43{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t44 = n1 in #t44.{core::Object::==}(null) ?{self::Class1?} null : #t44{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : #t45{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t46 = n1 in #t46.{core::Object::==}(null) ?{self::Class1?} null : #t46{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t47 = n1 in #t47.{core::Object::==}(null) ?{self::Class1?} null : #t47{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t48 = n1 in #t48.{core::Object::==}(null) ?{self::Class1?} null : #t48{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t49 = n1 in #t49.{core::Object::==}(null) ?{self::Class1?} null : #t49{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : #t50{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : #t51{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t52 = n1 in #t52.{core::Object::==}(null) ?{self::Class1?} null : #t52{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t53 = n1 in #t53.{core::Object::==}(null) ?{self::Class1?} null : #t53{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : #t54{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : #t55{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : #t56{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : #t57{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : #t58{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : #t59{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t60 = n1 in #t60.{core::Object::==}(null) ?{self::Class1?} null : #t60{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t61 = n1 in #t61.{core::Object::==}(null) ?{self::Class1?} null : #t61{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : #t62{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t63 = n1 in #t63.{core::Object::==}(null) ?{self::Class1?} null : #t63{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : #t64{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : #t65{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t66 = n1 in #t66.{core::Object::==}(null) ?{self::Class1?} null : #t66{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t67 = n1 in #t67.{core::Object::==}(null) ?{self::Class1?} null : #t67{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : #t68{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t69 = n1 in #t69.{core::Object::==}(null) ?{self::Class1?} null : #t69{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t70 = n1 in #t70.{core::Object::==}(null) ?{self::Class1?} null : #t70{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : #t71{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t72 = n1 in #t72.{core::Object::==}(null) ?{self::Class1?} null : #t72{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t73 = n1 in #t73.{core::Object::==}(null) ?{self::Class1?} null : #t73{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t74 = n1 in #t74.{core::Object::==}(null) ?{self::Class1?} null : #t74{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t75 = n1 in #t75.{core::Object::==}(null) ?{self::Class1?} null : #t75{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : #t76{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : #t77{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t78 = n1 in #t78.{core::Object::==}(null) ?{self::Class1?} null : #t78{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t79 = n1 in #t79.{core::Object::==}(null) ?{self::Class1?} null : #t79{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : #t80{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : #t81{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t83 = #t82{self::Class1}.{self::Class1::nonNullable1Method}() in #t83.{core::Object::==}(null) ?{self::Class1?} null : #t83{self::Class1}.{self::Class1::nonNullable1Method}();
+ ^^^^^^^^^" in (let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : #t20{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}).{self::Class1::nullable1}{<nullable>}.{self::Class1?});
+ nullable1 = let final self::Class1? #t21 = n1 in #t21 == null ?{self::Class1?} null : #t21{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t22 = n1 in #t22 == null ?{self::Class1?} null : let final self::Class1? #t23 = #t22{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t23 == null ?{self::Class1?} null : #t23{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : let final self::Class1? #t25 = #t24{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t25 == null ?{self::Class1?} null : #t25{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t26 = n1 in #t26 == null ?{self::Class1?} null : let final self::Class1? #t27 = #t26{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t27 == null ?{self::Class1?} null : #t27{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : #t28{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t29 = n1 in #t29 == null ?{self::Class1?} null : #t29{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t30 = n1 in #t30 == null ?{self::Class1?} null : #t30{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t31 = n1 in #t31 == null ?{self::Class1?} null : #t31{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : #t32{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t33 = n1 in #t33 == null ?{self::Class1?} null : #t33{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t34 = n1 in #t34 == null ?{self::Class1?} null : #t34{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t35 = n1 in #t35 == null ?{self::Class1?} null : #t35{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : #t36{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t37 = n1 in #t37 == null ?{self::Class1?} null : #t37{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : #t38{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : #t39{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t40 = n1 in #t40 == null ?{self::Class1?} null : let final self::Class1? #t41 = #t40{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t41 == null ?{self::Class1?} null : #t41{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : #t42{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t43 = n1 in #t43 == null ?{self::Class1?} null : #t43{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t44 = n1 in #t44 == null ?{self::Class1?} null : #t44{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : #t45{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t46 = n1 in #t46 == null ?{self::Class1?} null : #t46{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t47 = n1 in #t47 == null ?{self::Class1?} null : #t47{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t48 = n1 in #t48 == null ?{self::Class1?} null : #t48{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t49 = n1 in #t49 == null ?{self::Class1?} null : #t49{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : #t50{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : #t51{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t52 = n1 in #t52 == null ?{self::Class1?} null : #t52{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t53 = n1 in #t53 == null ?{self::Class1?} null : #t53{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : #t54{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : #t55{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : #t56{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : #t57{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : #t58{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : #t59{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t60 = n1 in #t60 == null ?{self::Class1?} null : #t60{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t61 = n1 in #t61 == null ?{self::Class1?} null : #t61{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : #t62{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t63 = n1 in #t63 == null ?{self::Class1?} null : #t63{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : #t64{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : #t65{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t66 = n1 in #t66 == null ?{self::Class1?} null : #t66{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t67 = n1 in #t67 == null ?{self::Class1?} null : #t67{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : #t68{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t69 = n1 in #t69 == null ?{self::Class1?} null : #t69{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t70 = n1 in #t70 == null ?{self::Class1?} null : #t70{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : #t71{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t72 = n1 in #t72 == null ?{self::Class1?} null : #t72{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t73 = n1 in #t73 == null ?{self::Class1?} null : #t73{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t74 = n1 in #t74 == null ?{self::Class1?} null : #t74{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t75 = n1 in #t75 == null ?{self::Class1?} null : #t75{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : #t76{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : #t77{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t78 = n1 in #t78 == null ?{self::Class1?} null : #t78{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t79 = n1 in #t79 == null ?{self::Class1?} null : #t79{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : #t80{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : #t81{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : let final self::Class1? #t83 = #t82{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1} in #t83 == null ?{self::Class1?} null : #t83{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : #t84{self::Class1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t85 = n1 in #t85.{core::Object::==}(null) ?{self::Class1?} null : #t85{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- let final self::Class1? #t86 = n1 in #t86.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t87 = #t86{self::Class1}.{self::Class1::[]}(nullable1) in #t87.{core::Object::==}(null) ?{self::Class1?} null : #t87{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t88 = n1 in #t88.{core::Object::==}(null) ?{self::Class1?} null : #t88{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t89 = n1 in #t89.{core::Object::==}(null) ?{self::Class1?} null : #t89{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = #t90{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1? #t92 = nullable1 in let final self::Class1 #t93 = new self::Class1::•() in let final void #t94 = #t91.{self::Class1::[]=}(#t92, #t93) in #t93;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t96 = #t95{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]}(nullable1) in #t96.{core::Object::==}(null) ?{self::Class1?} null : #t96{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t97 = n1 in #t97.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t98 = #t97{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t99 = nullable2 in #t98.{self::Class2::[]=}(#t99, #t98.{self::Class2::[]}(#t99).{self::Class2::+}(0));
- nullable2 = let final self::Class1? #t100 = n1 in #t100.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t101 = #t100{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t102 = nullable2 in let final self::Class2 #t103 = #t101.{self::Class2::[]}(#t102).{self::Class2::+}(0) in let final void #t104 = #t101.{self::Class2::[]=}(#t102, #t103) in #t103;
- let final self::Class1? #t105 = n1 in #t105.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t106 = nullable1 in #t105{self::Class1}.{self::Class1::[]}(#t106).{core::Object::==}(null) ?{self::Class1?} #t105{self::Class1}.{self::Class1::[]=}(#t106, nullable1) : null;
- nullable1 = let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t108 = nullable1 in let final self::Class1? #t109 = #t107{self::Class1}.{self::Class1::[]}(#t108) in #t109.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t110 = nullable1 in let final void #t111 = #t107{self::Class1}.{self::Class1::[]=}(#t108, #t110) in #t110 : #t109{self::Class1};
- let final self::Class2? #t112 = n2 in #t112.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t113 = nullable2 in #t112{self::Class2}.{self::Class2::[]=}(#t113, #t112{self::Class2}.{self::Class2::[]}(#t113).{self::Class2::+}(0));
- nullable2 = let final self::Class2? #t114 = n2 in #t114.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t115 = nullable2 in let final self::Class2 #t116 = #t114{self::Class2}.{self::Class2::[]}(#t115).{self::Class2::+}(0) in let final void #t117 = #t114{self::Class2}.{self::Class2::[]=}(#t115, #t116) in #t116;
- let final self::Class2? #t118 = n2 in #t118.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t119 = nullable2 in #t118{self::Class2}.{self::Class2::[]=}(#t119, #t118{self::Class2}.{self::Class2::[]}(#t119).{self::Class2::+}(0));
- nullable2 = let final self::Class2? #t120 = n2 in #t120.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t121 = nullable2 in let final self::Class2 #t122 = #t120{self::Class2}.{self::Class2::[]}(#t121).{self::Class2::+}(0) in let final void #t123 = #t120{self::Class2}.{self::Class2::[]=}(#t121, #t122) in #t122;
- let final self::Class2? #t124 = n2 in #t124.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t125 = nullable2 in #t124{self::Class2}.{self::Class2::[]=}(#t125, #t124{self::Class2}.{self::Class2::[]}(#t125).{self::Class2::+}(1));
- nullable2 = let final self::Class2? #t126 = n2 in #t126.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t127 = nullable2 in let final self::Class2 #t128 = #t126{self::Class2}.{self::Class2::[]}(#t127) in let final void #t129 = #t126{self::Class2}.{self::Class2::[]=}(#t127, #t128.{self::Class2::+}(1)) in #t128;
- let final self::Class2? #t130 = n2 in #t130.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t131 = nullable2 in let final self::Class2 #t132 = #t130{self::Class2}.{self::Class2::[]}(#t131).{self::Class2::+}(1) in let final void #t133 = #t130{self::Class2}.{self::Class2::[]=}(#t131, #t132) in #t132;
- nullable2 = let final self::Class2? #t134 = n2 in #t134.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t135 = nullable2 in let final self::Class2 #t136 = #t134{self::Class2}.{self::Class2::[]}(#t135).{self::Class2::+}(1) in let final void #t137 = #t134{self::Class2}.{self::Class2::[]=}(#t135, #t136) in #t136;
- let final self::Class1? #t138 = n1 in #t138.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t139 = #t138{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t140 = nullable2 in #t139.{self::Class2::[]=}(#t140, #t139.{self::Class2::[]}(#t140).{self::Class2::+}(1));
- nullable2 = let final self::Class1? #t141 = n1 in #t141.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t142 = #t141{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t143 = nullable2 in let final self::Class2 #t144 = #t142.{self::Class2::[]}(#t143) in let final void #t145 = #t142.{self::Class2::[]=}(#t143, #t144.{self::Class2::+}(1)) in #t144;
- let final self::Class1? #t146 = n1 in #t146.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t147 = #t146{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t148 = nullable2 in let final self::Class2 #t149 = #t147.{self::Class2::[]}(#t148).{self::Class2::+}(1) in let final void #t150 = #t147.{self::Class2::[]=}(#t148, #t149) in #t149;
- nullable2 = let final self::Class1? #t151 = n1 in #t151.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t152 = #t151{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t153 = nullable2 in let final self::Class2 #t154 = #t152.{self::Class2::[]}(#t153).{self::Class2::+}(1) in let final void #t155 = #t152.{self::Class2::[]=}(#t153, #t154) in #t154;
- let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class2?} null : #t156{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]}(nullable2);
- let final self::Class1? #t157 = n1 in #t157.{core::Object::==}(null) ?{self::Class2?} null : #t157{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]=}(nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t158 = n1 in #t158.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t159 = #t158{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t160 = nullable2 in let final self::Class2 #t161 = new self::Class2::•() in let final void #t162 = #t159.{self::Class2::[]=}(#t160, #t161) in #t161;
- let final self::Class1? #t163 = n1 in #t163.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t164 = #t163{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]}(nullable2) in #t164.{core::Object::==}(null) ?{self::Class2?} null : #t164{self::Class2}.{self::Class2::nonNullable2Method}();
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t166 = #t165{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t167 = nullable2 in #t166.{self::Class2::[]=}(#t167, #t166.{self::Class2::[]}(#t167).{self::Class2::+}(0));
- nullable2 = let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t169 = #t168{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t170 = nullable2 in let final self::Class2 #t171 = #t169.{self::Class2::[]}(#t170).{self::Class2::+}(0) in let final void #t172 = #t169.{self::Class2::[]=}(#t170, #t171) in #t171;
- let final self::Class1? #t173 = n1 in #t173.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t174 = #t173{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t175 = nullable2 in #t174.{self::Class2::[]=}(#t175, #t174.{self::Class2::[]}(#t175).{self::Class2::+}(1));
- nullable2 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t177 = #t176{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t178 = nullable2 in let final self::Class2 #t179 = #t177.{self::Class2::[]}(#t178) in let final void #t180 = #t177.{self::Class2::[]=}(#t178, #t179.{self::Class2::+}(1)) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t182 = #t181{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t183 = nullable2 in let final self::Class2 #t184 = #t182.{self::Class2::[]}(#t183).{self::Class2::+}(1) in let final void #t185 = #t182.{self::Class2::[]=}(#t183, #t184) in #t184;
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = #t186{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = #t187.{self::Class2::[]}(#t188).{self::Class2::+}(1) in let final void #t190 = #t187.{self::Class2::[]=}(#t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = #t191{self::Class1}.{self::Class1::[]}(nullable1) in #t192.{core::Object::==}(null) ?{self::Class1?} null : #t192{self::Class1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = #t193{self::Class1}.{self::Class1::[]}(nullable1) in #t194.{core::Object::==}(null) ?{self::Class1?} null : #t194{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t195 = n1 in #t195.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t196 = #t195{self::Class1}.{self::Class1::[]}(nullable1) in #t196.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t197 = nullable1 in let final self::Class1 #t198 = new self::Class1::•() in let final void #t199 = #t196{self::Class1}.{self::Class1::[]=}(#t197, #t198) in #t198;
- let final self::Class1? #t200 = n1 in #t200.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t201 = #t200{self::Class1}.{self::Class1::[]}(nullable1) in #t201.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t202 = #t201{self::Class1}.{self::Class1::[]}(nullable1) in #t202.{core::Object::==}(null) ?{self::Class1?} null : #t202{self::Class1}.{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t203 = n1 in #t203.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t204 = #t203{self::Class1}.{self::Class1::[]}(nullable1) in #t204.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t205 = #t204{self::Class1}.{self::Class1::[]}(nullable1) in #t205.{core::Object::==}(null) ?{self::Class1?} null : #t205{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t206 = n1 in #t206.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t207 = #t206{self::Class1}.{self::Class1::[]}(nullable1) in #t207.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t208 = nullable1 in #t207{self::Class1}.{self::Class1::[]}(#t208).{core::Object::==}(null) ?{self::Class1?} #t207{self::Class1}.{self::Class1::[]=}(#t208, nullable1) : null;
- nullable1 = let final self::Class1? #t209 = n1 in #t209.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t210 = #t209{self::Class1}.{self::Class1::[]}(nullable1) in #t210.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t211 = nullable1 in let final self::Class1? #t212 = #t210{self::Class1}.{self::Class1::[]}(#t211) in #t212.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t213 = nullable1 in let final void #t214 = #t210{self::Class1}.{self::Class1::[]=}(#t211, #t213) in #t213 : #t212{self::Class1};
- let final self::Class3? #t215 = n3 in #t215.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t216 = #t215{self::Class3}.{self::Class3::[]}(nullable3) in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in #t216{self::Class2}.{self::Class2::[]=}(#t217, #t216{self::Class2}.{self::Class2::[]}(#t217).{self::Class2::+}(0));
- nullable2 = let final self::Class3? #t218 = n3 in #t218.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t219 = #t218{self::Class3}.{self::Class3::[]}(nullable3) in #t219.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t220 = nullable2 in let final self::Class2 #t221 = #t219{self::Class2}.{self::Class2::[]}(#t220).{self::Class2::+}(0) in let final void #t222 = #t219{self::Class2}.{self::Class2::[]=}(#t220, #t221) in #t221;
- let final self::Class3? #t223 = n3 in #t223.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t224 = #t223{self::Class3}.{self::Class3::[]}(nullable3) in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t225 = nullable2 in #t224{self::Class2}.{self::Class2::[]=}(#t225, #t224{self::Class2}.{self::Class2::[]}(#t225).{self::Class2::+}(1));
- nullable2 = let final self::Class3? #t226 = n3 in #t226.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t227 = #t226{self::Class3}.{self::Class3::[]}(nullable3) in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t228 = nullable2 in let final self::Class2 #t229 = #t227{self::Class2}.{self::Class2::[]}(#t228) in let final void #t230 = #t227{self::Class2}.{self::Class2::[]=}(#t228, #t229.{self::Class2::+}(1)) in #t229;
- let final self::Class3? #t231 = n3 in #t231.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t232 = #t231{self::Class3}.{self::Class3::[]}(nullable3) in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t233 = nullable2 in let final self::Class2 #t234 = #t232{self::Class2}.{self::Class2::[]}(#t233).{self::Class2::+}(1) in let final void #t235 = #t232{self::Class2}.{self::Class2::[]=}(#t233, #t234) in #t234;
- nullable2 = let final self::Class3? #t236 = n3 in #t236.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t237 = #t236{self::Class3}.{self::Class3::[]}(nullable3) in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t238 = nullable2 in let final self::Class2 #t239 = #t237{self::Class2}.{self::Class2::[]}(#t238).{self::Class2::+}(1) in let final void #t240 = #t237{self::Class2}.{self::Class2::[]=}(#t238, #t239) in #t239;
+ let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : #t84{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t85 = n1 in #t85 == null ?{self::Class1?} null : #t85{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ let final self::Class1? #t86 = n1 in #t86 == null ?{self::Class1?} null : let final self::Class1? #t87 = #t86{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t87 == null ?{self::Class1?} null : #t87{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t88 = n1 in #t88 == null ?{self::Class1?} null : #t88{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t89 = n1 in #t89 == null ?{self::Class1?} null : #t89{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = #t90{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t92 = nullable1 in let final self::Class1 #t93 = new self::Class1::•() in let final void #t94 = #t91.{self::Class1::[]=}(#t92, #t93){(self::Class1?, self::Class1?) → void} in #t93;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : let final self::Class1? #t96 = #t95{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t96 == null ?{self::Class1?} null : #t96{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t97 = n1 in #t97 == null ?{self::Class2?} null : let final self::Class2 #t98 = #t97{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t99 = nullable2 in #t98.{self::Class2::[]=}(#t99, #t98.{self::Class2::[]}(#t99){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t100 = n1 in #t100 == null ?{self::Class2?} null : let final self::Class2 #t101 = #t100{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t102 = nullable2 in let final self::Class2 #t103 = #t101.{self::Class2::[]}(#t102){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t104 = #t101.{self::Class2::[]=}(#t102, #t103){(self::Class2?, self::Class2?) → void} in #t103;
+ let final self::Class1? #t105 = n1 in #t105 == null ?{self::Class1?} null : let final self::Class1? #t106 = nullable1 in #t105{self::Class1}.{self::Class1::[]}(#t106){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t105{self::Class1}.{self::Class1::[]=}(#t106, nullable1){(self::Class1?, self::Class1?) → void} : null;
+ nullable1 = let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : let final self::Class1? #t108 = nullable1 in let final self::Class1? #t109 = #t107{self::Class1}.{self::Class1::[]}(#t108){(self::Class1?) → self::Class1?} in #t109 == null ?{self::Class1?} let final self::Class1? #t110 = nullable1 in let final void #t111 = #t107{self::Class1}.{self::Class1::[]=}(#t108, #t110){(self::Class1?, self::Class1?) → void} in #t110 : #t109{self::Class1};
+ let final self::Class2? #t112 = n2 in #t112 == null ?{self::Class2?} null : let final self::Class2? #t113 = nullable2 in #t112{self::Class2}.{self::Class2::[]=}(#t113, #t112{self::Class2}.{self::Class2::[]}(#t113){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t114 = n2 in #t114 == null ?{self::Class2?} null : let final self::Class2? #t115 = nullable2 in let final self::Class2 #t116 = #t114{self::Class2}.{self::Class2::[]}(#t115){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t117 = #t114{self::Class2}.{self::Class2::[]=}(#t115, #t116){(self::Class2?, self::Class2?) → void} in #t116;
+ let final self::Class2? #t118 = n2 in #t118 == null ?{self::Class2?} null : let final self::Class2? #t119 = nullable2 in #t118{self::Class2}.{self::Class2::[]=}(#t119, #t118{self::Class2}.{self::Class2::[]}(#t119){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t120 = n2 in #t120 == null ?{self::Class2?} null : let final self::Class2? #t121 = nullable2 in let final self::Class2 #t122 = #t120{self::Class2}.{self::Class2::[]}(#t121){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t123 = #t120{self::Class2}.{self::Class2::[]=}(#t121, #t122){(self::Class2?, self::Class2?) → void} in #t122;
+ let final self::Class2? #t124 = n2 in #t124 == null ?{self::Class2?} null : let final self::Class2? #t125 = nullable2 in #t124{self::Class2}.{self::Class2::[]=}(#t125, #t124{self::Class2}.{self::Class2::[]}(#t125){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t126 = n2 in #t126 == null ?{self::Class2?} null : let final self::Class2? #t127 = nullable2 in let final self::Class2 #t128 = #t126{self::Class2}.{self::Class2::[]}(#t127){(self::Class2?) → self::Class2} in let final void #t129 = #t126{self::Class2}.{self::Class2::[]=}(#t127, #t128.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t128;
+ let final self::Class2? #t130 = n2 in #t130 == null ?{self::Class2?} null : let final self::Class2? #t131 = nullable2 in let final self::Class2 #t132 = #t130{self::Class2}.{self::Class2::[]}(#t131){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t133 = #t130{self::Class2}.{self::Class2::[]=}(#t131, #t132){(self::Class2?, self::Class2?) → void} in #t132;
+ nullable2 = let final self::Class2? #t134 = n2 in #t134 == null ?{self::Class2?} null : let final self::Class2? #t135 = nullable2 in let final self::Class2 #t136 = #t134{self::Class2}.{self::Class2::[]}(#t135){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t137 = #t134{self::Class2}.{self::Class2::[]=}(#t135, #t136){(self::Class2?, self::Class2?) → void} in #t136;
+ let final self::Class1? #t138 = n1 in #t138 == null ?{self::Class2?} null : let final self::Class2 #t139 = #t138{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t140 = nullable2 in #t139.{self::Class2::[]=}(#t140, #t139.{self::Class2::[]}(#t140){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t141 = n1 in #t141 == null ?{self::Class2?} null : let final self::Class2 #t142 = #t141{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t143 = nullable2 in let final self::Class2 #t144 = #t142.{self::Class2::[]}(#t143){(self::Class2?) → self::Class2} in let final void #t145 = #t142.{self::Class2::[]=}(#t143, #t144.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t144;
+ let final self::Class1? #t146 = n1 in #t146 == null ?{self::Class2?} null : let final self::Class2 #t147 = #t146{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t148 = nullable2 in let final self::Class2 #t149 = #t147.{self::Class2::[]}(#t148){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t150 = #t147.{self::Class2::[]=}(#t148, #t149){(self::Class2?, self::Class2?) → void} in #t149;
+ nullable2 = let final self::Class1? #t151 = n1 in #t151 == null ?{self::Class2?} null : let final self::Class2 #t152 = #t151{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t153 = nullable2 in let final self::Class2 #t154 = #t152.{self::Class2::[]}(#t153){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t155 = #t152.{self::Class2::[]=}(#t153, #t154){(self::Class2?, self::Class2?) → void} in #t154;
+ let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class2?} null : #t156{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2};
+ let final self::Class1? #t157 = n1 in #t157 == null ?{self::Class2?} null : #t157{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]=}(nullable2, new self::Class2::•()){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t158 = n1 in #t158 == null ?{self::Class2?} null : let final self::Class2 #t159 = #t158{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t160 = nullable2 in let final self::Class2 #t161 = new self::Class2::•() in let final void #t162 = #t159.{self::Class2::[]=}(#t160, #t161){(self::Class2?, self::Class2?) → void} in #t161;
+ let final self::Class1? #t163 = n1 in #t163 == null ?{self::Class2?} null : let final self::Class2? #t164 = #t163{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in #t164 == null ?{self::Class2?} null : #t164{self::Class2}.{self::Class2::nonNullable2Method}(){() → self::Class2};
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class2?} null : let final self::Class2 #t166 = #t165{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t167 = nullable2 in #t166.{self::Class2::[]=}(#t167, #t166.{self::Class2::[]}(#t167){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class2?} null : let final self::Class2 #t169 = #t168{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t170 = nullable2 in let final self::Class2 #t171 = #t169.{self::Class2::[]}(#t170){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t172 = #t169.{self::Class2::[]=}(#t170, #t171){(self::Class2?, self::Class2?) → void} in #t171;
+ let final self::Class1? #t173 = n1 in #t173 == null ?{self::Class2?} null : let final self::Class2 #t174 = #t173{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t175 = nullable2 in #t174.{self::Class2::[]=}(#t175, #t174.{self::Class2::[]}(#t175){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class2?} null : let final self::Class2 #t177 = #t176{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t178 = nullable2 in let final self::Class2 #t179 = #t177.{self::Class2::[]}(#t178){(self::Class2?) → self::Class2} in let final void #t180 = #t177.{self::Class2::[]=}(#t178, #t179.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class2?} null : let final self::Class2 #t182 = #t181{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t183 = nullable2 in let final self::Class2 #t184 = #t182.{self::Class2::[]}(#t183){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t185 = #t182.{self::Class2::[]=}(#t183, #t184){(self::Class2?, self::Class2?) → void} in #t184;
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = #t186{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = #t187.{self::Class2::[]}(#t188){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t190 = #t187.{self::Class2::[]=}(#t188, #t189){(self::Class2?, self::Class2?) → void} in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = #t191{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t192 == null ?{self::Class1?} null : #t192{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = #t193{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t194 == null ?{self::Class1?} null : #t194{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ nullable1 = let final self::Class1? #t195 = n1 in #t195 == null ?{self::Class1?} null : let final self::Class1? #t196 = #t195{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t196 == null ?{self::Class1?} null : let final self::Class1? #t197 = nullable1 in let final self::Class1 #t198 = new self::Class1::•() in let final void #t199 = #t196{self::Class1}.{self::Class1::[]=}(#t197, #t198){(self::Class1?, self::Class1?) → void} in #t198;
+ let final self::Class1? #t200 = n1 in #t200 == null ?{self::Class1?} null : let final self::Class1? #t201 = #t200{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t201 == null ?{self::Class1?} null : let final self::Class1? #t202 = #t201{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t202 == null ?{self::Class1?} null : #t202{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t203 = n1 in #t203 == null ?{self::Class1?} null : let final self::Class1? #t204 = #t203{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t204 == null ?{self::Class1?} null : let final self::Class1? #t205 = #t204{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t205 == null ?{self::Class1?} null : #t205{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t206 = n1 in #t206 == null ?{self::Class1?} null : let final self::Class1? #t207 = #t206{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t207 == null ?{self::Class1?} null : let final self::Class1? #t208 = nullable1 in #t207{self::Class1}.{self::Class1::[]}(#t208){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t207{self::Class1}.{self::Class1::[]=}(#t208, nullable1){(self::Class1?, self::Class1?) → void} : null;
+ nullable1 = let final self::Class1? #t209 = n1 in #t209 == null ?{self::Class1?} null : let final self::Class1? #t210 = #t209{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t210 == null ?{self::Class1?} null : let final self::Class1? #t211 = nullable1 in let final self::Class1? #t212 = #t210{self::Class1}.{self::Class1::[]}(#t211){(self::Class1?) → self::Class1?} in #t212 == null ?{self::Class1?} let final self::Class1? #t213 = nullable1 in let final void #t214 = #t210{self::Class1}.{self::Class1::[]=}(#t211, #t213){(self::Class1?, self::Class1?) → void} in #t213 : #t212{self::Class1};
+ let final self::Class3? #t215 = n3 in #t215 == null ?{self::Class2?} null : let final self::Class2? #t216 = #t215{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in #t216{self::Class2}.{self::Class2::[]=}(#t217, #t216{self::Class2}.{self::Class2::[]}(#t217){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class3? #t218 = n3 in #t218 == null ?{self::Class2?} null : let final self::Class2? #t219 = #t218{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t219 == null ?{self::Class2?} null : let final self::Class2? #t220 = nullable2 in let final self::Class2 #t221 = #t219{self::Class2}.{self::Class2::[]}(#t220){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t222 = #t219{self::Class2}.{self::Class2::[]=}(#t220, #t221){(self::Class2?, self::Class2?) → void} in #t221;
+ let final self::Class3? #t223 = n3 in #t223 == null ?{self::Class2?} null : let final self::Class2? #t224 = #t223{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t224 == null ?{self::Class2?} null : let final self::Class2? #t225 = nullable2 in #t224{self::Class2}.{self::Class2::[]=}(#t225, #t224{self::Class2}.{self::Class2::[]}(#t225){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class3? #t226 = n3 in #t226 == null ?{self::Class2?} null : let final self::Class2? #t227 = #t226{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t227 == null ?{self::Class2?} null : let final self::Class2? #t228 = nullable2 in let final self::Class2 #t229 = #t227{self::Class2}.{self::Class2::[]}(#t228){(self::Class2?) → self::Class2} in let final void #t230 = #t227{self::Class2}.{self::Class2::[]=}(#t228, #t229.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t229;
+ let final self::Class3? #t231 = n3 in #t231 == null ?{self::Class2?} null : let final self::Class2? #t232 = #t231{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t232 == null ?{self::Class2?} null : let final self::Class2? #t233 = nullable2 in let final self::Class2 #t234 = #t232{self::Class2}.{self::Class2::[]}(#t233){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t235 = #t232{self::Class2}.{self::Class2::[]=}(#t233, #t234){(self::Class2?, self::Class2?) → void} in #t234;
+ nullable2 = let final self::Class3? #t236 = n3 in #t236 == null ?{self::Class2?} null : let final self::Class2? #t237 = #t236{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t237 == null ?{self::Class2?} null : let final self::Class2? #t238 = nullable2 in let final self::Class2 #t239 = #t237{self::Class2}.{self::Class2::[]}(#t238){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t240 = #t237{self::Class2}.{self::Class2::[]=}(#t238, #t239){(self::Class2?, self::Class2?) → void} in #t239;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t241 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:220:33: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
throws(() => n1?.nonNullable1 + 0);
- ^" in (let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class1?} null : #t242{self::Class1}.{self::Class1::nonNullable1}).{self::Class1::+}(0));
+ ^" in (let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class1?} null : #t242{self::Class1}.{self::Class1::nonNullable1}{self::Class1}).{self::Class1::+}(0){(core::int) → self::Class1?});
self::throws(() → void => let final Never #t243 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:221:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
throws(() => -n1?.nonNullable1);
- ^" in (let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class1?} null : #t244{self::Class1}.{self::Class1::nonNullable1}).{self::Class1::unary-}());
- let final self::Class2? #t245 = n2 in #t245.{core::Object::==}(null) ?{self::Class2?} null : #t245.{self::Class2::nonNullable2} = #t245.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- nullable2 = let final self::Class2? #t246 = n2 in #t246.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t247 = #t246.{self::Class2::nonNullable2}.{self::Class2::+}(0) in let final void #t248 = #t246.{self::Class2::nonNullable2} = #t247 in #t247;
- let final self::Class2? #t249 = n2 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t250 = #t249{self::Class2}.{self::Class2::nonNullable2} in #t250.{self::Class2::nonNullable2} = #t250.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- nullable2 = let final self::Class2? #t251 = n2 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = #t251{self::Class2}.{self::Class2::nonNullable2} in #t252.{self::Class2::nonNullable2} = #t252.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- let final self::Class2? #t253 = n2 in #t253.{core::Object::==}(null) ?{self::Class2?} null : #t253.{self::Class2::nonNullable2} = #t253.{self::Class2::nonNullable2}.{self::Class2::+}(1);
- nullable2 = let final self::Class2? #t254 = n2 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = #t254.{self::Class2::nonNullable2} in let final void #t256 = #t254.{self::Class2::nonNullable2} = #t255.{self::Class2::+}(1) in #t255;
- let final self::Class2? #t257 = n2 in #t257.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t258 = #t257.{self::Class2::nonNullable2}.{self::Class2::+}(1) in let final void #t259 = #t257.{self::Class2::nonNullable2} = #t258 in #t258;
- nullable2 = let final self::Class2? #t260 = n2 in #t260.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t261 = #t260.{self::Class2::nonNullable2}.{self::Class2::+}(1) in let final void #t262 = #t260.{self::Class2::nonNullable2} = #t261 in #t261;
+ ^" in (let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class1?} null : #t244{self::Class1}.{self::Class1::nonNullable1}{self::Class1}).{self::Class1::unary-}(){() → self::Class1?});
+ let final self::Class2? #t245 = n2 in #t245 == null ?{self::Class2?} null : #t245.{self::Class2::nonNullable2} = #t245.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t246 = n2 in #t246 == null ?{self::Class2?} null : let final self::Class2 #t247 = #t246.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t248 = #t246.{self::Class2::nonNullable2} = #t247 in #t247;
+ let final self::Class2? #t249 = n2 in #t249 == null ?{self::Class2?} null : let final self::Class2 #t250 = #t249{self::Class2}.{self::Class2::nonNullable2}{self::Class2} in #t250.{self::Class2::nonNullable2} = #t250.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t251 = n2 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = #t251{self::Class2}.{self::Class2::nonNullable2}{self::Class2} in #t252.{self::Class2::nonNullable2} = #t252.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ let final self::Class2? #t253 = n2 in #t253 == null ?{self::Class2?} null : #t253.{self::Class2::nonNullable2} = #t253.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t254 = n2 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = #t254.{self::Class2::nonNullable2}{self::Class2} in let final void #t256 = #t254.{self::Class2::nonNullable2} = #t255.{self::Class2::+}(1){(core::int) → self::Class2} in #t255;
+ let final self::Class2? #t257 = n2 in #t257 == null ?{self::Class2?} null : let final self::Class2 #t258 = #t257.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t259 = #t257.{self::Class2::nonNullable2} = #t258 in #t258;
+ nullable2 = let final self::Class2? #t260 = n2 in #t260 == null ?{self::Class2?} null : let final self::Class2 #t261 = #t260.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t262 = #t260.{self::Class2::nonNullable2} = #t261 in #t261;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t263 = n1 in #t263.{core::Object::==}(null) ?{self::Class1?} null : #t263.{self::Class1::nullable1}.{core::Object::==}(null) ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
- n1 = let final self::Class1? #t264 = n1 in #t264.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t265 = #t264.{self::Class1::nullable1} in #t265.{core::Object::==}(null) ?{self::Class1} #t264.{self::Class1::nullable1} = n1{self::Class1} : #t265{self::Class1};
- let final self::Class1? #t266 = n1 in #t266.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t267 = #t266{self::Class1}.{self::Class1::nonNullable1} in #t267.{self::Class1::nullable1}.{core::Object::==}(null) ?{self::Class1} #t267.{self::Class1::nullable1} = n1{self::Class1} : null;
- n1 = let final self::Class1? #t268 = n1 in #t268.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t269 = #t268{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1? #t270 = #t269.{self::Class1::nullable1} in #t270.{core::Object::==}(null) ?{self::Class1} #t269.{self::Class1::nullable1} = n1{self::Class1} : #t270{self::Class1};
- let final self::Class1? #t271 = n1 in #t271.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t272 = #t271{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1 #t273 = n1{self::Class1} in #t272.{self::Class1::[]}(#t273).{core::Object::==}(null) ?{self::Class1} #t272.{self::Class1::[]=}(#t273, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t274 = n1 in #t274.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t275 = #t274{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1 #t276 = n1{self::Class1} in let final self::Class1? #t277 = #t275.{self::Class1::[]}(#t276) in #t277.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t278 = n1{self::Class1} in let final void #t279 = #t275.{self::Class1::[]=}(#t276, #t278) in #t278 : #t277{self::Class1};
+ let final self::Class1? #t263 = n1 in #t263 == null ?{self::Class1?} null : #t263.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
+ n1 = let final self::Class1? #t264 = n1 in #t264 == null ?{self::Class1?} null : let final self::Class1? #t265 = #t264.{self::Class1::nullable1}{self::Class1?} in #t265 == null ?{self::Class1} #t264.{self::Class1::nullable1} = n1{self::Class1} : #t265{self::Class1};
+ let final self::Class1? #t266 = n1 in #t266 == null ?{self::Class1?} null : let final self::Class1 #t267 = #t266{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in #t267.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t267.{self::Class1::nullable1} = n1{self::Class1} : null;
+ n1 = let final self::Class1? #t268 = n1 in #t268 == null ?{self::Class1?} null : let final self::Class1 #t269 = #t268{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t270 = #t269.{self::Class1::nullable1}{self::Class1?} in #t270 == null ?{self::Class1} #t269.{self::Class1::nullable1} = n1{self::Class1} : #t270{self::Class1};
+ let final self::Class1? #t271 = n1 in #t271 == null ?{self::Class1?} null : let final self::Class1 #t272 = #t271{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t273 = n1{self::Class1} in #t272.{self::Class1::[]}(#t273){(self::Class1?) → self::Class1?} == null ?{self::Class1} #t272.{self::Class1::[]=}(#t273, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
+ n1 = let final self::Class1? #t274 = n1 in #t274 == null ?{self::Class1?} null : let final self::Class1 #t275 = #t274{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t276 = n1{self::Class1} in let final self::Class1? #t277 = #t275.{self::Class1::[]}(#t276){(self::Class1?) → self::Class1?} in #t277 == null ?{self::Class1} let final self::Class1 #t278 = n1{self::Class1} in let final void #t279 = #t275.{self::Class1::[]=}(#t276, #t278){(self::Class1?, self::Class1?) → void} in #t278 : #t277{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting.dart.weak.transformed.expect
index d6e1e8e..ed3bb8d 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting.dart.weak.transformed.expect
@@ -39,25 +39,25 @@
get property2() → self::Class2
return new self::Class2::•();
get nullable1() → self::Class1?
- return this.{self::Class1::property1};
+ return this.{self::Class1::property1}{self::Class1};
set nullable1(self::Class1? value) → void {
this.{self::Class1::property} = value;
}
method nonNullable1Method() → self::Class1
- return this.{self::Class1::nonNullable1};
+ return this.{self::Class1::nonNullable1}{self::Class1};
operator [](self::Class1? key) → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
operator []=(self::Class1? key, self::Class1? value) → void {
this.{self::Class1::property} = value;
}
operator +(core::int value) → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
operator unary-() → self::Class1?
- return this.{self::Class1::nullable1};
+ return this.{self::Class1::nullable1}{self::Class1?};
get nonNullable1() → self::Class1
- return this.{self::Class1::property1};
+ return this.{self::Class1::property1}{self::Class1};
get nonNullable2() → self::Class2
- return this.{self::Class1::property2};
+ return this.{self::Class1::property2}{self::Class2};
}
class Class2 extends core::Object {
synthetic constructor •() → self::Class2
@@ -67,17 +67,17 @@
return this;
set property(self::Class2 value) → void {}
method nonNullable2Method() → self::Class2
- return this.{self::Class2::nonNullable2};
+ return this.{self::Class2::nonNullable2}{self::Class2};
operator [](self::Class2? key) → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator []=(self::Class2? key, self::Class2? value) → void
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator +(core::int value) → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
operator unary-() → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
get nonNullable2() → self::Class2
- return this.{self::Class2::property};
+ return this.{self::Class2::property}{self::Class2};
set nonNullable2(self::Class2 value) → void {
this.{self::Class2::property} = value;
}
@@ -89,7 +89,7 @@
get property() → self::Class2?
return null;
operator [](self::Class3? key) → self::Class2?
- return this.{self::Class3::property};
+ return this.{self::Class3::property}{self::Class2?};
}
static method main() → dynamic {
self::propertyAccess(null);
@@ -99,168 +99,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : #t1{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : #t2{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : #t3{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t4 = n1 in #t4.{core::Object::==}(null) ?{self::Class1?} null : #t4{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t5 = n1 in #t5.{core::Object::==}(null) ?{self::Class1?} null : #t5{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t7 = #t6{self::Class1}.{self::Class1::nullable1} in #t7.{core::Object::==}(null) ?{self::Class1?} null : #t7{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = #t8{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t9.{core::Object::==}(null) ?{self::Class1?} null : #t9{self::Class1}.{self::Class1::nullable1};
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : #t10{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t11 = n1 in #t11.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t12 = #t11{self::Class1}.{self::Class1::nullable1} in #t12.{core::Object::==}(null) ?{self::Class1?} null : #t12{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = #t13{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t14.{core::Object::==}(null) ?{self::Class1?} null : #t14{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t15 = let final self::Class1? #t16 = n1 in #t16.{core::Object::==}(null) ?{self::Class1?} null : #t16{self::Class1}.{self::Class1::nullable1} in #t15.{core::Object::==}(null) ?{self::Class1?} null : #t15{self::Class1}.{self::Class1::nullable1};
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : #t1{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : #t2{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : #t3{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t4 = n1 in #t4 == null ?{self::Class1?} null : #t4{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t5 = n1 in #t5 == null ?{self::Class1?} null : #t5{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : let final self::Class1? #t7 = #t6{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t7 == null ?{self::Class1?} null : #t7{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = #t8{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t9 == null ?{self::Class1?} null : #t9{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : #t10{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t11 = n1 in #t11 == null ?{self::Class1?} null : let final self::Class1? #t12 = #t11{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t12 == null ?{self::Class1?} null : #t12{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = #t13{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t14 == null ?{self::Class1?} null : #t14{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t15 = let final self::Class1? #t16 = n1 in #t16 == null ?{self::Class1?} null : #t16{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t15 == null ?{self::Class1?} null : #t15{self::Class1}.{self::Class1::nullable1}{self::Class1?};
self::throws(() → void => let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:87:47: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in (let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : #t18{self::Class1}.{self::Class1::nullable1} = new self::Class1::•()).{self::Class1::nullable1});
+ ^^^^^^^^^" in (let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : #t18{self::Class1}.{self::Class1::nullable1} = new self::Class1::•()).{self::Class1::nullable1}{<nullable>}.{self::Class1?});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:88:43: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in (let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : #t20{self::Class1}.{self::Class1::nonNullable1Method}()).{self::Class1::nullable1});
- nullable1 = let final self::Class1? #t21 = n1 in #t21.{core::Object::==}(null) ?{self::Class1?} null : #t21{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t22 = n1 in #t22.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t23 = #t22{self::Class1}.{self::Class1::nullable1} in #t23.{core::Object::==}(null) ?{self::Class1?} null : #t23{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t25 = #t24{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t25.{core::Object::==}(null) ?{self::Class1?} null : #t25{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t26 = n1 in #t26.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t27 = #t26{self::Class1}.{self::Class1::nullable1} in #t27.{core::Object::==}(null) ?{self::Class1?} null : #t27{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : #t28{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t29 = n1 in #t29.{core::Object::==}(null) ?{self::Class1?} null : #t29{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t30 = n1 in #t30.{core::Object::==}(null) ?{self::Class1?} null : #t30{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t31 = n1 in #t31.{core::Object::==}(null) ?{self::Class1?} null : #t31{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : #t32{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t33 = n1 in #t33.{core::Object::==}(null) ?{self::Class1?} null : #t33{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t34 = n1 in #t34.{core::Object::==}(null) ?{self::Class1?} null : #t34{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t35 = n1 in #t35.{core::Object::==}(null) ?{self::Class1?} null : #t35{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : #t36{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t37 = n1 in #t37.{core::Object::==}(null) ?{self::Class1?} null : #t37{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : #t38{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : #t39{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t40 = n1 in #t40.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t41 = #t40{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} in #t41.{core::Object::==}(null) ?{self::Class1?} null : #t41{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : #t42{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t43 = n1 in #t43.{core::Object::==}(null) ?{self::Class1?} null : #t43{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t44 = n1 in #t44.{core::Object::==}(null) ?{self::Class1?} null : #t44{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : #t45{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t46 = n1 in #t46.{core::Object::==}(null) ?{self::Class1?} null : #t46{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t47 = n1 in #t47.{core::Object::==}(null) ?{self::Class1?} null : #t47{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t48 = n1 in #t48.{core::Object::==}(null) ?{self::Class1?} null : #t48{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nullable1};
- let final self::Class1? #t49 = n1 in #t49.{core::Object::==}(null) ?{self::Class1?} null : #t49{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : #t50{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : #t51{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t52 = n1 in #t52.{core::Object::==}(null) ?{self::Class1?} null : #t52{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t53 = n1 in #t53.{core::Object::==}(null) ?{self::Class1?} null : #t53{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : #t54{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : #t55{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : #t56{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : #t57{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : #t58{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : #t59{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t60 = n1 in #t60.{core::Object::==}(null) ?{self::Class1?} null : #t60{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t61 = n1 in #t61.{core::Object::==}(null) ?{self::Class1?} null : #t61{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : #t62{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t63 = n1 in #t63.{core::Object::==}(null) ?{self::Class1?} null : #t63{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : #t64{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1};
- let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : #t65{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t66 = n1 in #t66.{core::Object::==}(null) ?{self::Class1?} null : #t66{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t67 = n1 in #t67.{core::Object::==}(null) ?{self::Class1?} null : #t67{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : #t68{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t69 = n1 in #t69.{core::Object::==}(null) ?{self::Class1?} null : #t69{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t70 = n1 in #t70.{core::Object::==}(null) ?{self::Class1?} null : #t70{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : #t71{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t72 = n1 in #t72.{core::Object::==}(null) ?{self::Class1?} null : #t72{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t73 = n1 in #t73.{core::Object::==}(null) ?{self::Class1?} null : #t73{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- nullable1 = let final self::Class1? #t74 = n1 in #t74.{core::Object::==}(null) ?{self::Class1?} null : #t74{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t75 = n1 in #t75.{core::Object::==}(null) ?{self::Class1?} null : #t75{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- nullable1 = let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : #t76{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : #t77{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t78 = n1 in #t78.{core::Object::==}(null) ?{self::Class1?} null : #t78{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t79 = n1 in #t79.{core::Object::==}(null) ?{self::Class1?} null : #t79{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nullable1};
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : #t80{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nullable1} = new self::Class1::•();
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : #t81{self::Class1}.{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}().{self::Class1::nonNullable1Method}();
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t83 = #t82{self::Class1}.{self::Class1::nonNullable1Method}() in #t83.{core::Object::==}(null) ?{self::Class1?} null : #t83{self::Class1}.{self::Class1::nonNullable1Method}();
+ ^^^^^^^^^" in (let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : #t20{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}).{self::Class1::nullable1}{<nullable>}.{self::Class1?});
+ nullable1 = let final self::Class1? #t21 = n1 in #t21 == null ?{self::Class1?} null : #t21{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t22 = n1 in #t22 == null ?{self::Class1?} null : let final self::Class1? #t23 = #t22{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t23 == null ?{self::Class1?} null : #t23{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : let final self::Class1? #t25 = #t24{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t25 == null ?{self::Class1?} null : #t25{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t26 = n1 in #t26 == null ?{self::Class1?} null : let final self::Class1? #t27 = #t26{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t27 == null ?{self::Class1?} null : #t27{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : #t28{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t29 = n1 in #t29 == null ?{self::Class1?} null : #t29{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t30 = n1 in #t30 == null ?{self::Class1?} null : #t30{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t31 = n1 in #t31 == null ?{self::Class1?} null : #t31{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : #t32{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t33 = n1 in #t33 == null ?{self::Class1?} null : #t33{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t34 = n1 in #t34 == null ?{self::Class1?} null : #t34{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t35 = n1 in #t35 == null ?{self::Class1?} null : #t35{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : #t36{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t37 = n1 in #t37 == null ?{self::Class1?} null : #t37{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : #t38{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : #t39{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t40 = n1 in #t40 == null ?{self::Class1?} null : let final self::Class1? #t41 = #t40{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?} in #t41 == null ?{self::Class1?} null : #t41{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : #t42{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t43 = n1 in #t43 == null ?{self::Class1?} null : #t43{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t44 = n1 in #t44 == null ?{self::Class1?} null : #t44{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : #t45{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t46 = n1 in #t46 == null ?{self::Class1?} null : #t46{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t47 = n1 in #t47 == null ?{self::Class1?} null : #t47{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t48 = n1 in #t48 == null ?{self::Class1?} null : #t48{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t49 = n1 in #t49 == null ?{self::Class1?} null : #t49{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : #t50{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : #t51{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t52 = n1 in #t52 == null ?{self::Class1?} null : #t52{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t53 = n1 in #t53 == null ?{self::Class1?} null : #t53{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : #t54{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : #t55{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : #t56{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : #t57{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : #t58{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : #t59{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t60 = n1 in #t60 == null ?{self::Class1?} null : #t60{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t61 = n1 in #t61 == null ?{self::Class1?} null : #t61{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : #t62{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t63 = n1 in #t63 == null ?{self::Class1?} null : #t63{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : #t64{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : #t65{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t66 = n1 in #t66 == null ?{self::Class1?} null : #t66{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t67 = n1 in #t67 == null ?{self::Class1?} null : #t67{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : #t68{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t69 = n1 in #t69 == null ?{self::Class1?} null : #t69{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t70 = n1 in #t70 == null ?{self::Class1?} null : #t70{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : #t71{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t72 = n1 in #t72 == null ?{self::Class1?} null : #t72{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t73 = n1 in #t73 == null ?{self::Class1?} null : #t73{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ nullable1 = let final self::Class1? #t74 = n1 in #t74 == null ?{self::Class1?} null : #t74{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t75 = n1 in #t75 == null ?{self::Class1?} null : #t75{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ nullable1 = let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : #t76{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : #t77{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t78 = n1 in #t78 == null ?{self::Class1?} null : #t78{self::Class1}.{self::Class1::nullable1} = new self::Class1::•().{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t79 = n1 in #t79 == null ?{self::Class1?} null : #t79{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1}{self::Class1?};
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : #t80{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nullable1} = new self::Class1::•();
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : #t81{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : let final self::Class1? #t83 = #t82{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1} in #t83 == null ?{self::Class1?} null : #t83{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : #t84{self::Class1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t85 = n1 in #t85.{core::Object::==}(null) ?{self::Class1?} null : #t85{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- let final self::Class1? #t86 = n1 in #t86.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t87 = #t86{self::Class1}.{self::Class1::[]}(nullable1) in #t87.{core::Object::==}(null) ?{self::Class1?} null : #t87{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t88 = n1 in #t88.{core::Object::==}(null) ?{self::Class1?} null : #t88{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t89 = n1 in #t89.{core::Object::==}(null) ?{self::Class1?} null : #t89{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = #t90{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1? #t92 = nullable1 in let final self::Class1 #t93 = new self::Class1::•() in let final void #t94 = #t91.{self::Class1::[]=}(#t92, #t93) in #t93;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t96 = #t95{self::Class1}.{self::Class1::nonNullable1}.{self::Class1::[]}(nullable1) in #t96.{core::Object::==}(null) ?{self::Class1?} null : #t96{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t97 = n1 in #t97.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t98 = #t97{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t99 = nullable2 in #t98.{self::Class2::[]=}(#t99, #t98.{self::Class2::[]}(#t99).{self::Class2::+}(0));
- nullable2 = let final self::Class1? #t100 = n1 in #t100.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t101 = #t100{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t102 = nullable2 in let final self::Class2 #t103 = #t101.{self::Class2::[]}(#t102).{self::Class2::+}(0) in let final void #t104 = #t101.{self::Class2::[]=}(#t102, #t103) in #t103;
- let final self::Class1? #t105 = n1 in #t105.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t106 = nullable1 in #t105{self::Class1}.{self::Class1::[]}(#t106).{core::Object::==}(null) ?{self::Class1?} #t105{self::Class1}.{self::Class1::[]=}(#t106, nullable1) : null;
- nullable1 = let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t108 = nullable1 in let final self::Class1? #t109 = #t107{self::Class1}.{self::Class1::[]}(#t108) in #t109.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t110 = nullable1 in let final void #t111 = #t107{self::Class1}.{self::Class1::[]=}(#t108, #t110) in #t110 : #t109{self::Class1};
- let final self::Class2? #t112 = n2 in #t112.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t113 = nullable2 in #t112{self::Class2}.{self::Class2::[]=}(#t113, #t112{self::Class2}.{self::Class2::[]}(#t113).{self::Class2::+}(0));
- nullable2 = let final self::Class2? #t114 = n2 in #t114.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t115 = nullable2 in let final self::Class2 #t116 = #t114{self::Class2}.{self::Class2::[]}(#t115).{self::Class2::+}(0) in let final void #t117 = #t114{self::Class2}.{self::Class2::[]=}(#t115, #t116) in #t116;
- let final self::Class2? #t118 = n2 in #t118.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t119 = nullable2 in #t118{self::Class2}.{self::Class2::[]=}(#t119, #t118{self::Class2}.{self::Class2::[]}(#t119).{self::Class2::+}(0));
- nullable2 = let final self::Class2? #t120 = n2 in #t120.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t121 = nullable2 in let final self::Class2 #t122 = #t120{self::Class2}.{self::Class2::[]}(#t121).{self::Class2::+}(0) in let final void #t123 = #t120{self::Class2}.{self::Class2::[]=}(#t121, #t122) in #t122;
- let final self::Class2? #t124 = n2 in #t124.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t125 = nullable2 in #t124{self::Class2}.{self::Class2::[]=}(#t125, #t124{self::Class2}.{self::Class2::[]}(#t125).{self::Class2::+}(1));
- nullable2 = let final self::Class2? #t126 = n2 in #t126.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t127 = nullable2 in let final self::Class2 #t128 = #t126{self::Class2}.{self::Class2::[]}(#t127) in let final void #t129 = #t126{self::Class2}.{self::Class2::[]=}(#t127, #t128.{self::Class2::+}(1)) in #t128;
- let final self::Class2? #t130 = n2 in #t130.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t131 = nullable2 in let final self::Class2 #t132 = #t130{self::Class2}.{self::Class2::[]}(#t131).{self::Class2::+}(1) in let final void #t133 = #t130{self::Class2}.{self::Class2::[]=}(#t131, #t132) in #t132;
- nullable2 = let final self::Class2? #t134 = n2 in #t134.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t135 = nullable2 in let final self::Class2 #t136 = #t134{self::Class2}.{self::Class2::[]}(#t135).{self::Class2::+}(1) in let final void #t137 = #t134{self::Class2}.{self::Class2::[]=}(#t135, #t136) in #t136;
- let final self::Class1? #t138 = n1 in #t138.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t139 = #t138{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t140 = nullable2 in #t139.{self::Class2::[]=}(#t140, #t139.{self::Class2::[]}(#t140).{self::Class2::+}(1));
- nullable2 = let final self::Class1? #t141 = n1 in #t141.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t142 = #t141{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t143 = nullable2 in let final self::Class2 #t144 = #t142.{self::Class2::[]}(#t143) in let final void #t145 = #t142.{self::Class2::[]=}(#t143, #t144.{self::Class2::+}(1)) in #t144;
- let final self::Class1? #t146 = n1 in #t146.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t147 = #t146{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t148 = nullable2 in let final self::Class2 #t149 = #t147.{self::Class2::[]}(#t148).{self::Class2::+}(1) in let final void #t150 = #t147.{self::Class2::[]=}(#t148, #t149) in #t149;
- nullable2 = let final self::Class1? #t151 = n1 in #t151.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t152 = #t151{self::Class1}.{self::Class1::nonNullable2} in let final self::Class2? #t153 = nullable2 in let final self::Class2 #t154 = #t152.{self::Class2::[]}(#t153).{self::Class2::+}(1) in let final void #t155 = #t152.{self::Class2::[]=}(#t153, #t154) in #t154;
- let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class2?} null : #t156{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]}(nullable2);
- let final self::Class1? #t157 = n1 in #t157.{core::Object::==}(null) ?{self::Class2?} null : #t157{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]=}(nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t158 = n1 in #t158.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t159 = #t158{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t160 = nullable2 in let final self::Class2 #t161 = new self::Class2::•() in let final void #t162 = #t159.{self::Class2::[]=}(#t160, #t161) in #t161;
- let final self::Class1? #t163 = n1 in #t163.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t164 = #t163{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2).{self::Class2::[]}(nullable2) in #t164.{core::Object::==}(null) ?{self::Class2?} null : #t164{self::Class2}.{self::Class2::nonNullable2Method}();
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t166 = #t165{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t167 = nullable2 in #t166.{self::Class2::[]=}(#t167, #t166.{self::Class2::[]}(#t167).{self::Class2::+}(0));
- nullable2 = let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t169 = #t168{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t170 = nullable2 in let final self::Class2 #t171 = #t169.{self::Class2::[]}(#t170).{self::Class2::+}(0) in let final void #t172 = #t169.{self::Class2::[]=}(#t170, #t171) in #t171;
- let final self::Class1? #t173 = n1 in #t173.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t174 = #t173{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t175 = nullable2 in #t174.{self::Class2::[]=}(#t175, #t174.{self::Class2::[]}(#t175).{self::Class2::+}(1));
- nullable2 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t177 = #t176{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t178 = nullable2 in let final self::Class2 #t179 = #t177.{self::Class2::[]}(#t178) in let final void #t180 = #t177.{self::Class2::[]=}(#t178, #t179.{self::Class2::+}(1)) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t182 = #t181{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t183 = nullable2 in let final self::Class2 #t184 = #t182.{self::Class2::[]}(#t183).{self::Class2::+}(1) in let final void #t185 = #t182.{self::Class2::[]=}(#t183, #t184) in #t184;
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = #t186{self::Class1}.{self::Class1::nonNullable2}.{self::Class2::[]}(nullable2) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = #t187.{self::Class2::[]}(#t188).{self::Class2::+}(1) in let final void #t190 = #t187.{self::Class2::[]=}(#t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = #t191{self::Class1}.{self::Class1::[]}(nullable1) in #t192.{core::Object::==}(null) ?{self::Class1?} null : #t192{self::Class1}.{self::Class1::[]}(nullable1);
- let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = #t193{self::Class1}.{self::Class1::[]}(nullable1) in #t194.{core::Object::==}(null) ?{self::Class1?} null : #t194{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t195 = n1 in #t195.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t196 = #t195{self::Class1}.{self::Class1::[]}(nullable1) in #t196.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t197 = nullable1 in let final self::Class1 #t198 = new self::Class1::•() in let final void #t199 = #t196{self::Class1}.{self::Class1::[]=}(#t197, #t198) in #t198;
- let final self::Class1? #t200 = n1 in #t200.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t201 = #t200{self::Class1}.{self::Class1::[]}(nullable1) in #t201.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t202 = #t201{self::Class1}.{self::Class1::[]}(nullable1) in #t202.{core::Object::==}(null) ?{self::Class1?} null : #t202{self::Class1}.{self::Class1::nonNullable1Method}();
- nullable1 = let final self::Class1? #t203 = n1 in #t203.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t204 = #t203{self::Class1}.{self::Class1::[]}(nullable1) in #t204.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t205 = #t204{self::Class1}.{self::Class1::[]}(nullable1) in #t205.{core::Object::==}(null) ?{self::Class1?} null : #t205{self::Class1}.{self::Class1::nonNullable1Method}();
- let final self::Class1? #t206 = n1 in #t206.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t207 = #t206{self::Class1}.{self::Class1::[]}(nullable1) in #t207.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t208 = nullable1 in #t207{self::Class1}.{self::Class1::[]}(#t208).{core::Object::==}(null) ?{self::Class1?} #t207{self::Class1}.{self::Class1::[]=}(#t208, nullable1) : null;
- nullable1 = let final self::Class1? #t209 = n1 in #t209.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t210 = #t209{self::Class1}.{self::Class1::[]}(nullable1) in #t210.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t211 = nullable1 in let final self::Class1? #t212 = #t210{self::Class1}.{self::Class1::[]}(#t211) in #t212.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t213 = nullable1 in let final void #t214 = #t210{self::Class1}.{self::Class1::[]=}(#t211, #t213) in #t213 : #t212{self::Class1};
- let final self::Class3? #t215 = n3 in #t215.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t216 = #t215{self::Class3}.{self::Class3::[]}(nullable3) in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in #t216{self::Class2}.{self::Class2::[]=}(#t217, #t216{self::Class2}.{self::Class2::[]}(#t217).{self::Class2::+}(0));
- nullable2 = let final self::Class3? #t218 = n3 in #t218.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t219 = #t218{self::Class3}.{self::Class3::[]}(nullable3) in #t219.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t220 = nullable2 in let final self::Class2 #t221 = #t219{self::Class2}.{self::Class2::[]}(#t220).{self::Class2::+}(0) in let final void #t222 = #t219{self::Class2}.{self::Class2::[]=}(#t220, #t221) in #t221;
- let final self::Class3? #t223 = n3 in #t223.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t224 = #t223{self::Class3}.{self::Class3::[]}(nullable3) in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t225 = nullable2 in #t224{self::Class2}.{self::Class2::[]=}(#t225, #t224{self::Class2}.{self::Class2::[]}(#t225).{self::Class2::+}(1));
- nullable2 = let final self::Class3? #t226 = n3 in #t226.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t227 = #t226{self::Class3}.{self::Class3::[]}(nullable3) in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t228 = nullable2 in let final self::Class2 #t229 = #t227{self::Class2}.{self::Class2::[]}(#t228) in let final void #t230 = #t227{self::Class2}.{self::Class2::[]=}(#t228, #t229.{self::Class2::+}(1)) in #t229;
- let final self::Class3? #t231 = n3 in #t231.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t232 = #t231{self::Class3}.{self::Class3::[]}(nullable3) in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t233 = nullable2 in let final self::Class2 #t234 = #t232{self::Class2}.{self::Class2::[]}(#t233).{self::Class2::+}(1) in let final void #t235 = #t232{self::Class2}.{self::Class2::[]=}(#t233, #t234) in #t234;
- nullable2 = let final self::Class3? #t236 = n3 in #t236.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t237 = #t236{self::Class3}.{self::Class3::[]}(nullable3) in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t238 = nullable2 in let final self::Class2 #t239 = #t237{self::Class2}.{self::Class2::[]}(#t238).{self::Class2::+}(1) in let final void #t240 = #t237{self::Class2}.{self::Class2::[]=}(#t238, #t239) in #t239;
+ let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : #t84{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t85 = n1 in #t85 == null ?{self::Class1?} null : #t85{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ let final self::Class1? #t86 = n1 in #t86 == null ?{self::Class1?} null : let final self::Class1? #t87 = #t86{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t87 == null ?{self::Class1?} null : #t87{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t88 = n1 in #t88 == null ?{self::Class1?} null : #t88{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t89 = n1 in #t89 == null ?{self::Class1?} null : #t89{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = #t90{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t92 = nullable1 in let final self::Class1 #t93 = new self::Class1::•() in let final void #t94 = #t91.{self::Class1::[]=}(#t92, #t93){(self::Class1?, self::Class1?) → void} in #t93;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : let final self::Class1? #t96 = #t95{self::Class1}.{self::Class1::nonNullable1}{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t96 == null ?{self::Class1?} null : #t96{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t97 = n1 in #t97 == null ?{self::Class2?} null : let final self::Class2 #t98 = #t97{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t99 = nullable2 in #t98.{self::Class2::[]=}(#t99, #t98.{self::Class2::[]}(#t99){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t100 = n1 in #t100 == null ?{self::Class2?} null : let final self::Class2 #t101 = #t100{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t102 = nullable2 in let final self::Class2 #t103 = #t101.{self::Class2::[]}(#t102){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t104 = #t101.{self::Class2::[]=}(#t102, #t103){(self::Class2?, self::Class2?) → void} in #t103;
+ let final self::Class1? #t105 = n1 in #t105 == null ?{self::Class1?} null : let final self::Class1? #t106 = nullable1 in #t105{self::Class1}.{self::Class1::[]}(#t106){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t105{self::Class1}.{self::Class1::[]=}(#t106, nullable1){(self::Class1?, self::Class1?) → void} : null;
+ nullable1 = let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : let final self::Class1? #t108 = nullable1 in let final self::Class1? #t109 = #t107{self::Class1}.{self::Class1::[]}(#t108){(self::Class1?) → self::Class1?} in #t109 == null ?{self::Class1?} let final self::Class1? #t110 = nullable1 in let final void #t111 = #t107{self::Class1}.{self::Class1::[]=}(#t108, #t110){(self::Class1?, self::Class1?) → void} in #t110 : #t109{self::Class1};
+ let final self::Class2? #t112 = n2 in #t112 == null ?{self::Class2?} null : let final self::Class2? #t113 = nullable2 in #t112{self::Class2}.{self::Class2::[]=}(#t113, #t112{self::Class2}.{self::Class2::[]}(#t113){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t114 = n2 in #t114 == null ?{self::Class2?} null : let final self::Class2? #t115 = nullable2 in let final self::Class2 #t116 = #t114{self::Class2}.{self::Class2::[]}(#t115){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t117 = #t114{self::Class2}.{self::Class2::[]=}(#t115, #t116){(self::Class2?, self::Class2?) → void} in #t116;
+ let final self::Class2? #t118 = n2 in #t118 == null ?{self::Class2?} null : let final self::Class2? #t119 = nullable2 in #t118{self::Class2}.{self::Class2::[]=}(#t119, #t118{self::Class2}.{self::Class2::[]}(#t119){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t120 = n2 in #t120 == null ?{self::Class2?} null : let final self::Class2? #t121 = nullable2 in let final self::Class2 #t122 = #t120{self::Class2}.{self::Class2::[]}(#t121){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t123 = #t120{self::Class2}.{self::Class2::[]=}(#t121, #t122){(self::Class2?, self::Class2?) → void} in #t122;
+ let final self::Class2? #t124 = n2 in #t124 == null ?{self::Class2?} null : let final self::Class2? #t125 = nullable2 in #t124{self::Class2}.{self::Class2::[]=}(#t125, #t124{self::Class2}.{self::Class2::[]}(#t125){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class2? #t126 = n2 in #t126 == null ?{self::Class2?} null : let final self::Class2? #t127 = nullable2 in let final self::Class2 #t128 = #t126{self::Class2}.{self::Class2::[]}(#t127){(self::Class2?) → self::Class2} in let final void #t129 = #t126{self::Class2}.{self::Class2::[]=}(#t127, #t128.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t128;
+ let final self::Class2? #t130 = n2 in #t130 == null ?{self::Class2?} null : let final self::Class2? #t131 = nullable2 in let final self::Class2 #t132 = #t130{self::Class2}.{self::Class2::[]}(#t131){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t133 = #t130{self::Class2}.{self::Class2::[]=}(#t131, #t132){(self::Class2?, self::Class2?) → void} in #t132;
+ nullable2 = let final self::Class2? #t134 = n2 in #t134 == null ?{self::Class2?} null : let final self::Class2? #t135 = nullable2 in let final self::Class2 #t136 = #t134{self::Class2}.{self::Class2::[]}(#t135){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t137 = #t134{self::Class2}.{self::Class2::[]=}(#t135, #t136){(self::Class2?, self::Class2?) → void} in #t136;
+ let final self::Class1? #t138 = n1 in #t138 == null ?{self::Class2?} null : let final self::Class2 #t139 = #t138{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t140 = nullable2 in #t139.{self::Class2::[]=}(#t140, #t139.{self::Class2::[]}(#t140){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t141 = n1 in #t141 == null ?{self::Class2?} null : let final self::Class2 #t142 = #t141{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t143 = nullable2 in let final self::Class2 #t144 = #t142.{self::Class2::[]}(#t143){(self::Class2?) → self::Class2} in let final void #t145 = #t142.{self::Class2::[]=}(#t143, #t144.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t144;
+ let final self::Class1? #t146 = n1 in #t146 == null ?{self::Class2?} null : let final self::Class2 #t147 = #t146{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t148 = nullable2 in let final self::Class2 #t149 = #t147.{self::Class2::[]}(#t148){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t150 = #t147.{self::Class2::[]=}(#t148, #t149){(self::Class2?, self::Class2?) → void} in #t149;
+ nullable2 = let final self::Class1? #t151 = n1 in #t151 == null ?{self::Class2?} null : let final self::Class2 #t152 = #t151{self::Class1}.{self::Class1::nonNullable2}{self::Class2} in let final self::Class2? #t153 = nullable2 in let final self::Class2 #t154 = #t152.{self::Class2::[]}(#t153){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t155 = #t152.{self::Class2::[]=}(#t153, #t154){(self::Class2?, self::Class2?) → void} in #t154;
+ let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class2?} null : #t156{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2};
+ let final self::Class1? #t157 = n1 in #t157 == null ?{self::Class2?} null : #t157{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]=}(nullable2, new self::Class2::•()){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t158 = n1 in #t158 == null ?{self::Class2?} null : let final self::Class2 #t159 = #t158{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t160 = nullable2 in let final self::Class2 #t161 = new self::Class2::•() in let final void #t162 = #t159.{self::Class2::[]=}(#t160, #t161){(self::Class2?, self::Class2?) → void} in #t161;
+ let final self::Class1? #t163 = n1 in #t163 == null ?{self::Class2?} null : let final self::Class2? #t164 = #t163{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in #t164 == null ?{self::Class2?} null : #t164{self::Class2}.{self::Class2::nonNullable2Method}(){() → self::Class2};
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class2?} null : let final self::Class2 #t166 = #t165{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t167 = nullable2 in #t166.{self::Class2::[]=}(#t167, #t166.{self::Class2::[]}(#t167){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class2?} null : let final self::Class2 #t169 = #t168{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t170 = nullable2 in let final self::Class2 #t171 = #t169.{self::Class2::[]}(#t170){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t172 = #t169.{self::Class2::[]=}(#t170, #t171){(self::Class2?, self::Class2?) → void} in #t171;
+ let final self::Class1? #t173 = n1 in #t173 == null ?{self::Class2?} null : let final self::Class2 #t174 = #t173{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t175 = nullable2 in #t174.{self::Class2::[]=}(#t175, #t174.{self::Class2::[]}(#t175){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class2?} null : let final self::Class2 #t177 = #t176{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t178 = nullable2 in let final self::Class2 #t179 = #t177.{self::Class2::[]}(#t178){(self::Class2?) → self::Class2} in let final void #t180 = #t177.{self::Class2::[]=}(#t178, #t179.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class2?} null : let final self::Class2 #t182 = #t181{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t183 = nullable2 in let final self::Class2 #t184 = #t182.{self::Class2::[]}(#t183){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t185 = #t182.{self::Class2::[]=}(#t183, #t184){(self::Class2?, self::Class2?) → void} in #t184;
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = #t186{self::Class1}.{self::Class1::nonNullable2}{self::Class2}.{self::Class2::[]}(nullable2){(self::Class2?) → self::Class2} in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = #t187.{self::Class2::[]}(#t188){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t190 = #t187.{self::Class2::[]=}(#t188, #t189){(self::Class2?, self::Class2?) → void} in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = #t191{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t192 == null ?{self::Class1?} null : #t192{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?};
+ let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = #t193{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t194 == null ?{self::Class1?} null : #t194{self::Class1}.{self::Class1::[]=}(nullable1, new self::Class1::•()){(self::Class1?, self::Class1?) → void};
+ nullable1 = let final self::Class1? #t195 = n1 in #t195 == null ?{self::Class1?} null : let final self::Class1? #t196 = #t195{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t196 == null ?{self::Class1?} null : let final self::Class1? #t197 = nullable1 in let final self::Class1 #t198 = new self::Class1::•() in let final void #t199 = #t196{self::Class1}.{self::Class1::[]=}(#t197, #t198){(self::Class1?, self::Class1?) → void} in #t198;
+ let final self::Class1? #t200 = n1 in #t200 == null ?{self::Class1?} null : let final self::Class1? #t201 = #t200{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t201 == null ?{self::Class1?} null : let final self::Class1? #t202 = #t201{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t202 == null ?{self::Class1?} null : #t202{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ nullable1 = let final self::Class1? #t203 = n1 in #t203 == null ?{self::Class1?} null : let final self::Class1? #t204 = #t203{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t204 == null ?{self::Class1?} null : let final self::Class1? #t205 = #t204{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t205 == null ?{self::Class1?} null : #t205{self::Class1}.{self::Class1::nonNullable1Method}(){() → self::Class1};
+ let final self::Class1? #t206 = n1 in #t206 == null ?{self::Class1?} null : let final self::Class1? #t207 = #t206{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t207 == null ?{self::Class1?} null : let final self::Class1? #t208 = nullable1 in #t207{self::Class1}.{self::Class1::[]}(#t208){(self::Class1?) → self::Class1?} == null ?{self::Class1?} #t207{self::Class1}.{self::Class1::[]=}(#t208, nullable1){(self::Class1?, self::Class1?) → void} : null;
+ nullable1 = let final self::Class1? #t209 = n1 in #t209 == null ?{self::Class1?} null : let final self::Class1? #t210 = #t209{self::Class1}.{self::Class1::[]}(nullable1){(self::Class1?) → self::Class1?} in #t210 == null ?{self::Class1?} null : let final self::Class1? #t211 = nullable1 in let final self::Class1? #t212 = #t210{self::Class1}.{self::Class1::[]}(#t211){(self::Class1?) → self::Class1?} in #t212 == null ?{self::Class1?} let final self::Class1? #t213 = nullable1 in let final void #t214 = #t210{self::Class1}.{self::Class1::[]=}(#t211, #t213){(self::Class1?, self::Class1?) → void} in #t213 : #t212{self::Class1};
+ let final self::Class3? #t215 = n3 in #t215 == null ?{self::Class2?} null : let final self::Class2? #t216 = #t215{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in #t216{self::Class2}.{self::Class2::[]=}(#t217, #t216{self::Class2}.{self::Class2::[]}(#t217){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class3? #t218 = n3 in #t218 == null ?{self::Class2?} null : let final self::Class2? #t219 = #t218{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t219 == null ?{self::Class2?} null : let final self::Class2? #t220 = nullable2 in let final self::Class2 #t221 = #t219{self::Class2}.{self::Class2::[]}(#t220){(self::Class2?) → self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t222 = #t219{self::Class2}.{self::Class2::[]=}(#t220, #t221){(self::Class2?, self::Class2?) → void} in #t221;
+ let final self::Class3? #t223 = n3 in #t223 == null ?{self::Class2?} null : let final self::Class2? #t224 = #t223{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t224 == null ?{self::Class2?} null : let final self::Class2? #t225 = nullable2 in #t224{self::Class2}.{self::Class2::[]=}(#t225, #t224{self::Class2}.{self::Class2::[]}(#t225){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void};
+ nullable2 = let final self::Class3? #t226 = n3 in #t226 == null ?{self::Class2?} null : let final self::Class2? #t227 = #t226{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t227 == null ?{self::Class2?} null : let final self::Class2? #t228 = nullable2 in let final self::Class2 #t229 = #t227{self::Class2}.{self::Class2::[]}(#t228){(self::Class2?) → self::Class2} in let final void #t230 = #t227{self::Class2}.{self::Class2::[]=}(#t228, #t229.{self::Class2::+}(1){(core::int) → self::Class2}){(self::Class2?, self::Class2?) → void} in #t229;
+ let final self::Class3? #t231 = n3 in #t231 == null ?{self::Class2?} null : let final self::Class2? #t232 = #t231{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t232 == null ?{self::Class2?} null : let final self::Class2? #t233 = nullable2 in let final self::Class2 #t234 = #t232{self::Class2}.{self::Class2::[]}(#t233){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t235 = #t232{self::Class2}.{self::Class2::[]=}(#t233, #t234){(self::Class2?, self::Class2?) → void} in #t234;
+ nullable2 = let final self::Class3? #t236 = n3 in #t236 == null ?{self::Class2?} null : let final self::Class2? #t237 = #t236{self::Class3}.{self::Class3::[]}(nullable3){(self::Class3?) → self::Class2?} in #t237 == null ?{self::Class2?} null : let final self::Class2? #t238 = nullable2 in let final self::Class2 #t239 = #t237{self::Class2}.{self::Class2::[]}(#t238){(self::Class2?) → self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t240 = #t237{self::Class2}.{self::Class2::[]=}(#t238, #t239){(self::Class2?, self::Class2?) → void} in #t239;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t241 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:220:33: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
throws(() => n1?.nonNullable1 + 0);
- ^" in (let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class1?} null : #t242{self::Class1}.{self::Class1::nonNullable1}).{self::Class1::+}(0));
+ ^" in (let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class1?} null : #t242{self::Class1}.{self::Class1::nonNullable1}{self::Class1}).{self::Class1::+}(0){(core::int) → self::Class1?});
self::throws(() → void => let final Never #t243 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting.dart:221:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting.dart'.
throws(() => -n1?.nonNullable1);
- ^" in (let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class1?} null : #t244{self::Class1}.{self::Class1::nonNullable1}).{self::Class1::unary-}());
- let final self::Class2? #t245 = n2 in #t245.{core::Object::==}(null) ?{self::Class2?} null : #t245.{self::Class2::nonNullable2} = #t245.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- nullable2 = let final self::Class2? #t246 = n2 in #t246.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t247 = #t246.{self::Class2::nonNullable2}.{self::Class2::+}(0) in let final void #t248 = #t246.{self::Class2::nonNullable2} = #t247 in #t247;
- let final self::Class2? #t249 = n2 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t250 = #t249{self::Class2}.{self::Class2::nonNullable2} in #t250.{self::Class2::nonNullable2} = #t250.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- nullable2 = let final self::Class2? #t251 = n2 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = #t251{self::Class2}.{self::Class2::nonNullable2} in #t252.{self::Class2::nonNullable2} = #t252.{self::Class2::nonNullable2}.{self::Class2::+}(0);
- let final self::Class2? #t253 = n2 in #t253.{core::Object::==}(null) ?{self::Class2?} null : #t253.{self::Class2::nonNullable2} = #t253.{self::Class2::nonNullable2}.{self::Class2::+}(1);
- nullable2 = let final self::Class2? #t254 = n2 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = #t254.{self::Class2::nonNullable2} in let final void #t256 = #t254.{self::Class2::nonNullable2} = #t255.{self::Class2::+}(1) in #t255;
- let final self::Class2? #t257 = n2 in #t257.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t258 = #t257.{self::Class2::nonNullable2}.{self::Class2::+}(1) in let final void #t259 = #t257.{self::Class2::nonNullable2} = #t258 in #t258;
- nullable2 = let final self::Class2? #t260 = n2 in #t260.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t261 = #t260.{self::Class2::nonNullable2}.{self::Class2::+}(1) in let final void #t262 = #t260.{self::Class2::nonNullable2} = #t261 in #t261;
+ ^" in (let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class1?} null : #t244{self::Class1}.{self::Class1::nonNullable1}{self::Class1}).{self::Class1::unary-}(){() → self::Class1?});
+ let final self::Class2? #t245 = n2 in #t245 == null ?{self::Class2?} null : #t245.{self::Class2::nonNullable2} = #t245.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t246 = n2 in #t246 == null ?{self::Class2?} null : let final self::Class2 #t247 = #t246.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2} in let final void #t248 = #t246.{self::Class2::nonNullable2} = #t247 in #t247;
+ let final self::Class2? #t249 = n2 in #t249 == null ?{self::Class2?} null : let final self::Class2 #t250 = #t249{self::Class2}.{self::Class2::nonNullable2}{self::Class2} in #t250.{self::Class2::nonNullable2} = #t250.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t251 = n2 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = #t251{self::Class2}.{self::Class2::nonNullable2}{self::Class2} in #t252.{self::Class2::nonNullable2} = #t252.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(0){(core::int) → self::Class2};
+ let final self::Class2? #t253 = n2 in #t253 == null ?{self::Class2?} null : #t253.{self::Class2::nonNullable2} = #t253.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2};
+ nullable2 = let final self::Class2? #t254 = n2 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = #t254.{self::Class2::nonNullable2}{self::Class2} in let final void #t256 = #t254.{self::Class2::nonNullable2} = #t255.{self::Class2::+}(1){(core::int) → self::Class2} in #t255;
+ let final self::Class2? #t257 = n2 in #t257 == null ?{self::Class2?} null : let final self::Class2 #t258 = #t257.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t259 = #t257.{self::Class2::nonNullable2} = #t258 in #t258;
+ nullable2 = let final self::Class2? #t260 = n2 in #t260 == null ?{self::Class2?} null : let final self::Class2 #t261 = #t260.{self::Class2::nonNullable2}{self::Class2}.{self::Class2::+}(1){(core::int) → self::Class2} in let final void #t262 = #t260.{self::Class2::nonNullable2} = #t261 in #t261;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t263 = n1 in #t263.{core::Object::==}(null) ?{self::Class1?} null : #t263.{self::Class1::nullable1}.{core::Object::==}(null) ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
- n1 = let final self::Class1? #t264 = n1 in #t264.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t265 = #t264.{self::Class1::nullable1} in #t265.{core::Object::==}(null) ?{self::Class1} #t264.{self::Class1::nullable1} = n1{self::Class1} : #t265{self::Class1};
- let final self::Class1? #t266 = n1 in #t266.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t267 = #t266{self::Class1}.{self::Class1::nonNullable1} in #t267.{self::Class1::nullable1}.{core::Object::==}(null) ?{self::Class1} #t267.{self::Class1::nullable1} = n1{self::Class1} : null;
- n1 = let final self::Class1? #t268 = n1 in #t268.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t269 = #t268{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1? #t270 = #t269.{self::Class1::nullable1} in #t270.{core::Object::==}(null) ?{self::Class1} #t269.{self::Class1::nullable1} = n1{self::Class1} : #t270{self::Class1};
- let final self::Class1? #t271 = n1 in #t271.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t272 = #t271{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1 #t273 = n1{self::Class1} in #t272.{self::Class1::[]}(#t273).{core::Object::==}(null) ?{self::Class1} #t272.{self::Class1::[]=}(#t273, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t274 = n1 in #t274.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t275 = #t274{self::Class1}.{self::Class1::nonNullable1} in let final self::Class1 #t276 = n1{self::Class1} in let final self::Class1? #t277 = #t275.{self::Class1::[]}(#t276) in #t277.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t278 = n1{self::Class1} in let final void #t279 = #t275.{self::Class1::[]=}(#t276, #t278) in #t278 : #t277{self::Class1};
+ let final self::Class1? #t263 = n1 in #t263 == null ?{self::Class1?} null : #t263.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t263.{self::Class1::nullable1} = n1{self::Class1} : null;
+ n1 = let final self::Class1? #t264 = n1 in #t264 == null ?{self::Class1?} null : let final self::Class1? #t265 = #t264.{self::Class1::nullable1}{self::Class1?} in #t265 == null ?{self::Class1} #t264.{self::Class1::nullable1} = n1{self::Class1} : #t265{self::Class1};
+ let final self::Class1? #t266 = n1 in #t266 == null ?{self::Class1?} null : let final self::Class1 #t267 = #t266{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in #t267.{self::Class1::nullable1}{self::Class1?} == null ?{self::Class1} #t267.{self::Class1::nullable1} = n1{self::Class1} : null;
+ n1 = let final self::Class1? #t268 = n1 in #t268 == null ?{self::Class1?} null : let final self::Class1 #t269 = #t268{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1? #t270 = #t269.{self::Class1::nullable1}{self::Class1?} in #t270 == null ?{self::Class1} #t269.{self::Class1::nullable1} = n1{self::Class1} : #t270{self::Class1};
+ let final self::Class1? #t271 = n1 in #t271 == null ?{self::Class1?} null : let final self::Class1 #t272 = #t271{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t273 = n1{self::Class1} in #t272.{self::Class1::[]}(#t273){(self::Class1?) → self::Class1?} == null ?{self::Class1} #t272.{self::Class1::[]=}(#t273, n1{self::Class1}){(self::Class1?, self::Class1?) → void} : null;
+ n1 = let final self::Class1? #t274 = n1 in #t274 == null ?{self::Class1?} null : let final self::Class1 #t275 = #t274{self::Class1}.{self::Class1::nonNullable1}{self::Class1} in let final self::Class1 #t276 = n1{self::Class1} in let final self::Class1? #t277 = #t275.{self::Class1::[]}(#t276){(self::Class1?) → self::Class1?} in #t277 == null ?{self::Class1} let final self::Class1 #t278 = n1{self::Class1} in let final void #t279 = #t275.{self::Class1::[]=}(#t276, #t278){(self::Class1?, self::Class1?) → void} in #t278 : #t277{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.strong.expect
index a139a5e..740e044 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.strong.expect
@@ -19,17 +19,17 @@
return () → self::Class => self::Extension|extensionMethod(#this);
static method main() → dynamic {
self::Class? c;
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : block {
- #t1{self::Class}.{self::Class::method}();
+ let final self::Class? #t1 = c in #t1 == null ?{self::Class?} null : block {
+ #t1{self::Class}.{self::Class::method}(){() → self::Class};
} =>#t1;
- let final self::Class? #t2 = c in #t2.{core::Object::==}(null) ?{self::Class?} null : block {
- #t2{self::Class}.{self::Class::method}();
- #t2{self::Class}.{self::Class::method}();
+ let final self::Class? #t2 = c in #t2 == null ?{self::Class?} null : block {
+ #t2{self::Class}.{self::Class::method}(){() → self::Class};
+ #t2{self::Class}.{self::Class::method}(){() → self::Class};
} =>#t2;
- let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{self::Class?} null : block {
+ let final self::Class? #t3 = c in #t3 == null ?{self::Class?} null : block {
self::Extension|extensionMethod(#t3{self::Class});
} =>#t3;
- let final self::Class? #t4 = c in #t4.{core::Object::==}(null) ?{self::Class?} null : block {
+ let final self::Class? #t4 = c in #t4 == null ?{self::Class?} null : block {
self::Extension|extensionMethod(#t4{self::Class});
self::Extension|extensionMethod(#t4{self::Class});
} =>#t4;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.strong.transformed.expect
index a139a5e..740e044 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.strong.transformed.expect
@@ -19,17 +19,17 @@
return () → self::Class => self::Extension|extensionMethod(#this);
static method main() → dynamic {
self::Class? c;
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : block {
- #t1{self::Class}.{self::Class::method}();
+ let final self::Class? #t1 = c in #t1 == null ?{self::Class?} null : block {
+ #t1{self::Class}.{self::Class::method}(){() → self::Class};
} =>#t1;
- let final self::Class? #t2 = c in #t2.{core::Object::==}(null) ?{self::Class?} null : block {
- #t2{self::Class}.{self::Class::method}();
- #t2{self::Class}.{self::Class::method}();
+ let final self::Class? #t2 = c in #t2 == null ?{self::Class?} null : block {
+ #t2{self::Class}.{self::Class::method}(){() → self::Class};
+ #t2{self::Class}.{self::Class::method}(){() → self::Class};
} =>#t2;
- let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{self::Class?} null : block {
+ let final self::Class? #t3 = c in #t3 == null ?{self::Class?} null : block {
self::Extension|extensionMethod(#t3{self::Class});
} =>#t3;
- let final self::Class? #t4 = c in #t4.{core::Object::==}(null) ?{self::Class?} null : block {
+ let final self::Class? #t4 = c in #t4 == null ?{self::Class?} null : block {
self::Extension|extensionMethod(#t4{self::Class});
self::Extension|extensionMethod(#t4{self::Class});
} =>#t4;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.expect
index a139a5e..740e044 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.expect
@@ -19,17 +19,17 @@
return () → self::Class => self::Extension|extensionMethod(#this);
static method main() → dynamic {
self::Class? c;
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : block {
- #t1{self::Class}.{self::Class::method}();
+ let final self::Class? #t1 = c in #t1 == null ?{self::Class?} null : block {
+ #t1{self::Class}.{self::Class::method}(){() → self::Class};
} =>#t1;
- let final self::Class? #t2 = c in #t2.{core::Object::==}(null) ?{self::Class?} null : block {
- #t2{self::Class}.{self::Class::method}();
- #t2{self::Class}.{self::Class::method}();
+ let final self::Class? #t2 = c in #t2 == null ?{self::Class?} null : block {
+ #t2{self::Class}.{self::Class::method}(){() → self::Class};
+ #t2{self::Class}.{self::Class::method}(){() → self::Class};
} =>#t2;
- let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{self::Class?} null : block {
+ let final self::Class? #t3 = c in #t3 == null ?{self::Class?} null : block {
self::Extension|extensionMethod(#t3{self::Class});
} =>#t3;
- let final self::Class? #t4 = c in #t4.{core::Object::==}(null) ?{self::Class?} null : block {
+ let final self::Class? #t4 = c in #t4 == null ?{self::Class?} null : block {
self::Extension|extensionMethod(#t4{self::Class});
self::Extension|extensionMethod(#t4{self::Class});
} =>#t4;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.transformed.expect
index a139a5e..740e044 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.transformed.expect
@@ -19,17 +19,17 @@
return () → self::Class => self::Extension|extensionMethod(#this);
static method main() → dynamic {
self::Class? c;
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : block {
- #t1{self::Class}.{self::Class::method}();
+ let final self::Class? #t1 = c in #t1 == null ?{self::Class?} null : block {
+ #t1{self::Class}.{self::Class::method}(){() → self::Class};
} =>#t1;
- let final self::Class? #t2 = c in #t2.{core::Object::==}(null) ?{self::Class?} null : block {
- #t2{self::Class}.{self::Class::method}();
- #t2{self::Class}.{self::Class::method}();
+ let final self::Class? #t2 = c in #t2 == null ?{self::Class?} null : block {
+ #t2{self::Class}.{self::Class::method}(){() → self::Class};
+ #t2{self::Class}.{self::Class::method}(){() → self::Class};
} =>#t2;
- let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{self::Class?} null : block {
+ let final self::Class? #t3 = c in #t3 == null ?{self::Class?} null : block {
self::Extension|extensionMethod(#t3{self::Class});
} =>#t3;
- let final self::Class? #t4 = c in #t4.{core::Object::==}(null) ?{self::Class?} null : block {
+ let final self::Class? #t4 = c in #t4 == null ?{self::Class?} null : block {
self::Extension|extensionMethod(#t4{self::Class});
self::Extension|extensionMethod(#t4{self::Class});
} =>#t4;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.strong.expect
index 5146cf7..25e39a1 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.strong.expect
@@ -80,7 +80,7 @@
operator [] = self::Extension3|[];
}
static method Extension1|get#nullable1(lowered final self::Class1 #this) → self::Class1?
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|set#nullable1(lowered final self::Class1 #this, self::Class1? value) → void {
#this.{self::Class1::property} = value;
}
@@ -98,28 +98,28 @@
static method Extension1|unary-(lowered final self::Class1 #this) → self::Class1?
return self::Extension1|get#nullable1(#this);
static method Extension1|get#nonNullable1(lowered final self::Class1 #this) → self::Class1
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|get#nonNullable2(lowered final self::Class1 #this) → self::Class2
- return #this.{self::Class1::property2};
+ return #this.{self::Class1::property2}{self::Class2};
static method Extension2|nonNullable2Method(lowered final self::Class2 #this) → self::Class2
return self::Extension2|get#nonNullable2(#this);
static method Extension2|get#nonNullable2Method(lowered final self::Class2 #this) → () → self::Class2
return () → self::Class2 => self::Extension2|nonNullable2Method(#this);
static method Extension2|[](lowered final self::Class2 #this, self::Class2? key) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|[]=(lowered final self::Class2 #this, self::Class2? key, self::Class2? value) → void
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|+(lowered final self::Class2 #this, core::int value) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|unary-(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|get#nonNullable2(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|set#nonNullable2(lowered final self::Class2 #this, self::Class2 value) → void {
#this.{self::Class2::property} = value;
}
static method Extension3|[](lowered final self::Class3 #this, self::Class3? key) → self::Class2?
- return #this.{self::Class3::property};
+ return #this.{self::Class3::property}{self::Class2?};
static method main() → dynamic {
self::propertyAccess(null);
self::indexAccess(null, null, null);
@@ -128,168 +128,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
- let final self::Class1? #t7 = n1 in #t7.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
- let final self::Class1? #t12 = n1 in #t12.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
- let final self::Class1? #t15 = n1 in #t15.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
- let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
+ let final self::Class1? #t7 = n1 in #t7 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
+ let final self::Class1? #t12 = n1 in #t12 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t15 = n1 in #t15 == null ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:93:59: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
Try accessing using ?. instead.
throws(() => (Extension1(n1)?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
self::throws(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:94:55: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
Try accessing using ?. instead.
throws(() => (Extension1(n1)?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
- nullable1 = let final self::Class1? #t25 = n1 in #t25.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
- nullable1 = let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
- nullable1 = let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
- let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
- let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
- let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
- let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
- let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
- let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
- let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
- let final self::Class1? #t83 = n1 in #t83.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
- let final self::Class1? #t87 = n1 in #t87.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t96 = n1 in #t96.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
- let final self::Class1? #t99 = n1 in #t99.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
- nullable1 = let final self::Class1? #t102 = n1 in #t102.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
- let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
- nullable1 = let final self::Class1? #t112 = n1 in #t112.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
- let final self::Class1? #t119 = n1 in #t119.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
- nullable1 = let final self::Class1? #t122 = n1 in #t122.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
- let final self::Class1? #t127 = n1 in #t127.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t128 = n1 in #t128.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
- let final self::Class1? #t131 = n1 in #t131.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
- nullable1 = let final self::Class1? #t134 = n1 in #t134.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
- let final self::Class1? #t139 = n1 in #t139.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t140 = n1 in #t140.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
- let final self::Class1? #t143 = n1 in #t143.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
- let final self::Class1? #t144 = n1 in #t144.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t145 = n1 in #t145.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
- let final self::Class1? #t148 = n1 in #t148.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
- let final self::Class1? #t149 = n1 in #t149.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t150 = n1 in #t150.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
- let final self::Class1? #t153 = n1 in #t153.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
- nullable1 = let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
- let final self::Class1? #t161 = n1 in #t161.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t162 = n1 in #t162.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
- let final self::Class1? #t166 = n1 in #t166.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
- let final self::Class1? #t167 = n1 in #t167.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
- let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
+ nullable1 = let final self::Class1? #t25 = n1 in #t25 == null ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
+ nullable1 = let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29 == null ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
+ nullable1 = let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33 == null ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
+ let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
+ let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
+ let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
+ let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
+ let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
+ let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
+ let final self::Class1? #t83 = n1 in #t83 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
+ let final self::Class1? #t87 = n1 in #t87 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t96 = n1 in #t96 == null ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
+ let final self::Class1? #t99 = n1 in #t99 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
+ nullable1 = let final self::Class1? #t102 = n1 in #t102 == null ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
+ let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
+ nullable1 = let final self::Class1? #t112 = n1 in #t112 == null ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
+ let final self::Class1? #t119 = n1 in #t119 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
+ nullable1 = let final self::Class1? #t122 = n1 in #t122 == null ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
+ let final self::Class1? #t127 = n1 in #t127 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t128 = n1 in #t128 == null ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
+ let final self::Class1? #t131 = n1 in #t131 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
+ nullable1 = let final self::Class1? #t134 = n1 in #t134 == null ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
+ let final self::Class1? #t139 = n1 in #t139 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t140 = n1 in #t140 == null ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
+ let final self::Class1? #t143 = n1 in #t143 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
+ let final self::Class1? #t144 = n1 in #t144 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t145 = n1 in #t145 == null ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
+ let final self::Class1? #t148 = n1 in #t148 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
+ let final self::Class1? #t149 = n1 in #t149 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t150 = n1 in #t150 == null ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
+ let final self::Class1? #t153 = n1 in #t153 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
+ nullable1 = let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
+ let final self::Class1? #t161 = n1 in #t161 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t162 = n1 in #t162 == null ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
+ let final self::Class1? #t166 = n1 in #t166 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t167 = n1 in #t167 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
+ let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t170 = n1 in #t170.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
- let final self::Class1? #t171 = n1 in #t171.{core::Object::==}(null) ?{void} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
- let final self::Class1? #t172 = n1 in #t172.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
- let final self::Class1? #t174 = n1 in #t174.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
- let final self::Class1? #t175 = n1 in #t175.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
- let final self::Class1? #t183 = n1 in #t183.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
- nullable1 = let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
- let final self::Class2? #t198 = n2 in #t198.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
- nullable2 = let final self::Class2? #t200 = n2 in #t200.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
- let final self::Class2? #t204 = n2 in #t204.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
- nullable2 = let final self::Class2? #t206 = n2 in #t206.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
- let final self::Class2? #t210 = n2 in #t210.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
- nullable2 = let final self::Class2? #t212 = n2 in #t212.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
- let final self::Class2? #t216 = n2 in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
- nullable2 = let final self::Class2? #t220 = n2 in #t220.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
- let final self::Class1? #t224 = n1 in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
- nullable2 = let final self::Class1? #t227 = n1 in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
- let final self::Class1? #t232 = n1 in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
- nullable2 = let final self::Class1? #t237 = n1 in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
- let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
- let final self::Class1? #t243 = n1 in #t243.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
- let final self::Class1? #t249 = n1 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
- let final self::Class1? #t251 = n1 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
- nullable2 = let final self::Class1? #t254 = n1 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
- let final self::Class1? #t259 = n1 in #t259.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
- nullable2 = let final self::Class1? #t262 = n1 in #t262.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
- let final self::Class1? #t267 = n1 in #t267.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
- nullable2 = let final self::Class1? #t272 = n1 in #t272.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
- let final self::Class1? #t277 = n1 in #t277.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
- let final self::Class1? #t279 = n1 in #t279.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t281 = n1 in #t281.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
- let final self::Class1? #t286 = n1 in #t286.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
- nullable1 = let final self::Class1? #t289 = n1 in #t289.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
- let final self::Class1? #t292 = n1 in #t292.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
- nullable1 = let final self::Class1? #t295 = n1 in #t295.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
- let final self::Class3? #t301 = n3 in #t301.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
- nullable2 = let final self::Class3? #t304 = n3 in #t304.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
- let final self::Class3? #t309 = n3 in #t309.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
- nullable2 = let final self::Class3? #t312 = n3 in #t312.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
- let final self::Class3? #t317 = n3 in #t317.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
- nullable2 = let final self::Class3? #t322 = n3 in #t322.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
+ let final self::Class1? #t170 = n1 in #t170 == null ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
+ let final self::Class1? #t171 = n1 in #t171 == null ?{void} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
+ let final self::Class1? #t172 = n1 in #t172 == null ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
+ let final self::Class1? #t174 = n1 in #t174 == null ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
+ let final self::Class1? #t175 = n1 in #t175 == null ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
+ let final self::Class1? #t183 = n1 in #t183 == null ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192) == null ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
+ nullable1 = let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195 == null ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
+ let final self::Class2? #t198 = n2 in #t198 == null ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
+ nullable2 = let final self::Class2? #t200 = n2 in #t200 == null ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
+ let final self::Class2? #t204 = n2 in #t204 == null ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
+ nullable2 = let final self::Class2? #t206 = n2 in #t206 == null ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
+ let final self::Class2? #t210 = n2 in #t210 == null ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
+ nullable2 = let final self::Class2? #t212 = n2 in #t212 == null ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
+ let final self::Class2? #t216 = n2 in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
+ nullable2 = let final self::Class2? #t220 = n2 in #t220 == null ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
+ let final self::Class1? #t224 = n1 in #t224 == null ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
+ nullable2 = let final self::Class1? #t227 = n1 in #t227 == null ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
+ let final self::Class1? #t232 = n1 in #t232 == null ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
+ nullable2 = let final self::Class1? #t237 = n1 in #t237 == null ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
+ let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
+ let final self::Class1? #t243 = n1 in #t243 == null ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
+ nullable2 = let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
+ let final self::Class1? #t249 = n1 in #t249 == null ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250 == null ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
+ let final self::Class1? #t251 = n1 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
+ nullable2 = let final self::Class1? #t254 = n1 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
+ let final self::Class1? #t259 = n1 in #t259 == null ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
+ nullable2 = let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
+ let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
+ nullable2 = let final self::Class1? #t272 = n1 in #t272 == null ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
+ let final self::Class1? #t277 = n1 in #t277 == null ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278 == null ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
+ let final self::Class1? #t279 = n1 in #t279 == null ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280 == null ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t281 = n1 in #t281 == null ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282 == null ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
+ let final self::Class1? #t286 = n1 in #t286 == null ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287 == null ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
+ nullable1 = let final self::Class1? #t289 = n1 in #t289 == null ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290 == null ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
+ let final self::Class1? #t292 = n1 in #t292 == null ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293 == null ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294) == null ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
+ nullable1 = let final self::Class1? #t295 = n1 in #t295 == null ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296 == null ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298 == null ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
+ let final self::Class3? #t301 = n3 in #t301 == null ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302 == null ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
+ nullable2 = let final self::Class3? #t304 = n3 in #t304 == null ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305 == null ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
+ let final self::Class3? #t309 = n3 in #t309 == null ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310 == null ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
+ nullable2 = let final self::Class3? #t312 = n3 in #t312 == null ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313 == null ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
+ let final self::Class3? #t317 = n3 in #t317 == null ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318 == null ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
+ nullable2 = let final self::Class3? #t322 = n3 in #t322 == null ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323 == null ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t327 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:244:45: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
throws(() => Extension1(n1)?.nonNullable1 + 0);
- ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
+ ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
self::throws(() → void => let final Never #t329 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:245:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
throws(() => -Extension1(n1)?.nonNullable1);
- ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
- let final self::Class2? #t331 = n2 in #t331.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t331{self::Class2}), 0));
- nullable2 = let final self::Class2? #t332 = n2 in #t332.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332{self::Class2}), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332{self::Class2}, #t333) in #t333;
- let final self::Class2? #t335 = n2 in #t335.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
- nullable2 = let final self::Class2? #t337 = n2 in #t337.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
- let final self::Class2? #t341 = n2 in #t341.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t341{self::Class2}), 1));
- nullable2 = let final self::Class2? #t342 = n2 in #t342.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342{self::Class2}) in let final self::Class2 #t344 = let final self::Class2 #t345 = self::Extension2|+(#t343, 1) in let final void #t346 = self::Extension2|set#nonNullable2(#t342{self::Class2}, #t345) in #t345 in #t343;
- let final self::Class2? #t347 = n2 in #t347.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t348 = self::Extension2|+(self::Extension2|get#nonNullable2(#t347{self::Class2}), 1) in let final void #t349 = self::Extension2|set#nonNullable2(#t347{self::Class2}, #t348) in #t348;
- nullable2 = let final self::Class2? #t350 = n2 in #t350.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t351 = self::Extension2|+(self::Extension2|get#nonNullable2(#t350{self::Class2}), 1) in let final void #t352 = self::Extension2|set#nonNullable2(#t350{self::Class2}, #t351) in #t351;
+ ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
+ let final self::Class2? #t331 = n2 in #t331 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t331{self::Class2}), 0));
+ nullable2 = let final self::Class2? #t332 = n2 in #t332 == null ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332{self::Class2}), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332{self::Class2}, #t333) in #t333;
+ let final self::Class2? #t335 = n2 in #t335 == null ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
+ nullable2 = let final self::Class2? #t337 = n2 in #t337 == null ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
+ let final self::Class2? #t341 = n2 in #t341 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t341{self::Class2}), 1));
+ nullable2 = let final self::Class2? #t342 = n2 in #t342 == null ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342{self::Class2}) in let final self::Class2 #t344 = let final self::Class2 #t345 = self::Extension2|+(#t343, 1) in let final void #t346 = self::Extension2|set#nonNullable2(#t342{self::Class2}, #t345) in #t345 in #t343;
+ let final self::Class2? #t347 = n2 in #t347 == null ?{self::Class2?} null : let final self::Class2 #t348 = self::Extension2|+(self::Extension2|get#nonNullable2(#t347{self::Class2}), 1) in let final void #t349 = self::Extension2|set#nonNullable2(#t347{self::Class2}, #t348) in #t348;
+ nullable2 = let final self::Class2? #t350 = n2 in #t350 == null ?{self::Class2?} null : let final self::Class2 #t351 = self::Extension2|+(self::Extension2|get#nonNullable2(#t350{self::Class2}), 1) in let final void #t352 = self::Extension2|set#nonNullable2(#t350{self::Class2}, #t351) in #t351;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t353 = n1 in #t353.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t353).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t353, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t354 = n1 in #t354.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t355 = self::Extension1|get#nullable1(#t354) in #t355.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t356 = n1{self::Class1} in let final void #t357 = self::Extension1|set#nullable1(#t354, #t356) in #t356 : #t355{self::Class1};
- let final self::Class1? #t358 = n1 in #t358.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in self::Extension1|get#nullable1(#t359).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t359, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t360 = n1 in #t360.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t361 = self::Extension1|get#nonNullable1(#t360{self::Class1}) in let final self::Class1? #t362 = self::Extension1|get#nullable1(#t361) in #t362.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t363 = n1{self::Class1} in let final void #t364 = self::Extension1|set#nullable1(#t361, #t363) in #t363 : #t362{self::Class1};
- let final self::Class1? #t365 = n1 in #t365.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t366 = self::Extension1|get#nonNullable1(#t365{self::Class1}) in let final self::Class1 #t367 = n1{self::Class1} in self::Extension1|[](#t366, #t367).{core::Object::==}(null) ?{self::Class1} self::Extension1|[]=(#t366, #t367, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t368 = n1 in #t368.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t369 = self::Extension1|get#nonNullable1(#t368{self::Class1}) in let final self::Class1 #t370 = n1{self::Class1} in let final self::Class1? #t371 = self::Extension1|[](#t369, #t370) in #t371.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t372 = n1{self::Class1} in let final void #t373 = self::Extension1|[]=(#t369, #t370, #t372) in #t372 : #t371{self::Class1};
+ let final self::Class1? #t353 = n1 in #t353 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t353) == null ?{self::Class1} self::Extension1|set#nullable1(#t353, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1? #t355 = self::Extension1|get#nullable1(#t354) in #t355 == null ?{self::Class1} let final self::Class1 #t356 = n1{self::Class1} in let final void #t357 = self::Extension1|set#nullable1(#t354, #t356) in #t356 : #t355{self::Class1};
+ let final self::Class1? #t358 = n1 in #t358 == null ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in self::Extension1|get#nullable1(#t359) == null ?{self::Class1} self::Extension1|set#nullable1(#t359, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t360 = n1 in #t360 == null ?{self::Class1?} null : let final self::Class1 #t361 = self::Extension1|get#nonNullable1(#t360{self::Class1}) in let final self::Class1? #t362 = self::Extension1|get#nullable1(#t361) in #t362 == null ?{self::Class1} let final self::Class1 #t363 = n1{self::Class1} in let final void #t364 = self::Extension1|set#nullable1(#t361, #t363) in #t363 : #t362{self::Class1};
+ let final self::Class1? #t365 = n1 in #t365 == null ?{self::Class1?} null : let final self::Class1 #t366 = self::Extension1|get#nonNullable1(#t365{self::Class1}) in let final self::Class1 #t367 = n1{self::Class1} in self::Extension1|[](#t366, #t367) == null ?{self::Class1} self::Extension1|[]=(#t366, #t367, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t368 = n1 in #t368 == null ?{self::Class1?} null : let final self::Class1 #t369 = self::Extension1|get#nonNullable1(#t368{self::Class1}) in let final self::Class1 #t370 = n1{self::Class1} in let final self::Class1? #t371 = self::Extension1|[](#t369, #t370) in #t371 == null ?{self::Class1} let final self::Class1 #t372 = n1{self::Class1} in let final void #t373 = self::Extension1|[]=(#t369, #t370, #t372) in #t372 : #t371{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.strong.transformed.expect
index 5146cf7..25e39a1 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.strong.transformed.expect
@@ -80,7 +80,7 @@
operator [] = self::Extension3|[];
}
static method Extension1|get#nullable1(lowered final self::Class1 #this) → self::Class1?
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|set#nullable1(lowered final self::Class1 #this, self::Class1? value) → void {
#this.{self::Class1::property} = value;
}
@@ -98,28 +98,28 @@
static method Extension1|unary-(lowered final self::Class1 #this) → self::Class1?
return self::Extension1|get#nullable1(#this);
static method Extension1|get#nonNullable1(lowered final self::Class1 #this) → self::Class1
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|get#nonNullable2(lowered final self::Class1 #this) → self::Class2
- return #this.{self::Class1::property2};
+ return #this.{self::Class1::property2}{self::Class2};
static method Extension2|nonNullable2Method(lowered final self::Class2 #this) → self::Class2
return self::Extension2|get#nonNullable2(#this);
static method Extension2|get#nonNullable2Method(lowered final self::Class2 #this) → () → self::Class2
return () → self::Class2 => self::Extension2|nonNullable2Method(#this);
static method Extension2|[](lowered final self::Class2 #this, self::Class2? key) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|[]=(lowered final self::Class2 #this, self::Class2? key, self::Class2? value) → void
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|+(lowered final self::Class2 #this, core::int value) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|unary-(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|get#nonNullable2(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|set#nonNullable2(lowered final self::Class2 #this, self::Class2 value) → void {
#this.{self::Class2::property} = value;
}
static method Extension3|[](lowered final self::Class3 #this, self::Class3? key) → self::Class2?
- return #this.{self::Class3::property};
+ return #this.{self::Class3::property}{self::Class2?};
static method main() → dynamic {
self::propertyAccess(null);
self::indexAccess(null, null, null);
@@ -128,168 +128,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
- let final self::Class1? #t7 = n1 in #t7.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
- let final self::Class1? #t12 = n1 in #t12.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
- let final self::Class1? #t15 = n1 in #t15.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
- let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
+ let final self::Class1? #t7 = n1 in #t7 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
+ let final self::Class1? #t12 = n1 in #t12 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t15 = n1 in #t15 == null ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:93:59: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
Try accessing using ?. instead.
throws(() => (Extension1(n1)?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
self::throws(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:94:55: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
Try accessing using ?. instead.
throws(() => (Extension1(n1)?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
- nullable1 = let final self::Class1? #t25 = n1 in #t25.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
- nullable1 = let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
- nullable1 = let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
- let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
- let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
- let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
- let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
- let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
- let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
- let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
- let final self::Class1? #t83 = n1 in #t83.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
- let final self::Class1? #t87 = n1 in #t87.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t96 = n1 in #t96.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
- let final self::Class1? #t99 = n1 in #t99.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
- nullable1 = let final self::Class1? #t102 = n1 in #t102.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
- let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
- nullable1 = let final self::Class1? #t112 = n1 in #t112.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
- let final self::Class1? #t119 = n1 in #t119.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
- nullable1 = let final self::Class1? #t122 = n1 in #t122.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
- let final self::Class1? #t127 = n1 in #t127.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t128 = n1 in #t128.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
- let final self::Class1? #t131 = n1 in #t131.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
- nullable1 = let final self::Class1? #t134 = n1 in #t134.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
- let final self::Class1? #t139 = n1 in #t139.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t140 = n1 in #t140.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
- let final self::Class1? #t143 = n1 in #t143.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
- let final self::Class1? #t144 = n1 in #t144.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t145 = n1 in #t145.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
- let final self::Class1? #t148 = n1 in #t148.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
- let final self::Class1? #t149 = n1 in #t149.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t150 = n1 in #t150.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
- let final self::Class1? #t153 = n1 in #t153.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
- nullable1 = let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
- let final self::Class1? #t161 = n1 in #t161.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t162 = n1 in #t162.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
- let final self::Class1? #t166 = n1 in #t166.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
- let final self::Class1? #t167 = n1 in #t167.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
- let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
+ nullable1 = let final self::Class1? #t25 = n1 in #t25 == null ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
+ nullable1 = let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29 == null ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
+ nullable1 = let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33 == null ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
+ let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
+ let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
+ let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
+ let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
+ let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
+ let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
+ let final self::Class1? #t83 = n1 in #t83 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
+ let final self::Class1? #t87 = n1 in #t87 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t96 = n1 in #t96 == null ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
+ let final self::Class1? #t99 = n1 in #t99 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
+ nullable1 = let final self::Class1? #t102 = n1 in #t102 == null ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
+ let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
+ nullable1 = let final self::Class1? #t112 = n1 in #t112 == null ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
+ let final self::Class1? #t119 = n1 in #t119 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
+ nullable1 = let final self::Class1? #t122 = n1 in #t122 == null ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
+ let final self::Class1? #t127 = n1 in #t127 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t128 = n1 in #t128 == null ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
+ let final self::Class1? #t131 = n1 in #t131 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
+ nullable1 = let final self::Class1? #t134 = n1 in #t134 == null ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
+ let final self::Class1? #t139 = n1 in #t139 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t140 = n1 in #t140 == null ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
+ let final self::Class1? #t143 = n1 in #t143 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
+ let final self::Class1? #t144 = n1 in #t144 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t145 = n1 in #t145 == null ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
+ let final self::Class1? #t148 = n1 in #t148 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
+ let final self::Class1? #t149 = n1 in #t149 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t150 = n1 in #t150 == null ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
+ let final self::Class1? #t153 = n1 in #t153 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
+ nullable1 = let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
+ let final self::Class1? #t161 = n1 in #t161 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t162 = n1 in #t162 == null ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
+ let final self::Class1? #t166 = n1 in #t166 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t167 = n1 in #t167 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
+ let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t170 = n1 in #t170.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
- let final self::Class1? #t171 = n1 in #t171.{core::Object::==}(null) ?{void} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
- let final self::Class1? #t172 = n1 in #t172.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
- let final self::Class1? #t174 = n1 in #t174.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
- let final self::Class1? #t175 = n1 in #t175.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
- let final self::Class1? #t183 = n1 in #t183.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
- nullable1 = let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
- let final self::Class2? #t198 = n2 in #t198.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
- nullable2 = let final self::Class2? #t200 = n2 in #t200.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
- let final self::Class2? #t204 = n2 in #t204.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
- nullable2 = let final self::Class2? #t206 = n2 in #t206.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
- let final self::Class2? #t210 = n2 in #t210.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
- nullable2 = let final self::Class2? #t212 = n2 in #t212.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
- let final self::Class2? #t216 = n2 in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
- nullable2 = let final self::Class2? #t220 = n2 in #t220.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
- let final self::Class1? #t224 = n1 in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
- nullable2 = let final self::Class1? #t227 = n1 in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
- let final self::Class1? #t232 = n1 in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
- nullable2 = let final self::Class1? #t237 = n1 in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
- let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
- let final self::Class1? #t243 = n1 in #t243.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
- let final self::Class1? #t249 = n1 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
- let final self::Class1? #t251 = n1 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
- nullable2 = let final self::Class1? #t254 = n1 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
- let final self::Class1? #t259 = n1 in #t259.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
- nullable2 = let final self::Class1? #t262 = n1 in #t262.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
- let final self::Class1? #t267 = n1 in #t267.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
- nullable2 = let final self::Class1? #t272 = n1 in #t272.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
- let final self::Class1? #t277 = n1 in #t277.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
- let final self::Class1? #t279 = n1 in #t279.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t281 = n1 in #t281.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
- let final self::Class1? #t286 = n1 in #t286.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
- nullable1 = let final self::Class1? #t289 = n1 in #t289.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
- let final self::Class1? #t292 = n1 in #t292.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
- nullable1 = let final self::Class1? #t295 = n1 in #t295.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
- let final self::Class3? #t301 = n3 in #t301.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
- nullable2 = let final self::Class3? #t304 = n3 in #t304.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
- let final self::Class3? #t309 = n3 in #t309.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
- nullable2 = let final self::Class3? #t312 = n3 in #t312.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
- let final self::Class3? #t317 = n3 in #t317.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
- nullable2 = let final self::Class3? #t322 = n3 in #t322.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
+ let final self::Class1? #t170 = n1 in #t170 == null ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
+ let final self::Class1? #t171 = n1 in #t171 == null ?{void} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
+ let final self::Class1? #t172 = n1 in #t172 == null ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
+ let final self::Class1? #t174 = n1 in #t174 == null ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
+ let final self::Class1? #t175 = n1 in #t175 == null ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
+ let final self::Class1? #t183 = n1 in #t183 == null ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192) == null ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
+ nullable1 = let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195 == null ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
+ let final self::Class2? #t198 = n2 in #t198 == null ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
+ nullable2 = let final self::Class2? #t200 = n2 in #t200 == null ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
+ let final self::Class2? #t204 = n2 in #t204 == null ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
+ nullable2 = let final self::Class2? #t206 = n2 in #t206 == null ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
+ let final self::Class2? #t210 = n2 in #t210 == null ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
+ nullable2 = let final self::Class2? #t212 = n2 in #t212 == null ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
+ let final self::Class2? #t216 = n2 in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
+ nullable2 = let final self::Class2? #t220 = n2 in #t220 == null ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
+ let final self::Class1? #t224 = n1 in #t224 == null ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
+ nullable2 = let final self::Class1? #t227 = n1 in #t227 == null ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
+ let final self::Class1? #t232 = n1 in #t232 == null ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
+ nullable2 = let final self::Class1? #t237 = n1 in #t237 == null ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
+ let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
+ let final self::Class1? #t243 = n1 in #t243 == null ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
+ nullable2 = let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
+ let final self::Class1? #t249 = n1 in #t249 == null ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250 == null ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
+ let final self::Class1? #t251 = n1 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
+ nullable2 = let final self::Class1? #t254 = n1 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
+ let final self::Class1? #t259 = n1 in #t259 == null ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
+ nullable2 = let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
+ let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
+ nullable2 = let final self::Class1? #t272 = n1 in #t272 == null ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
+ let final self::Class1? #t277 = n1 in #t277 == null ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278 == null ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
+ let final self::Class1? #t279 = n1 in #t279 == null ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280 == null ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t281 = n1 in #t281 == null ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282 == null ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
+ let final self::Class1? #t286 = n1 in #t286 == null ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287 == null ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
+ nullable1 = let final self::Class1? #t289 = n1 in #t289 == null ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290 == null ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
+ let final self::Class1? #t292 = n1 in #t292 == null ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293 == null ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294) == null ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
+ nullable1 = let final self::Class1? #t295 = n1 in #t295 == null ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296 == null ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298 == null ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
+ let final self::Class3? #t301 = n3 in #t301 == null ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302 == null ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
+ nullable2 = let final self::Class3? #t304 = n3 in #t304 == null ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305 == null ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
+ let final self::Class3? #t309 = n3 in #t309 == null ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310 == null ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
+ nullable2 = let final self::Class3? #t312 = n3 in #t312 == null ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313 == null ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
+ let final self::Class3? #t317 = n3 in #t317 == null ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318 == null ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
+ nullable2 = let final self::Class3? #t322 = n3 in #t322 == null ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323 == null ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t327 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:244:45: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
throws(() => Extension1(n1)?.nonNullable1 + 0);
- ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
+ ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
self::throws(() → void => let final Never #t329 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:245:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
throws(() => -Extension1(n1)?.nonNullable1);
- ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
- let final self::Class2? #t331 = n2 in #t331.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t331{self::Class2}), 0));
- nullable2 = let final self::Class2? #t332 = n2 in #t332.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332{self::Class2}), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332{self::Class2}, #t333) in #t333;
- let final self::Class2? #t335 = n2 in #t335.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
- nullable2 = let final self::Class2? #t337 = n2 in #t337.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
- let final self::Class2? #t341 = n2 in #t341.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t341{self::Class2}), 1));
- nullable2 = let final self::Class2? #t342 = n2 in #t342.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342{self::Class2}) in let final self::Class2 #t344 = let final self::Class2 #t345 = self::Extension2|+(#t343, 1) in let final void #t346 = self::Extension2|set#nonNullable2(#t342{self::Class2}, #t345) in #t345 in #t343;
- let final self::Class2? #t347 = n2 in #t347.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t348 = self::Extension2|+(self::Extension2|get#nonNullable2(#t347{self::Class2}), 1) in let final void #t349 = self::Extension2|set#nonNullable2(#t347{self::Class2}, #t348) in #t348;
- nullable2 = let final self::Class2? #t350 = n2 in #t350.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t351 = self::Extension2|+(self::Extension2|get#nonNullable2(#t350{self::Class2}), 1) in let final void #t352 = self::Extension2|set#nonNullable2(#t350{self::Class2}, #t351) in #t351;
+ ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
+ let final self::Class2? #t331 = n2 in #t331 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t331{self::Class2}), 0));
+ nullable2 = let final self::Class2? #t332 = n2 in #t332 == null ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332{self::Class2}), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332{self::Class2}, #t333) in #t333;
+ let final self::Class2? #t335 = n2 in #t335 == null ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
+ nullable2 = let final self::Class2? #t337 = n2 in #t337 == null ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
+ let final self::Class2? #t341 = n2 in #t341 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t341{self::Class2}), 1));
+ nullable2 = let final self::Class2? #t342 = n2 in #t342 == null ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342{self::Class2}) in let final self::Class2 #t344 = let final self::Class2 #t345 = self::Extension2|+(#t343, 1) in let final void #t346 = self::Extension2|set#nonNullable2(#t342{self::Class2}, #t345) in #t345 in #t343;
+ let final self::Class2? #t347 = n2 in #t347 == null ?{self::Class2?} null : let final self::Class2 #t348 = self::Extension2|+(self::Extension2|get#nonNullable2(#t347{self::Class2}), 1) in let final void #t349 = self::Extension2|set#nonNullable2(#t347{self::Class2}, #t348) in #t348;
+ nullable2 = let final self::Class2? #t350 = n2 in #t350 == null ?{self::Class2?} null : let final self::Class2 #t351 = self::Extension2|+(self::Extension2|get#nonNullable2(#t350{self::Class2}), 1) in let final void #t352 = self::Extension2|set#nonNullable2(#t350{self::Class2}, #t351) in #t351;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t353 = n1 in #t353.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t353).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t353, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t354 = n1 in #t354.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t355 = self::Extension1|get#nullable1(#t354) in #t355.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t356 = n1{self::Class1} in let final void #t357 = self::Extension1|set#nullable1(#t354, #t356) in #t356 : #t355{self::Class1};
- let final self::Class1? #t358 = n1 in #t358.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in self::Extension1|get#nullable1(#t359).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t359, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t360 = n1 in #t360.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t361 = self::Extension1|get#nonNullable1(#t360{self::Class1}) in let final self::Class1? #t362 = self::Extension1|get#nullable1(#t361) in #t362.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t363 = n1{self::Class1} in let final void #t364 = self::Extension1|set#nullable1(#t361, #t363) in #t363 : #t362{self::Class1};
- let final self::Class1? #t365 = n1 in #t365.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t366 = self::Extension1|get#nonNullable1(#t365{self::Class1}) in let final self::Class1 #t367 = n1{self::Class1} in self::Extension1|[](#t366, #t367).{core::Object::==}(null) ?{self::Class1} self::Extension1|[]=(#t366, #t367, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t368 = n1 in #t368.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t369 = self::Extension1|get#nonNullable1(#t368{self::Class1}) in let final self::Class1 #t370 = n1{self::Class1} in let final self::Class1? #t371 = self::Extension1|[](#t369, #t370) in #t371.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t372 = n1{self::Class1} in let final void #t373 = self::Extension1|[]=(#t369, #t370, #t372) in #t372 : #t371{self::Class1};
+ let final self::Class1? #t353 = n1 in #t353 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t353) == null ?{self::Class1} self::Extension1|set#nullable1(#t353, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1? #t355 = self::Extension1|get#nullable1(#t354) in #t355 == null ?{self::Class1} let final self::Class1 #t356 = n1{self::Class1} in let final void #t357 = self::Extension1|set#nullable1(#t354, #t356) in #t356 : #t355{self::Class1};
+ let final self::Class1? #t358 = n1 in #t358 == null ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in self::Extension1|get#nullable1(#t359) == null ?{self::Class1} self::Extension1|set#nullable1(#t359, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t360 = n1 in #t360 == null ?{self::Class1?} null : let final self::Class1 #t361 = self::Extension1|get#nonNullable1(#t360{self::Class1}) in let final self::Class1? #t362 = self::Extension1|get#nullable1(#t361) in #t362 == null ?{self::Class1} let final self::Class1 #t363 = n1{self::Class1} in let final void #t364 = self::Extension1|set#nullable1(#t361, #t363) in #t363 : #t362{self::Class1};
+ let final self::Class1? #t365 = n1 in #t365 == null ?{self::Class1?} null : let final self::Class1 #t366 = self::Extension1|get#nonNullable1(#t365{self::Class1}) in let final self::Class1 #t367 = n1{self::Class1} in self::Extension1|[](#t366, #t367) == null ?{self::Class1} self::Extension1|[]=(#t366, #t367, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t368 = n1 in #t368 == null ?{self::Class1?} null : let final self::Class1 #t369 = self::Extension1|get#nonNullable1(#t368{self::Class1}) in let final self::Class1 #t370 = n1{self::Class1} in let final self::Class1? #t371 = self::Extension1|[](#t369, #t370) in #t371 == null ?{self::Class1} let final self::Class1 #t372 = n1{self::Class1} in let final void #t373 = self::Extension1|[]=(#t369, #t370, #t372) in #t372 : #t371{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.expect
index 5146cf7..25e39a1 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.expect
@@ -80,7 +80,7 @@
operator [] = self::Extension3|[];
}
static method Extension1|get#nullable1(lowered final self::Class1 #this) → self::Class1?
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|set#nullable1(lowered final self::Class1 #this, self::Class1? value) → void {
#this.{self::Class1::property} = value;
}
@@ -98,28 +98,28 @@
static method Extension1|unary-(lowered final self::Class1 #this) → self::Class1?
return self::Extension1|get#nullable1(#this);
static method Extension1|get#nonNullable1(lowered final self::Class1 #this) → self::Class1
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|get#nonNullable2(lowered final self::Class1 #this) → self::Class2
- return #this.{self::Class1::property2};
+ return #this.{self::Class1::property2}{self::Class2};
static method Extension2|nonNullable2Method(lowered final self::Class2 #this) → self::Class2
return self::Extension2|get#nonNullable2(#this);
static method Extension2|get#nonNullable2Method(lowered final self::Class2 #this) → () → self::Class2
return () → self::Class2 => self::Extension2|nonNullable2Method(#this);
static method Extension2|[](lowered final self::Class2 #this, self::Class2? key) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|[]=(lowered final self::Class2 #this, self::Class2? key, self::Class2? value) → void
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|+(lowered final self::Class2 #this, core::int value) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|unary-(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|get#nonNullable2(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|set#nonNullable2(lowered final self::Class2 #this, self::Class2 value) → void {
#this.{self::Class2::property} = value;
}
static method Extension3|[](lowered final self::Class3 #this, self::Class3? key) → self::Class2?
- return #this.{self::Class3::property};
+ return #this.{self::Class3::property}{self::Class2?};
static method main() → dynamic {
self::propertyAccess(null);
self::indexAccess(null, null, null);
@@ -128,168 +128,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
- let final self::Class1? #t7 = n1 in #t7.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
- let final self::Class1? #t12 = n1 in #t12.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
- let final self::Class1? #t15 = n1 in #t15.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
- let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
+ let final self::Class1? #t7 = n1 in #t7 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
+ let final self::Class1? #t12 = n1 in #t12 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t15 = n1 in #t15 == null ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:93:59: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
Try accessing using ?. instead.
throws(() => (Extension1(n1)?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
self::throws(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:94:55: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
Try accessing using ?. instead.
throws(() => (Extension1(n1)?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
- nullable1 = let final self::Class1? #t25 = n1 in #t25.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
- nullable1 = let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
- nullable1 = let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
- let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
- let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
- let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
- let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
- let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
- let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
- let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
- let final self::Class1? #t83 = n1 in #t83.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
- let final self::Class1? #t87 = n1 in #t87.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t96 = n1 in #t96.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
- let final self::Class1? #t99 = n1 in #t99.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
- nullable1 = let final self::Class1? #t102 = n1 in #t102.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
- let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
- nullable1 = let final self::Class1? #t112 = n1 in #t112.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
- let final self::Class1? #t119 = n1 in #t119.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
- nullable1 = let final self::Class1? #t122 = n1 in #t122.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
- let final self::Class1? #t127 = n1 in #t127.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t128 = n1 in #t128.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
- let final self::Class1? #t131 = n1 in #t131.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
- nullable1 = let final self::Class1? #t134 = n1 in #t134.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
- let final self::Class1? #t139 = n1 in #t139.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t140 = n1 in #t140.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
- let final self::Class1? #t143 = n1 in #t143.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
- let final self::Class1? #t144 = n1 in #t144.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t145 = n1 in #t145.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
- let final self::Class1? #t148 = n1 in #t148.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
- let final self::Class1? #t149 = n1 in #t149.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t150 = n1 in #t150.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
- let final self::Class1? #t153 = n1 in #t153.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
- nullable1 = let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
- let final self::Class1? #t161 = n1 in #t161.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t162 = n1 in #t162.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
- let final self::Class1? #t166 = n1 in #t166.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
- let final self::Class1? #t167 = n1 in #t167.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
- let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
+ nullable1 = let final self::Class1? #t25 = n1 in #t25 == null ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
+ nullable1 = let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29 == null ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
+ nullable1 = let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33 == null ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
+ let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
+ let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
+ let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
+ let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
+ let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
+ let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
+ let final self::Class1? #t83 = n1 in #t83 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
+ let final self::Class1? #t87 = n1 in #t87 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t96 = n1 in #t96 == null ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
+ let final self::Class1? #t99 = n1 in #t99 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
+ nullable1 = let final self::Class1? #t102 = n1 in #t102 == null ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
+ let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
+ nullable1 = let final self::Class1? #t112 = n1 in #t112 == null ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
+ let final self::Class1? #t119 = n1 in #t119 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
+ nullable1 = let final self::Class1? #t122 = n1 in #t122 == null ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
+ let final self::Class1? #t127 = n1 in #t127 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t128 = n1 in #t128 == null ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
+ let final self::Class1? #t131 = n1 in #t131 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
+ nullable1 = let final self::Class1? #t134 = n1 in #t134 == null ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
+ let final self::Class1? #t139 = n1 in #t139 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t140 = n1 in #t140 == null ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
+ let final self::Class1? #t143 = n1 in #t143 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
+ let final self::Class1? #t144 = n1 in #t144 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t145 = n1 in #t145 == null ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
+ let final self::Class1? #t148 = n1 in #t148 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
+ let final self::Class1? #t149 = n1 in #t149 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t150 = n1 in #t150 == null ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
+ let final self::Class1? #t153 = n1 in #t153 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
+ nullable1 = let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
+ let final self::Class1? #t161 = n1 in #t161 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t162 = n1 in #t162 == null ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
+ let final self::Class1? #t166 = n1 in #t166 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t167 = n1 in #t167 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
+ let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t170 = n1 in #t170.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
- let final self::Class1? #t171 = n1 in #t171.{core::Object::==}(null) ?{void} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
- let final self::Class1? #t172 = n1 in #t172.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
- let final self::Class1? #t174 = n1 in #t174.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
- let final self::Class1? #t175 = n1 in #t175.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
- let final self::Class1? #t183 = n1 in #t183.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
- nullable1 = let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
- let final self::Class2? #t198 = n2 in #t198.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
- nullable2 = let final self::Class2? #t200 = n2 in #t200.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
- let final self::Class2? #t204 = n2 in #t204.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
- nullable2 = let final self::Class2? #t206 = n2 in #t206.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
- let final self::Class2? #t210 = n2 in #t210.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
- nullable2 = let final self::Class2? #t212 = n2 in #t212.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
- let final self::Class2? #t216 = n2 in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
- nullable2 = let final self::Class2? #t220 = n2 in #t220.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
- let final self::Class1? #t224 = n1 in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
- nullable2 = let final self::Class1? #t227 = n1 in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
- let final self::Class1? #t232 = n1 in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
- nullable2 = let final self::Class1? #t237 = n1 in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
- let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
- let final self::Class1? #t243 = n1 in #t243.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
- let final self::Class1? #t249 = n1 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
- let final self::Class1? #t251 = n1 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
- nullable2 = let final self::Class1? #t254 = n1 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
- let final self::Class1? #t259 = n1 in #t259.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
- nullable2 = let final self::Class1? #t262 = n1 in #t262.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
- let final self::Class1? #t267 = n1 in #t267.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
- nullable2 = let final self::Class1? #t272 = n1 in #t272.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
- let final self::Class1? #t277 = n1 in #t277.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
- let final self::Class1? #t279 = n1 in #t279.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t281 = n1 in #t281.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
- let final self::Class1? #t286 = n1 in #t286.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
- nullable1 = let final self::Class1? #t289 = n1 in #t289.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
- let final self::Class1? #t292 = n1 in #t292.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
- nullable1 = let final self::Class1? #t295 = n1 in #t295.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
- let final self::Class3? #t301 = n3 in #t301.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
- nullable2 = let final self::Class3? #t304 = n3 in #t304.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
- let final self::Class3? #t309 = n3 in #t309.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
- nullable2 = let final self::Class3? #t312 = n3 in #t312.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
- let final self::Class3? #t317 = n3 in #t317.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
- nullable2 = let final self::Class3? #t322 = n3 in #t322.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
+ let final self::Class1? #t170 = n1 in #t170 == null ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
+ let final self::Class1? #t171 = n1 in #t171 == null ?{void} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
+ let final self::Class1? #t172 = n1 in #t172 == null ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
+ let final self::Class1? #t174 = n1 in #t174 == null ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
+ let final self::Class1? #t175 = n1 in #t175 == null ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
+ let final self::Class1? #t183 = n1 in #t183 == null ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192) == null ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
+ nullable1 = let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195 == null ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
+ let final self::Class2? #t198 = n2 in #t198 == null ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
+ nullable2 = let final self::Class2? #t200 = n2 in #t200 == null ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
+ let final self::Class2? #t204 = n2 in #t204 == null ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
+ nullable2 = let final self::Class2? #t206 = n2 in #t206 == null ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
+ let final self::Class2? #t210 = n2 in #t210 == null ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
+ nullable2 = let final self::Class2? #t212 = n2 in #t212 == null ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
+ let final self::Class2? #t216 = n2 in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
+ nullable2 = let final self::Class2? #t220 = n2 in #t220 == null ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
+ let final self::Class1? #t224 = n1 in #t224 == null ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
+ nullable2 = let final self::Class1? #t227 = n1 in #t227 == null ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
+ let final self::Class1? #t232 = n1 in #t232 == null ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
+ nullable2 = let final self::Class1? #t237 = n1 in #t237 == null ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
+ let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
+ let final self::Class1? #t243 = n1 in #t243 == null ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
+ nullable2 = let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
+ let final self::Class1? #t249 = n1 in #t249 == null ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250 == null ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
+ let final self::Class1? #t251 = n1 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
+ nullable2 = let final self::Class1? #t254 = n1 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
+ let final self::Class1? #t259 = n1 in #t259 == null ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
+ nullable2 = let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
+ let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
+ nullable2 = let final self::Class1? #t272 = n1 in #t272 == null ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
+ let final self::Class1? #t277 = n1 in #t277 == null ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278 == null ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
+ let final self::Class1? #t279 = n1 in #t279 == null ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280 == null ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t281 = n1 in #t281 == null ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282 == null ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
+ let final self::Class1? #t286 = n1 in #t286 == null ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287 == null ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
+ nullable1 = let final self::Class1? #t289 = n1 in #t289 == null ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290 == null ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
+ let final self::Class1? #t292 = n1 in #t292 == null ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293 == null ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294) == null ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
+ nullable1 = let final self::Class1? #t295 = n1 in #t295 == null ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296 == null ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298 == null ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
+ let final self::Class3? #t301 = n3 in #t301 == null ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302 == null ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
+ nullable2 = let final self::Class3? #t304 = n3 in #t304 == null ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305 == null ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
+ let final self::Class3? #t309 = n3 in #t309 == null ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310 == null ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
+ nullable2 = let final self::Class3? #t312 = n3 in #t312 == null ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313 == null ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
+ let final self::Class3? #t317 = n3 in #t317 == null ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318 == null ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
+ nullable2 = let final self::Class3? #t322 = n3 in #t322 == null ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323 == null ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t327 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:244:45: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
throws(() => Extension1(n1)?.nonNullable1 + 0);
- ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
+ ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
self::throws(() → void => let final Never #t329 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:245:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
throws(() => -Extension1(n1)?.nonNullable1);
- ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
- let final self::Class2? #t331 = n2 in #t331.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t331{self::Class2}), 0));
- nullable2 = let final self::Class2? #t332 = n2 in #t332.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332{self::Class2}), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332{self::Class2}, #t333) in #t333;
- let final self::Class2? #t335 = n2 in #t335.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
- nullable2 = let final self::Class2? #t337 = n2 in #t337.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
- let final self::Class2? #t341 = n2 in #t341.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t341{self::Class2}), 1));
- nullable2 = let final self::Class2? #t342 = n2 in #t342.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342{self::Class2}) in let final self::Class2 #t344 = let final self::Class2 #t345 = self::Extension2|+(#t343, 1) in let final void #t346 = self::Extension2|set#nonNullable2(#t342{self::Class2}, #t345) in #t345 in #t343;
- let final self::Class2? #t347 = n2 in #t347.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t348 = self::Extension2|+(self::Extension2|get#nonNullable2(#t347{self::Class2}), 1) in let final void #t349 = self::Extension2|set#nonNullable2(#t347{self::Class2}, #t348) in #t348;
- nullable2 = let final self::Class2? #t350 = n2 in #t350.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t351 = self::Extension2|+(self::Extension2|get#nonNullable2(#t350{self::Class2}), 1) in let final void #t352 = self::Extension2|set#nonNullable2(#t350{self::Class2}, #t351) in #t351;
+ ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
+ let final self::Class2? #t331 = n2 in #t331 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t331{self::Class2}), 0));
+ nullable2 = let final self::Class2? #t332 = n2 in #t332 == null ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332{self::Class2}), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332{self::Class2}, #t333) in #t333;
+ let final self::Class2? #t335 = n2 in #t335 == null ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
+ nullable2 = let final self::Class2? #t337 = n2 in #t337 == null ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
+ let final self::Class2? #t341 = n2 in #t341 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t341{self::Class2}), 1));
+ nullable2 = let final self::Class2? #t342 = n2 in #t342 == null ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342{self::Class2}) in let final self::Class2 #t344 = let final self::Class2 #t345 = self::Extension2|+(#t343, 1) in let final void #t346 = self::Extension2|set#nonNullable2(#t342{self::Class2}, #t345) in #t345 in #t343;
+ let final self::Class2? #t347 = n2 in #t347 == null ?{self::Class2?} null : let final self::Class2 #t348 = self::Extension2|+(self::Extension2|get#nonNullable2(#t347{self::Class2}), 1) in let final void #t349 = self::Extension2|set#nonNullable2(#t347{self::Class2}, #t348) in #t348;
+ nullable2 = let final self::Class2? #t350 = n2 in #t350 == null ?{self::Class2?} null : let final self::Class2 #t351 = self::Extension2|+(self::Extension2|get#nonNullable2(#t350{self::Class2}), 1) in let final void #t352 = self::Extension2|set#nonNullable2(#t350{self::Class2}, #t351) in #t351;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t353 = n1 in #t353.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t353).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t353, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t354 = n1 in #t354.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t355 = self::Extension1|get#nullable1(#t354) in #t355.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t356 = n1{self::Class1} in let final void #t357 = self::Extension1|set#nullable1(#t354, #t356) in #t356 : #t355{self::Class1};
- let final self::Class1? #t358 = n1 in #t358.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in self::Extension1|get#nullable1(#t359).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t359, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t360 = n1 in #t360.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t361 = self::Extension1|get#nonNullable1(#t360{self::Class1}) in let final self::Class1? #t362 = self::Extension1|get#nullable1(#t361) in #t362.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t363 = n1{self::Class1} in let final void #t364 = self::Extension1|set#nullable1(#t361, #t363) in #t363 : #t362{self::Class1};
- let final self::Class1? #t365 = n1 in #t365.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t366 = self::Extension1|get#nonNullable1(#t365{self::Class1}) in let final self::Class1 #t367 = n1{self::Class1} in self::Extension1|[](#t366, #t367).{core::Object::==}(null) ?{self::Class1} self::Extension1|[]=(#t366, #t367, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t368 = n1 in #t368.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t369 = self::Extension1|get#nonNullable1(#t368{self::Class1}) in let final self::Class1 #t370 = n1{self::Class1} in let final self::Class1? #t371 = self::Extension1|[](#t369, #t370) in #t371.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t372 = n1{self::Class1} in let final void #t373 = self::Extension1|[]=(#t369, #t370, #t372) in #t372 : #t371{self::Class1};
+ let final self::Class1? #t353 = n1 in #t353 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t353) == null ?{self::Class1} self::Extension1|set#nullable1(#t353, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1? #t355 = self::Extension1|get#nullable1(#t354) in #t355 == null ?{self::Class1} let final self::Class1 #t356 = n1{self::Class1} in let final void #t357 = self::Extension1|set#nullable1(#t354, #t356) in #t356 : #t355{self::Class1};
+ let final self::Class1? #t358 = n1 in #t358 == null ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in self::Extension1|get#nullable1(#t359) == null ?{self::Class1} self::Extension1|set#nullable1(#t359, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t360 = n1 in #t360 == null ?{self::Class1?} null : let final self::Class1 #t361 = self::Extension1|get#nonNullable1(#t360{self::Class1}) in let final self::Class1? #t362 = self::Extension1|get#nullable1(#t361) in #t362 == null ?{self::Class1} let final self::Class1 #t363 = n1{self::Class1} in let final void #t364 = self::Extension1|set#nullable1(#t361, #t363) in #t363 : #t362{self::Class1};
+ let final self::Class1? #t365 = n1 in #t365 == null ?{self::Class1?} null : let final self::Class1 #t366 = self::Extension1|get#nonNullable1(#t365{self::Class1}) in let final self::Class1 #t367 = n1{self::Class1} in self::Extension1|[](#t366, #t367) == null ?{self::Class1} self::Extension1|[]=(#t366, #t367, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t368 = n1 in #t368 == null ?{self::Class1?} null : let final self::Class1 #t369 = self::Extension1|get#nonNullable1(#t368{self::Class1}) in let final self::Class1 #t370 = n1{self::Class1} in let final self::Class1? #t371 = self::Extension1|[](#t369, #t370) in #t371 == null ?{self::Class1} let final self::Class1 #t372 = n1{self::Class1} in let final void #t373 = self::Extension1|[]=(#t369, #t370, #t372) in #t372 : #t371{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.transformed.expect
index 5146cf7..25e39a1 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.transformed.expect
@@ -80,7 +80,7 @@
operator [] = self::Extension3|[];
}
static method Extension1|get#nullable1(lowered final self::Class1 #this) → self::Class1?
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|set#nullable1(lowered final self::Class1 #this, self::Class1? value) → void {
#this.{self::Class1::property} = value;
}
@@ -98,28 +98,28 @@
static method Extension1|unary-(lowered final self::Class1 #this) → self::Class1?
return self::Extension1|get#nullable1(#this);
static method Extension1|get#nonNullable1(lowered final self::Class1 #this) → self::Class1
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|get#nonNullable2(lowered final self::Class1 #this) → self::Class2
- return #this.{self::Class1::property2};
+ return #this.{self::Class1::property2}{self::Class2};
static method Extension2|nonNullable2Method(lowered final self::Class2 #this) → self::Class2
return self::Extension2|get#nonNullable2(#this);
static method Extension2|get#nonNullable2Method(lowered final self::Class2 #this) → () → self::Class2
return () → self::Class2 => self::Extension2|nonNullable2Method(#this);
static method Extension2|[](lowered final self::Class2 #this, self::Class2? key) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|[]=(lowered final self::Class2 #this, self::Class2? key, self::Class2? value) → void
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|+(lowered final self::Class2 #this, core::int value) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|unary-(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|get#nonNullable2(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|set#nonNullable2(lowered final self::Class2 #this, self::Class2 value) → void {
#this.{self::Class2::property} = value;
}
static method Extension3|[](lowered final self::Class3 #this, self::Class3? key) → self::Class2?
- return #this.{self::Class3::property};
+ return #this.{self::Class3::property}{self::Class2?};
static method main() → dynamic {
self::propertyAccess(null);
self::indexAccess(null, null, null);
@@ -128,168 +128,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
- let final self::Class1? #t7 = n1 in #t7.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
- let final self::Class1? #t12 = n1 in #t12.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
- let final self::Class1? #t15 = n1 in #t15.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
- let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
+ let final self::Class1? #t7 = n1 in #t7 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
+ let final self::Class1? #t12 = n1 in #t12 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t15 = n1 in #t15 == null ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:93:59: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
Try accessing using ?. instead.
throws(() => (Extension1(n1)?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
self::throws(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:94:55: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
Try accessing using ?. instead.
throws(() => (Extension1(n1)?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
- nullable1 = let final self::Class1? #t25 = n1 in #t25.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
- nullable1 = let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
- nullable1 = let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
- let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
- let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
- let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
- let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
- let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
- let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
- let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
- let final self::Class1? #t83 = n1 in #t83.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
- let final self::Class1? #t87 = n1 in #t87.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t96 = n1 in #t96.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
- let final self::Class1? #t99 = n1 in #t99.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
- nullable1 = let final self::Class1? #t102 = n1 in #t102.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
- let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
- nullable1 = let final self::Class1? #t112 = n1 in #t112.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
- let final self::Class1? #t119 = n1 in #t119.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
- nullable1 = let final self::Class1? #t122 = n1 in #t122.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
- let final self::Class1? #t127 = n1 in #t127.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t128 = n1 in #t128.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
- let final self::Class1? #t131 = n1 in #t131.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
- nullable1 = let final self::Class1? #t134 = n1 in #t134.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
- let final self::Class1? #t139 = n1 in #t139.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t140 = n1 in #t140.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
- let final self::Class1? #t143 = n1 in #t143.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
- let final self::Class1? #t144 = n1 in #t144.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t145 = n1 in #t145.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
- let final self::Class1? #t148 = n1 in #t148.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
- let final self::Class1? #t149 = n1 in #t149.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t150 = n1 in #t150.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
- let final self::Class1? #t153 = n1 in #t153.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
- nullable1 = let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
- let final self::Class1? #t161 = n1 in #t161.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t162 = n1 in #t162.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
- let final self::Class1? #t166 = n1 in #t166.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
- let final self::Class1? #t167 = n1 in #t167.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
- let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
+ nullable1 = let final self::Class1? #t25 = n1 in #t25 == null ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
+ nullable1 = let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29 == null ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
+ nullable1 = let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33 == null ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
+ let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
+ let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
+ let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
+ let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
+ let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
+ let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
+ let final self::Class1? #t83 = n1 in #t83 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
+ let final self::Class1? #t87 = n1 in #t87 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t96 = n1 in #t96 == null ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
+ let final self::Class1? #t99 = n1 in #t99 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
+ nullable1 = let final self::Class1? #t102 = n1 in #t102 == null ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
+ let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
+ nullable1 = let final self::Class1? #t112 = n1 in #t112 == null ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
+ let final self::Class1? #t119 = n1 in #t119 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
+ nullable1 = let final self::Class1? #t122 = n1 in #t122 == null ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
+ let final self::Class1? #t127 = n1 in #t127 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t128 = n1 in #t128 == null ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
+ let final self::Class1? #t131 = n1 in #t131 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
+ nullable1 = let final self::Class1? #t134 = n1 in #t134 == null ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
+ let final self::Class1? #t139 = n1 in #t139 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t140 = n1 in #t140 == null ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
+ let final self::Class1? #t143 = n1 in #t143 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
+ let final self::Class1? #t144 = n1 in #t144 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t145 = n1 in #t145 == null ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
+ let final self::Class1? #t148 = n1 in #t148 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
+ let final self::Class1? #t149 = n1 in #t149 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t150 = n1 in #t150 == null ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
+ let final self::Class1? #t153 = n1 in #t153 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
+ nullable1 = let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
+ let final self::Class1? #t161 = n1 in #t161 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t162 = n1 in #t162 == null ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
+ let final self::Class1? #t166 = n1 in #t166 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t167 = n1 in #t167 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
+ let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t170 = n1 in #t170.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
- let final self::Class1? #t171 = n1 in #t171.{core::Object::==}(null) ?{void} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
- let final self::Class1? #t172 = n1 in #t172.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
- let final self::Class1? #t174 = n1 in #t174.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
- let final self::Class1? #t175 = n1 in #t175.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
- let final self::Class1? #t183 = n1 in #t183.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
- nullable1 = let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
- let final self::Class2? #t198 = n2 in #t198.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
- nullable2 = let final self::Class2? #t200 = n2 in #t200.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
- let final self::Class2? #t204 = n2 in #t204.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
- nullable2 = let final self::Class2? #t206 = n2 in #t206.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
- let final self::Class2? #t210 = n2 in #t210.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
- nullable2 = let final self::Class2? #t212 = n2 in #t212.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
- let final self::Class2? #t216 = n2 in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
- nullable2 = let final self::Class2? #t220 = n2 in #t220.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
- let final self::Class1? #t224 = n1 in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
- nullable2 = let final self::Class1? #t227 = n1 in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
- let final self::Class1? #t232 = n1 in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
- nullable2 = let final self::Class1? #t237 = n1 in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
- let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
- let final self::Class1? #t243 = n1 in #t243.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
- let final self::Class1? #t249 = n1 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
- let final self::Class1? #t251 = n1 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
- nullable2 = let final self::Class1? #t254 = n1 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
- let final self::Class1? #t259 = n1 in #t259.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
- nullable2 = let final self::Class1? #t262 = n1 in #t262.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
- let final self::Class1? #t267 = n1 in #t267.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
- nullable2 = let final self::Class1? #t272 = n1 in #t272.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
- let final self::Class1? #t277 = n1 in #t277.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
- let final self::Class1? #t279 = n1 in #t279.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t281 = n1 in #t281.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
- let final self::Class1? #t286 = n1 in #t286.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
- nullable1 = let final self::Class1? #t289 = n1 in #t289.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
- let final self::Class1? #t292 = n1 in #t292.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
- nullable1 = let final self::Class1? #t295 = n1 in #t295.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
- let final self::Class3? #t301 = n3 in #t301.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
- nullable2 = let final self::Class3? #t304 = n3 in #t304.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
- let final self::Class3? #t309 = n3 in #t309.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
- nullable2 = let final self::Class3? #t312 = n3 in #t312.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
- let final self::Class3? #t317 = n3 in #t317.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
- nullable2 = let final self::Class3? #t322 = n3 in #t322.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
+ let final self::Class1? #t170 = n1 in #t170 == null ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
+ let final self::Class1? #t171 = n1 in #t171 == null ?{void} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
+ let final self::Class1? #t172 = n1 in #t172 == null ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
+ let final self::Class1? #t174 = n1 in #t174 == null ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
+ let final self::Class1? #t175 = n1 in #t175 == null ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
+ let final self::Class1? #t183 = n1 in #t183 == null ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192) == null ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
+ nullable1 = let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195 == null ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
+ let final self::Class2? #t198 = n2 in #t198 == null ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
+ nullable2 = let final self::Class2? #t200 = n2 in #t200 == null ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
+ let final self::Class2? #t204 = n2 in #t204 == null ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
+ nullable2 = let final self::Class2? #t206 = n2 in #t206 == null ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
+ let final self::Class2? #t210 = n2 in #t210 == null ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
+ nullable2 = let final self::Class2? #t212 = n2 in #t212 == null ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
+ let final self::Class2? #t216 = n2 in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
+ nullable2 = let final self::Class2? #t220 = n2 in #t220 == null ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
+ let final self::Class1? #t224 = n1 in #t224 == null ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
+ nullable2 = let final self::Class1? #t227 = n1 in #t227 == null ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
+ let final self::Class1? #t232 = n1 in #t232 == null ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
+ nullable2 = let final self::Class1? #t237 = n1 in #t237 == null ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
+ let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
+ let final self::Class1? #t243 = n1 in #t243 == null ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
+ nullable2 = let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
+ let final self::Class1? #t249 = n1 in #t249 == null ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250 == null ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
+ let final self::Class1? #t251 = n1 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
+ nullable2 = let final self::Class1? #t254 = n1 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
+ let final self::Class1? #t259 = n1 in #t259 == null ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
+ nullable2 = let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
+ let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
+ nullable2 = let final self::Class1? #t272 = n1 in #t272 == null ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
+ let final self::Class1? #t277 = n1 in #t277 == null ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278 == null ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
+ let final self::Class1? #t279 = n1 in #t279 == null ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280 == null ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t281 = n1 in #t281 == null ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282 == null ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
+ let final self::Class1? #t286 = n1 in #t286 == null ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287 == null ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
+ nullable1 = let final self::Class1? #t289 = n1 in #t289 == null ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290 == null ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
+ let final self::Class1? #t292 = n1 in #t292 == null ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293 == null ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294) == null ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
+ nullable1 = let final self::Class1? #t295 = n1 in #t295 == null ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296 == null ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298 == null ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
+ let final self::Class3? #t301 = n3 in #t301 == null ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302 == null ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
+ nullable2 = let final self::Class3? #t304 = n3 in #t304 == null ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305 == null ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
+ let final self::Class3? #t309 = n3 in #t309 == null ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310 == null ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
+ nullable2 = let final self::Class3? #t312 = n3 in #t312 == null ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313 == null ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
+ let final self::Class3? #t317 = n3 in #t317 == null ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318 == null ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
+ nullable2 = let final self::Class3? #t322 = n3 in #t322 == null ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323 == null ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t327 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:244:45: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
throws(() => Extension1(n1)?.nonNullable1 + 0);
- ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
+ ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
self::throws(() → void => let final Never #t329 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart:245:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart'.
throws(() => -Extension1(n1)?.nonNullable1);
- ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
- let final self::Class2? #t331 = n2 in #t331.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t331{self::Class2}), 0));
- nullable2 = let final self::Class2? #t332 = n2 in #t332.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332{self::Class2}), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332{self::Class2}, #t333) in #t333;
- let final self::Class2? #t335 = n2 in #t335.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
- nullable2 = let final self::Class2? #t337 = n2 in #t337.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
- let final self::Class2? #t341 = n2 in #t341.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t341{self::Class2}), 1));
- nullable2 = let final self::Class2? #t342 = n2 in #t342.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342{self::Class2}) in let final self::Class2 #t344 = let final self::Class2 #t345 = self::Extension2|+(#t343, 1) in let final void #t346 = self::Extension2|set#nonNullable2(#t342{self::Class2}, #t345) in #t345 in #t343;
- let final self::Class2? #t347 = n2 in #t347.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t348 = self::Extension2|+(self::Extension2|get#nonNullable2(#t347{self::Class2}), 1) in let final void #t349 = self::Extension2|set#nonNullable2(#t347{self::Class2}, #t348) in #t348;
- nullable2 = let final self::Class2? #t350 = n2 in #t350.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t351 = self::Extension2|+(self::Extension2|get#nonNullable2(#t350{self::Class2}), 1) in let final void #t352 = self::Extension2|set#nonNullable2(#t350{self::Class2}, #t351) in #t351;
+ ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
+ let final self::Class2? #t331 = n2 in #t331 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t331{self::Class2}), 0));
+ nullable2 = let final self::Class2? #t332 = n2 in #t332 == null ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332{self::Class2}), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332{self::Class2}, #t333) in #t333;
+ let final self::Class2? #t335 = n2 in #t335 == null ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
+ nullable2 = let final self::Class2? #t337 = n2 in #t337 == null ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
+ let final self::Class2? #t341 = n2 in #t341 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341{self::Class2}, self::Extension2|+(self::Extension2|get#nonNullable2(#t341{self::Class2}), 1));
+ nullable2 = let final self::Class2? #t342 = n2 in #t342 == null ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342{self::Class2}) in let final self::Class2 #t344 = let final self::Class2 #t345 = self::Extension2|+(#t343, 1) in let final void #t346 = self::Extension2|set#nonNullable2(#t342{self::Class2}, #t345) in #t345 in #t343;
+ let final self::Class2? #t347 = n2 in #t347 == null ?{self::Class2?} null : let final self::Class2 #t348 = self::Extension2|+(self::Extension2|get#nonNullable2(#t347{self::Class2}), 1) in let final void #t349 = self::Extension2|set#nonNullable2(#t347{self::Class2}, #t348) in #t348;
+ nullable2 = let final self::Class2? #t350 = n2 in #t350 == null ?{self::Class2?} null : let final self::Class2 #t351 = self::Extension2|+(self::Extension2|get#nonNullable2(#t350{self::Class2}), 1) in let final void #t352 = self::Extension2|set#nonNullable2(#t350{self::Class2}, #t351) in #t351;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t353 = n1 in #t353.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t353).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t353, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t354 = n1 in #t354.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t355 = self::Extension1|get#nullable1(#t354) in #t355.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t356 = n1{self::Class1} in let final void #t357 = self::Extension1|set#nullable1(#t354, #t356) in #t356 : #t355{self::Class1};
- let final self::Class1? #t358 = n1 in #t358.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in self::Extension1|get#nullable1(#t359).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t359, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t360 = n1 in #t360.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t361 = self::Extension1|get#nonNullable1(#t360{self::Class1}) in let final self::Class1? #t362 = self::Extension1|get#nullable1(#t361) in #t362.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t363 = n1{self::Class1} in let final void #t364 = self::Extension1|set#nullable1(#t361, #t363) in #t363 : #t362{self::Class1};
- let final self::Class1? #t365 = n1 in #t365.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t366 = self::Extension1|get#nonNullable1(#t365{self::Class1}) in let final self::Class1 #t367 = n1{self::Class1} in self::Extension1|[](#t366, #t367).{core::Object::==}(null) ?{self::Class1} self::Extension1|[]=(#t366, #t367, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t368 = n1 in #t368.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t369 = self::Extension1|get#nonNullable1(#t368{self::Class1}) in let final self::Class1 #t370 = n1{self::Class1} in let final self::Class1? #t371 = self::Extension1|[](#t369, #t370) in #t371.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t372 = n1{self::Class1} in let final void #t373 = self::Extension1|[]=(#t369, #t370, #t372) in #t372 : #t371{self::Class1};
+ let final self::Class1? #t353 = n1 in #t353 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t353) == null ?{self::Class1} self::Extension1|set#nullable1(#t353, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t354 = n1 in #t354 == null ?{self::Class1?} null : let final self::Class1? #t355 = self::Extension1|get#nullable1(#t354) in #t355 == null ?{self::Class1} let final self::Class1 #t356 = n1{self::Class1} in let final void #t357 = self::Extension1|set#nullable1(#t354, #t356) in #t356 : #t355{self::Class1};
+ let final self::Class1? #t358 = n1 in #t358 == null ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in self::Extension1|get#nullable1(#t359) == null ?{self::Class1} self::Extension1|set#nullable1(#t359, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t360 = n1 in #t360 == null ?{self::Class1?} null : let final self::Class1 #t361 = self::Extension1|get#nonNullable1(#t360{self::Class1}) in let final self::Class1? #t362 = self::Extension1|get#nullable1(#t361) in #t362 == null ?{self::Class1} let final self::Class1 #t363 = n1{self::Class1} in let final void #t364 = self::Extension1|set#nullable1(#t361, #t363) in #t363 : #t362{self::Class1};
+ let final self::Class1? #t365 = n1 in #t365 == null ?{self::Class1?} null : let final self::Class1 #t366 = self::Extension1|get#nonNullable1(#t365{self::Class1}) in let final self::Class1 #t367 = n1{self::Class1} in self::Extension1|[](#t366, #t367) == null ?{self::Class1} self::Extension1|[]=(#t366, #t367, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t368 = n1 in #t368 == null ?{self::Class1?} null : let final self::Class1 #t369 = self::Extension1|get#nonNullable1(#t368{self::Class1}) in let final self::Class1 #t370 = n1{self::Class1} in let final self::Class1? #t371 = self::Extension1|[](#t369, #t370) in #t371 == null ?{self::Class1} let final self::Class1 #t372 = n1{self::Class1} in let final void #t373 = self::Extension1|[]=(#t369, #t370, #t372) in #t372 : #t371{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.strong.expect
index 83c8b22..38237dc 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.strong.expect
@@ -80,7 +80,7 @@
operator [] = self::Extension3|[];
}
static method Extension1|get#nullable1(lowered final self::Class1 #this) → self::Class1?
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|set#nullable1(lowered final self::Class1 #this, self::Class1? value) → void {
#this.{self::Class1::property} = value;
}
@@ -98,28 +98,28 @@
static method Extension1|unary-(lowered final self::Class1 #this) → self::Class1?
return self::Extension1|get#nullable1(#this);
static method Extension1|get#nonNullable1(lowered final self::Class1 #this) → self::Class1
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|get#nonNullable2(lowered final self::Class1 #this) → self::Class2
- return #this.{self::Class1::property2};
+ return #this.{self::Class1::property2}{self::Class2};
static method Extension2|nonNullable2Method(lowered final self::Class2 #this) → self::Class2
return self::Extension2|get#nonNullable2(#this);
static method Extension2|get#nonNullable2Method(lowered final self::Class2 #this) → () → self::Class2
return () → self::Class2 => self::Extension2|nonNullable2Method(#this);
static method Extension2|[](lowered final self::Class2 #this, self::Class2? key) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|[]=(lowered final self::Class2 #this, self::Class2? key, self::Class2? value) → void
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|+(lowered final self::Class2 #this, core::int value) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|unary-(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|get#nonNullable2(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|set#nonNullable2(lowered final self::Class2 #this, self::Class2 value) → void {
#this.{self::Class2::property} = value;
}
static method Extension3|[](lowered final self::Class3 #this, self::Class3? key) → self::Class2?
- return #this.{self::Class3::property};
+ return #this.{self::Class3::property}{self::Class2?};
static method main() → dynamic {
self::propertyAccess(null);
self::indexAccess(null, null, null);
@@ -128,168 +128,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
- let final self::Class1? #t7 = n1 in #t7.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
- let final self::Class1? #t12 = n1 in #t12.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
- let final self::Class1? #t15 = n1 in #t15.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
- let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
+ let final self::Class1? #t7 = n1 in #t7 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
+ let final self::Class1? #t12 = n1 in #t12 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t15 = n1 in #t15 == null ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:93:47: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
self::throws(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:94:43: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
- nullable1 = let final self::Class1? #t25 = n1 in #t25.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
- nullable1 = let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
- nullable1 = let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
- let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
- let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
- let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
- let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
- let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
- let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
- let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
- let final self::Class1? #t83 = n1 in #t83.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
- let final self::Class1? #t87 = n1 in #t87.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t96 = n1 in #t96.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
- let final self::Class1? #t99 = n1 in #t99.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
- nullable1 = let final self::Class1? #t102 = n1 in #t102.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
- let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
- nullable1 = let final self::Class1? #t112 = n1 in #t112.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
- let final self::Class1? #t119 = n1 in #t119.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
- nullable1 = let final self::Class1? #t122 = n1 in #t122.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
- let final self::Class1? #t127 = n1 in #t127.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t128 = n1 in #t128.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
- let final self::Class1? #t131 = n1 in #t131.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
- nullable1 = let final self::Class1? #t134 = n1 in #t134.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
- let final self::Class1? #t139 = n1 in #t139.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t140 = n1 in #t140.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
- let final self::Class1? #t143 = n1 in #t143.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
- let final self::Class1? #t144 = n1 in #t144.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t145 = n1 in #t145.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
- let final self::Class1? #t148 = n1 in #t148.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
- let final self::Class1? #t149 = n1 in #t149.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t150 = n1 in #t150.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
- let final self::Class1? #t153 = n1 in #t153.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
- nullable1 = let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
- let final self::Class1? #t161 = n1 in #t161.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t162 = n1 in #t162.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
- let final self::Class1? #t166 = n1 in #t166.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
- let final self::Class1? #t167 = n1 in #t167.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
- let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
+ nullable1 = let final self::Class1? #t25 = n1 in #t25 == null ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
+ nullable1 = let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29 == null ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
+ nullable1 = let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33 == null ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
+ let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
+ let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
+ let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
+ let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
+ let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
+ let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
+ let final self::Class1? #t83 = n1 in #t83 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
+ let final self::Class1? #t87 = n1 in #t87 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t96 = n1 in #t96 == null ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
+ let final self::Class1? #t99 = n1 in #t99 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
+ nullable1 = let final self::Class1? #t102 = n1 in #t102 == null ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
+ let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
+ nullable1 = let final self::Class1? #t112 = n1 in #t112 == null ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
+ let final self::Class1? #t119 = n1 in #t119 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
+ nullable1 = let final self::Class1? #t122 = n1 in #t122 == null ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
+ let final self::Class1? #t127 = n1 in #t127 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t128 = n1 in #t128 == null ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
+ let final self::Class1? #t131 = n1 in #t131 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
+ nullable1 = let final self::Class1? #t134 = n1 in #t134 == null ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
+ let final self::Class1? #t139 = n1 in #t139 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t140 = n1 in #t140 == null ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
+ let final self::Class1? #t143 = n1 in #t143 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
+ let final self::Class1? #t144 = n1 in #t144 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t145 = n1 in #t145 == null ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
+ let final self::Class1? #t148 = n1 in #t148 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
+ let final self::Class1? #t149 = n1 in #t149 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t150 = n1 in #t150 == null ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
+ let final self::Class1? #t153 = n1 in #t153 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
+ nullable1 = let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
+ let final self::Class1? #t161 = n1 in #t161 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t162 = n1 in #t162 == null ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
+ let final self::Class1? #t166 = n1 in #t166 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t167 = n1 in #t167 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
+ let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t170 = n1 in #t170.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
- let final self::Class1? #t171 = n1 in #t171.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
- let final self::Class1? #t172 = n1 in #t172.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
- let final self::Class1? #t174 = n1 in #t174.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
- let final self::Class1? #t175 = n1 in #t175.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
- let final self::Class1? #t183 = n1 in #t183.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
- nullable1 = let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
- let final self::Class2? #t198 = n2 in #t198.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
- nullable2 = let final self::Class2? #t200 = n2 in #t200.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
- let final self::Class2? #t204 = n2 in #t204.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
- nullable2 = let final self::Class2? #t206 = n2 in #t206.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
- let final self::Class2? #t210 = n2 in #t210.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
- nullable2 = let final self::Class2? #t212 = n2 in #t212.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
- let final self::Class2? #t216 = n2 in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
- nullable2 = let final self::Class2? #t220 = n2 in #t220.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
- let final self::Class1? #t224 = n1 in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
- nullable2 = let final self::Class1? #t227 = n1 in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
- let final self::Class1? #t232 = n1 in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
- nullable2 = let final self::Class1? #t237 = n1 in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
- let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
- let final self::Class1? #t243 = n1 in #t243.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
- let final self::Class1? #t249 = n1 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
- let final self::Class1? #t251 = n1 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
- nullable2 = let final self::Class1? #t254 = n1 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
- let final self::Class1? #t259 = n1 in #t259.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
- nullable2 = let final self::Class1? #t262 = n1 in #t262.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
- let final self::Class1? #t267 = n1 in #t267.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
- nullable2 = let final self::Class1? #t272 = n1 in #t272.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
- let final self::Class1? #t277 = n1 in #t277.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
- let final self::Class1? #t279 = n1 in #t279.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t281 = n1 in #t281.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
- let final self::Class1? #t286 = n1 in #t286.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
- nullable1 = let final self::Class1? #t289 = n1 in #t289.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
- let final self::Class1? #t292 = n1 in #t292.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
- nullable1 = let final self::Class1? #t295 = n1 in #t295.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
- let final self::Class3? #t301 = n3 in #t301.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
- nullable2 = let final self::Class3? #t304 = n3 in #t304.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
- let final self::Class3? #t309 = n3 in #t309.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
- nullable2 = let final self::Class3? #t312 = n3 in #t312.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
- let final self::Class3? #t317 = n3 in #t317.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
- nullable2 = let final self::Class3? #t322 = n3 in #t322.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
+ let final self::Class1? #t170 = n1 in #t170 == null ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
+ let final self::Class1? #t171 = n1 in #t171 == null ?{self::Class1?} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
+ let final self::Class1? #t172 = n1 in #t172 == null ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
+ let final self::Class1? #t174 = n1 in #t174 == null ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
+ let final self::Class1? #t175 = n1 in #t175 == null ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
+ let final self::Class1? #t183 = n1 in #t183 == null ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192) == null ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
+ nullable1 = let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195 == null ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
+ let final self::Class2? #t198 = n2 in #t198 == null ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
+ nullable2 = let final self::Class2? #t200 = n2 in #t200 == null ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
+ let final self::Class2? #t204 = n2 in #t204 == null ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
+ nullable2 = let final self::Class2? #t206 = n2 in #t206 == null ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
+ let final self::Class2? #t210 = n2 in #t210 == null ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
+ nullable2 = let final self::Class2? #t212 = n2 in #t212 == null ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
+ let final self::Class2? #t216 = n2 in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
+ nullable2 = let final self::Class2? #t220 = n2 in #t220 == null ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
+ let final self::Class1? #t224 = n1 in #t224 == null ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
+ nullable2 = let final self::Class1? #t227 = n1 in #t227 == null ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
+ let final self::Class1? #t232 = n1 in #t232 == null ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
+ nullable2 = let final self::Class1? #t237 = n1 in #t237 == null ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
+ let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
+ let final self::Class1? #t243 = n1 in #t243 == null ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
+ nullable2 = let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
+ let final self::Class1? #t249 = n1 in #t249 == null ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250 == null ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
+ let final self::Class1? #t251 = n1 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
+ nullable2 = let final self::Class1? #t254 = n1 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
+ let final self::Class1? #t259 = n1 in #t259 == null ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
+ nullable2 = let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
+ let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
+ nullable2 = let final self::Class1? #t272 = n1 in #t272 == null ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
+ let final self::Class1? #t277 = n1 in #t277 == null ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278 == null ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
+ let final self::Class1? #t279 = n1 in #t279 == null ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280 == null ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t281 = n1 in #t281 == null ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282 == null ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
+ let final self::Class1? #t286 = n1 in #t286 == null ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287 == null ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
+ nullable1 = let final self::Class1? #t289 = n1 in #t289 == null ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290 == null ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
+ let final self::Class1? #t292 = n1 in #t292 == null ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293 == null ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294) == null ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
+ nullable1 = let final self::Class1? #t295 = n1 in #t295 == null ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296 == null ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298 == null ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
+ let final self::Class3? #t301 = n3 in #t301 == null ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302 == null ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
+ nullable2 = let final self::Class3? #t304 = n3 in #t304 == null ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305 == null ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
+ let final self::Class3? #t309 = n3 in #t309 == null ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310 == null ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
+ nullable2 = let final self::Class3? #t312 = n3 in #t312 == null ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313 == null ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
+ let final self::Class3? #t317 = n3 in #t317 == null ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318 == null ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
+ nullable2 = let final self::Class3? #t322 = n3 in #t322 == null ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323 == null ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t327 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:226:33: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
throws(() => n1?.nonNullable1 + 0);
- ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
+ ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
self::throws(() → void => let final Never #t329 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:227:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
throws(() => -n1?.nonNullable1);
- ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
- let final self::Class2? #t331 = n2 in #t331.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331, self::Extension2|+(self::Extension2|get#nonNullable2(#t331), 0));
- nullable2 = let final self::Class2? #t332 = n2 in #t332.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332, #t333) in #t333;
- let final self::Class2? #t335 = n2 in #t335.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
- nullable2 = let final self::Class2? #t337 = n2 in #t337.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
- let final self::Class2? #t341 = n2 in #t341.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341, self::Extension2|+(self::Extension2|get#nonNullable2(#t341), 1));
- nullable2 = let final self::Class2? #t342 = n2 in #t342.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342) in let final void #t344 = self::Extension2|set#nonNullable2(#t342, self::Extension2|+(#t343, 1)) in #t343;
- let final self::Class2? #t345 = n2 in #t345.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t346 = self::Extension2|+(self::Extension2|get#nonNullable2(#t345), 1) in let final void #t347 = self::Extension2|set#nonNullable2(#t345, #t346) in #t346;
- nullable2 = let final self::Class2? #t348 = n2 in #t348.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t349 = self::Extension2|+(self::Extension2|get#nonNullable2(#t348), 1) in let final void #t350 = self::Extension2|set#nonNullable2(#t348, #t349) in #t349;
+ ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
+ let final self::Class2? #t331 = n2 in #t331 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331, self::Extension2|+(self::Extension2|get#nonNullable2(#t331), 0));
+ nullable2 = let final self::Class2? #t332 = n2 in #t332 == null ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332, #t333) in #t333;
+ let final self::Class2? #t335 = n2 in #t335 == null ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
+ nullable2 = let final self::Class2? #t337 = n2 in #t337 == null ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
+ let final self::Class2? #t341 = n2 in #t341 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341, self::Extension2|+(self::Extension2|get#nonNullable2(#t341), 1));
+ nullable2 = let final self::Class2? #t342 = n2 in #t342 == null ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342) in let final void #t344 = self::Extension2|set#nonNullable2(#t342, self::Extension2|+(#t343, 1)) in #t343;
+ let final self::Class2? #t345 = n2 in #t345 == null ?{self::Class2?} null : let final self::Class2 #t346 = self::Extension2|+(self::Extension2|get#nonNullable2(#t345), 1) in let final void #t347 = self::Extension2|set#nonNullable2(#t345, #t346) in #t346;
+ nullable2 = let final self::Class2? #t348 = n2 in #t348 == null ?{self::Class2?} null : let final self::Class2 #t349 = self::Extension2|+(self::Extension2|get#nonNullable2(#t348), 1) in let final void #t350 = self::Extension2|set#nonNullable2(#t348, #t349) in #t349;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t351 = n1 in #t351.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t351).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t351, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t352 = n1 in #t352.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t353 = self::Extension1|get#nullable1(#t352) in #t353.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t354 = n1{self::Class1} in let final void #t355 = self::Extension1|set#nullable1(#t352, #t354) in #t354 : #t353{self::Class1};
- let final self::Class1? #t356 = n1 in #t356.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in self::Extension1|get#nullable1(#t357).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t357, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t358 = n1 in #t358.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in let final self::Class1? #t360 = self::Extension1|get#nullable1(#t359) in #t360.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t361 = n1{self::Class1} in let final void #t362 = self::Extension1|set#nullable1(#t359, #t361) in #t361 : #t360{self::Class1};
- let final self::Class1? #t363 = n1 in #t363.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t364 = self::Extension1|get#nonNullable1(#t363{self::Class1}) in let final self::Class1 #t365 = n1{self::Class1} in self::Extension1|[](#t364, #t365).{core::Object::==}(null) ?{self::Class1} self::Extension1|[]=(#t364, #t365, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t366 = n1 in #t366.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t367 = self::Extension1|get#nonNullable1(#t366{self::Class1}) in let final self::Class1 #t368 = n1{self::Class1} in let final self::Class1? #t369 = self::Extension1|[](#t367, #t368) in #t369.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t370 = n1{self::Class1} in let final void #t371 = self::Extension1|[]=(#t367, #t368, #t370) in #t370 : #t369{self::Class1};
+ let final self::Class1? #t351 = n1 in #t351 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t351) == null ?{self::Class1} self::Extension1|set#nullable1(#t351, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t352 = n1 in #t352 == null ?{self::Class1?} null : let final self::Class1? #t353 = self::Extension1|get#nullable1(#t352) in #t353 == null ?{self::Class1} let final self::Class1 #t354 = n1{self::Class1} in let final void #t355 = self::Extension1|set#nullable1(#t352, #t354) in #t354 : #t353{self::Class1};
+ let final self::Class1? #t356 = n1 in #t356 == null ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in self::Extension1|get#nullable1(#t357) == null ?{self::Class1} self::Extension1|set#nullable1(#t357, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t358 = n1 in #t358 == null ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in let final self::Class1? #t360 = self::Extension1|get#nullable1(#t359) in #t360 == null ?{self::Class1} let final self::Class1 #t361 = n1{self::Class1} in let final void #t362 = self::Extension1|set#nullable1(#t359, #t361) in #t361 : #t360{self::Class1};
+ let final self::Class1? #t363 = n1 in #t363 == null ?{self::Class1?} null : let final self::Class1 #t364 = self::Extension1|get#nonNullable1(#t363{self::Class1}) in let final self::Class1 #t365 = n1{self::Class1} in self::Extension1|[](#t364, #t365) == null ?{self::Class1} self::Extension1|[]=(#t364, #t365, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t366 = n1 in #t366 == null ?{self::Class1?} null : let final self::Class1 #t367 = self::Extension1|get#nonNullable1(#t366{self::Class1}) in let final self::Class1 #t368 = n1{self::Class1} in let final self::Class1? #t369 = self::Extension1|[](#t367, #t368) in #t369 == null ?{self::Class1} let final self::Class1 #t370 = n1{self::Class1} in let final void #t371 = self::Extension1|[]=(#t367, #t368, #t370) in #t370 : #t369{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.strong.transformed.expect
index 83c8b22..38237dc 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.strong.transformed.expect
@@ -80,7 +80,7 @@
operator [] = self::Extension3|[];
}
static method Extension1|get#nullable1(lowered final self::Class1 #this) → self::Class1?
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|set#nullable1(lowered final self::Class1 #this, self::Class1? value) → void {
#this.{self::Class1::property} = value;
}
@@ -98,28 +98,28 @@
static method Extension1|unary-(lowered final self::Class1 #this) → self::Class1?
return self::Extension1|get#nullable1(#this);
static method Extension1|get#nonNullable1(lowered final self::Class1 #this) → self::Class1
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|get#nonNullable2(lowered final self::Class1 #this) → self::Class2
- return #this.{self::Class1::property2};
+ return #this.{self::Class1::property2}{self::Class2};
static method Extension2|nonNullable2Method(lowered final self::Class2 #this) → self::Class2
return self::Extension2|get#nonNullable2(#this);
static method Extension2|get#nonNullable2Method(lowered final self::Class2 #this) → () → self::Class2
return () → self::Class2 => self::Extension2|nonNullable2Method(#this);
static method Extension2|[](lowered final self::Class2 #this, self::Class2? key) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|[]=(lowered final self::Class2 #this, self::Class2? key, self::Class2? value) → void
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|+(lowered final self::Class2 #this, core::int value) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|unary-(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|get#nonNullable2(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|set#nonNullable2(lowered final self::Class2 #this, self::Class2 value) → void {
#this.{self::Class2::property} = value;
}
static method Extension3|[](lowered final self::Class3 #this, self::Class3? key) → self::Class2?
- return #this.{self::Class3::property};
+ return #this.{self::Class3::property}{self::Class2?};
static method main() → dynamic {
self::propertyAccess(null);
self::indexAccess(null, null, null);
@@ -128,168 +128,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
- let final self::Class1? #t7 = n1 in #t7.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
- let final self::Class1? #t12 = n1 in #t12.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
- let final self::Class1? #t15 = n1 in #t15.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
- let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
+ let final self::Class1? #t7 = n1 in #t7 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
+ let final self::Class1? #t12 = n1 in #t12 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t15 = n1 in #t15 == null ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:93:47: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
self::throws(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:94:43: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
- nullable1 = let final self::Class1? #t25 = n1 in #t25.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
- nullable1 = let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
- nullable1 = let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
- let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
- let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
- let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
- let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
- let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
- let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
- let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
- let final self::Class1? #t83 = n1 in #t83.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
- let final self::Class1? #t87 = n1 in #t87.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t96 = n1 in #t96.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
- let final self::Class1? #t99 = n1 in #t99.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
- nullable1 = let final self::Class1? #t102 = n1 in #t102.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
- let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
- nullable1 = let final self::Class1? #t112 = n1 in #t112.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
- let final self::Class1? #t119 = n1 in #t119.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
- nullable1 = let final self::Class1? #t122 = n1 in #t122.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
- let final self::Class1? #t127 = n1 in #t127.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t128 = n1 in #t128.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
- let final self::Class1? #t131 = n1 in #t131.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
- nullable1 = let final self::Class1? #t134 = n1 in #t134.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
- let final self::Class1? #t139 = n1 in #t139.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t140 = n1 in #t140.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
- let final self::Class1? #t143 = n1 in #t143.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
- let final self::Class1? #t144 = n1 in #t144.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t145 = n1 in #t145.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
- let final self::Class1? #t148 = n1 in #t148.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
- let final self::Class1? #t149 = n1 in #t149.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t150 = n1 in #t150.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
- let final self::Class1? #t153 = n1 in #t153.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
- nullable1 = let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
- let final self::Class1? #t161 = n1 in #t161.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t162 = n1 in #t162.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
- let final self::Class1? #t166 = n1 in #t166.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
- let final self::Class1? #t167 = n1 in #t167.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
- let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
+ nullable1 = let final self::Class1? #t25 = n1 in #t25 == null ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
+ nullable1 = let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29 == null ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
+ nullable1 = let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33 == null ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
+ let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
+ let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
+ let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
+ let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
+ let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
+ let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
+ let final self::Class1? #t83 = n1 in #t83 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
+ let final self::Class1? #t87 = n1 in #t87 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t96 = n1 in #t96 == null ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
+ let final self::Class1? #t99 = n1 in #t99 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
+ nullable1 = let final self::Class1? #t102 = n1 in #t102 == null ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
+ let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
+ nullable1 = let final self::Class1? #t112 = n1 in #t112 == null ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
+ let final self::Class1? #t119 = n1 in #t119 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
+ nullable1 = let final self::Class1? #t122 = n1 in #t122 == null ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
+ let final self::Class1? #t127 = n1 in #t127 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t128 = n1 in #t128 == null ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
+ let final self::Class1? #t131 = n1 in #t131 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
+ nullable1 = let final self::Class1? #t134 = n1 in #t134 == null ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
+ let final self::Class1? #t139 = n1 in #t139 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t140 = n1 in #t140 == null ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
+ let final self::Class1? #t143 = n1 in #t143 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
+ let final self::Class1? #t144 = n1 in #t144 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t145 = n1 in #t145 == null ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
+ let final self::Class1? #t148 = n1 in #t148 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
+ let final self::Class1? #t149 = n1 in #t149 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t150 = n1 in #t150 == null ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
+ let final self::Class1? #t153 = n1 in #t153 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
+ nullable1 = let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
+ let final self::Class1? #t161 = n1 in #t161 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t162 = n1 in #t162 == null ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
+ let final self::Class1? #t166 = n1 in #t166 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t167 = n1 in #t167 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
+ let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t170 = n1 in #t170.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
- let final self::Class1? #t171 = n1 in #t171.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
- let final self::Class1? #t172 = n1 in #t172.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
- let final self::Class1? #t174 = n1 in #t174.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
- let final self::Class1? #t175 = n1 in #t175.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
- let final self::Class1? #t183 = n1 in #t183.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
- nullable1 = let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
- let final self::Class2? #t198 = n2 in #t198.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
- nullable2 = let final self::Class2? #t200 = n2 in #t200.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
- let final self::Class2? #t204 = n2 in #t204.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
- nullable2 = let final self::Class2? #t206 = n2 in #t206.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
- let final self::Class2? #t210 = n2 in #t210.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
- nullable2 = let final self::Class2? #t212 = n2 in #t212.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
- let final self::Class2? #t216 = n2 in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
- nullable2 = let final self::Class2? #t220 = n2 in #t220.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
- let final self::Class1? #t224 = n1 in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
- nullable2 = let final self::Class1? #t227 = n1 in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
- let final self::Class1? #t232 = n1 in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
- nullable2 = let final self::Class1? #t237 = n1 in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
- let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
- let final self::Class1? #t243 = n1 in #t243.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
- let final self::Class1? #t249 = n1 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
- let final self::Class1? #t251 = n1 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
- nullable2 = let final self::Class1? #t254 = n1 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
- let final self::Class1? #t259 = n1 in #t259.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
- nullable2 = let final self::Class1? #t262 = n1 in #t262.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
- let final self::Class1? #t267 = n1 in #t267.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
- nullable2 = let final self::Class1? #t272 = n1 in #t272.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
- let final self::Class1? #t277 = n1 in #t277.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
- let final self::Class1? #t279 = n1 in #t279.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t281 = n1 in #t281.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
- let final self::Class1? #t286 = n1 in #t286.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
- nullable1 = let final self::Class1? #t289 = n1 in #t289.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
- let final self::Class1? #t292 = n1 in #t292.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
- nullable1 = let final self::Class1? #t295 = n1 in #t295.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
- let final self::Class3? #t301 = n3 in #t301.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
- nullable2 = let final self::Class3? #t304 = n3 in #t304.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
- let final self::Class3? #t309 = n3 in #t309.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
- nullable2 = let final self::Class3? #t312 = n3 in #t312.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
- let final self::Class3? #t317 = n3 in #t317.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
- nullable2 = let final self::Class3? #t322 = n3 in #t322.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
+ let final self::Class1? #t170 = n1 in #t170 == null ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
+ let final self::Class1? #t171 = n1 in #t171 == null ?{self::Class1?} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
+ let final self::Class1? #t172 = n1 in #t172 == null ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
+ let final self::Class1? #t174 = n1 in #t174 == null ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
+ let final self::Class1? #t175 = n1 in #t175 == null ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
+ let final self::Class1? #t183 = n1 in #t183 == null ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192) == null ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
+ nullable1 = let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195 == null ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
+ let final self::Class2? #t198 = n2 in #t198 == null ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
+ nullable2 = let final self::Class2? #t200 = n2 in #t200 == null ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
+ let final self::Class2? #t204 = n2 in #t204 == null ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
+ nullable2 = let final self::Class2? #t206 = n2 in #t206 == null ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
+ let final self::Class2? #t210 = n2 in #t210 == null ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
+ nullable2 = let final self::Class2? #t212 = n2 in #t212 == null ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
+ let final self::Class2? #t216 = n2 in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
+ nullable2 = let final self::Class2? #t220 = n2 in #t220 == null ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
+ let final self::Class1? #t224 = n1 in #t224 == null ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
+ nullable2 = let final self::Class1? #t227 = n1 in #t227 == null ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
+ let final self::Class1? #t232 = n1 in #t232 == null ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
+ nullable2 = let final self::Class1? #t237 = n1 in #t237 == null ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
+ let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
+ let final self::Class1? #t243 = n1 in #t243 == null ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
+ nullable2 = let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
+ let final self::Class1? #t249 = n1 in #t249 == null ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250 == null ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
+ let final self::Class1? #t251 = n1 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
+ nullable2 = let final self::Class1? #t254 = n1 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
+ let final self::Class1? #t259 = n1 in #t259 == null ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
+ nullable2 = let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
+ let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
+ nullable2 = let final self::Class1? #t272 = n1 in #t272 == null ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
+ let final self::Class1? #t277 = n1 in #t277 == null ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278 == null ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
+ let final self::Class1? #t279 = n1 in #t279 == null ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280 == null ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t281 = n1 in #t281 == null ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282 == null ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
+ let final self::Class1? #t286 = n1 in #t286 == null ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287 == null ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
+ nullable1 = let final self::Class1? #t289 = n1 in #t289 == null ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290 == null ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
+ let final self::Class1? #t292 = n1 in #t292 == null ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293 == null ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294) == null ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
+ nullable1 = let final self::Class1? #t295 = n1 in #t295 == null ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296 == null ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298 == null ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
+ let final self::Class3? #t301 = n3 in #t301 == null ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302 == null ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
+ nullable2 = let final self::Class3? #t304 = n3 in #t304 == null ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305 == null ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
+ let final self::Class3? #t309 = n3 in #t309 == null ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310 == null ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
+ nullable2 = let final self::Class3? #t312 = n3 in #t312 == null ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313 == null ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
+ let final self::Class3? #t317 = n3 in #t317 == null ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318 == null ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
+ nullable2 = let final self::Class3? #t322 = n3 in #t322 == null ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323 == null ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t327 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:226:33: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
throws(() => n1?.nonNullable1 + 0);
- ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
+ ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
self::throws(() → void => let final Never #t329 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:227:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
throws(() => -n1?.nonNullable1);
- ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
- let final self::Class2? #t331 = n2 in #t331.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331, self::Extension2|+(self::Extension2|get#nonNullable2(#t331), 0));
- nullable2 = let final self::Class2? #t332 = n2 in #t332.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332, #t333) in #t333;
- let final self::Class2? #t335 = n2 in #t335.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
- nullable2 = let final self::Class2? #t337 = n2 in #t337.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
- let final self::Class2? #t341 = n2 in #t341.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341, self::Extension2|+(self::Extension2|get#nonNullable2(#t341), 1));
- nullable2 = let final self::Class2? #t342 = n2 in #t342.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342) in let final void #t344 = self::Extension2|set#nonNullable2(#t342, self::Extension2|+(#t343, 1)) in #t343;
- let final self::Class2? #t345 = n2 in #t345.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t346 = self::Extension2|+(self::Extension2|get#nonNullable2(#t345), 1) in let final void #t347 = self::Extension2|set#nonNullable2(#t345, #t346) in #t346;
- nullable2 = let final self::Class2? #t348 = n2 in #t348.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t349 = self::Extension2|+(self::Extension2|get#nonNullable2(#t348), 1) in let final void #t350 = self::Extension2|set#nonNullable2(#t348, #t349) in #t349;
+ ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
+ let final self::Class2? #t331 = n2 in #t331 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331, self::Extension2|+(self::Extension2|get#nonNullable2(#t331), 0));
+ nullable2 = let final self::Class2? #t332 = n2 in #t332 == null ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332, #t333) in #t333;
+ let final self::Class2? #t335 = n2 in #t335 == null ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
+ nullable2 = let final self::Class2? #t337 = n2 in #t337 == null ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
+ let final self::Class2? #t341 = n2 in #t341 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341, self::Extension2|+(self::Extension2|get#nonNullable2(#t341), 1));
+ nullable2 = let final self::Class2? #t342 = n2 in #t342 == null ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342) in let final void #t344 = self::Extension2|set#nonNullable2(#t342, self::Extension2|+(#t343, 1)) in #t343;
+ let final self::Class2? #t345 = n2 in #t345 == null ?{self::Class2?} null : let final self::Class2 #t346 = self::Extension2|+(self::Extension2|get#nonNullable2(#t345), 1) in let final void #t347 = self::Extension2|set#nonNullable2(#t345, #t346) in #t346;
+ nullable2 = let final self::Class2? #t348 = n2 in #t348 == null ?{self::Class2?} null : let final self::Class2 #t349 = self::Extension2|+(self::Extension2|get#nonNullable2(#t348), 1) in let final void #t350 = self::Extension2|set#nonNullable2(#t348, #t349) in #t349;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t351 = n1 in #t351.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t351).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t351, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t352 = n1 in #t352.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t353 = self::Extension1|get#nullable1(#t352) in #t353.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t354 = n1{self::Class1} in let final void #t355 = self::Extension1|set#nullable1(#t352, #t354) in #t354 : #t353{self::Class1};
- let final self::Class1? #t356 = n1 in #t356.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in self::Extension1|get#nullable1(#t357).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t357, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t358 = n1 in #t358.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in let final self::Class1? #t360 = self::Extension1|get#nullable1(#t359) in #t360.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t361 = n1{self::Class1} in let final void #t362 = self::Extension1|set#nullable1(#t359, #t361) in #t361 : #t360{self::Class1};
- let final self::Class1? #t363 = n1 in #t363.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t364 = self::Extension1|get#nonNullable1(#t363{self::Class1}) in let final self::Class1 #t365 = n1{self::Class1} in self::Extension1|[](#t364, #t365).{core::Object::==}(null) ?{self::Class1} self::Extension1|[]=(#t364, #t365, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t366 = n1 in #t366.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t367 = self::Extension1|get#nonNullable1(#t366{self::Class1}) in let final self::Class1 #t368 = n1{self::Class1} in let final self::Class1? #t369 = self::Extension1|[](#t367, #t368) in #t369.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t370 = n1{self::Class1} in let final void #t371 = self::Extension1|[]=(#t367, #t368, #t370) in #t370 : #t369{self::Class1};
+ let final self::Class1? #t351 = n1 in #t351 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t351) == null ?{self::Class1} self::Extension1|set#nullable1(#t351, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t352 = n1 in #t352 == null ?{self::Class1?} null : let final self::Class1? #t353 = self::Extension1|get#nullable1(#t352) in #t353 == null ?{self::Class1} let final self::Class1 #t354 = n1{self::Class1} in let final void #t355 = self::Extension1|set#nullable1(#t352, #t354) in #t354 : #t353{self::Class1};
+ let final self::Class1? #t356 = n1 in #t356 == null ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in self::Extension1|get#nullable1(#t357) == null ?{self::Class1} self::Extension1|set#nullable1(#t357, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t358 = n1 in #t358 == null ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in let final self::Class1? #t360 = self::Extension1|get#nullable1(#t359) in #t360 == null ?{self::Class1} let final self::Class1 #t361 = n1{self::Class1} in let final void #t362 = self::Extension1|set#nullable1(#t359, #t361) in #t361 : #t360{self::Class1};
+ let final self::Class1? #t363 = n1 in #t363 == null ?{self::Class1?} null : let final self::Class1 #t364 = self::Extension1|get#nonNullable1(#t363{self::Class1}) in let final self::Class1 #t365 = n1{self::Class1} in self::Extension1|[](#t364, #t365) == null ?{self::Class1} self::Extension1|[]=(#t364, #t365, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t366 = n1 in #t366 == null ?{self::Class1?} null : let final self::Class1 #t367 = self::Extension1|get#nonNullable1(#t366{self::Class1}) in let final self::Class1 #t368 = n1{self::Class1} in let final self::Class1? #t369 = self::Extension1|[](#t367, #t368) in #t369 == null ?{self::Class1} let final self::Class1 #t370 = n1{self::Class1} in let final void #t371 = self::Extension1|[]=(#t367, #t368, #t370) in #t370 : #t369{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.expect
index 83c8b22..38237dc 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.expect
@@ -80,7 +80,7 @@
operator [] = self::Extension3|[];
}
static method Extension1|get#nullable1(lowered final self::Class1 #this) → self::Class1?
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|set#nullable1(lowered final self::Class1 #this, self::Class1? value) → void {
#this.{self::Class1::property} = value;
}
@@ -98,28 +98,28 @@
static method Extension1|unary-(lowered final self::Class1 #this) → self::Class1?
return self::Extension1|get#nullable1(#this);
static method Extension1|get#nonNullable1(lowered final self::Class1 #this) → self::Class1
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|get#nonNullable2(lowered final self::Class1 #this) → self::Class2
- return #this.{self::Class1::property2};
+ return #this.{self::Class1::property2}{self::Class2};
static method Extension2|nonNullable2Method(lowered final self::Class2 #this) → self::Class2
return self::Extension2|get#nonNullable2(#this);
static method Extension2|get#nonNullable2Method(lowered final self::Class2 #this) → () → self::Class2
return () → self::Class2 => self::Extension2|nonNullable2Method(#this);
static method Extension2|[](lowered final self::Class2 #this, self::Class2? key) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|[]=(lowered final self::Class2 #this, self::Class2? key, self::Class2? value) → void
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|+(lowered final self::Class2 #this, core::int value) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|unary-(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|get#nonNullable2(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|set#nonNullable2(lowered final self::Class2 #this, self::Class2 value) → void {
#this.{self::Class2::property} = value;
}
static method Extension3|[](lowered final self::Class3 #this, self::Class3? key) → self::Class2?
- return #this.{self::Class3::property};
+ return #this.{self::Class3::property}{self::Class2?};
static method main() → dynamic {
self::propertyAccess(null);
self::indexAccess(null, null, null);
@@ -128,168 +128,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
- let final self::Class1? #t7 = n1 in #t7.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
- let final self::Class1? #t12 = n1 in #t12.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
- let final self::Class1? #t15 = n1 in #t15.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
- let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
+ let final self::Class1? #t7 = n1 in #t7 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
+ let final self::Class1? #t12 = n1 in #t12 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t15 = n1 in #t15 == null ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:93:47: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
self::throws(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:94:43: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
- nullable1 = let final self::Class1? #t25 = n1 in #t25.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
- nullable1 = let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
- nullable1 = let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
- let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
- let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
- let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
- let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
- let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
- let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
- let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
- let final self::Class1? #t83 = n1 in #t83.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
- let final self::Class1? #t87 = n1 in #t87.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t96 = n1 in #t96.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
- let final self::Class1? #t99 = n1 in #t99.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
- nullable1 = let final self::Class1? #t102 = n1 in #t102.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
- let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
- nullable1 = let final self::Class1? #t112 = n1 in #t112.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
- let final self::Class1? #t119 = n1 in #t119.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
- nullable1 = let final self::Class1? #t122 = n1 in #t122.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
- let final self::Class1? #t127 = n1 in #t127.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t128 = n1 in #t128.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
- let final self::Class1? #t131 = n1 in #t131.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
- nullable1 = let final self::Class1? #t134 = n1 in #t134.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
- let final self::Class1? #t139 = n1 in #t139.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t140 = n1 in #t140.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
- let final self::Class1? #t143 = n1 in #t143.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
- let final self::Class1? #t144 = n1 in #t144.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t145 = n1 in #t145.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
- let final self::Class1? #t148 = n1 in #t148.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
- let final self::Class1? #t149 = n1 in #t149.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t150 = n1 in #t150.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
- let final self::Class1? #t153 = n1 in #t153.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
- nullable1 = let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
- let final self::Class1? #t161 = n1 in #t161.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t162 = n1 in #t162.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
- let final self::Class1? #t166 = n1 in #t166.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
- let final self::Class1? #t167 = n1 in #t167.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
- let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
+ nullable1 = let final self::Class1? #t25 = n1 in #t25 == null ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
+ nullable1 = let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29 == null ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
+ nullable1 = let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33 == null ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
+ let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
+ let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
+ let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
+ let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
+ let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
+ let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
+ let final self::Class1? #t83 = n1 in #t83 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
+ let final self::Class1? #t87 = n1 in #t87 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t96 = n1 in #t96 == null ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
+ let final self::Class1? #t99 = n1 in #t99 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
+ nullable1 = let final self::Class1? #t102 = n1 in #t102 == null ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
+ let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
+ nullable1 = let final self::Class1? #t112 = n1 in #t112 == null ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
+ let final self::Class1? #t119 = n1 in #t119 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
+ nullable1 = let final self::Class1? #t122 = n1 in #t122 == null ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
+ let final self::Class1? #t127 = n1 in #t127 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t128 = n1 in #t128 == null ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
+ let final self::Class1? #t131 = n1 in #t131 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
+ nullable1 = let final self::Class1? #t134 = n1 in #t134 == null ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
+ let final self::Class1? #t139 = n1 in #t139 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t140 = n1 in #t140 == null ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
+ let final self::Class1? #t143 = n1 in #t143 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
+ let final self::Class1? #t144 = n1 in #t144 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t145 = n1 in #t145 == null ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
+ let final self::Class1? #t148 = n1 in #t148 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
+ let final self::Class1? #t149 = n1 in #t149 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t150 = n1 in #t150 == null ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
+ let final self::Class1? #t153 = n1 in #t153 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
+ nullable1 = let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
+ let final self::Class1? #t161 = n1 in #t161 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t162 = n1 in #t162 == null ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
+ let final self::Class1? #t166 = n1 in #t166 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t167 = n1 in #t167 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
+ let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t170 = n1 in #t170.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
- let final self::Class1? #t171 = n1 in #t171.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
- let final self::Class1? #t172 = n1 in #t172.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
- let final self::Class1? #t174 = n1 in #t174.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
- let final self::Class1? #t175 = n1 in #t175.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
- let final self::Class1? #t183 = n1 in #t183.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
- nullable1 = let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
- let final self::Class2? #t198 = n2 in #t198.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
- nullable2 = let final self::Class2? #t200 = n2 in #t200.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
- let final self::Class2? #t204 = n2 in #t204.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
- nullable2 = let final self::Class2? #t206 = n2 in #t206.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
- let final self::Class2? #t210 = n2 in #t210.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
- nullable2 = let final self::Class2? #t212 = n2 in #t212.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
- let final self::Class2? #t216 = n2 in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
- nullable2 = let final self::Class2? #t220 = n2 in #t220.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
- let final self::Class1? #t224 = n1 in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
- nullable2 = let final self::Class1? #t227 = n1 in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
- let final self::Class1? #t232 = n1 in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
- nullable2 = let final self::Class1? #t237 = n1 in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
- let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
- let final self::Class1? #t243 = n1 in #t243.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
- let final self::Class1? #t249 = n1 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
- let final self::Class1? #t251 = n1 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
- nullable2 = let final self::Class1? #t254 = n1 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
- let final self::Class1? #t259 = n1 in #t259.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
- nullable2 = let final self::Class1? #t262 = n1 in #t262.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
- let final self::Class1? #t267 = n1 in #t267.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
- nullable2 = let final self::Class1? #t272 = n1 in #t272.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
- let final self::Class1? #t277 = n1 in #t277.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
- let final self::Class1? #t279 = n1 in #t279.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t281 = n1 in #t281.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
- let final self::Class1? #t286 = n1 in #t286.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
- nullable1 = let final self::Class1? #t289 = n1 in #t289.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
- let final self::Class1? #t292 = n1 in #t292.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
- nullable1 = let final self::Class1? #t295 = n1 in #t295.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
- let final self::Class3? #t301 = n3 in #t301.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
- nullable2 = let final self::Class3? #t304 = n3 in #t304.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
- let final self::Class3? #t309 = n3 in #t309.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
- nullable2 = let final self::Class3? #t312 = n3 in #t312.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
- let final self::Class3? #t317 = n3 in #t317.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
- nullable2 = let final self::Class3? #t322 = n3 in #t322.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
+ let final self::Class1? #t170 = n1 in #t170 == null ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
+ let final self::Class1? #t171 = n1 in #t171 == null ?{self::Class1?} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
+ let final self::Class1? #t172 = n1 in #t172 == null ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
+ let final self::Class1? #t174 = n1 in #t174 == null ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
+ let final self::Class1? #t175 = n1 in #t175 == null ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
+ let final self::Class1? #t183 = n1 in #t183 == null ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192) == null ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
+ nullable1 = let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195 == null ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
+ let final self::Class2? #t198 = n2 in #t198 == null ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
+ nullable2 = let final self::Class2? #t200 = n2 in #t200 == null ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
+ let final self::Class2? #t204 = n2 in #t204 == null ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
+ nullable2 = let final self::Class2? #t206 = n2 in #t206 == null ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
+ let final self::Class2? #t210 = n2 in #t210 == null ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
+ nullable2 = let final self::Class2? #t212 = n2 in #t212 == null ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
+ let final self::Class2? #t216 = n2 in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
+ nullable2 = let final self::Class2? #t220 = n2 in #t220 == null ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
+ let final self::Class1? #t224 = n1 in #t224 == null ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
+ nullable2 = let final self::Class1? #t227 = n1 in #t227 == null ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
+ let final self::Class1? #t232 = n1 in #t232 == null ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
+ nullable2 = let final self::Class1? #t237 = n1 in #t237 == null ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
+ let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
+ let final self::Class1? #t243 = n1 in #t243 == null ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
+ nullable2 = let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
+ let final self::Class1? #t249 = n1 in #t249 == null ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250 == null ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
+ let final self::Class1? #t251 = n1 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
+ nullable2 = let final self::Class1? #t254 = n1 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
+ let final self::Class1? #t259 = n1 in #t259 == null ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
+ nullable2 = let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
+ let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
+ nullable2 = let final self::Class1? #t272 = n1 in #t272 == null ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
+ let final self::Class1? #t277 = n1 in #t277 == null ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278 == null ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
+ let final self::Class1? #t279 = n1 in #t279 == null ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280 == null ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t281 = n1 in #t281 == null ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282 == null ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
+ let final self::Class1? #t286 = n1 in #t286 == null ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287 == null ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
+ nullable1 = let final self::Class1? #t289 = n1 in #t289 == null ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290 == null ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
+ let final self::Class1? #t292 = n1 in #t292 == null ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293 == null ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294) == null ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
+ nullable1 = let final self::Class1? #t295 = n1 in #t295 == null ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296 == null ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298 == null ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
+ let final self::Class3? #t301 = n3 in #t301 == null ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302 == null ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
+ nullable2 = let final self::Class3? #t304 = n3 in #t304 == null ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305 == null ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
+ let final self::Class3? #t309 = n3 in #t309 == null ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310 == null ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
+ nullable2 = let final self::Class3? #t312 = n3 in #t312 == null ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313 == null ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
+ let final self::Class3? #t317 = n3 in #t317 == null ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318 == null ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
+ nullable2 = let final self::Class3? #t322 = n3 in #t322 == null ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323 == null ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t327 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:226:33: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
throws(() => n1?.nonNullable1 + 0);
- ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
+ ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
self::throws(() → void => let final Never #t329 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:227:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
throws(() => -n1?.nonNullable1);
- ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
- let final self::Class2? #t331 = n2 in #t331.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331, self::Extension2|+(self::Extension2|get#nonNullable2(#t331), 0));
- nullable2 = let final self::Class2? #t332 = n2 in #t332.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332, #t333) in #t333;
- let final self::Class2? #t335 = n2 in #t335.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
- nullable2 = let final self::Class2? #t337 = n2 in #t337.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
- let final self::Class2? #t341 = n2 in #t341.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341, self::Extension2|+(self::Extension2|get#nonNullable2(#t341), 1));
- nullable2 = let final self::Class2? #t342 = n2 in #t342.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342) in let final void #t344 = self::Extension2|set#nonNullable2(#t342, self::Extension2|+(#t343, 1)) in #t343;
- let final self::Class2? #t345 = n2 in #t345.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t346 = self::Extension2|+(self::Extension2|get#nonNullable2(#t345), 1) in let final void #t347 = self::Extension2|set#nonNullable2(#t345, #t346) in #t346;
- nullable2 = let final self::Class2? #t348 = n2 in #t348.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t349 = self::Extension2|+(self::Extension2|get#nonNullable2(#t348), 1) in let final void #t350 = self::Extension2|set#nonNullable2(#t348, #t349) in #t349;
+ ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
+ let final self::Class2? #t331 = n2 in #t331 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331, self::Extension2|+(self::Extension2|get#nonNullable2(#t331), 0));
+ nullable2 = let final self::Class2? #t332 = n2 in #t332 == null ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332, #t333) in #t333;
+ let final self::Class2? #t335 = n2 in #t335 == null ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
+ nullable2 = let final self::Class2? #t337 = n2 in #t337 == null ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
+ let final self::Class2? #t341 = n2 in #t341 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341, self::Extension2|+(self::Extension2|get#nonNullable2(#t341), 1));
+ nullable2 = let final self::Class2? #t342 = n2 in #t342 == null ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342) in let final void #t344 = self::Extension2|set#nonNullable2(#t342, self::Extension2|+(#t343, 1)) in #t343;
+ let final self::Class2? #t345 = n2 in #t345 == null ?{self::Class2?} null : let final self::Class2 #t346 = self::Extension2|+(self::Extension2|get#nonNullable2(#t345), 1) in let final void #t347 = self::Extension2|set#nonNullable2(#t345, #t346) in #t346;
+ nullable2 = let final self::Class2? #t348 = n2 in #t348 == null ?{self::Class2?} null : let final self::Class2 #t349 = self::Extension2|+(self::Extension2|get#nonNullable2(#t348), 1) in let final void #t350 = self::Extension2|set#nonNullable2(#t348, #t349) in #t349;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t351 = n1 in #t351.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t351).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t351, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t352 = n1 in #t352.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t353 = self::Extension1|get#nullable1(#t352) in #t353.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t354 = n1{self::Class1} in let final void #t355 = self::Extension1|set#nullable1(#t352, #t354) in #t354 : #t353{self::Class1};
- let final self::Class1? #t356 = n1 in #t356.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in self::Extension1|get#nullable1(#t357).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t357, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t358 = n1 in #t358.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in let final self::Class1? #t360 = self::Extension1|get#nullable1(#t359) in #t360.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t361 = n1{self::Class1} in let final void #t362 = self::Extension1|set#nullable1(#t359, #t361) in #t361 : #t360{self::Class1};
- let final self::Class1? #t363 = n1 in #t363.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t364 = self::Extension1|get#nonNullable1(#t363{self::Class1}) in let final self::Class1 #t365 = n1{self::Class1} in self::Extension1|[](#t364, #t365).{core::Object::==}(null) ?{self::Class1} self::Extension1|[]=(#t364, #t365, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t366 = n1 in #t366.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t367 = self::Extension1|get#nonNullable1(#t366{self::Class1}) in let final self::Class1 #t368 = n1{self::Class1} in let final self::Class1? #t369 = self::Extension1|[](#t367, #t368) in #t369.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t370 = n1{self::Class1} in let final void #t371 = self::Extension1|[]=(#t367, #t368, #t370) in #t370 : #t369{self::Class1};
+ let final self::Class1? #t351 = n1 in #t351 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t351) == null ?{self::Class1} self::Extension1|set#nullable1(#t351, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t352 = n1 in #t352 == null ?{self::Class1?} null : let final self::Class1? #t353 = self::Extension1|get#nullable1(#t352) in #t353 == null ?{self::Class1} let final self::Class1 #t354 = n1{self::Class1} in let final void #t355 = self::Extension1|set#nullable1(#t352, #t354) in #t354 : #t353{self::Class1};
+ let final self::Class1? #t356 = n1 in #t356 == null ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in self::Extension1|get#nullable1(#t357) == null ?{self::Class1} self::Extension1|set#nullable1(#t357, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t358 = n1 in #t358 == null ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in let final self::Class1? #t360 = self::Extension1|get#nullable1(#t359) in #t360 == null ?{self::Class1} let final self::Class1 #t361 = n1{self::Class1} in let final void #t362 = self::Extension1|set#nullable1(#t359, #t361) in #t361 : #t360{self::Class1};
+ let final self::Class1? #t363 = n1 in #t363 == null ?{self::Class1?} null : let final self::Class1 #t364 = self::Extension1|get#nonNullable1(#t363{self::Class1}) in let final self::Class1 #t365 = n1{self::Class1} in self::Extension1|[](#t364, #t365) == null ?{self::Class1} self::Extension1|[]=(#t364, #t365, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t366 = n1 in #t366 == null ?{self::Class1?} null : let final self::Class1 #t367 = self::Extension1|get#nonNullable1(#t366{self::Class1}) in let final self::Class1 #t368 = n1{self::Class1} in let final self::Class1? #t369 = self::Extension1|[](#t367, #t368) in #t369 == null ?{self::Class1} let final self::Class1 #t370 = n1{self::Class1} in let final void #t371 = self::Extension1|[]=(#t367, #t368, #t370) in #t370 : #t369{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.transformed.expect
index 83c8b22..38237dc 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.transformed.expect
@@ -80,7 +80,7 @@
operator [] = self::Extension3|[];
}
static method Extension1|get#nullable1(lowered final self::Class1 #this) → self::Class1?
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|set#nullable1(lowered final self::Class1 #this, self::Class1? value) → void {
#this.{self::Class1::property} = value;
}
@@ -98,28 +98,28 @@
static method Extension1|unary-(lowered final self::Class1 #this) → self::Class1?
return self::Extension1|get#nullable1(#this);
static method Extension1|get#nonNullable1(lowered final self::Class1 #this) → self::Class1
- return #this.{self::Class1::property1};
+ return #this.{self::Class1::property1}{self::Class1};
static method Extension1|get#nonNullable2(lowered final self::Class1 #this) → self::Class2
- return #this.{self::Class1::property2};
+ return #this.{self::Class1::property2}{self::Class2};
static method Extension2|nonNullable2Method(lowered final self::Class2 #this) → self::Class2
return self::Extension2|get#nonNullable2(#this);
static method Extension2|get#nonNullable2Method(lowered final self::Class2 #this) → () → self::Class2
return () → self::Class2 => self::Extension2|nonNullable2Method(#this);
static method Extension2|[](lowered final self::Class2 #this, self::Class2? key) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|[]=(lowered final self::Class2 #this, self::Class2? key, self::Class2? value) → void
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|+(lowered final self::Class2 #this, core::int value) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|unary-(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|get#nonNullable2(lowered final self::Class2 #this) → self::Class2
- return #this.{self::Class2::property};
+ return #this.{self::Class2::property}{self::Class2};
static method Extension2|set#nonNullable2(lowered final self::Class2 #this, self::Class2 value) → void {
#this.{self::Class2::property} = value;
}
static method Extension3|[](lowered final self::Class3 #this, self::Class3? key) → self::Class2?
- return #this.{self::Class3::property};
+ return #this.{self::Class3::property}{self::Class2?};
static method main() → dynamic {
self::propertyAccess(null);
self::indexAccess(null, null, null);
@@ -128,168 +128,168 @@
}
static method propertyAccess(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t1 = n1 in #t1.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
- let final self::Class1? #t2 = n1 in #t2.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
- nullable1 = let final self::Class1? #t3 = n1 in #t3.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
- let final self::Class1? #t6 = n1 in #t6.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
- let final self::Class1? #t7 = n1 in #t7.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
- let final self::Class1? #t8 = n1 in #t8.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
- let final self::Class1? #t10 = n1 in #t10.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
- let final self::Class1? #t12 = n1 in #t12.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
- let final self::Class1? #t13 = n1 in #t13.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
- let final self::Class1? #t15 = n1 in #t15.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
- let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
+ let final self::Class1? #t1 = n1 in #t1 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t1{self::Class1});
+ let final self::Class1? #t2 = n1 in #t2 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t2{self::Class1}, new self::Class1::•());
+ nullable1 = let final self::Class1? #t3 = n1 in #t3 == null ?{self::Class1?} null : let final self::Class1 #t4 = new self::Class1::•() in let final void #t5 = self::Extension1|set#nullable1(#t3{self::Class1}, #t4) in #t4;
+ let final self::Class1? #t6 = n1 in #t6 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t6{self::Class1});
+ let final self::Class1? #t7 = n1 in #t7 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t7{self::Class1}));
+ let final self::Class1? #t8 = n1 in #t8 == null ?{self::Class1?} null : let final self::Class1? #t9 = self::Extension1|get#nullable1(#t8{self::Class1}) in #t9 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t9{self::Class1});
+ let final self::Class1? #t10 = n1 in #t10 == null ?{self::Class1?} null : let final self::Class1? #t11 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t10{self::Class1})) in #t11 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t11{self::Class1});
+ let final self::Class1? #t12 = n1 in #t12 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t12{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t13 = n1 in #t13 == null ?{self::Class1?} null : let final self::Class1? #t14 = self::Extension1|get#nullable1(#t13{self::Class1}) in #t14 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t14{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t15 = n1 in #t15 == null ?{self::Class1?} null : let final self::Class1? #t16 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t15{self::Class1})) in #t16 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t16{self::Class1}, new self::Class1::•());
+ let final self::Class1? #t17 = let final self::Class1? #t18 = n1 in #t18 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t18{self::Class1}) in #t17 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t17{self::Class1});
self::throws(() → void => let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:93:47: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nullable1 = new Class1()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t20 = n1 in #t20 == null ?{self::Class1?} null : let final self::Class1 #t21 = new self::Class1::•() in let final void #t22 = self::Extension1|set#nullable1(#t20{self::Class1}, #t21) in #t21));
self::throws(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:94:43: Error: Property 'nullable1' cannot be accessed on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
Try accessing using ?. instead.
throws(() => (n1?.nonNullable1Method()).nullable1);
- ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
- nullable1 = let final self::Class1? #t25 = n1 in #t25.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
- nullable1 = let final self::Class1? #t28 = n1 in #t28.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
- nullable1 = let final self::Class1? #t32 = n1 in #t32.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
- let final self::Class1? #t36 = n1 in #t36.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
- let final self::Class1? #t38 = n1 in #t38.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t39 = n1 in #t39.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
- let final self::Class1? #t42 = n1 in #t42.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
- nullable1 = let final self::Class1? #t45 = n1 in #t45.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
- let final self::Class1? #t50 = n1 in #t50.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t51 = n1 in #t51.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
- let final self::Class1? #t54 = n1 in #t54.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
- let final self::Class1? #t55 = n1 in #t55.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
- let final self::Class1? #t56 = n1 in #t56.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
- let final self::Class1? #t57 = n1 in #t57.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
- let final self::Class1? #t58 = n1 in #t58.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t59 = n1 in #t59.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
- let final self::Class1? #t62 = n1 in #t62.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
- let final self::Class1? #t64 = n1 in #t64.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t65 = n1 in #t65.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
- let final self::Class1? #t68 = n1 in #t68.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
- nullable1 = let final self::Class1? #t71 = n1 in #t71.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
- let final self::Class1? #t76 = n1 in #t76.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
- nullable1 = let final self::Class1? #t77 = n1 in #t77.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
- let final self::Class1? #t80 = n1 in #t80.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
- let final self::Class1? #t81 = n1 in #t81.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
- let final self::Class1? #t82 = n1 in #t82.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
- let final self::Class1? #t83 = n1 in #t83.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t84 = n1 in #t84.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
- let final self::Class1? #t87 = n1 in #t87.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
- nullable1 = let final self::Class1? #t90 = n1 in #t90.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
- let final self::Class1? #t95 = n1 in #t95.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t96 = n1 in #t96.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
- let final self::Class1? #t99 = n1 in #t99.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
- nullable1 = let final self::Class1? #t102 = n1 in #t102.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
- let final self::Class1? #t107 = n1 in #t107.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
- nullable1 = let final self::Class1? #t112 = n1 in #t112.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
- let final self::Class1? #t119 = n1 in #t119.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
- nullable1 = let final self::Class1? #t122 = n1 in #t122.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
- let final self::Class1? #t127 = n1 in #t127.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
- nullable1 = let final self::Class1? #t128 = n1 in #t128.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
- let final self::Class1? #t131 = n1 in #t131.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
- nullable1 = let final self::Class1? #t134 = n1 in #t134.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
- let final self::Class1? #t139 = n1 in #t139.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
- nullable1 = let final self::Class1? #t140 = n1 in #t140.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
- let final self::Class1? #t143 = n1 in #t143.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
- let final self::Class1? #t144 = n1 in #t144.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
- nullable1 = let final self::Class1? #t145 = n1 in #t145.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
- let final self::Class1? #t148 = n1 in #t148.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
- let final self::Class1? #t149 = n1 in #t149.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t150 = n1 in #t150.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
- let final self::Class1? #t153 = n1 in #t153.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
- nullable1 = let final self::Class1? #t156 = n1 in #t156.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
- let final self::Class1? #t161 = n1 in #t161.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
- nullable1 = let final self::Class1? #t162 = n1 in #t162.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
- let final self::Class1? #t165 = n1 in #t165.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
- let final self::Class1? #t166 = n1 in #t166.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
- let final self::Class1? #t167 = n1 in #t167.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
- let final self::Class1? #t168 = n1 in #t168.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
+ ^^^^^^^^^" in self::Extension1|get#nullable1(let final self::Class1? #t24 = n1 in #t24 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t24{self::Class1})));
+ nullable1 = let final self::Class1? #t25 = n1 in #t25 == null ?{self::Class1?} null : let final self::Class1 #t26 = new self::Class1::•() in let final void #t27 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t25{self::Class1}), #t26) in #t26;
+ nullable1 = let final self::Class1? #t28 = n1 in #t28 == null ?{self::Class1?} null : let final self::Class1? #t29 = self::Extension1|get#nullable1(#t28{self::Class1}) in #t29 == null ?{self::Class1?} null : let final self::Class1 #t30 = new self::Class1::•() in let final void #t31 = self::Extension1|set#nullable1(#t29{self::Class1}, #t30) in #t30;
+ nullable1 = let final self::Class1? #t32 = n1 in #t32 == null ?{self::Class1?} null : let final self::Class1? #t33 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t32{self::Class1})) in #t33 == null ?{self::Class1?} null : let final self::Class1 #t34 = new self::Class1::•() in let final void #t35 = self::Extension1|set#nullable1(#t33{self::Class1}, #t34) in #t34;
+ let final self::Class1? #t36 = n1 in #t36 == null ?{self::Class1?} null : let final self::Class1? #t37 = self::Extension1|get#nullable1(#t36{self::Class1}) in #t37 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t37{self::Class1});
+ let final self::Class1? #t38 = n1 in #t38 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t38{self::Class1}, self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t39 = n1 in #t39 == null ?{self::Class1?} null : let final self::Class1? #t40 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t41 = self::Extension1|set#nullable1(#t39{self::Class1}, #t40) in #t40;
+ let final self::Class1? #t42 = n1 in #t42 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t42{self::Class1}, let final self::Class1 #t43 = new self::Class1::•() in let final void #t44 = self::Extension1|set#nullable1(new self::Class1::•(), #t43) in #t43);
+ nullable1 = let final self::Class1? #t45 = n1 in #t45 == null ?{self::Class1?} null : let final self::Class1 #t46 = let final self::Class1 #t47 = new self::Class1::•() in let final void #t48 = self::Extension1|set#nullable1(new self::Class1::•(), #t47) in #t47 in let final void #t49 = self::Extension1|set#nullable1(#t45{self::Class1}, #t46) in #t46;
+ let final self::Class1? #t50 = n1 in #t50 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t50{self::Class1}, self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t51 = n1 in #t51 == null ?{self::Class1?} null : let final self::Class1 #t52 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t53 = self::Extension1|set#nullable1(#t51{self::Class1}, #t52) in #t52;
+ let final self::Class1? #t54 = n1 in #t54 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(#t54{self::Class1}));
+ let final self::Class1? #t55 = n1 in #t55 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t55{self::Class1}), new self::Class1::•());
+ let final self::Class1? #t56 = n1 in #t56 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t56{self::Class1}));
+ let final self::Class1? #t57 = n1 in #t57 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t57{self::Class1})));
+ let final self::Class1? #t58 = n1 in #t58 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t58{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t59 = n1 in #t59 == null ?{self::Class1?} null : let final self::Class1 #t60 = new self::Class1::•() in let final void #t61 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|get#nonNullable1(#t59{self::Class1})), #t60) in #t60;
+ let final self::Class1? #t62 = n1 in #t62 == null ?{self::Class1?} null : let final self::Class1? #t63 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(#t62{self::Class1})) in #t63 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t63{self::Class1});
+ let final self::Class1? #t64 = n1 in #t64 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t64{self::Class1}, self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t65 = n1 in #t65 == null ?{self::Class1?} null : let final self::Class1? #t66 = self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t67 = self::Extension1|set#nullable1(#t65{self::Class1}, #t66) in #t66;
+ let final self::Class1? #t68 = n1 in #t68 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t68{self::Class1}, let final self::Class1 #t69 = new self::Class1::•() in let final void #t70 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t69) in #t69);
+ nullable1 = let final self::Class1? #t71 = n1 in #t71 == null ?{self::Class1?} null : let final self::Class1 #t72 = let final self::Class1 #t73 = new self::Class1::•() in let final void #t74 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(new self::Class1::•()), #t73) in #t73 in let final void #t75 = self::Extension1|set#nullable1(#t71{self::Class1}, #t72) in #t72;
+ let final self::Class1? #t76 = n1 in #t76 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t76{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t77 = n1 in #t77 == null ?{self::Class1?} null : let final self::Class1 #t78 = self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(new self::Class1::•())) in let final void #t79 = self::Extension1|set#nullable1(#t77{self::Class1}, #t78) in #t78;
+ let final self::Class1? #t80 = n1 in #t80 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t80{self::Class1})));
+ let final self::Class1? #t81 = n1 in #t81 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t81{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t82 = n1 in #t82 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(self::Extension1|nonNullable1Method(#t82{self::Class1})));
+ let final self::Class1? #t83 = n1 in #t83 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t83{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t84 = n1 in #t84 == null ?{self::Class1?} null : let final self::Class1? #t85 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t86 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t84{self::Class1}), #t85) in #t85;
+ let final self::Class1? #t87 = n1 in #t87 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t87{self::Class1}), let final self::Class1 #t88 = new self::Class1::•() in let final void #t89 = self::Extension1|set#nullable1(new self::Class1::•(), #t88) in #t88);
+ nullable1 = let final self::Class1? #t90 = n1 in #t90 == null ?{self::Class1?} null : let final self::Class1 #t91 = let final self::Class1 #t92 = new self::Class1::•() in let final void #t93 = self::Extension1|set#nullable1(new self::Class1::•(), #t92) in #t92 in let final void #t94 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t90{self::Class1}), #t91) in #t91;
+ let final self::Class1? #t95 = n1 in #t95 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t95{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t96 = n1 in #t96 == null ?{self::Class1?} null : let final self::Class1 #t97 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t98 = self::Extension1|set#nullable1(self::Extension1|get#nonNullable1(#t96{self::Class1}), #t97) in #t97;
+ let final self::Class1? #t99 = n1 in #t99 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t99{self::Class1}, let final self::Class1? #t100 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t101 = self::Extension1|set#nullable1(new self::Class1::•(), #t100) in #t100);
+ nullable1 = let final self::Class1? #t102 = n1 in #t102 == null ?{self::Class1?} null : let final self::Class1? #t103 = let final self::Class1? #t104 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t105 = self::Extension1|set#nullable1(new self::Class1::•(), #t104) in #t104 in let final void #t106 = self::Extension1|set#nullable1(#t102{self::Class1}, #t103) in #t103;
+ let final self::Class1? #t107 = n1 in #t107 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t107{self::Class1}, let final self::Class1 #t108 = let final self::Class1 #t109 = new self::Class1::•() in let final void #t110 = self::Extension1|set#nullable1(new self::Class1::•(), #t109) in #t109 in let final void #t111 = self::Extension1|set#nullable1(new self::Class1::•(), #t108) in #t108);
+ nullable1 = let final self::Class1? #t112 = n1 in #t112 == null ?{self::Class1?} null : let final self::Class1 #t113 = let final self::Class1 #t114 = let final self::Class1 #t115 = new self::Class1::•() in let final void #t116 = self::Extension1|set#nullable1(new self::Class1::•(), #t115) in #t115 in let final void #t117 = self::Extension1|set#nullable1(new self::Class1::•(), #t114) in #t114 in let final void #t118 = self::Extension1|set#nullable1(#t112{self::Class1}, #t113) in #t113;
+ let final self::Class1? #t119 = n1 in #t119 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t119{self::Class1}, let final self::Class1 #t120 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t121 = self::Extension1|set#nullable1(new self::Class1::•(), #t120) in #t120);
+ nullable1 = let final self::Class1? #t122 = n1 in #t122 == null ?{self::Class1?} null : let final self::Class1 #t123 = let final self::Class1 #t124 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t125 = self::Extension1|set#nullable1(new self::Class1::•(), #t124) in #t124 in let final void #t126 = self::Extension1|set#nullable1(#t122{self::Class1}, #t123) in #t123;
+ let final self::Class1? #t127 = n1 in #t127 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t127{self::Class1}), self::Extension1|get#nullable1(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t128 = n1 in #t128 == null ?{self::Class1?} null : let final self::Class1? #t129 = self::Extension1|get#nullable1(new self::Class1::•()) in let final void #t130 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t128{self::Class1}), #t129) in #t129;
+ let final self::Class1? #t131 = n1 in #t131 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t131{self::Class1}), let final self::Class1 #t132 = new self::Class1::•() in let final void #t133 = self::Extension1|set#nullable1(new self::Class1::•(), #t132) in #t132);
+ nullable1 = let final self::Class1? #t134 = n1 in #t134 == null ?{self::Class1?} null : let final self::Class1 #t135 = let final self::Class1 #t136 = new self::Class1::•() in let final void #t137 = self::Extension1|set#nullable1(new self::Class1::•(), #t136) in #t136 in let final void #t138 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t134{self::Class1}), #t135) in #t135;
+ let final self::Class1? #t139 = n1 in #t139 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t139{self::Class1}), self::Extension1|nonNullable1Method(new self::Class1::•()));
+ nullable1 = let final self::Class1? #t140 = n1 in #t140 == null ?{self::Class1?} null : let final self::Class1 #t141 = self::Extension1|nonNullable1Method(new self::Class1::•()) in let final void #t142 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(#t140{self::Class1}), #t141) in #t141;
+ let final self::Class1? #t143 = n1 in #t143 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t143{self::Class1})));
+ let final self::Class1? #t144 = n1 in #t144 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t144{self::Class1})), new self::Class1::•());
+ nullable1 = let final self::Class1? #t145 = n1 in #t145 == null ?{self::Class1?} null : let final self::Class1 #t146 = new self::Class1::•() in let final void #t147 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t145{self::Class1})), #t146) in #t146;
+ let final self::Class1? #t148 = n1 in #t148 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|get#nonNullable1(#t148{self::Class1})));
+ let final self::Class1? #t149 = n1 in #t149 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t149{self::Class1}, self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t150 = n1 in #t150 == null ?{self::Class1?} null : let final self::Class1? #t151 = self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t152 = self::Extension1|set#nullable1(#t150{self::Class1}, #t151) in #t151;
+ let final self::Class1? #t153 = n1 in #t153 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t153{self::Class1}, let final self::Class1 #t154 = new self::Class1::•() in let final void #t155 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t154) in #t154);
+ nullable1 = let final self::Class1? #t156 = n1 in #t156 == null ?{self::Class1?} null : let final self::Class1 #t157 = let final self::Class1 #t158 = new self::Class1::•() in let final void #t159 = self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(new self::Class1::•()), #t158) in #t158 in let final void #t160 = self::Extension1|set#nullable1(#t156{self::Class1}, #t157) in #t157;
+ let final self::Class1? #t161 = n1 in #t161 == null ?{self::Class1?} null : self::Extension1|set#nullable1(#t161{self::Class1}, self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())));
+ nullable1 = let final self::Class1? #t162 = n1 in #t162 == null ?{self::Class1?} null : let final self::Class1 #t163 = self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(new self::Class1::•())) in let final void #t164 = self::Extension1|set#nullable1(#t162{self::Class1}, #t163) in #t163;
+ let final self::Class1? #t165 = n1 in #t165 == null ?{self::Class1?} null : self::Extension1|get#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t165{self::Class1})));
+ let final self::Class1? #t166 = n1 in #t166 == null ?{self::Class1?} null : self::Extension1|set#nullable1(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t166{self::Class1})), new self::Class1::•());
+ let final self::Class1? #t167 = n1 in #t167 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(self::Extension1|nonNullable1Method(#t167{self::Class1})));
+ let final self::Class1? #t168 = n1 in #t168 == null ?{self::Class1?} null : let final self::Class1? #t169 = self::Extension1|nonNullable1Method(#t168{self::Class1}) in #t169 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t169{self::Class1});
}
static method indexAccess(self::Class1? n1, self::Class2? n2, self::Class3? n3) → void {
self::Class1? nullable1 = n1;
self::Class2? nullable2 = n2;
self::Class3? nullable3 = n3;
- let final self::Class1? #t170 = n1 in #t170.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
- let final self::Class1? #t171 = n1 in #t171.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
- let final self::Class1? #t172 = n1 in #t172.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
- let final self::Class1? #t174 = n1 in #t174.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
- let final self::Class1? #t175 = n1 in #t175.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t176 = n1 in #t176.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
- let final self::Class1? #t181 = n1 in #t181.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
- let final self::Class1? #t183 = n1 in #t183.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
- nullable2 = let final self::Class1? #t186 = n1 in #t186.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
- let final self::Class1? #t191 = n1 in #t191.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
- nullable1 = let final self::Class1? #t193 = n1 in #t193.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
- let final self::Class2? #t198 = n2 in #t198.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
- nullable2 = let final self::Class2? #t200 = n2 in #t200.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
- let final self::Class2? #t204 = n2 in #t204.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
- nullable2 = let final self::Class2? #t206 = n2 in #t206.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
- let final self::Class2? #t210 = n2 in #t210.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
- nullable2 = let final self::Class2? #t212 = n2 in #t212.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
- let final self::Class2? #t216 = n2 in #t216.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
- nullable2 = let final self::Class2? #t220 = n2 in #t220.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
- let final self::Class1? #t224 = n1 in #t224.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
- nullable2 = let final self::Class1? #t227 = n1 in #t227.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
- let final self::Class1? #t232 = n1 in #t232.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
- nullable2 = let final self::Class1? #t237 = n1 in #t237.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
- let final self::Class1? #t242 = n1 in #t242.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
- let final self::Class1? #t243 = n1 in #t243.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
- nullable2 = let final self::Class1? #t244 = n1 in #t244.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
- let final self::Class1? #t249 = n1 in #t249.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
- let final self::Class1? #t251 = n1 in #t251.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
- nullable2 = let final self::Class1? #t254 = n1 in #t254.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
- let final self::Class1? #t259 = n1 in #t259.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
- nullable2 = let final self::Class1? #t262 = n1 in #t262.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
- let final self::Class1? #t267 = n1 in #t267.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
- nullable2 = let final self::Class1? #t272 = n1 in #t272.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
- let final self::Class1? #t277 = n1 in #t277.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
- let final self::Class1? #t279 = n1 in #t279.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
- nullable1 = let final self::Class1? #t281 = n1 in #t281.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
- let final self::Class1? #t286 = n1 in #t286.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
- nullable1 = let final self::Class1? #t289 = n1 in #t289.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
- let final self::Class1? #t292 = n1 in #t292.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294).{core::Object::==}(null) ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
- nullable1 = let final self::Class1? #t295 = n1 in #t295.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298.{core::Object::==}(null) ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
- let final self::Class3? #t301 = n3 in #t301.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
- nullable2 = let final self::Class3? #t304 = n3 in #t304.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
- let final self::Class3? #t309 = n3 in #t309.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
- nullable2 = let final self::Class3? #t312 = n3 in #t312.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
- let final self::Class3? #t317 = n3 in #t317.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
- nullable2 = let final self::Class3? #t322 = n3 in #t322.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
+ let final self::Class1? #t170 = n1 in #t170 == null ?{self::Class1?} null : self::Extension1|[](#t170{self::Class1}, nullable1);
+ let final self::Class1? #t171 = n1 in #t171 == null ?{self::Class1?} null : self::Extension1|[]=(#t171{self::Class1}, nullable1, new self::Class1::•());
+ let final self::Class1? #t172 = n1 in #t172 == null ?{self::Class1?} null : let final self::Class1? #t173 = self::Extension1|[](#t172{self::Class1}, nullable1) in #t173 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t173{self::Class1});
+ let final self::Class1? #t174 = n1 in #t174 == null ?{self::Class1?} null : self::Extension1|[](self::Extension1|get#nonNullable1(#t174{self::Class1}), nullable1);
+ let final self::Class1? #t175 = n1 in #t175 == null ?{self::Class1?} null : self::Extension1|[]=(self::Extension1|get#nonNullable1(#t175{self::Class1}), nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t176 = n1 in #t176 == null ?{self::Class1?} null : let final self::Class1 #t177 = self::Extension1|get#nonNullable1(#t176{self::Class1}) in let final self::Class1? #t178 = nullable1 in let final self::Class1 #t179 = new self::Class1::•() in let final void #t180 = self::Extension1|[]=(#t177, #t178, #t179) in #t179;
+ let final self::Class1? #t181 = n1 in #t181 == null ?{self::Class1?} null : let final self::Class1? #t182 = self::Extension1|[](self::Extension1|get#nonNullable1(#t181{self::Class1}), nullable1) in #t182 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t182{self::Class1});
+ let final self::Class1? #t183 = n1 in #t183 == null ?{self::Class2?} null : let final self::Class2 #t184 = self::Extension1|get#nonNullable2(#t183{self::Class1}) in let final self::Class2? #t185 = nullable2 in self::Extension2|[]=(#t184, #t185, self::Extension2|+(self::Extension2|[](#t184, #t185), 0));
+ nullable2 = let final self::Class1? #t186 = n1 in #t186 == null ?{self::Class2?} null : let final self::Class2 #t187 = self::Extension1|get#nonNullable2(#t186{self::Class1}) in let final self::Class2? #t188 = nullable2 in let final self::Class2 #t189 = self::Extension2|+(self::Extension2|[](#t187, #t188), 0) in let final void #t190 = self::Extension2|[]=(#t187, #t188, #t189) in #t189;
+ let final self::Class1? #t191 = n1 in #t191 == null ?{self::Class1?} null : let final self::Class1? #t192 = nullable1 in self::Extension1|[](#t191{self::Class1}, #t192) == null ?{self::Class1?} self::Extension1|[]=(#t191{self::Class1}, #t192, nullable1) : null;
+ nullable1 = let final self::Class1? #t193 = n1 in #t193 == null ?{self::Class1?} null : let final self::Class1? #t194 = nullable1 in let final self::Class1? #t195 = self::Extension1|[](#t193{self::Class1}, #t194) in #t195 == null ?{self::Class1?} let final self::Class1? #t196 = nullable1 in let final void #t197 = self::Extension1|[]=(#t193{self::Class1}, #t194, #t196) in #t196 : #t195{self::Class1};
+ let final self::Class2? #t198 = n2 in #t198 == null ?{self::Class2?} null : let final self::Class2? #t199 = nullable2 in self::Extension2|[]=(#t198{self::Class2}, #t199, self::Extension2|+(self::Extension2|[](#t198{self::Class2}, #t199), 0));
+ nullable2 = let final self::Class2? #t200 = n2 in #t200 == null ?{self::Class2?} null : let final self::Class2? #t201 = nullable2 in let final self::Class2 #t202 = self::Extension2|+(self::Extension2|[](#t200{self::Class2}, #t201), 0) in let final void #t203 = self::Extension2|[]=(#t200{self::Class2}, #t201, #t202) in #t202;
+ let final self::Class2? #t204 = n2 in #t204 == null ?{self::Class2?} null : let final self::Class2? #t205 = nullable2 in self::Extension2|[]=(#t204{self::Class2}, #t205, self::Extension2|+(self::Extension2|[](#t204{self::Class2}, #t205), 0));
+ nullable2 = let final self::Class2? #t206 = n2 in #t206 == null ?{self::Class2?} null : let final self::Class2? #t207 = nullable2 in let final self::Class2 #t208 = self::Extension2|+(self::Extension2|[](#t206{self::Class2}, #t207), 0) in let final void #t209 = self::Extension2|[]=(#t206{self::Class2}, #t207, #t208) in #t208;
+ let final self::Class2? #t210 = n2 in #t210 == null ?{self::Class2?} null : let final self::Class2? #t211 = nullable2 in self::Extension2|[]=(#t210{self::Class2}, #t211, self::Extension2|+(self::Extension2|[](#t210{self::Class2}, #t211), 1));
+ nullable2 = let final self::Class2? #t212 = n2 in #t212 == null ?{self::Class2?} null : let final self::Class2? #t213 = nullable2 in let final self::Class2 #t214 = self::Extension2|[](#t212{self::Class2}, #t213) in let final void #t215 = self::Extension2|[]=(#t212{self::Class2}, #t213, self::Extension2|+(#t214, 1)) in #t214;
+ let final self::Class2? #t216 = n2 in #t216 == null ?{self::Class2?} null : let final self::Class2? #t217 = nullable2 in let final self::Class2 #t218 = self::Extension2|+(self::Extension2|[](#t216{self::Class2}, #t217), 1) in let final void #t219 = self::Extension2|[]=(#t216{self::Class2}, #t217, #t218) in #t218;
+ nullable2 = let final self::Class2? #t220 = n2 in #t220 == null ?{self::Class2?} null : let final self::Class2? #t221 = nullable2 in let final self::Class2 #t222 = self::Extension2|+(self::Extension2|[](#t220{self::Class2}, #t221), 1) in let final void #t223 = self::Extension2|[]=(#t220{self::Class2}, #t221, #t222) in #t222;
+ let final self::Class1? #t224 = n1 in #t224 == null ?{self::Class2?} null : let final self::Class2 #t225 = self::Extension1|get#nonNullable2(#t224{self::Class1}) in let final self::Class2? #t226 = nullable2 in self::Extension2|[]=(#t225, #t226, self::Extension2|+(self::Extension2|[](#t225, #t226), 1));
+ nullable2 = let final self::Class1? #t227 = n1 in #t227 == null ?{self::Class2?} null : let final self::Class2 #t228 = self::Extension1|get#nonNullable2(#t227{self::Class1}) in let final self::Class2? #t229 = nullable2 in let final self::Class2 #t230 = self::Extension2|[](#t228, #t229) in let final void #t231 = self::Extension2|[]=(#t228, #t229, self::Extension2|+(#t230, 1)) in #t230;
+ let final self::Class1? #t232 = n1 in #t232 == null ?{self::Class2?} null : let final self::Class2 #t233 = self::Extension1|get#nonNullable2(#t232{self::Class1}) in let final self::Class2? #t234 = nullable2 in let final self::Class2 #t235 = self::Extension2|+(self::Extension2|[](#t233, #t234), 1) in let final void #t236 = self::Extension2|[]=(#t233, #t234, #t235) in #t235;
+ nullable2 = let final self::Class1? #t237 = n1 in #t237 == null ?{self::Class2?} null : let final self::Class2 #t238 = self::Extension1|get#nonNullable2(#t237{self::Class1}) in let final self::Class2? #t239 = nullable2 in let final self::Class2 #t240 = self::Extension2|+(self::Extension2|[](#t238, #t239), 1) in let final void #t241 = self::Extension2|[]=(#t238, #t239, #t240) in #t240;
+ let final self::Class1? #t242 = n1 in #t242 == null ?{self::Class2?} null : self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t242{self::Class1}), nullable2), nullable2);
+ let final self::Class1? #t243 = n1 in #t243 == null ?{self::Class2?} null : self::Extension2|[]=(self::Extension2|[](self::Extension1|get#nonNullable2(#t243{self::Class1}), nullable2), nullable2, new self::Class2::•());
+ nullable2 = let final self::Class1? #t244 = n1 in #t244 == null ?{self::Class2?} null : let final self::Class2 #t245 = self::Extension2|[](self::Extension1|get#nonNullable2(#t244{self::Class1}), nullable2) in let final self::Class2? #t246 = nullable2 in let final self::Class2 #t247 = new self::Class2::•() in let final void #t248 = self::Extension2|[]=(#t245, #t246, #t247) in #t247;
+ let final self::Class1? #t249 = n1 in #t249 == null ?{self::Class2?} null : let final self::Class2? #t250 = self::Extension2|[](self::Extension2|[](self::Extension1|get#nonNullable2(#t249{self::Class1}), nullable2), nullable2) in #t250 == null ?{self::Class2?} null : self::Extension2|nonNullable2Method(#t250{self::Class2});
+ let final self::Class1? #t251 = n1 in #t251 == null ?{self::Class2?} null : let final self::Class2 #t252 = self::Extension2|[](self::Extension1|get#nonNullable2(#t251{self::Class1}), nullable2) in let final self::Class2? #t253 = nullable2 in self::Extension2|[]=(#t252, #t253, self::Extension2|+(self::Extension2|[](#t252, #t253), 0));
+ nullable2 = let final self::Class1? #t254 = n1 in #t254 == null ?{self::Class2?} null : let final self::Class2 #t255 = self::Extension2|[](self::Extension1|get#nonNullable2(#t254{self::Class1}), nullable2) in let final self::Class2? #t256 = nullable2 in let final self::Class2 #t257 = self::Extension2|+(self::Extension2|[](#t255, #t256), 0) in let final void #t258 = self::Extension2|[]=(#t255, #t256, #t257) in #t257;
+ let final self::Class1? #t259 = n1 in #t259 == null ?{self::Class2?} null : let final self::Class2 #t260 = self::Extension2|[](self::Extension1|get#nonNullable2(#t259{self::Class1}), nullable2) in let final self::Class2? #t261 = nullable2 in self::Extension2|[]=(#t260, #t261, self::Extension2|+(self::Extension2|[](#t260, #t261), 1));
+ nullable2 = let final self::Class1? #t262 = n1 in #t262 == null ?{self::Class2?} null : let final self::Class2 #t263 = self::Extension2|[](self::Extension1|get#nonNullable2(#t262{self::Class1}), nullable2) in let final self::Class2? #t264 = nullable2 in let final self::Class2 #t265 = self::Extension2|[](#t263, #t264) in let final void #t266 = self::Extension2|[]=(#t263, #t264, self::Extension2|+(#t265, 1)) in #t265;
+ let final self::Class1? #t267 = n1 in #t267 == null ?{self::Class2?} null : let final self::Class2 #t268 = self::Extension2|[](self::Extension1|get#nonNullable2(#t267{self::Class1}), nullable2) in let final self::Class2? #t269 = nullable2 in let final self::Class2 #t270 = self::Extension2|+(self::Extension2|[](#t268, #t269), 1) in let final void #t271 = self::Extension2|[]=(#t268, #t269, #t270) in #t270;
+ nullable2 = let final self::Class1? #t272 = n1 in #t272 == null ?{self::Class2?} null : let final self::Class2 #t273 = self::Extension2|[](self::Extension1|get#nonNullable2(#t272{self::Class1}), nullable2) in let final self::Class2? #t274 = nullable2 in let final self::Class2 #t275 = self::Extension2|+(self::Extension2|[](#t273, #t274), 1) in let final void #t276 = self::Extension2|[]=(#t273, #t274, #t275) in #t275;
+ let final self::Class1? #t277 = n1 in #t277 == null ?{self::Class1?} null : let final self::Class1? #t278 = self::Extension1|[](#t277{self::Class1}, nullable1) in #t278 == null ?{self::Class1?} null : self::Extension1|[](#t278{self::Class1}, nullable1);
+ let final self::Class1? #t279 = n1 in #t279 == null ?{self::Class1?} null : let final self::Class1? #t280 = self::Extension1|[](#t279{self::Class1}, nullable1) in #t280 == null ?{self::Class1?} null : self::Extension1|[]=(#t280{self::Class1}, nullable1, new self::Class1::•());
+ nullable1 = let final self::Class1? #t281 = n1 in #t281 == null ?{self::Class1?} null : let final self::Class1? #t282 = self::Extension1|[](#t281{self::Class1}, nullable1) in #t282 == null ?{self::Class1?} null : let final self::Class1? #t283 = nullable1 in let final self::Class1 #t284 = new self::Class1::•() in let final void #t285 = self::Extension1|[]=(#t282{self::Class1}, #t283, #t284) in #t284;
+ let final self::Class1? #t286 = n1 in #t286 == null ?{self::Class1?} null : let final self::Class1? #t287 = self::Extension1|[](#t286{self::Class1}, nullable1) in #t287 == null ?{self::Class1?} null : let final self::Class1? #t288 = self::Extension1|[](#t287{self::Class1}, nullable1) in #t288 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t288{self::Class1});
+ nullable1 = let final self::Class1? #t289 = n1 in #t289 == null ?{self::Class1?} null : let final self::Class1? #t290 = self::Extension1|[](#t289{self::Class1}, nullable1) in #t290 == null ?{self::Class1?} null : let final self::Class1? #t291 = self::Extension1|[](#t290{self::Class1}, nullable1) in #t291 == null ?{self::Class1?} null : self::Extension1|nonNullable1Method(#t291{self::Class1});
+ let final self::Class1? #t292 = n1 in #t292 == null ?{self::Class1?} null : let final self::Class1? #t293 = self::Extension1|[](#t292{self::Class1}, nullable1) in #t293 == null ?{self::Class1?} null : let final self::Class1? #t294 = nullable1 in self::Extension1|[](#t293{self::Class1}, #t294) == null ?{self::Class1?} self::Extension1|[]=(#t293{self::Class1}, #t294, nullable1) : null;
+ nullable1 = let final self::Class1? #t295 = n1 in #t295 == null ?{self::Class1?} null : let final self::Class1? #t296 = self::Extension1|[](#t295{self::Class1}, nullable1) in #t296 == null ?{self::Class1?} null : let final self::Class1? #t297 = nullable1 in let final self::Class1? #t298 = self::Extension1|[](#t296{self::Class1}, #t297) in #t298 == null ?{self::Class1?} let final self::Class1? #t299 = nullable1 in let final void #t300 = self::Extension1|[]=(#t296{self::Class1}, #t297, #t299) in #t299 : #t298{self::Class1};
+ let final self::Class3? #t301 = n3 in #t301 == null ?{self::Class2?} null : let final self::Class2? #t302 = self::Extension3|[](#t301{self::Class3}, nullable3) in #t302 == null ?{self::Class2?} null : let final self::Class2? #t303 = nullable2 in self::Extension2|[]=(#t302{self::Class2}, #t303, self::Extension2|+(self::Extension2|[](#t302{self::Class2}, #t303), 0));
+ nullable2 = let final self::Class3? #t304 = n3 in #t304 == null ?{self::Class2?} null : let final self::Class2? #t305 = self::Extension3|[](#t304{self::Class3}, nullable3) in #t305 == null ?{self::Class2?} null : let final self::Class2? #t306 = nullable2 in let final self::Class2 #t307 = self::Extension2|+(self::Extension2|[](#t305{self::Class2}, #t306), 0) in let final void #t308 = self::Extension2|[]=(#t305{self::Class2}, #t306, #t307) in #t307;
+ let final self::Class3? #t309 = n3 in #t309 == null ?{self::Class2?} null : let final self::Class2? #t310 = self::Extension3|[](#t309{self::Class3}, nullable3) in #t310 == null ?{self::Class2?} null : let final self::Class2? #t311 = nullable2 in self::Extension2|[]=(#t310{self::Class2}, #t311, self::Extension2|+(self::Extension2|[](#t310{self::Class2}, #t311), 1));
+ nullable2 = let final self::Class3? #t312 = n3 in #t312 == null ?{self::Class2?} null : let final self::Class2? #t313 = self::Extension3|[](#t312{self::Class3}, nullable3) in #t313 == null ?{self::Class2?} null : let final self::Class2? #t314 = nullable2 in let final self::Class2 #t315 = self::Extension2|[](#t313{self::Class2}, #t314) in let final void #t316 = self::Extension2|[]=(#t313{self::Class2}, #t314, self::Extension2|+(#t315, 1)) in #t315;
+ let final self::Class3? #t317 = n3 in #t317 == null ?{self::Class2?} null : let final self::Class2? #t318 = self::Extension3|[](#t317{self::Class3}, nullable3) in #t318 == null ?{self::Class2?} null : let final self::Class2? #t319 = nullable2 in let final self::Class2 #t320 = self::Extension2|+(self::Extension2|[](#t318{self::Class2}, #t319), 1) in let final void #t321 = self::Extension2|[]=(#t318{self::Class2}, #t319, #t320) in #t320;
+ nullable2 = let final self::Class3? #t322 = n3 in #t322 == null ?{self::Class2?} null : let final self::Class2? #t323 = self::Extension3|[](#t322{self::Class3}, nullable3) in #t323 == null ?{self::Class2?} null : let final self::Class2? #t324 = nullable2 in let final self::Class2 #t325 = self::Extension2|+(self::Extension2|[](#t323{self::Class2}, #t324), 1) in let final void #t326 = self::Extension2|[]=(#t323{self::Class2}, #t324, #t325) in #t325;
}
static method operatorAccess(self::Class1? n1, self::Class2? n2) → void {
self::Class2? nullable2 = n2;
self::throws(() → void => let final Never #t327 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:226:33: Error: Operator '+' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
throws(() => n1?.nonNullable1 + 0);
- ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
+ ^" in self::Extension1|+(let final self::Class1? #t328 = n1 in #t328 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t328{self::Class1}), 0));
self::throws(() → void => let final Never #t329 = invalid-expression "pkg/front_end/testcases/nnbd/null_shorting_extension.dart:227:16: Error: Operator 'unary-' cannot be called on 'Class1?' because it is potentially null.
- 'Class1' is from 'pkg/front_end/testcases/nnbd/null_shorting_extension.dart'.
throws(() => -n1?.nonNullable1);
- ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
- let final self::Class2? #t331 = n2 in #t331.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331, self::Extension2|+(self::Extension2|get#nonNullable2(#t331), 0));
- nullable2 = let final self::Class2? #t332 = n2 in #t332.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332, #t333) in #t333;
- let final self::Class2? #t335 = n2 in #t335.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
- nullable2 = let final self::Class2? #t337 = n2 in #t337.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
- let final self::Class2? #t341 = n2 in #t341.{core::Object::==}(null) ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341, self::Extension2|+(self::Extension2|get#nonNullable2(#t341), 1));
- nullable2 = let final self::Class2? #t342 = n2 in #t342.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342) in let final void #t344 = self::Extension2|set#nonNullable2(#t342, self::Extension2|+(#t343, 1)) in #t343;
- let final self::Class2? #t345 = n2 in #t345.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t346 = self::Extension2|+(self::Extension2|get#nonNullable2(#t345), 1) in let final void #t347 = self::Extension2|set#nonNullable2(#t345, #t346) in #t346;
- nullable2 = let final self::Class2? #t348 = n2 in #t348.{core::Object::==}(null) ?{self::Class2?} null : let final self::Class2 #t349 = self::Extension2|+(self::Extension2|get#nonNullable2(#t348), 1) in let final void #t350 = self::Extension2|set#nonNullable2(#t348, #t349) in #t349;
+ ^" in self::Extension1|unary-(let final self::Class1? #t330 = n1 in #t330 == null ?{self::Class1?} null : self::Extension1|get#nonNullable1(#t330{self::Class1})));
+ let final self::Class2? #t331 = n2 in #t331 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t331, self::Extension2|+(self::Extension2|get#nonNullable2(#t331), 0));
+ nullable2 = let final self::Class2? #t332 = n2 in #t332 == null ?{self::Class2?} null : let final self::Class2 #t333 = self::Extension2|+(self::Extension2|get#nonNullable2(#t332), 0) in let final void #t334 = self::Extension2|set#nonNullable2(#t332, #t333) in #t333;
+ let final self::Class2? #t335 = n2 in #t335 == null ?{self::Class2?} null : let final self::Class2 #t336 = self::Extension2|get#nonNullable2(#t335{self::Class2}) in self::Extension2|set#nonNullable2(#t336, self::Extension2|+(self::Extension2|get#nonNullable2(#t336), 0));
+ nullable2 = let final self::Class2? #t337 = n2 in #t337 == null ?{self::Class2?} null : let final self::Class2 #t338 = self::Extension2|get#nonNullable2(#t337{self::Class2}) in let final self::Class2 #t339 = self::Extension2|+(self::Extension2|get#nonNullable2(#t338), 0) in let final void #t340 = self::Extension2|set#nonNullable2(#t338, #t339) in #t339;
+ let final self::Class2? #t341 = n2 in #t341 == null ?{self::Class2?} null : self::Extension2|set#nonNullable2(#t341, self::Extension2|+(self::Extension2|get#nonNullable2(#t341), 1));
+ nullable2 = let final self::Class2? #t342 = n2 in #t342 == null ?{self::Class2?} null : let final self::Class2 #t343 = self::Extension2|get#nonNullable2(#t342) in let final void #t344 = self::Extension2|set#nonNullable2(#t342, self::Extension2|+(#t343, 1)) in #t343;
+ let final self::Class2? #t345 = n2 in #t345 == null ?{self::Class2?} null : let final self::Class2 #t346 = self::Extension2|+(self::Extension2|get#nonNullable2(#t345), 1) in let final void #t347 = self::Extension2|set#nonNullable2(#t345, #t346) in #t346;
+ nullable2 = let final self::Class2? #t348 = n2 in #t348 == null ?{self::Class2?} null : let final self::Class2 #t349 = self::Extension2|+(self::Extension2|get#nonNullable2(#t348), 1) in let final void #t350 = self::Extension2|set#nonNullable2(#t348, #t349) in #t349;
}
static method ifNull(self::Class1? n1) → void {
self::Class1? nullable1 = n1;
- let final self::Class1? #t351 = n1 in #t351.{core::Object::==}(null) ?{self::Class1?} null : self::Extension1|get#nullable1(#t351).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t351, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t352 = n1 in #t352.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1? #t353 = self::Extension1|get#nullable1(#t352) in #t353.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t354 = n1{self::Class1} in let final void #t355 = self::Extension1|set#nullable1(#t352, #t354) in #t354 : #t353{self::Class1};
- let final self::Class1? #t356 = n1 in #t356.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in self::Extension1|get#nullable1(#t357).{core::Object::==}(null) ?{self::Class1} self::Extension1|set#nullable1(#t357, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t358 = n1 in #t358.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in let final self::Class1? #t360 = self::Extension1|get#nullable1(#t359) in #t360.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t361 = n1{self::Class1} in let final void #t362 = self::Extension1|set#nullable1(#t359, #t361) in #t361 : #t360{self::Class1};
- let final self::Class1? #t363 = n1 in #t363.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t364 = self::Extension1|get#nonNullable1(#t363{self::Class1}) in let final self::Class1 #t365 = n1{self::Class1} in self::Extension1|[](#t364, #t365).{core::Object::==}(null) ?{self::Class1} self::Extension1|[]=(#t364, #t365, n1{self::Class1}) : null;
- n1 = let final self::Class1? #t366 = n1 in #t366.{core::Object::==}(null) ?{self::Class1?} null : let final self::Class1 #t367 = self::Extension1|get#nonNullable1(#t366{self::Class1}) in let final self::Class1 #t368 = n1{self::Class1} in let final self::Class1? #t369 = self::Extension1|[](#t367, #t368) in #t369.{core::Object::==}(null) ?{self::Class1} let final self::Class1 #t370 = n1{self::Class1} in let final void #t371 = self::Extension1|[]=(#t367, #t368, #t370) in #t370 : #t369{self::Class1};
+ let final self::Class1? #t351 = n1 in #t351 == null ?{self::Class1?} null : self::Extension1|get#nullable1(#t351) == null ?{self::Class1} self::Extension1|set#nullable1(#t351, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t352 = n1 in #t352 == null ?{self::Class1?} null : let final self::Class1? #t353 = self::Extension1|get#nullable1(#t352) in #t353 == null ?{self::Class1} let final self::Class1 #t354 = n1{self::Class1} in let final void #t355 = self::Extension1|set#nullable1(#t352, #t354) in #t354 : #t353{self::Class1};
+ let final self::Class1? #t356 = n1 in #t356 == null ?{self::Class1?} null : let final self::Class1 #t357 = self::Extension1|get#nonNullable1(#t356{self::Class1}) in self::Extension1|get#nullable1(#t357) == null ?{self::Class1} self::Extension1|set#nullable1(#t357, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t358 = n1 in #t358 == null ?{self::Class1?} null : let final self::Class1 #t359 = self::Extension1|get#nonNullable1(#t358{self::Class1}) in let final self::Class1? #t360 = self::Extension1|get#nullable1(#t359) in #t360 == null ?{self::Class1} let final self::Class1 #t361 = n1{self::Class1} in let final void #t362 = self::Extension1|set#nullable1(#t359, #t361) in #t361 : #t360{self::Class1};
+ let final self::Class1? #t363 = n1 in #t363 == null ?{self::Class1?} null : let final self::Class1 #t364 = self::Extension1|get#nonNullable1(#t363{self::Class1}) in let final self::Class1 #t365 = n1{self::Class1} in self::Extension1|[](#t364, #t365) == null ?{self::Class1} self::Extension1|[]=(#t364, #t365, n1{self::Class1}) : null;
+ n1 = let final self::Class1? #t366 = n1 in #t366 == null ?{self::Class1?} null : let final self::Class1 #t367 = self::Extension1|get#nonNullable1(#t366{self::Class1}) in let final self::Class1 #t368 = n1{self::Class1} in let final self::Class1? #t369 = self::Extension1|[](#t367, #t368) in #t369 == null ?{self::Class1} let final self::Class1 #t370 = n1{self::Class1} in let final void #t371 = self::Extension1|[]=(#t367, #t368, #t370) in #t370 : #t369{self::Class1};
}
static method throws(() → void f) → void {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_index.dart.strong.expect b/pkg/front_end/testcases/nnbd/null_shorting_index.dart.strong.expect
index dc52187..438791b 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_index.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_index.dart.strong.expect
@@ -78,56 +78,56 @@
operator []= = self::Extension|[]=;
}
static method Extension|[](lowered final self::Class2 #this, core::int index) → core::int
- return #this.{self::Class2::field};
+ return #this.{self::Class2::field}{core::int};
static method Extension|[]=(lowered final self::Class2 #this, core::int index, core::int value) → void {
#this.{self::Class2::field} = value;
}
static method main() → dynamic {
self::Class1? c1;
- let final self::Class1? #t1 = c1 in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::Class1}.{self::Class1::[]}(0);
- let final self::Class1? #t2 = c1 in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::Class1}.{self::Class1::[]=}(0, 1);
- let final self::Class1? #t3 = c1 in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Class1}.{self::Class1::[]=}(0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0)));
- let final self::Class1? #t4 = c1 in #t4.{core::Object::==}(null) ?{core::int?} null : let final core::int #t5 = 0 in #t4{self::Class1}.{self::Class1::[]=}(#t5, #t4{self::Class1}.{self::Class1::[]}(#t5).{core::num::+}(1));
- let final self::Class1? #t6 = c1 in #t6.{core::Object::==}(null) ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0))));
- let final self::Class1? #t8 = c1 in #t8.{core::Object::==}(null) ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9).{core::num::+}(1) in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10) in #t10;
- let final self::Class1? #t12 = c1 in #t12.{core::Object::==}(null) ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13).{core::num::+}(1));
- let final self::Class1? #t14 = c1 in #t14.{core::Object::==}(null) ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15).{core::num::==}(null) ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1) : null;
- let final self::Class1? #t16 = c1 in #t16.{core::Object::==}(null) ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17).{core::num::==}(null) ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1))) : null;
+ let final self::Class1? #t1 = c1 in #t1 == null ?{core::int?} null : #t1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int};
+ let final self::Class1? #t2 = c1 in #t2 == null ?{core::int?} null : #t2{self::Class1}.{self::Class1::[]=}(0, 1){(core::int, core::int) → void};
+ let final self::Class1? #t3 = c1 in #t3 == null ?{core::int?} null : #t3{self::Class1}.{self::Class1::[]=}(0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t4 = c1 in #t4 == null ?{core::int?} null : let final core::int #t5 = 0 in #t4{self::Class1}.{self::Class1::[]=}(#t5, #t4{self::Class1}.{self::Class1::[]}(#t5){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t6 = c1 in #t6 == null ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7){(core::int) → core::int}.{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t8 = c1 in #t8 == null ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10){(core::int, core::int) → void} in #t10;
+ let final self::Class1? #t12 = c1 in #t12 == null ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
+ let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
self::Class2? c2;
- let final self::Class2? #t18 = c2 in #t18.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
- let final self::Class2? #t19 = c2 in #t19.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
- let final self::Class2? #t20 = c2 in #t20.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t20{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)));
- let final self::Class2? #t21 = c2 in #t21.{core::Object::==}(null) ?{core::int?} null : let final core::int #t22 = 0 in self::Extension|[]=(#t21{self::Class2}, #t22, self::Extension|[](#t21{self::Class2}, #t22).{core::num::+}(1));
- let final self::Class2? #t23 = c2 in #t23.{core::Object::==}(null) ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0))));
- let final self::Class2? #t25 = c2 in #t25.{core::Object::==}(null) ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1) in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
- let final self::Class2? #t29 = c2 in #t29.{core::Object::==}(null) ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1));
- let final self::Class2? #t31 = c2 in #t31.{core::Object::==}(null) ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
- let final self::Class2? #t33 = c2 in #t33.{core::Object::==}(null) ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1))) : null;
- let final self::Class2? #t35 = c2 in #t35.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
- let final self::Class2? #t36 = c2 in #t36.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
- let final self::Class2? #t37 = c2 in #t37.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)));
- let final self::Class2? #t38 = c2 in #t38.{core::Object::==}(null) ?{core::int?} null : let final core::int #t39 = 0 in self::Extension|[]=(#t38{self::Class2}, #t39, self::Extension|[](#t38{self::Class2}, #t39).{core::num::+}(1));
- let final self::Class2? #t40 = c2 in #t40.{core::Object::==}(null) ?{core::int?} null : let final core::int #t41 = 0 in self::Extension|[]=(#t40{self::Class2}, #t41, self::Extension|[](#t40{self::Class2}, #t41).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0))));
- let final self::Class2? #t42 = c2 in #t42.{core::Object::==}(null) ?{core::int?} null : let final core::int #t43 = 0 in let final core::int #t44 = self::Extension|[](#t42{self::Class2}, #t43).{core::num::+}(1) in let final void #t45 = self::Extension|[]=(#t42{self::Class2}, #t43, #t44) in #t44;
- let final self::Class2? #t46 = c2 in #t46.{core::Object::==}(null) ?{core::int?} null : let final core::int #t47 = 0 in self::Extension|[]=(#t46{self::Class2}, #t47, self::Extension|[](#t46{self::Class2}, #t47).{core::num::+}(1));
- let final self::Class2? #t48 = c2 in #t48.{core::Object::==}(null) ?{core::int?} null : let final core::int #t49 = 0 in self::Extension|[](#t48{self::Class2}, #t49).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t48{self::Class2}, #t49, 1) : null;
- let final self::Class2? #t50 = c2 in #t50.{core::Object::==}(null) ?{core::int?} null : let final core::int #t51 = 0 in self::Extension|[](#t50{self::Class2}, #t51).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t50{self::Class2}, #t51, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1))) : null;
- let final self::Class1? #t52 = c1 in #t52.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t53 = #t52{self::Class1}.{self::Class1::field} in #t53.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t53{self::Class2}, 0);
- let final self::Class1? #t54 = c1 in #t54.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t55 = #t54{self::Class1}.{self::Class1::field} in #t55.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t55{self::Class2}, 0, 1);
- let final self::Class1? #t56 = c1 in #t56.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t57 = #t56{self::Class1}.{self::Class1::field} in #t57.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t57{self::Class2}, 0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0)));
- let final self::Class1? #t58 = c1 in #t58.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t59 = #t58{self::Class1}.{self::Class1::field} in #t59.{core::Object::==}(null) ?{core::int?} null : let final core::int #t60 = 0 in self::Extension|[]=(#t59{self::Class2}, #t60, self::Extension|[](#t59{self::Class2}, #t60).{core::num::+}(1));
- let final self::Class1? #t61 = c1 in #t61.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field} in #t62.{core::Object::==}(null) ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0))));
- let final self::Class1? #t64 = c1 in #t64.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field} in #t65.{core::Object::==}(null) ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1) in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
- let final self::Class1? #t69 = c1 in #t69.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field} in #t70.{core::Object::==}(null) ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1));
- let final self::Class1? #t72 = c1 in #t72.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field} in #t73.{core::Object::==}(null) ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
- let final self::Class1? #t75 = c1 in #t75.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field} in #t76.{core::Object::==}(null) ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1))) : null;
- let final self::Class1? #t78 = c1 in #t78.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field} in #t79.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
- let final self::Class1? #t80 = c1 in #t80.{core::Object::==}(null) ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field} in #t81.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
- let final self::Class1? #t82 = c1 in #t82.{core::Object::==}(null) ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field} in #t83.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}((let final self::Class2? #t84 = c2 in #t84.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!) as{ForNonNullableByDefault} core::int));
- let final self::Class1? #t85 = c1 in #t85.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t86 = #t85{self::Class1}.{self::Class1::field} in #t86.{core::Object::==}(null) ?{core::int?} null : let final core::int #t87 = 0 in self::Extension|[]=(#t86{self::Class2}, #t87, self::Extension|[](#t86{self::Class2}, #t87).{core::num::+}(1));
- let final self::Class1? #t88 = c1 in #t88.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t89 = #t88{self::Class1}.{self::Class1::field} in #t89.{core::Object::==}(null) ?{core::int?} null : let final core::int #t90 = 0 in self::Extension|[]=(#t89{self::Class2}, #t90, self::Extension|[](#t89{self::Class2}, #t90).{core::num::+}(1.{core::num::+}((let final self::Class2? #t91 = c2 in #t91.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t91{self::Class2}, 0)!) as{ForNonNullableByDefault} core::int)));
- let final self::Class1? #t92 = c1 in #t92.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t93 = #t92{self::Class1}.{self::Class1::field} in #t93.{core::Object::==}(null) ?{core::int?} null : let final core::int #t94 = 0 in let final core::int #t95 = self::Extension|[](#t93{self::Class2}, #t94).{core::num::+}(1) in let final void #t96 = self::Extension|[]=(#t93{self::Class2}, #t94, #t95) in #t95;
- let final self::Class1? #t97 = c1 in #t97.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t98 = #t97{self::Class1}.{self::Class1::field} in #t98.{core::Object::==}(null) ?{core::int?} null : let final core::int #t99 = 0 in self::Extension|[]=(#t98{self::Class2}, #t99, self::Extension|[](#t98{self::Class2}, #t99).{core::num::+}(1));
- let final self::Class1? #t100 = c1 in #t100.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t101 = #t100{self::Class1}.{self::Class1::field} in #t101.{core::Object::==}(null) ?{core::int?} null : let final core::int #t102 = 0 in self::Extension|[](#t101{self::Class2}, #t102).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t101{self::Class2}, #t102, 1) : null;
- let final self::Class1? #t103 = c1 in #t103.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t104 = #t103{self::Class1}.{self::Class1::field} in #t104.{core::Object::==}(null) ?{core::int?} null : let final core::int #t105 = 0 in self::Extension|[](#t104{self::Class2}, #t105).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t104{self::Class2}, #t105, 1.{core::num::+}((let final self::Class2? #t106 = c2 in #t106.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t106{self::Class2}, 1)!) as{ForNonNullableByDefault} core::int)) : null;
+ let final self::Class2? #t18 = c2 in #t18 == null ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
+ let final self::Class2? #t19 = c2 in #t19 == null ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
+ let final self::Class2? #t20 = c2 in #t20 == null ?{core::int?} null : self::Extension|[]=(#t20{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
+ let final self::Class2? #t21 = c2 in #t21 == null ?{core::int?} null : let final core::int #t22 = 0 in self::Extension|[]=(#t21{self::Class2}, #t22, self::Extension|[](#t21{self::Class2}, #t22).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t23 = c2 in #t23 == null ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class2? #t25 = c2 in #t25 == null ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1){(core::num) → core::int} in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
+ let final self::Class2? #t29 = c2 in #t29 == null ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
+ let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
+ let final self::Class2? #t35 = c2 in #t35 == null ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
+ let final self::Class2? #t36 = c2 in #t36 == null ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
+ let final self::Class2? #t37 = c2 in #t37 == null ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
+ let final self::Class2? #t38 = c2 in #t38 == null ?{core::int?} null : let final core::int #t39 = 0 in self::Extension|[]=(#t38{self::Class2}, #t39, self::Extension|[](#t38{self::Class2}, #t39).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t40 = c2 in #t40 == null ?{core::int?} null : let final core::int #t41 = 0 in self::Extension|[]=(#t40{self::Class2}, #t41, self::Extension|[](#t40{self::Class2}, #t41).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class2? #t42 = c2 in #t42 == null ?{core::int?} null : let final core::int #t43 = 0 in let final core::int #t44 = self::Extension|[](#t42{self::Class2}, #t43).{core::num::+}(1){(core::num) → core::int} in let final void #t45 = self::Extension|[]=(#t42{self::Class2}, #t43, #t44) in #t44;
+ let final self::Class2? #t46 = c2 in #t46 == null ?{core::int?} null : let final core::int #t47 = 0 in self::Extension|[]=(#t46{self::Class2}, #t47, self::Extension|[](#t46{self::Class2}, #t47).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t48 = c2 in #t48 == null ?{core::int?} null : let final core::int #t49 = 0 in self::Extension|[](#t48{self::Class2}, #t49) == null ?{core::int} self::Extension|[]=(#t48{self::Class2}, #t49, 1) : null;
+ let final self::Class2? #t50 = c2 in #t50 == null ?{core::int?} null : let final core::int #t51 = 0 in self::Extension|[](#t50{self::Class2}, #t51) == null ?{core::int} self::Extension|[]=(#t50{self::Class2}, #t51, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
+ let final self::Class1? #t52 = c1 in #t52 == null ?{core::int?} null : let final self::Class2? #t53 = #t52{self::Class1}.{self::Class1::field}{self::Class2?} in #t53 == null ?{core::int?} null : self::Extension|[](#t53{self::Class2}, 0);
+ let final self::Class1? #t54 = c1 in #t54 == null ?{core::int?} null : let final self::Class2? #t55 = #t54{self::Class1}.{self::Class1::field}{self::Class2?} in #t55 == null ?{core::int?} null : self::Extension|[]=(#t55{self::Class2}, 0, 1);
+ let final self::Class1? #t56 = c1 in #t56 == null ?{core::int?} null : let final self::Class2? #t57 = #t56{self::Class1}.{self::Class1::field}{self::Class2?} in #t57 == null ?{core::int?} null : self::Extension|[]=(#t57{self::Class2}, 0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t58 = c1 in #t58 == null ?{core::int?} null : let final self::Class2? #t59 = #t58{self::Class1}.{self::Class1::field}{self::Class2?} in #t59 == null ?{core::int?} null : let final core::int #t60 = 0 in self::Extension|[]=(#t59{self::Class2}, #t60, self::Extension|[](#t59{self::Class2}, #t60).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t61 = c1 in #t61 == null ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field}{self::Class2?} in #t62 == null ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t64 = c1 in #t64 == null ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field}{self::Class2?} in #t65 == null ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1){(core::num) → core::int} in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
+ let final self::Class1? #t69 = c1 in #t69 == null ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field}{self::Class2?} in #t70 == null ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
+ let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
+ let final self::Class1? #t78 = c1 in #t78 == null ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field}{self::Class2?} in #t79 == null ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
+ let final self::Class1? #t80 = c1 in #t80 == null ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field}{self::Class2?} in #t81 == null ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
+ let final self::Class1? #t82 = c1 in #t82 == null ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field}{self::Class2?} in #t83 == null ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}((let final self::Class2? #t84 = c2 in #t84 == null ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!) as{ForNonNullableByDefault} core::int){(core::num) → core::int});
+ let final self::Class1? #t85 = c1 in #t85 == null ?{core::int?} null : let final self::Class2? #t86 = #t85{self::Class1}.{self::Class1::field}{self::Class2?} in #t86 == null ?{core::int?} null : let final core::int #t87 = 0 in self::Extension|[]=(#t86{self::Class2}, #t87, self::Extension|[](#t86{self::Class2}, #t87).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t88 = c1 in #t88 == null ?{core::int?} null : let final self::Class2? #t89 = #t88{self::Class1}.{self::Class1::field}{self::Class2?} in #t89 == null ?{core::int?} null : let final core::int #t90 = 0 in self::Extension|[]=(#t89{self::Class2}, #t90, self::Extension|[](#t89{self::Class2}, #t90).{core::num::+}(1.{core::num::+}((let final self::Class2? #t91 = c2 in #t91 == null ?{core::int?} null : self::Extension|[](#t91{self::Class2}, 0)!) as{ForNonNullableByDefault} core::int){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t92 = c1 in #t92 == null ?{core::int?} null : let final self::Class2? #t93 = #t92{self::Class1}.{self::Class1::field}{self::Class2?} in #t93 == null ?{core::int?} null : let final core::int #t94 = 0 in let final core::int #t95 = self::Extension|[](#t93{self::Class2}, #t94).{core::num::+}(1){(core::num) → core::int} in let final void #t96 = self::Extension|[]=(#t93{self::Class2}, #t94, #t95) in #t95;
+ let final self::Class1? #t97 = c1 in #t97 == null ?{core::int?} null : let final self::Class2? #t98 = #t97{self::Class1}.{self::Class1::field}{self::Class2?} in #t98 == null ?{core::int?} null : let final core::int #t99 = 0 in self::Extension|[]=(#t98{self::Class2}, #t99, self::Extension|[](#t98{self::Class2}, #t99).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t100 = c1 in #t100 == null ?{core::int?} null : let final self::Class2? #t101 = #t100{self::Class1}.{self::Class1::field}{self::Class2?} in #t101 == null ?{core::int?} null : let final core::int #t102 = 0 in self::Extension|[](#t101{self::Class2}, #t102) == null ?{core::int} self::Extension|[]=(#t101{self::Class2}, #t102, 1) : null;
+ let final self::Class1? #t103 = c1 in #t103 == null ?{core::int?} null : let final self::Class2? #t104 = #t103{self::Class1}.{self::Class1::field}{self::Class2?} in #t104 == null ?{core::int?} null : let final core::int #t105 = 0 in self::Extension|[](#t104{self::Class2}, #t105) == null ?{core::int} self::Extension|[]=(#t104{self::Class2}, #t105, 1.{core::num::+}((let final self::Class2? #t106 = c2 in #t106 == null ?{core::int?} null : self::Extension|[](#t106{self::Class2}, 1)!) as{ForNonNullableByDefault} core::int){(core::num) → core::int}) : null;
}
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_index.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting_index.dart.strong.transformed.expect
index 5b7b144..7c865b5 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_index.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_index.dart.strong.transformed.expect
@@ -78,58 +78,58 @@
operator []= = self::Extension|[]=;
}
static method Extension|[](lowered final self::Class2 #this, core::int index) → core::int
- return #this.{self::Class2::field};
+ return #this.{self::Class2::field}{core::int};
static method Extension|[]=(lowered final self::Class2 #this, core::int index, core::int value) → void {
#this.{self::Class2::field} = value;
}
static method main() → dynamic {
self::Class1? c1;
- let final self::Class1? #t1 = c1 in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::Class1}.{self::Class1::[]}(0);
- let final self::Class1? #t2 = c1 in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::Class1}.{self::Class1::[]=}(0, 1);
- let final self::Class1? #t3 = c1 in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Class1}.{self::Class1::[]=}(0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0)));
- let final self::Class1? #t4 = c1 in #t4.{core::Object::==}(null) ?{core::int?} null : let final core::int #t5 = 0 in #t4{self::Class1}.{self::Class1::[]=}(#t5, #t4{self::Class1}.{self::Class1::[]}(#t5).{core::num::+}(1));
- let final self::Class1? #t6 = c1 in #t6.{core::Object::==}(null) ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0))));
- let final self::Class1? #t8 = c1 in #t8.{core::Object::==}(null) ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9).{core::num::+}(1) in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10) in #t10;
- let final self::Class1? #t12 = c1 in #t12.{core::Object::==}(null) ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13).{core::num::+}(1));
- let final self::Class1? #t14 = c1 in #t14.{core::Object::==}(null) ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15).{core::num::==}(null) ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1) : null;
- let final self::Class1? #t16 = c1 in #t16.{core::Object::==}(null) ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17).{core::num::==}(null) ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1))) : null;
+ let final self::Class1? #t1 = c1 in #t1 == null ?{core::int?} null : #t1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int};
+ let final self::Class1? #t2 = c1 in #t2 == null ?{core::int?} null : #t2{self::Class1}.{self::Class1::[]=}(0, 1){(core::int, core::int) → void};
+ let final self::Class1? #t3 = c1 in #t3 == null ?{core::int?} null : #t3{self::Class1}.{self::Class1::[]=}(0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t4 = c1 in #t4 == null ?{core::int?} null : let final core::int #t5 = 0 in #t4{self::Class1}.{self::Class1::[]=}(#t5, #t4{self::Class1}.{self::Class1::[]}(#t5){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t6 = c1 in #t6 == null ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7){(core::int) → core::int}.{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t8 = c1 in #t8 == null ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10){(core::int, core::int) → void} in #t10;
+ let final self::Class1? #t12 = c1 in #t12 == null ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
+ let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
self::Class2? c2;
- let final self::Class2? #t18 = c2 in #t18.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
- let final self::Class2? #t19 = c2 in #t19.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
- let final self::Class2? #t20 = c2 in #t20.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t20{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)));
- let final self::Class2? #t21 = c2 in #t21.{core::Object::==}(null) ?{core::int?} null : let final core::int #t22 = 0 in self::Extension|[]=(#t21{self::Class2}, #t22, self::Extension|[](#t21{self::Class2}, #t22).{core::num::+}(1));
- let final self::Class2? #t23 = c2 in #t23.{core::Object::==}(null) ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0))));
- let final self::Class2? #t25 = c2 in #t25.{core::Object::==}(null) ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1) in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
- let final self::Class2? #t29 = c2 in #t29.{core::Object::==}(null) ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1));
- let final self::Class2? #t31 = c2 in #t31.{core::Object::==}(null) ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
- let final self::Class2? #t33 = c2 in #t33.{core::Object::==}(null) ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1))) : null;
- let final self::Class2? #t35 = c2 in #t35.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
- let final self::Class2? #t36 = c2 in #t36.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
- let final self::Class2? #t37 = c2 in #t37.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)));
- let final self::Class2? #t38 = c2 in #t38.{core::Object::==}(null) ?{core::int?} null : let final core::int #t39 = 0 in self::Extension|[]=(#t38{self::Class2}, #t39, self::Extension|[](#t38{self::Class2}, #t39).{core::num::+}(1));
- let final self::Class2? #t40 = c2 in #t40.{core::Object::==}(null) ?{core::int?} null : let final core::int #t41 = 0 in self::Extension|[]=(#t40{self::Class2}, #t41, self::Extension|[](#t40{self::Class2}, #t41).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0))));
- let final self::Class2? #t42 = c2 in #t42.{core::Object::==}(null) ?{core::int?} null : let final core::int #t43 = 0 in let final core::int #t44 = self::Extension|[](#t42{self::Class2}, #t43).{core::num::+}(1) in let final void #t45 = self::Extension|[]=(#t42{self::Class2}, #t43, #t44) in #t44;
- let final self::Class2? #t46 = c2 in #t46.{core::Object::==}(null) ?{core::int?} null : let final core::int #t47 = 0 in self::Extension|[]=(#t46{self::Class2}, #t47, self::Extension|[](#t46{self::Class2}, #t47).{core::num::+}(1));
- let final self::Class2? #t48 = c2 in #t48.{core::Object::==}(null) ?{core::int?} null : let final core::int #t49 = 0 in self::Extension|[](#t48{self::Class2}, #t49).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t48{self::Class2}, #t49, 1) : null;
- let final self::Class2? #t50 = c2 in #t50.{core::Object::==}(null) ?{core::int?} null : let final core::int #t51 = 0 in self::Extension|[](#t50{self::Class2}, #t51).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t50{self::Class2}, #t51, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1))) : null;
- let final self::Class1? #t52 = c1 in #t52.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t53 = #t52{self::Class1}.{self::Class1::field} in #t53.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t53{self::Class2}, 0);
- let final self::Class1? #t54 = c1 in #t54.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t55 = #t54{self::Class1}.{self::Class1::field} in #t55.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t55{self::Class2}, 0, 1);
- let final self::Class1? #t56 = c1 in #t56.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t57 = #t56{self::Class1}.{self::Class1::field} in #t57.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t57{self::Class2}, 0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0)));
- let final self::Class1? #t58 = c1 in #t58.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t59 = #t58{self::Class1}.{self::Class1::field} in #t59.{core::Object::==}(null) ?{core::int?} null : let final core::int #t60 = 0 in self::Extension|[]=(#t59{self::Class2}, #t60, self::Extension|[](#t59{self::Class2}, #t60).{core::num::+}(1));
- let final self::Class1? #t61 = c1 in #t61.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field} in #t62.{core::Object::==}(null) ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0))));
- let final self::Class1? #t64 = c1 in #t64.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field} in #t65.{core::Object::==}(null) ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1) in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
- let final self::Class1? #t69 = c1 in #t69.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field} in #t70.{core::Object::==}(null) ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1));
- let final self::Class1? #t72 = c1 in #t72.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field} in #t73.{core::Object::==}(null) ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
- let final self::Class1? #t75 = c1 in #t75.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field} in #t76.{core::Object::==}(null) ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1))) : null;
- let final self::Class1? #t78 = c1 in #t78.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field} in #t79.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
- let final self::Class1? #t80 = c1 in #t80.{core::Object::==}(null) ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field} in #t81.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
- let final self::Class1? #t82 = c1 in #t82.{core::Object::==}(null) ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field} in #t83.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}(let core::int? #t84 = let final self::Class2? #t85 = c2 in #t85.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t85{self::Class2}, 0)! in #t84.==(null) ?{core::int} #t84 as{ForNonNullableByDefault} core::int : #t84{core::int}));
- let final self::Class1? #t86 = c1 in #t86.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t87 = #t86{self::Class1}.{self::Class1::field} in #t87.{core::Object::==}(null) ?{core::int?} null : let final core::int #t88 = 0 in self::Extension|[]=(#t87{self::Class2}, #t88, self::Extension|[](#t87{self::Class2}, #t88).{core::num::+}(1));
- let final self::Class1? #t89 = c1 in #t89.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t90 = #t89{self::Class1}.{self::Class1::field} in #t90.{core::Object::==}(null) ?{core::int?} null : let final core::int #t91 = 0 in self::Extension|[]=(#t90{self::Class2}, #t91, self::Extension|[](#t90{self::Class2}, #t91).{core::num::+}(1.{core::num::+}(let core::int? #t92 = let final self::Class2? #t93 = c2 in #t93.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t93{self::Class2}, 0)! in #t92.==(null) ?{core::int} #t92 as{ForNonNullableByDefault} core::int : #t92{core::int})));
- let final self::Class1? #t94 = c1 in #t94.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t95 = #t94{self::Class1}.{self::Class1::field} in #t95.{core::Object::==}(null) ?{core::int?} null : let final core::int #t96 = 0 in let final core::int #t97 = self::Extension|[](#t95{self::Class2}, #t96).{core::num::+}(1) in let final void #t98 = self::Extension|[]=(#t95{self::Class2}, #t96, #t97) in #t97;
- let final self::Class1? #t99 = c1 in #t99.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t100 = #t99{self::Class1}.{self::Class1::field} in #t100.{core::Object::==}(null) ?{core::int?} null : let final core::int #t101 = 0 in self::Extension|[]=(#t100{self::Class2}, #t101, self::Extension|[](#t100{self::Class2}, #t101).{core::num::+}(1));
- let final self::Class1? #t102 = c1 in #t102.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t103 = #t102{self::Class1}.{self::Class1::field} in #t103.{core::Object::==}(null) ?{core::int?} null : let final core::int #t104 = 0 in self::Extension|[](#t103{self::Class2}, #t104).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t103{self::Class2}, #t104, 1) : null;
- let final self::Class1? #t105 = c1 in #t105.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t106 = #t105{self::Class1}.{self::Class1::field} in #t106.{core::Object::==}(null) ?{core::int?} null : let final core::int #t107 = 0 in self::Extension|[](#t106{self::Class2}, #t107).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t106{self::Class2}, #t107, 1.{core::num::+}(let core::int? #t108 = let final self::Class2? #t109 = c2 in #t109.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t109{self::Class2}, 1)! in #t108.==(null) ?{core::int} #t108 as{ForNonNullableByDefault} core::int : #t108{core::int})) : null;
+ let final self::Class2? #t18 = c2 in #t18 == null ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
+ let final self::Class2? #t19 = c2 in #t19 == null ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
+ let final self::Class2? #t20 = c2 in #t20 == null ?{core::int?} null : self::Extension|[]=(#t20{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
+ let final self::Class2? #t21 = c2 in #t21 == null ?{core::int?} null : let final core::int #t22 = 0 in self::Extension|[]=(#t21{self::Class2}, #t22, self::Extension|[](#t21{self::Class2}, #t22).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t23 = c2 in #t23 == null ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class2? #t25 = c2 in #t25 == null ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1){(core::num) → core::int} in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
+ let final self::Class2? #t29 = c2 in #t29 == null ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
+ let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
+ let final self::Class2? #t35 = c2 in #t35 == null ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
+ let final self::Class2? #t36 = c2 in #t36 == null ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
+ let final self::Class2? #t37 = c2 in #t37 == null ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
+ let final self::Class2? #t38 = c2 in #t38 == null ?{core::int?} null : let final core::int #t39 = 0 in self::Extension|[]=(#t38{self::Class2}, #t39, self::Extension|[](#t38{self::Class2}, #t39).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t40 = c2 in #t40 == null ?{core::int?} null : let final core::int #t41 = 0 in self::Extension|[]=(#t40{self::Class2}, #t41, self::Extension|[](#t40{self::Class2}, #t41).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class2? #t42 = c2 in #t42 == null ?{core::int?} null : let final core::int #t43 = 0 in let final core::int #t44 = self::Extension|[](#t42{self::Class2}, #t43).{core::num::+}(1){(core::num) → core::int} in let final void #t45 = self::Extension|[]=(#t42{self::Class2}, #t43, #t44) in #t44;
+ let final self::Class2? #t46 = c2 in #t46 == null ?{core::int?} null : let final core::int #t47 = 0 in self::Extension|[]=(#t46{self::Class2}, #t47, self::Extension|[](#t46{self::Class2}, #t47).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t48 = c2 in #t48 == null ?{core::int?} null : let final core::int #t49 = 0 in self::Extension|[](#t48{self::Class2}, #t49) == null ?{core::int} self::Extension|[]=(#t48{self::Class2}, #t49, 1) : null;
+ let final self::Class2? #t50 = c2 in #t50 == null ?{core::int?} null : let final core::int #t51 = 0 in self::Extension|[](#t50{self::Class2}, #t51) == null ?{core::int} self::Extension|[]=(#t50{self::Class2}, #t51, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
+ let final self::Class1? #t52 = c1 in #t52 == null ?{core::int?} null : let final self::Class2? #t53 = #t52{self::Class1}.{self::Class1::field}{self::Class2?} in #t53 == null ?{core::int?} null : self::Extension|[](#t53{self::Class2}, 0);
+ let final self::Class1? #t54 = c1 in #t54 == null ?{core::int?} null : let final self::Class2? #t55 = #t54{self::Class1}.{self::Class1::field}{self::Class2?} in #t55 == null ?{core::int?} null : self::Extension|[]=(#t55{self::Class2}, 0, 1);
+ let final self::Class1? #t56 = c1 in #t56 == null ?{core::int?} null : let final self::Class2? #t57 = #t56{self::Class1}.{self::Class1::field}{self::Class2?} in #t57 == null ?{core::int?} null : self::Extension|[]=(#t57{self::Class2}, 0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t58 = c1 in #t58 == null ?{core::int?} null : let final self::Class2? #t59 = #t58{self::Class1}.{self::Class1::field}{self::Class2?} in #t59 == null ?{core::int?} null : let final core::int #t60 = 0 in self::Extension|[]=(#t59{self::Class2}, #t60, self::Extension|[](#t59{self::Class2}, #t60).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t61 = c1 in #t61 == null ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field}{self::Class2?} in #t62 == null ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t64 = c1 in #t64 == null ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field}{self::Class2?} in #t65 == null ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1){(core::num) → core::int} in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
+ let final self::Class1? #t69 = c1 in #t69 == null ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field}{self::Class2?} in #t70 == null ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
+ let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
+ let final self::Class1? #t78 = c1 in #t78 == null ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field}{self::Class2?} in #t79 == null ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
+ let final self::Class1? #t80 = c1 in #t80 == null ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field}{self::Class2?} in #t81 == null ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
+ let final self::Class1? #t82 = c1 in #t82 == null ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field}{self::Class2?} in #t83 == null ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}(let core::int? #t84 = let final self::Class2? #t85 = c2 in #t85 == null ?{core::int?} null : self::Extension|[](#t85{self::Class2}, 0)! in #t84.==(null) ?{core::int} #t84 as{ForNonNullableByDefault} core::int : #t84{core::int}){(core::num) → core::int});
+ let final self::Class1? #t86 = c1 in #t86 == null ?{core::int?} null : let final self::Class2? #t87 = #t86{self::Class1}.{self::Class1::field}{self::Class2?} in #t87 == null ?{core::int?} null : let final core::int #t88 = 0 in self::Extension|[]=(#t87{self::Class2}, #t88, self::Extension|[](#t87{self::Class2}, #t88).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t89 = c1 in #t89 == null ?{core::int?} null : let final self::Class2? #t90 = #t89{self::Class1}.{self::Class1::field}{self::Class2?} in #t90 == null ?{core::int?} null : let final core::int #t91 = 0 in self::Extension|[]=(#t90{self::Class2}, #t91, self::Extension|[](#t90{self::Class2}, #t91).{core::num::+}(1.{core::num::+}(let core::int? #t92 = let final self::Class2? #t93 = c2 in #t93 == null ?{core::int?} null : self::Extension|[](#t93{self::Class2}, 0)! in #t92.==(null) ?{core::int} #t92 as{ForNonNullableByDefault} core::int : #t92{core::int}){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t94 = c1 in #t94 == null ?{core::int?} null : let final self::Class2? #t95 = #t94{self::Class1}.{self::Class1::field}{self::Class2?} in #t95 == null ?{core::int?} null : let final core::int #t96 = 0 in let final core::int #t97 = self::Extension|[](#t95{self::Class2}, #t96).{core::num::+}(1){(core::num) → core::int} in let final void #t98 = self::Extension|[]=(#t95{self::Class2}, #t96, #t97) in #t97;
+ let final self::Class1? #t99 = c1 in #t99 == null ?{core::int?} null : let final self::Class2? #t100 = #t99{self::Class1}.{self::Class1::field}{self::Class2?} in #t100 == null ?{core::int?} null : let final core::int #t101 = 0 in self::Extension|[]=(#t100{self::Class2}, #t101, self::Extension|[](#t100{self::Class2}, #t101).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t102 = c1 in #t102 == null ?{core::int?} null : let final self::Class2? #t103 = #t102{self::Class1}.{self::Class1::field}{self::Class2?} in #t103 == null ?{core::int?} null : let final core::int #t104 = 0 in self::Extension|[](#t103{self::Class2}, #t104) == null ?{core::int} self::Extension|[]=(#t103{self::Class2}, #t104, 1) : null;
+ let final self::Class1? #t105 = c1 in #t105 == null ?{core::int?} null : let final self::Class2? #t106 = #t105{self::Class1}.{self::Class1::field}{self::Class2?} in #t106 == null ?{core::int?} null : let final core::int #t107 = 0 in self::Extension|[](#t106{self::Class2}, #t107) == null ?{core::int} self::Extension|[]=(#t106{self::Class2}, #t107, 1.{core::num::+}(let core::int? #t108 = let final self::Class2? #t109 = c2 in #t109 == null ?{core::int?} null : self::Extension|[](#t109{self::Class2}, 1)! in #t108.==(null) ?{core::int} #t108 as{ForNonNullableByDefault} core::int : #t108{core::int}){(core::num) → core::int}) : null;
}
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.expect b/pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.expect
index dc52187..438791b 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.expect
@@ -78,56 +78,56 @@
operator []= = self::Extension|[]=;
}
static method Extension|[](lowered final self::Class2 #this, core::int index) → core::int
- return #this.{self::Class2::field};
+ return #this.{self::Class2::field}{core::int};
static method Extension|[]=(lowered final self::Class2 #this, core::int index, core::int value) → void {
#this.{self::Class2::field} = value;
}
static method main() → dynamic {
self::Class1? c1;
- let final self::Class1? #t1 = c1 in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::Class1}.{self::Class1::[]}(0);
- let final self::Class1? #t2 = c1 in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::Class1}.{self::Class1::[]=}(0, 1);
- let final self::Class1? #t3 = c1 in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Class1}.{self::Class1::[]=}(0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0)));
- let final self::Class1? #t4 = c1 in #t4.{core::Object::==}(null) ?{core::int?} null : let final core::int #t5 = 0 in #t4{self::Class1}.{self::Class1::[]=}(#t5, #t4{self::Class1}.{self::Class1::[]}(#t5).{core::num::+}(1));
- let final self::Class1? #t6 = c1 in #t6.{core::Object::==}(null) ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0))));
- let final self::Class1? #t8 = c1 in #t8.{core::Object::==}(null) ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9).{core::num::+}(1) in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10) in #t10;
- let final self::Class1? #t12 = c1 in #t12.{core::Object::==}(null) ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13).{core::num::+}(1));
- let final self::Class1? #t14 = c1 in #t14.{core::Object::==}(null) ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15).{core::num::==}(null) ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1) : null;
- let final self::Class1? #t16 = c1 in #t16.{core::Object::==}(null) ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17).{core::num::==}(null) ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1))) : null;
+ let final self::Class1? #t1 = c1 in #t1 == null ?{core::int?} null : #t1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int};
+ let final self::Class1? #t2 = c1 in #t2 == null ?{core::int?} null : #t2{self::Class1}.{self::Class1::[]=}(0, 1){(core::int, core::int) → void};
+ let final self::Class1? #t3 = c1 in #t3 == null ?{core::int?} null : #t3{self::Class1}.{self::Class1::[]=}(0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t4 = c1 in #t4 == null ?{core::int?} null : let final core::int #t5 = 0 in #t4{self::Class1}.{self::Class1::[]=}(#t5, #t4{self::Class1}.{self::Class1::[]}(#t5){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t6 = c1 in #t6 == null ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7){(core::int) → core::int}.{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t8 = c1 in #t8 == null ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10){(core::int, core::int) → void} in #t10;
+ let final self::Class1? #t12 = c1 in #t12 == null ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
+ let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
self::Class2? c2;
- let final self::Class2? #t18 = c2 in #t18.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
- let final self::Class2? #t19 = c2 in #t19.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
- let final self::Class2? #t20 = c2 in #t20.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t20{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)));
- let final self::Class2? #t21 = c2 in #t21.{core::Object::==}(null) ?{core::int?} null : let final core::int #t22 = 0 in self::Extension|[]=(#t21{self::Class2}, #t22, self::Extension|[](#t21{self::Class2}, #t22).{core::num::+}(1));
- let final self::Class2? #t23 = c2 in #t23.{core::Object::==}(null) ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0))));
- let final self::Class2? #t25 = c2 in #t25.{core::Object::==}(null) ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1) in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
- let final self::Class2? #t29 = c2 in #t29.{core::Object::==}(null) ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1));
- let final self::Class2? #t31 = c2 in #t31.{core::Object::==}(null) ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
- let final self::Class2? #t33 = c2 in #t33.{core::Object::==}(null) ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1))) : null;
- let final self::Class2? #t35 = c2 in #t35.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
- let final self::Class2? #t36 = c2 in #t36.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
- let final self::Class2? #t37 = c2 in #t37.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)));
- let final self::Class2? #t38 = c2 in #t38.{core::Object::==}(null) ?{core::int?} null : let final core::int #t39 = 0 in self::Extension|[]=(#t38{self::Class2}, #t39, self::Extension|[](#t38{self::Class2}, #t39).{core::num::+}(1));
- let final self::Class2? #t40 = c2 in #t40.{core::Object::==}(null) ?{core::int?} null : let final core::int #t41 = 0 in self::Extension|[]=(#t40{self::Class2}, #t41, self::Extension|[](#t40{self::Class2}, #t41).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0))));
- let final self::Class2? #t42 = c2 in #t42.{core::Object::==}(null) ?{core::int?} null : let final core::int #t43 = 0 in let final core::int #t44 = self::Extension|[](#t42{self::Class2}, #t43).{core::num::+}(1) in let final void #t45 = self::Extension|[]=(#t42{self::Class2}, #t43, #t44) in #t44;
- let final self::Class2? #t46 = c2 in #t46.{core::Object::==}(null) ?{core::int?} null : let final core::int #t47 = 0 in self::Extension|[]=(#t46{self::Class2}, #t47, self::Extension|[](#t46{self::Class2}, #t47).{core::num::+}(1));
- let final self::Class2? #t48 = c2 in #t48.{core::Object::==}(null) ?{core::int?} null : let final core::int #t49 = 0 in self::Extension|[](#t48{self::Class2}, #t49).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t48{self::Class2}, #t49, 1) : null;
- let final self::Class2? #t50 = c2 in #t50.{core::Object::==}(null) ?{core::int?} null : let final core::int #t51 = 0 in self::Extension|[](#t50{self::Class2}, #t51).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t50{self::Class2}, #t51, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1))) : null;
- let final self::Class1? #t52 = c1 in #t52.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t53 = #t52{self::Class1}.{self::Class1::field} in #t53.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t53{self::Class2}, 0);
- let final self::Class1? #t54 = c1 in #t54.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t55 = #t54{self::Class1}.{self::Class1::field} in #t55.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t55{self::Class2}, 0, 1);
- let final self::Class1? #t56 = c1 in #t56.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t57 = #t56{self::Class1}.{self::Class1::field} in #t57.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t57{self::Class2}, 0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0)));
- let final self::Class1? #t58 = c1 in #t58.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t59 = #t58{self::Class1}.{self::Class1::field} in #t59.{core::Object::==}(null) ?{core::int?} null : let final core::int #t60 = 0 in self::Extension|[]=(#t59{self::Class2}, #t60, self::Extension|[](#t59{self::Class2}, #t60).{core::num::+}(1));
- let final self::Class1? #t61 = c1 in #t61.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field} in #t62.{core::Object::==}(null) ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0))));
- let final self::Class1? #t64 = c1 in #t64.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field} in #t65.{core::Object::==}(null) ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1) in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
- let final self::Class1? #t69 = c1 in #t69.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field} in #t70.{core::Object::==}(null) ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1));
- let final self::Class1? #t72 = c1 in #t72.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field} in #t73.{core::Object::==}(null) ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
- let final self::Class1? #t75 = c1 in #t75.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field} in #t76.{core::Object::==}(null) ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1))) : null;
- let final self::Class1? #t78 = c1 in #t78.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field} in #t79.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
- let final self::Class1? #t80 = c1 in #t80.{core::Object::==}(null) ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field} in #t81.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
- let final self::Class1? #t82 = c1 in #t82.{core::Object::==}(null) ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field} in #t83.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}((let final self::Class2? #t84 = c2 in #t84.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!) as{ForNonNullableByDefault} core::int));
- let final self::Class1? #t85 = c1 in #t85.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t86 = #t85{self::Class1}.{self::Class1::field} in #t86.{core::Object::==}(null) ?{core::int?} null : let final core::int #t87 = 0 in self::Extension|[]=(#t86{self::Class2}, #t87, self::Extension|[](#t86{self::Class2}, #t87).{core::num::+}(1));
- let final self::Class1? #t88 = c1 in #t88.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t89 = #t88{self::Class1}.{self::Class1::field} in #t89.{core::Object::==}(null) ?{core::int?} null : let final core::int #t90 = 0 in self::Extension|[]=(#t89{self::Class2}, #t90, self::Extension|[](#t89{self::Class2}, #t90).{core::num::+}(1.{core::num::+}((let final self::Class2? #t91 = c2 in #t91.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t91{self::Class2}, 0)!) as{ForNonNullableByDefault} core::int)));
- let final self::Class1? #t92 = c1 in #t92.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t93 = #t92{self::Class1}.{self::Class1::field} in #t93.{core::Object::==}(null) ?{core::int?} null : let final core::int #t94 = 0 in let final core::int #t95 = self::Extension|[](#t93{self::Class2}, #t94).{core::num::+}(1) in let final void #t96 = self::Extension|[]=(#t93{self::Class2}, #t94, #t95) in #t95;
- let final self::Class1? #t97 = c1 in #t97.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t98 = #t97{self::Class1}.{self::Class1::field} in #t98.{core::Object::==}(null) ?{core::int?} null : let final core::int #t99 = 0 in self::Extension|[]=(#t98{self::Class2}, #t99, self::Extension|[](#t98{self::Class2}, #t99).{core::num::+}(1));
- let final self::Class1? #t100 = c1 in #t100.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t101 = #t100{self::Class1}.{self::Class1::field} in #t101.{core::Object::==}(null) ?{core::int?} null : let final core::int #t102 = 0 in self::Extension|[](#t101{self::Class2}, #t102).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t101{self::Class2}, #t102, 1) : null;
- let final self::Class1? #t103 = c1 in #t103.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t104 = #t103{self::Class1}.{self::Class1::field} in #t104.{core::Object::==}(null) ?{core::int?} null : let final core::int #t105 = 0 in self::Extension|[](#t104{self::Class2}, #t105).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t104{self::Class2}, #t105, 1.{core::num::+}((let final self::Class2? #t106 = c2 in #t106.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t106{self::Class2}, 1)!) as{ForNonNullableByDefault} core::int)) : null;
+ let final self::Class2? #t18 = c2 in #t18 == null ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
+ let final self::Class2? #t19 = c2 in #t19 == null ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
+ let final self::Class2? #t20 = c2 in #t20 == null ?{core::int?} null : self::Extension|[]=(#t20{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
+ let final self::Class2? #t21 = c2 in #t21 == null ?{core::int?} null : let final core::int #t22 = 0 in self::Extension|[]=(#t21{self::Class2}, #t22, self::Extension|[](#t21{self::Class2}, #t22).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t23 = c2 in #t23 == null ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class2? #t25 = c2 in #t25 == null ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1){(core::num) → core::int} in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
+ let final self::Class2? #t29 = c2 in #t29 == null ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
+ let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
+ let final self::Class2? #t35 = c2 in #t35 == null ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
+ let final self::Class2? #t36 = c2 in #t36 == null ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
+ let final self::Class2? #t37 = c2 in #t37 == null ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
+ let final self::Class2? #t38 = c2 in #t38 == null ?{core::int?} null : let final core::int #t39 = 0 in self::Extension|[]=(#t38{self::Class2}, #t39, self::Extension|[](#t38{self::Class2}, #t39).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t40 = c2 in #t40 == null ?{core::int?} null : let final core::int #t41 = 0 in self::Extension|[]=(#t40{self::Class2}, #t41, self::Extension|[](#t40{self::Class2}, #t41).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class2? #t42 = c2 in #t42 == null ?{core::int?} null : let final core::int #t43 = 0 in let final core::int #t44 = self::Extension|[](#t42{self::Class2}, #t43).{core::num::+}(1){(core::num) → core::int} in let final void #t45 = self::Extension|[]=(#t42{self::Class2}, #t43, #t44) in #t44;
+ let final self::Class2? #t46 = c2 in #t46 == null ?{core::int?} null : let final core::int #t47 = 0 in self::Extension|[]=(#t46{self::Class2}, #t47, self::Extension|[](#t46{self::Class2}, #t47).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t48 = c2 in #t48 == null ?{core::int?} null : let final core::int #t49 = 0 in self::Extension|[](#t48{self::Class2}, #t49) == null ?{core::int} self::Extension|[]=(#t48{self::Class2}, #t49, 1) : null;
+ let final self::Class2? #t50 = c2 in #t50 == null ?{core::int?} null : let final core::int #t51 = 0 in self::Extension|[](#t50{self::Class2}, #t51) == null ?{core::int} self::Extension|[]=(#t50{self::Class2}, #t51, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
+ let final self::Class1? #t52 = c1 in #t52 == null ?{core::int?} null : let final self::Class2? #t53 = #t52{self::Class1}.{self::Class1::field}{self::Class2?} in #t53 == null ?{core::int?} null : self::Extension|[](#t53{self::Class2}, 0);
+ let final self::Class1? #t54 = c1 in #t54 == null ?{core::int?} null : let final self::Class2? #t55 = #t54{self::Class1}.{self::Class1::field}{self::Class2?} in #t55 == null ?{core::int?} null : self::Extension|[]=(#t55{self::Class2}, 0, 1);
+ let final self::Class1? #t56 = c1 in #t56 == null ?{core::int?} null : let final self::Class2? #t57 = #t56{self::Class1}.{self::Class1::field}{self::Class2?} in #t57 == null ?{core::int?} null : self::Extension|[]=(#t57{self::Class2}, 0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t58 = c1 in #t58 == null ?{core::int?} null : let final self::Class2? #t59 = #t58{self::Class1}.{self::Class1::field}{self::Class2?} in #t59 == null ?{core::int?} null : let final core::int #t60 = 0 in self::Extension|[]=(#t59{self::Class2}, #t60, self::Extension|[](#t59{self::Class2}, #t60).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t61 = c1 in #t61 == null ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field}{self::Class2?} in #t62 == null ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t64 = c1 in #t64 == null ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field}{self::Class2?} in #t65 == null ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1){(core::num) → core::int} in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
+ let final self::Class1? #t69 = c1 in #t69 == null ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field}{self::Class2?} in #t70 == null ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
+ let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
+ let final self::Class1? #t78 = c1 in #t78 == null ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field}{self::Class2?} in #t79 == null ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
+ let final self::Class1? #t80 = c1 in #t80 == null ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field}{self::Class2?} in #t81 == null ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
+ let final self::Class1? #t82 = c1 in #t82 == null ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field}{self::Class2?} in #t83 == null ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}((let final self::Class2? #t84 = c2 in #t84 == null ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!) as{ForNonNullableByDefault} core::int){(core::num) → core::int});
+ let final self::Class1? #t85 = c1 in #t85 == null ?{core::int?} null : let final self::Class2? #t86 = #t85{self::Class1}.{self::Class1::field}{self::Class2?} in #t86 == null ?{core::int?} null : let final core::int #t87 = 0 in self::Extension|[]=(#t86{self::Class2}, #t87, self::Extension|[](#t86{self::Class2}, #t87).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t88 = c1 in #t88 == null ?{core::int?} null : let final self::Class2? #t89 = #t88{self::Class1}.{self::Class1::field}{self::Class2?} in #t89 == null ?{core::int?} null : let final core::int #t90 = 0 in self::Extension|[]=(#t89{self::Class2}, #t90, self::Extension|[](#t89{self::Class2}, #t90).{core::num::+}(1.{core::num::+}((let final self::Class2? #t91 = c2 in #t91 == null ?{core::int?} null : self::Extension|[](#t91{self::Class2}, 0)!) as{ForNonNullableByDefault} core::int){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t92 = c1 in #t92 == null ?{core::int?} null : let final self::Class2? #t93 = #t92{self::Class1}.{self::Class1::field}{self::Class2?} in #t93 == null ?{core::int?} null : let final core::int #t94 = 0 in let final core::int #t95 = self::Extension|[](#t93{self::Class2}, #t94).{core::num::+}(1){(core::num) → core::int} in let final void #t96 = self::Extension|[]=(#t93{self::Class2}, #t94, #t95) in #t95;
+ let final self::Class1? #t97 = c1 in #t97 == null ?{core::int?} null : let final self::Class2? #t98 = #t97{self::Class1}.{self::Class1::field}{self::Class2?} in #t98 == null ?{core::int?} null : let final core::int #t99 = 0 in self::Extension|[]=(#t98{self::Class2}, #t99, self::Extension|[](#t98{self::Class2}, #t99).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t100 = c1 in #t100 == null ?{core::int?} null : let final self::Class2? #t101 = #t100{self::Class1}.{self::Class1::field}{self::Class2?} in #t101 == null ?{core::int?} null : let final core::int #t102 = 0 in self::Extension|[](#t101{self::Class2}, #t102) == null ?{core::int} self::Extension|[]=(#t101{self::Class2}, #t102, 1) : null;
+ let final self::Class1? #t103 = c1 in #t103 == null ?{core::int?} null : let final self::Class2? #t104 = #t103{self::Class1}.{self::Class1::field}{self::Class2?} in #t104 == null ?{core::int?} null : let final core::int #t105 = 0 in self::Extension|[](#t104{self::Class2}, #t105) == null ?{core::int} self::Extension|[]=(#t104{self::Class2}, #t105, 1.{core::num::+}((let final self::Class2? #t106 = c2 in #t106 == null ?{core::int?} null : self::Extension|[](#t106{self::Class2}, 1)!) as{ForNonNullableByDefault} core::int){(core::num) → core::int}) : null;
}
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.transformed.expect
index e604a49..4ddf30e 100644
--- a/pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.transformed.expect
@@ -78,58 +78,58 @@
operator []= = self::Extension|[]=;
}
static method Extension|[](lowered final self::Class2 #this, core::int index) → core::int
- return #this.{self::Class2::field};
+ return #this.{self::Class2::field}{core::int};
static method Extension|[]=(lowered final self::Class2 #this, core::int index, core::int value) → void {
#this.{self::Class2::field} = value;
}
static method main() → dynamic {
self::Class1? c1;
- let final self::Class1? #t1 = c1 in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::Class1}.{self::Class1::[]}(0);
- let final self::Class1? #t2 = c1 in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::Class1}.{self::Class1::[]=}(0, 1);
- let final self::Class1? #t3 = c1 in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Class1}.{self::Class1::[]=}(0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0)));
- let final self::Class1? #t4 = c1 in #t4.{core::Object::==}(null) ?{core::int?} null : let final core::int #t5 = 0 in #t4{self::Class1}.{self::Class1::[]=}(#t5, #t4{self::Class1}.{self::Class1::[]}(#t5).{core::num::+}(1));
- let final self::Class1? #t6 = c1 in #t6.{core::Object::==}(null) ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0))));
- let final self::Class1? #t8 = c1 in #t8.{core::Object::==}(null) ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9).{core::num::+}(1) in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10) in #t10;
- let final self::Class1? #t12 = c1 in #t12.{core::Object::==}(null) ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13).{core::num::+}(1));
- let final self::Class1? #t14 = c1 in #t14.{core::Object::==}(null) ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15).{core::num::==}(null) ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1) : null;
- let final self::Class1? #t16 = c1 in #t16.{core::Object::==}(null) ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17).{core::num::==}(null) ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1))) : null;
+ let final self::Class1? #t1 = c1 in #t1 == null ?{core::int?} null : #t1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int};
+ let final self::Class1? #t2 = c1 in #t2 == null ?{core::int?} null : #t2{self::Class1}.{self::Class1::[]=}(0, 1){(core::int, core::int) → void};
+ let final self::Class1? #t3 = c1 in #t3 == null ?{core::int?} null : #t3{self::Class1}.{self::Class1::[]=}(0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t4 = c1 in #t4 == null ?{core::int?} null : let final core::int #t5 = 0 in #t4{self::Class1}.{self::Class1::[]=}(#t5, #t4{self::Class1}.{self::Class1::[]}(#t5){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t6 = c1 in #t6 == null ?{core::int?} null : let final core::int #t7 = 0 in #t6{self::Class1}.{self::Class1::[]=}(#t7, #t6{self::Class1}.{self::Class1::[]}(#t7){(core::int) → core::int}.{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t8 = c1 in #t8 == null ?{core::int?} null : let final core::int #t9 = 0 in let final core::int #t10 = #t8{self::Class1}.{self::Class1::[]}(#t9){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t11 = #t8{self::Class1}.{self::Class1::[]=}(#t9, #t10){(core::int, core::int) → void} in #t10;
+ let final self::Class1? #t12 = c1 in #t12 == null ?{core::int?} null : let final core::int #t13 = 0 in #t12{self::Class1}.{self::Class1::[]=}(#t13, #t12{self::Class1}.{self::Class1::[]}(#t13){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
+ let final self::Class1? #t14 = c1 in #t14 == null ?{core::int?} null : let final core::int #t15 = 0 in #t14{self::Class1}.{self::Class1::[]}(#t15){(core::int) → core::int} == null ?{core::int} #t14{self::Class1}.{self::Class1::[]=}(#t15, 1){(core::int, core::int) → void} : null;
+ let final self::Class1? #t16 = c1 in #t16 == null ?{core::int?} null : let final core::int #t17 = 0 in #t16{self::Class1}.{self::Class1::[]}(#t17){(core::int) → core::int} == null ?{core::int} #t16{self::Class1}.{self::Class1::[]=}(#t17, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}){(core::int, core::int) → void} : null;
self::Class2? c2;
- let final self::Class2? #t18 = c2 in #t18.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
- let final self::Class2? #t19 = c2 in #t19.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
- let final self::Class2? #t20 = c2 in #t20.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t20{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)));
- let final self::Class2? #t21 = c2 in #t21.{core::Object::==}(null) ?{core::int?} null : let final core::int #t22 = 0 in self::Extension|[]=(#t21{self::Class2}, #t22, self::Extension|[](#t21{self::Class2}, #t22).{core::num::+}(1));
- let final self::Class2? #t23 = c2 in #t23.{core::Object::==}(null) ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0))));
- let final self::Class2? #t25 = c2 in #t25.{core::Object::==}(null) ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1) in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
- let final self::Class2? #t29 = c2 in #t29.{core::Object::==}(null) ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1));
- let final self::Class2? #t31 = c2 in #t31.{core::Object::==}(null) ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
- let final self::Class2? #t33 = c2 in #t33.{core::Object::==}(null) ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1))) : null;
- let final self::Class2? #t35 = c2 in #t35.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
- let final self::Class2? #t36 = c2 in #t36.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
- let final self::Class2? #t37 = c2 in #t37.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)));
- let final self::Class2? #t38 = c2 in #t38.{core::Object::==}(null) ?{core::int?} null : let final core::int #t39 = 0 in self::Extension|[]=(#t38{self::Class2}, #t39, self::Extension|[](#t38{self::Class2}, #t39).{core::num::+}(1));
- let final self::Class2? #t40 = c2 in #t40.{core::Object::==}(null) ?{core::int?} null : let final core::int #t41 = 0 in self::Extension|[]=(#t40{self::Class2}, #t41, self::Extension|[](#t40{self::Class2}, #t41).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0))));
- let final self::Class2? #t42 = c2 in #t42.{core::Object::==}(null) ?{core::int?} null : let final core::int #t43 = 0 in let final core::int #t44 = self::Extension|[](#t42{self::Class2}, #t43).{core::num::+}(1) in let final void #t45 = self::Extension|[]=(#t42{self::Class2}, #t43, #t44) in #t44;
- let final self::Class2? #t46 = c2 in #t46.{core::Object::==}(null) ?{core::int?} null : let final core::int #t47 = 0 in self::Extension|[]=(#t46{self::Class2}, #t47, self::Extension|[](#t46{self::Class2}, #t47).{core::num::+}(1));
- let final self::Class2? #t48 = c2 in #t48.{core::Object::==}(null) ?{core::int?} null : let final core::int #t49 = 0 in self::Extension|[](#t48{self::Class2}, #t49).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t48{self::Class2}, #t49, 1) : null;
- let final self::Class2? #t50 = c2 in #t50.{core::Object::==}(null) ?{core::int?} null : let final core::int #t51 = 0 in self::Extension|[](#t50{self::Class2}, #t51).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t50{self::Class2}, #t51, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1))) : null;
- let final self::Class1? #t52 = c1 in #t52.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t53 = #t52{self::Class1}.{self::Class1::field} in #t53.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t53{self::Class2}, 0);
- let final self::Class1? #t54 = c1 in #t54.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t55 = #t54{self::Class1}.{self::Class1::field} in #t55.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t55{self::Class2}, 0, 1);
- let final self::Class1? #t56 = c1 in #t56.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t57 = #t56{self::Class1}.{self::Class1::field} in #t57.{core::Object::==}(null) ?{core::int?} null : self::Extension|[]=(#t57{self::Class2}, 0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0)));
- let final self::Class1? #t58 = c1 in #t58.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t59 = #t58{self::Class1}.{self::Class1::field} in #t59.{core::Object::==}(null) ?{core::int?} null : let final core::int #t60 = 0 in self::Extension|[]=(#t59{self::Class2}, #t60, self::Extension|[](#t59{self::Class2}, #t60).{core::num::+}(1));
- let final self::Class1? #t61 = c1 in #t61.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field} in #t62.{core::Object::==}(null) ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0))));
- let final self::Class1? #t64 = c1 in #t64.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field} in #t65.{core::Object::==}(null) ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1) in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
- let final self::Class1? #t69 = c1 in #t69.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field} in #t70.{core::Object::==}(null) ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1));
- let final self::Class1? #t72 = c1 in #t72.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field} in #t73.{core::Object::==}(null) ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
- let final self::Class1? #t75 = c1 in #t75.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field} in #t76.{core::Object::==}(null) ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1))) : null;
- let final self::Class1? #t78 = c1 in #t78.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field} in #t79.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
- let final self::Class1? #t80 = c1 in #t80.{core::Object::==}(null) ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field} in #t81.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
- let final self::Class1? #t82 = c1 in #t82.{core::Object::==}(null) ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field} in #t83.{core::Object::==}(null) ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}(let final self::Class2? #t84 = c2 in #t84.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!));
- let final self::Class1? #t85 = c1 in #t85.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t86 = #t85{self::Class1}.{self::Class1::field} in #t86.{core::Object::==}(null) ?{core::int?} null : let final core::int #t87 = 0 in self::Extension|[]=(#t86{self::Class2}, #t87, self::Extension|[](#t86{self::Class2}, #t87).{core::num::+}(1));
- let final self::Class1? #t88 = c1 in #t88.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t89 = #t88{self::Class1}.{self::Class1::field} in #t89.{core::Object::==}(null) ?{core::int?} null : let final core::int #t90 = 0 in self::Extension|[]=(#t89{self::Class2}, #t90, self::Extension|[](#t89{self::Class2}, #t90).{core::num::+}(1.{core::num::+}(let final self::Class2? #t91 = c2 in #t91.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t91{self::Class2}, 0)!)));
- let final self::Class1? #t92 = c1 in #t92.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t93 = #t92{self::Class1}.{self::Class1::field} in #t93.{core::Object::==}(null) ?{core::int?} null : let final core::int #t94 = 0 in let final core::int #t95 = self::Extension|[](#t93{self::Class2}, #t94).{core::num::+}(1) in let final void #t96 = self::Extension|[]=(#t93{self::Class2}, #t94, #t95) in #t95;
- let final self::Class1? #t97 = c1 in #t97.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t98 = #t97{self::Class1}.{self::Class1::field} in #t98.{core::Object::==}(null) ?{core::int?} null : let final core::int #t99 = 0 in self::Extension|[]=(#t98{self::Class2}, #t99, self::Extension|[](#t98{self::Class2}, #t99).{core::num::+}(1));
- let final self::Class1? #t100 = c1 in #t100.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t101 = #t100{self::Class1}.{self::Class1::field} in #t101.{core::Object::==}(null) ?{core::int?} null : let final core::int #t102 = 0 in self::Extension|[](#t101{self::Class2}, #t102).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t101{self::Class2}, #t102, 1) : null;
- let final self::Class1? #t103 = c1 in #t103.{core::Object::==}(null) ?{core::int?} null : let final self::Class2? #t104 = #t103{self::Class1}.{self::Class1::field} in #t104.{core::Object::==}(null) ?{core::int?} null : let final core::int #t105 = 0 in self::Extension|[](#t104{self::Class2}, #t105).{core::num::==}(null) ?{core::int} self::Extension|[]=(#t104{self::Class2}, #t105, 1.{core::num::+}(let final self::Class2? #t106 = c2 in #t106.{core::Object::==}(null) ?{core::int?} null : self::Extension|[](#t106{self::Class2}, 1)!)) : null;
+ let final self::Class2? #t18 = c2 in #t18 == null ?{core::int?} null : self::Extension|[](#t18{self::Class2}, 0);
+ let final self::Class2? #t19 = c2 in #t19 == null ?{core::int?} null : self::Extension|[]=(#t19{self::Class2}, 0, 1);
+ let final self::Class2? #t20 = c2 in #t20 == null ?{core::int?} null : self::Extension|[]=(#t20{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
+ let final self::Class2? #t21 = c2 in #t21 == null ?{core::int?} null : let final core::int #t22 = 0 in self::Extension|[]=(#t21{self::Class2}, #t22, self::Extension|[](#t21{self::Class2}, #t22).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t23 = c2 in #t23 == null ?{core::int?} null : let final core::int #t24 = 0 in self::Extension|[]=(#t23{self::Class2}, #t24, self::Extension|[](#t23{self::Class2}, #t24).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class2? #t25 = c2 in #t25 == null ?{core::int?} null : let final core::int #t26 = 0 in let final core::int #t27 = self::Extension|[](#t25{self::Class2}, #t26).{core::num::+}(1){(core::num) → core::int} in let final void #t28 = self::Extension|[]=(#t25{self::Class2}, #t26, #t27) in #t27;
+ let final self::Class2? #t29 = c2 in #t29 == null ?{core::int?} null : let final core::int #t30 = 0 in self::Extension|[]=(#t29{self::Class2}, #t30, self::Extension|[](#t29{self::Class2}, #t30).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t31 = c2 in #t31 == null ?{core::int?} null : let final core::int #t32 = 0 in self::Extension|[](#t31{self::Class2}, #t32) == null ?{core::int} self::Extension|[]=(#t31{self::Class2}, #t32, 1) : null;
+ let final self::Class2? #t33 = c2 in #t33 == null ?{core::int?} null : let final core::int #t34 = 0 in self::Extension|[](#t33{self::Class2}, #t34) == null ?{core::int} self::Extension|[]=(#t33{self::Class2}, #t34, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
+ let final self::Class2? #t35 = c2 in #t35 == null ?{core::int?} null : self::Extension|[](#t35{self::Class2}, 0);
+ let final self::Class2? #t36 = c2 in #t36 == null ?{void} null : self::Extension|[]=(#t36{self::Class2}, 0, 1);
+ let final self::Class2? #t37 = c2 in #t37 == null ?{void} null : self::Extension|[]=(#t37{self::Class2}, 0, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int});
+ let final self::Class2? #t38 = c2 in #t38 == null ?{core::int?} null : let final core::int #t39 = 0 in self::Extension|[]=(#t38{self::Class2}, #t39, self::Extension|[](#t38{self::Class2}, #t39).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t40 = c2 in #t40 == null ?{core::int?} null : let final core::int #t41 = 0 in self::Extension|[]=(#t40{self::Class2}, #t41, self::Extension|[](#t40{self::Class2}, #t41).{core::num::+}(1.{core::num::+}(self::Extension|[](c2{self::Class2}, 0)){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class2? #t42 = c2 in #t42 == null ?{core::int?} null : let final core::int #t43 = 0 in let final core::int #t44 = self::Extension|[](#t42{self::Class2}, #t43).{core::num::+}(1){(core::num) → core::int} in let final void #t45 = self::Extension|[]=(#t42{self::Class2}, #t43, #t44) in #t44;
+ let final self::Class2? #t46 = c2 in #t46 == null ?{core::int?} null : let final core::int #t47 = 0 in self::Extension|[]=(#t46{self::Class2}, #t47, self::Extension|[](#t46{self::Class2}, #t47).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class2? #t48 = c2 in #t48 == null ?{core::int?} null : let final core::int #t49 = 0 in self::Extension|[](#t48{self::Class2}, #t49) == null ?{core::int} self::Extension|[]=(#t48{self::Class2}, #t49, 1) : null;
+ let final self::Class2? #t50 = c2 in #t50 == null ?{core::int?} null : let final core::int #t51 = 0 in self::Extension|[](#t50{self::Class2}, #t51) == null ?{core::int} self::Extension|[]=(#t50{self::Class2}, #t51, 1.{core::num::+}(self::Extension|[](c2{self::Class2}, 1)){(core::num) → core::int}) : null;
+ let final self::Class1? #t52 = c1 in #t52 == null ?{core::int?} null : let final self::Class2? #t53 = #t52{self::Class1}.{self::Class1::field}{self::Class2?} in #t53 == null ?{core::int?} null : self::Extension|[](#t53{self::Class2}, 0);
+ let final self::Class1? #t54 = c1 in #t54 == null ?{core::int?} null : let final self::Class2? #t55 = #t54{self::Class1}.{self::Class1::field}{self::Class2?} in #t55 == null ?{core::int?} null : self::Extension|[]=(#t55{self::Class2}, 0, 1);
+ let final self::Class1? #t56 = c1 in #t56 == null ?{core::int?} null : let final self::Class2? #t57 = #t56{self::Class1}.{self::Class1::field}{self::Class2?} in #t57 == null ?{core::int?} null : self::Extension|[]=(#t57{self::Class2}, 0, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t58 = c1 in #t58 == null ?{core::int?} null : let final self::Class2? #t59 = #t58{self::Class1}.{self::Class1::field}{self::Class2?} in #t59 == null ?{core::int?} null : let final core::int #t60 = 0 in self::Extension|[]=(#t59{self::Class2}, #t60, self::Extension|[](#t59{self::Class2}, #t60).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t61 = c1 in #t61 == null ?{core::int?} null : let final self::Class2? #t62 = #t61{self::Class1}.{self::Class1::field}{self::Class2?} in #t62 == null ?{core::int?} null : let final core::int #t63 = 0 in self::Extension|[]=(#t62{self::Class2}, #t63, self::Extension|[](#t62{self::Class2}, #t63).{core::num::+}(1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(0){(core::int) → core::int}){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t64 = c1 in #t64 == null ?{core::int?} null : let final self::Class2? #t65 = #t64{self::Class1}.{self::Class1::field}{self::Class2?} in #t65 == null ?{core::int?} null : let final core::int #t66 = 0 in let final core::int #t67 = self::Extension|[](#t65{self::Class2}, #t66).{core::num::+}(1){(core::num) → core::int} in let final void #t68 = self::Extension|[]=(#t65{self::Class2}, #t66, #t67) in #t67;
+ let final self::Class1? #t69 = c1 in #t69 == null ?{core::int?} null : let final self::Class2? #t70 = #t69{self::Class1}.{self::Class1::field}{self::Class2?} in #t70 == null ?{core::int?} null : let final core::int #t71 = 0 in self::Extension|[]=(#t70{self::Class2}, #t71, self::Extension|[](#t70{self::Class2}, #t71).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t72 = c1 in #t72 == null ?{core::int?} null : let final self::Class2? #t73 = #t72{self::Class1}.{self::Class1::field}{self::Class2?} in #t73 == null ?{core::int?} null : let final core::int #t74 = 0 in self::Extension|[](#t73{self::Class2}, #t74) == null ?{core::int} self::Extension|[]=(#t73{self::Class2}, #t74, 1) : null;
+ let final self::Class1? #t75 = c1 in #t75 == null ?{core::int?} null : let final self::Class2? #t76 = #t75{self::Class1}.{self::Class1::field}{self::Class2?} in #t76 == null ?{core::int?} null : let final core::int #t77 = 0 in self::Extension|[](#t76{self::Class2}, #t77) == null ?{core::int} self::Extension|[]=(#t76{self::Class2}, #t77, 1.{core::num::+}(c1{self::Class1}.{self::Class1::[]}(1){(core::int) → core::int}){(core::num) → core::int}) : null;
+ let final self::Class1? #t78 = c1 in #t78 == null ?{core::int?} null : let final self::Class2? #t79 = #t78{self::Class1}.{self::Class1::field}{self::Class2?} in #t79 == null ?{core::int?} null : self::Extension|[](#t79{self::Class2}, 0);
+ let final self::Class1? #t80 = c1 in #t80 == null ?{void} null : let final self::Class2? #t81 = #t80{self::Class1}.{self::Class1::field}{self::Class2?} in #t81 == null ?{void} null : self::Extension|[]=(#t81{self::Class2}, 0, 1);
+ let final self::Class1? #t82 = c1 in #t82 == null ?{void} null : let final self::Class2? #t83 = #t82{self::Class1}.{self::Class1::field}{self::Class2?} in #t83 == null ?{void} null : self::Extension|[]=(#t83{self::Class2}, 0, 1.{core::num::+}(let final self::Class2? #t84 = c2 in #t84 == null ?{core::int?} null : self::Extension|[](#t84{self::Class2}, 0)!){(core::num) → core::int});
+ let final self::Class1? #t85 = c1 in #t85 == null ?{core::int?} null : let final self::Class2? #t86 = #t85{self::Class1}.{self::Class1::field}{self::Class2?} in #t86 == null ?{core::int?} null : let final core::int #t87 = 0 in self::Extension|[]=(#t86{self::Class2}, #t87, self::Extension|[](#t86{self::Class2}, #t87).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t88 = c1 in #t88 == null ?{core::int?} null : let final self::Class2? #t89 = #t88{self::Class1}.{self::Class1::field}{self::Class2?} in #t89 == null ?{core::int?} null : let final core::int #t90 = 0 in self::Extension|[]=(#t89{self::Class2}, #t90, self::Extension|[](#t89{self::Class2}, #t90).{core::num::+}(1.{core::num::+}(let final self::Class2? #t91 = c2 in #t91 == null ?{core::int?} null : self::Extension|[](#t91{self::Class2}, 0)!){(core::num) → core::int}){(core::num) → core::int});
+ let final self::Class1? #t92 = c1 in #t92 == null ?{core::int?} null : let final self::Class2? #t93 = #t92{self::Class1}.{self::Class1::field}{self::Class2?} in #t93 == null ?{core::int?} null : let final core::int #t94 = 0 in let final core::int #t95 = self::Extension|[](#t93{self::Class2}, #t94).{core::num::+}(1){(core::num) → core::int} in let final void #t96 = self::Extension|[]=(#t93{self::Class2}, #t94, #t95) in #t95;
+ let final self::Class1? #t97 = c1 in #t97 == null ?{core::int?} null : let final self::Class2? #t98 = #t97{self::Class1}.{self::Class1::field}{self::Class2?} in #t98 == null ?{core::int?} null : let final core::int #t99 = 0 in self::Extension|[]=(#t98{self::Class2}, #t99, self::Extension|[](#t98{self::Class2}, #t99).{core::num::+}(1){(core::num) → core::int});
+ let final self::Class1? #t100 = c1 in #t100 == null ?{core::int?} null : let final self::Class2? #t101 = #t100{self::Class1}.{self::Class1::field}{self::Class2?} in #t101 == null ?{core::int?} null : let final core::int #t102 = 0 in self::Extension|[](#t101{self::Class2}, #t102) == null ?{core::int} self::Extension|[]=(#t101{self::Class2}, #t102, 1) : null;
+ let final self::Class1? #t103 = c1 in #t103 == null ?{core::int?} null : let final self::Class2? #t104 = #t103{self::Class1}.{self::Class1::field}{self::Class2?} in #t104 == null ?{core::int?} null : let final core::int #t105 = 0 in self::Extension|[](#t104{self::Class2}, #t105) == null ?{core::int} self::Extension|[]=(#t104{self::Class2}, #t105, 1.{core::num::+}(let final self::Class2? #t106 = c2 in #t106 == null ?{core::int?} null : self::Extension|[](#t106{self::Class2}, 1)!){(core::num) → core::int}) : null;
}
diff --git a/pkg/front_end/testcases/nnbd/nullable_access.dart.strong.expect b/pkg/front_end/testcases/nnbd/nullable_access.dart.strong.expect
index 40de06c..e0b2ca8 100644
--- a/pkg/front_end/testcases/nnbd/nullable_access.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_access.dart.strong.expect
@@ -17,12 +17,12 @@
: super core::Object::•()
;
get nonNullableProperty() → self::A
- return this.{self::Class::nonNullableField};
+ return this.{self::Class::nonNullableField}{self::A};
set nonNullableProperty(self::A value) → void {
this.{self::Class::nonNullableField} = value;
}
method nonNullableMethod() → self::A
- return this.{self::Class::nonNullableField};
+ return this.{self::Class::nonNullableField}{self::A};
}
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
@@ -37,17 +37,17 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_access.dart'.
Try accessing using ?. instead.
throws(() => c.nonNullableField);
- ^^^^^^^^^^^^^^^^" in c.{self::Class::nonNullableField});
- self::expect(null, let final self::Class? #t2 = c in #t2.{core::Object::==}(null) ?{self::A?} null : #t2{self::Class}.{self::Class::nonNullableField});
- self::expect(null, let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{self::A?} null : #t3{self::Class}.{self::Class::nonNullableField}.{self::A::nonNullableProperty});
+ ^^^^^^^^^^^^^^^^" in c.{self::Class::nonNullableField}{<nullable>}.{self::A});
+ self::expect(null, let final self::Class? #t2 = c in #t2 == null ?{self::A?} null : #t2{self::Class}.{self::Class::nonNullableField}{self::A});
+ self::expect(null, let final self::Class? #t3 = c in #t3 == null ?{self::A?} null : #t3{self::Class}.{self::Class::nonNullableField}{self::A}.{self::A::nonNullableProperty}{self::A});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
return;
diff --git a/pkg/front_end/testcases/nnbd/nullable_access.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_access.dart.strong.transformed.expect
index 40de06c..e0b2ca8 100644
--- a/pkg/front_end/testcases/nnbd/nullable_access.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_access.dart.strong.transformed.expect
@@ -17,12 +17,12 @@
: super core::Object::•()
;
get nonNullableProperty() → self::A
- return this.{self::Class::nonNullableField};
+ return this.{self::Class::nonNullableField}{self::A};
set nonNullableProperty(self::A value) → void {
this.{self::Class::nonNullableField} = value;
}
method nonNullableMethod() → self::A
- return this.{self::Class::nonNullableField};
+ return this.{self::Class::nonNullableField}{self::A};
}
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
@@ -37,17 +37,17 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_access.dart'.
Try accessing using ?. instead.
throws(() => c.nonNullableField);
- ^^^^^^^^^^^^^^^^" in c.{self::Class::nonNullableField});
- self::expect(null, let final self::Class? #t2 = c in #t2.{core::Object::==}(null) ?{self::A?} null : #t2{self::Class}.{self::Class::nonNullableField});
- self::expect(null, let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{self::A?} null : #t3{self::Class}.{self::Class::nonNullableField}.{self::A::nonNullableProperty});
+ ^^^^^^^^^^^^^^^^" in c.{self::Class::nonNullableField}{<nullable>}.{self::A});
+ self::expect(null, let final self::Class? #t2 = c in #t2 == null ?{self::A?} null : #t2{self::Class}.{self::Class::nonNullableField}{self::A});
+ self::expect(null, let final self::Class? #t3 = c in #t3 == null ?{self::A?} null : #t3{self::Class}.{self::Class::nonNullableField}{self::A}.{self::A::nonNullableProperty}{self::A});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
return;
diff --git a/pkg/front_end/testcases/nnbd/nullable_access.dart.weak.expect b/pkg/front_end/testcases/nnbd/nullable_access.dart.weak.expect
index 40de06c..e0b2ca8 100644
--- a/pkg/front_end/testcases/nnbd/nullable_access.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_access.dart.weak.expect
@@ -17,12 +17,12 @@
: super core::Object::•()
;
get nonNullableProperty() → self::A
- return this.{self::Class::nonNullableField};
+ return this.{self::Class::nonNullableField}{self::A};
set nonNullableProperty(self::A value) → void {
this.{self::Class::nonNullableField} = value;
}
method nonNullableMethod() → self::A
- return this.{self::Class::nonNullableField};
+ return this.{self::Class::nonNullableField}{self::A};
}
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
@@ -37,17 +37,17 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_access.dart'.
Try accessing using ?. instead.
throws(() => c.nonNullableField);
- ^^^^^^^^^^^^^^^^" in c.{self::Class::nonNullableField});
- self::expect(null, let final self::Class? #t2 = c in #t2.{core::Object::==}(null) ?{self::A?} null : #t2{self::Class}.{self::Class::nonNullableField});
- self::expect(null, let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{self::A?} null : #t3{self::Class}.{self::Class::nonNullableField}.{self::A::nonNullableProperty});
+ ^^^^^^^^^^^^^^^^" in c.{self::Class::nonNullableField}{<nullable>}.{self::A});
+ self::expect(null, let final self::Class? #t2 = c in #t2 == null ?{self::A?} null : #t2{self::Class}.{self::Class::nonNullableField}{self::A});
+ self::expect(null, let final self::Class? #t3 = c in #t3 == null ?{self::A?} null : #t3{self::Class}.{self::Class::nonNullableField}{self::A}.{self::A::nonNullableProperty}{self::A});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
return;
diff --git a/pkg/front_end/testcases/nnbd/nullable_access.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_access.dart.weak.transformed.expect
index 40de06c..e0b2ca8 100644
--- a/pkg/front_end/testcases/nnbd/nullable_access.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_access.dart.weak.transformed.expect
@@ -17,12 +17,12 @@
: super core::Object::•()
;
get nonNullableProperty() → self::A
- return this.{self::Class::nonNullableField};
+ return this.{self::Class::nonNullableField}{self::A};
set nonNullableProperty(self::A value) → void {
this.{self::Class::nonNullableField} = value;
}
method nonNullableMethod() → self::A
- return this.{self::Class::nonNullableField};
+ return this.{self::Class::nonNullableField}{self::A};
}
class A extends core::Object /*hasConstConstructor*/ {
const constructor •() → self::A
@@ -37,17 +37,17 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_access.dart'.
Try accessing using ?. instead.
throws(() => c.nonNullableField);
- ^^^^^^^^^^^^^^^^" in c.{self::Class::nonNullableField});
- self::expect(null, let final self::Class? #t2 = c in #t2.{core::Object::==}(null) ?{self::A?} null : #t2{self::Class}.{self::Class::nonNullableField});
- self::expect(null, let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{self::A?} null : #t3{self::Class}.{self::Class::nonNullableField}.{self::A::nonNullableProperty});
+ ^^^^^^^^^^^^^^^^" in c.{self::Class::nonNullableField}{<nullable>}.{self::A});
+ self::expect(null, let final self::Class? #t2 = c in #t2 == null ?{self::A?} null : #t2{self::Class}.{self::Class::nonNullableField}{self::A});
+ self::expect(null, let final self::Class? #t3 = c in #t3 == null ?{self::A?} null : #t3{self::Class}.{self::Class::nonNullableField}{self::A}.{self::A::nonNullableProperty}{self::A});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
return;
diff --git a/pkg/front_end/testcases/nnbd/nullable_extension.dart.strong.expect b/pkg/front_end/testcases/nnbd/nullable_extension.dart.strong.expect
index a732aa4..62d3a21 100644
--- a/pkg/front_end/testcases/nnbd/nullable_extension.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_extension.dart.strong.expect
@@ -18,6 +18,6 @@
self::expect("Lily was here", self::_extension#0|get#text(a));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/nullable_extension.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_extension.dart.strong.transformed.expect
index a732aa4..62d3a21 100644
--- a/pkg/front_end/testcases/nnbd/nullable_extension.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_extension.dart.strong.transformed.expect
@@ -18,6 +18,6 @@
self::expect("Lily was here", self::_extension#0|get#text(a));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.expect b/pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.expect
index a732aa4..62d3a21 100644
--- a/pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.expect
@@ -18,6 +18,6 @@
self::expect("Lily was here", self::_extension#0|get#text(a));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.transformed.expect
index a732aa4..62d3a21 100644
--- a/pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.transformed.expect
@@ -18,6 +18,6 @@
self::expect("Lily was here", self::_extension#0|get#text(a));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/nullable_object_access.dart.strong.expect b/pkg/front_end/testcases/nnbd/nullable_object_access.dart.strong.expect
index db3769e..fd1b424 100644
--- a/pkg/front_end/testcases/nnbd/nullable_object_access.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_object_access.dart.strong.expect
@@ -70,32 +70,32 @@
}
static method main() → dynamic {}
static method test(self::Class c1, self::Class? c2, core::Invocation invocation, self::CustomInvocation customInvocation) → void {
- self::CustomType runtimeType1 = c1.{self::Class::runtimeType};
- self::CustomType runtimeTypeVariable1 = c1.{self::Class::runtimeType};
- c1.{self::Class::runtimeType}.{self::CustomType::call}();
- (self::CustomInvocation) → core::String noSuchMethodTearOff1 = c1.{self::Class::noSuchMethod};
- (self::CustomInvocation) → core::String noSuchMethodTearOffVariable1 = c1.{self::Class::noSuchMethod};
- core::String noSuchMethod1a = c1.{self::Class::noSuchMethod}(customInvocation);
+ self::CustomType runtimeType1 = c1.{self::Class::runtimeType}{self::CustomType};
+ self::CustomType runtimeTypeVariable1 = c1.{self::Class::runtimeType}{self::CustomType};
+ c1.{self::Class::runtimeType}{self::CustomType}.{self::CustomType::call}(){() → void};
+ (self::CustomInvocation) → core::String noSuchMethodTearOff1 = c1.{self::Class::noSuchMethod}{(self::CustomInvocation) → core::String};
+ (self::CustomInvocation) → core::String noSuchMethodTearOffVariable1 = c1.{self::Class::noSuchMethod}{(self::CustomInvocation) → core::String};
+ core::String noSuchMethod1a = c1.{self::Class::noSuchMethod}(customInvocation){(self::CustomInvocation) → core::String};
core::String noSuchMethod1b = c1.{self::Class::noSuchMethod}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:31:43: Error: The argument type 'Invocation' can't be assigned to the parameter type 'CustomInvocation'.
- 'Invocation' is from 'dart:core'.
- 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
String noSuchMethod1b = c1.noSuchMethod(invocation); // error
- ^" in invocation as{TypeError,ForNonNullableByDefault} self::CustomInvocation);
- core::String noSuchMethodVariable1 = c1.{self::Class::noSuchMethod}(customInvocation);
- c1.{self::Class::==}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:34:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
+ ^" in invocation as{TypeError,ForNonNullableByDefault} self::CustomInvocation){(self::CustomInvocation) → core::String};
+ core::String noSuchMethodVariable1 = c1.{self::Class::noSuchMethod}(customInvocation){(self::CustomInvocation) → core::String};
+ c1 =={self::Class::==}{(self::Class) → core::bool} (let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:34:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
c1 == ''; // error
^" in "" as{TypeError,ForNonNullableByDefault} self::Class?);
- c1.{self::Class::==}(c2);
- ({o: core::Object}) → core::String toStringTearOff1 = c1.{self::Class::toString};
- ({o: core::Object}) → core::String toStringTearOffVariable1 = c1.{self::Class::toString};
- c1.{self::Class::toString}(o: c1);
+ c1 =={self::Class::==}{(self::Class) → core::bool} c2;
+ ({o: core::Object}) → core::String toStringTearOff1 = c1.{self::Class::toString}{({o: core::Object}) → core::String};
+ ({o: core::Object}) → core::String toStringTearOffVariable1 = c1.{self::Class::toString}{({o: core::Object}) → core::String};
+ c1.{self::Class::toString}(o: c1){({o: core::Object}) → core::String};
self::CustomType runtimeType2 = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:42:32: Error: A value of type 'Type' can't be assigned to a variable of type 'CustomType'.
- 'Type' is from 'dart:core'.
- 'CustomType' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
CustomType runtimeType2 = c2.runtimeType; // error
- ^" in c2.{core::Object::runtimeType} as{TypeError,ForNonNullableByDefault} self::CustomType;
- core::Type runtimeTypeVariable2 = c2.{core::Object::runtimeType};
+ ^" in c2.{core::Object::runtimeType}{core::Type} as{TypeError,ForNonNullableByDefault} self::CustomType;
+ core::Type runtimeTypeVariable2 = c2.{core::Object::runtimeType}{core::Type};
invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:44:17: Error: 'runtimeType' isn't a function or method and can't be invoked.
c2.runtimeType(); // error
^^^^^^^^^^^";
@@ -103,23 +103,23 @@
- 'Invocation' is from 'dart:core'.
- 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
c2.noSuchMethod; // error
- ^" in c2.{core::Object::noSuchMethod} as{TypeError,ForNonNullableByDefault} (self::CustomInvocation) → core::String;
- (core::Invocation) → dynamic noSuchMethodTearOffVariable2 = c2.{core::Object::noSuchMethod};
- core::int noSuchMethod2 = c2.{core::Object::noSuchMethod}(invocation) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- dynamic noSuchMethodVariable2 = c2.{core::Object::noSuchMethod}(invocation);
- c2.{self::Class::==}(let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:56:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
+ ^" in c2.{core::Object::noSuchMethod}{(core::Invocation) → dynamic} as{TypeError,ForNonNullableByDefault} (self::CustomInvocation) → core::String;
+ (core::Invocation) → dynamic noSuchMethodTearOffVariable2 = c2.{core::Object::noSuchMethod}{(core::Invocation) → dynamic};
+ core::int noSuchMethod2 = c2.{core::Object::noSuchMethod}(invocation){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ dynamic noSuchMethodVariable2 = c2.{core::Object::noSuchMethod}(invocation){(core::Invocation) → dynamic};
+ c2 =={self::Class::==}{(self::Class) → core::bool} (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:56:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
c2 == ''; // ok or error?
^" in "" as{TypeError,ForNonNullableByDefault} self::Class?);
- c2.{self::Class::==}(c1);
+ c2 =={self::Class::==}{(self::Class) → core::bool} c1;
({o: core::Object}) → core::String toStringTearOff2 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:59:53: Error: A value of type 'String Function()' can't be assigned to a variable of type 'String Function({Object o})'.
- 'Object' is from 'dart:core'.
String Function({Object o}) toStringTearOff2 = c2.toString; // error
- ^" in c2.{core::Object::toString} as{TypeError,ForNonNullableByDefault} ({o: core::Object}) → core::String;
- () → core::String toStringTearOffVariable2 = c2.{core::Object::toString};
+ ^" in c2.{core::Object::toString}{() → core::String} as{TypeError,ForNonNullableByDefault} ({o: core::Object}) → core::String;
+ () → core::String toStringTearOffVariable2 = c2.{core::Object::toString}{() → core::String};
let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:62:15: Error: No named parameter with the name 'o'.
c2.toString(o: c1); // error
- ^" in c2.{core::Object::toString}(o: c1);
+ ^" in c2.{core::Object::toString}{<inapplicable>}.(o: c1){({o: invalid-type}) → invalid-type};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/nullable_object_access.dart.weak.expect b/pkg/front_end/testcases/nnbd/nullable_object_access.dart.weak.expect
index db3769e..fd1b424 100644
--- a/pkg/front_end/testcases/nnbd/nullable_object_access.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_object_access.dart.weak.expect
@@ -70,32 +70,32 @@
}
static method main() → dynamic {}
static method test(self::Class c1, self::Class? c2, core::Invocation invocation, self::CustomInvocation customInvocation) → void {
- self::CustomType runtimeType1 = c1.{self::Class::runtimeType};
- self::CustomType runtimeTypeVariable1 = c1.{self::Class::runtimeType};
- c1.{self::Class::runtimeType}.{self::CustomType::call}();
- (self::CustomInvocation) → core::String noSuchMethodTearOff1 = c1.{self::Class::noSuchMethod};
- (self::CustomInvocation) → core::String noSuchMethodTearOffVariable1 = c1.{self::Class::noSuchMethod};
- core::String noSuchMethod1a = c1.{self::Class::noSuchMethod}(customInvocation);
+ self::CustomType runtimeType1 = c1.{self::Class::runtimeType}{self::CustomType};
+ self::CustomType runtimeTypeVariable1 = c1.{self::Class::runtimeType}{self::CustomType};
+ c1.{self::Class::runtimeType}{self::CustomType}.{self::CustomType::call}(){() → void};
+ (self::CustomInvocation) → core::String noSuchMethodTearOff1 = c1.{self::Class::noSuchMethod}{(self::CustomInvocation) → core::String};
+ (self::CustomInvocation) → core::String noSuchMethodTearOffVariable1 = c1.{self::Class::noSuchMethod}{(self::CustomInvocation) → core::String};
+ core::String noSuchMethod1a = c1.{self::Class::noSuchMethod}(customInvocation){(self::CustomInvocation) → core::String};
core::String noSuchMethod1b = c1.{self::Class::noSuchMethod}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:31:43: Error: The argument type 'Invocation' can't be assigned to the parameter type 'CustomInvocation'.
- 'Invocation' is from 'dart:core'.
- 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
String noSuchMethod1b = c1.noSuchMethod(invocation); // error
- ^" in invocation as{TypeError,ForNonNullableByDefault} self::CustomInvocation);
- core::String noSuchMethodVariable1 = c1.{self::Class::noSuchMethod}(customInvocation);
- c1.{self::Class::==}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:34:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
+ ^" in invocation as{TypeError,ForNonNullableByDefault} self::CustomInvocation){(self::CustomInvocation) → core::String};
+ core::String noSuchMethodVariable1 = c1.{self::Class::noSuchMethod}(customInvocation){(self::CustomInvocation) → core::String};
+ c1 =={self::Class::==}{(self::Class) → core::bool} (let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:34:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
c1 == ''; // error
^" in "" as{TypeError,ForNonNullableByDefault} self::Class?);
- c1.{self::Class::==}(c2);
- ({o: core::Object}) → core::String toStringTearOff1 = c1.{self::Class::toString};
- ({o: core::Object}) → core::String toStringTearOffVariable1 = c1.{self::Class::toString};
- c1.{self::Class::toString}(o: c1);
+ c1 =={self::Class::==}{(self::Class) → core::bool} c2;
+ ({o: core::Object}) → core::String toStringTearOff1 = c1.{self::Class::toString}{({o: core::Object}) → core::String};
+ ({o: core::Object}) → core::String toStringTearOffVariable1 = c1.{self::Class::toString}{({o: core::Object}) → core::String};
+ c1.{self::Class::toString}(o: c1){({o: core::Object}) → core::String};
self::CustomType runtimeType2 = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:42:32: Error: A value of type 'Type' can't be assigned to a variable of type 'CustomType'.
- 'Type' is from 'dart:core'.
- 'CustomType' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
CustomType runtimeType2 = c2.runtimeType; // error
- ^" in c2.{core::Object::runtimeType} as{TypeError,ForNonNullableByDefault} self::CustomType;
- core::Type runtimeTypeVariable2 = c2.{core::Object::runtimeType};
+ ^" in c2.{core::Object::runtimeType}{core::Type} as{TypeError,ForNonNullableByDefault} self::CustomType;
+ core::Type runtimeTypeVariable2 = c2.{core::Object::runtimeType}{core::Type};
invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:44:17: Error: 'runtimeType' isn't a function or method and can't be invoked.
c2.runtimeType(); // error
^^^^^^^^^^^";
@@ -103,23 +103,23 @@
- 'Invocation' is from 'dart:core'.
- 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
c2.noSuchMethod; // error
- ^" in c2.{core::Object::noSuchMethod} as{TypeError,ForNonNullableByDefault} (self::CustomInvocation) → core::String;
- (core::Invocation) → dynamic noSuchMethodTearOffVariable2 = c2.{core::Object::noSuchMethod};
- core::int noSuchMethod2 = c2.{core::Object::noSuchMethod}(invocation) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
- dynamic noSuchMethodVariable2 = c2.{core::Object::noSuchMethod}(invocation);
- c2.{self::Class::==}(let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:56:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
+ ^" in c2.{core::Object::noSuchMethod}{(core::Invocation) → dynamic} as{TypeError,ForNonNullableByDefault} (self::CustomInvocation) → core::String;
+ (core::Invocation) → dynamic noSuchMethodTearOffVariable2 = c2.{core::Object::noSuchMethod}{(core::Invocation) → dynamic};
+ core::int noSuchMethod2 = c2.{core::Object::noSuchMethod}(invocation){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ dynamic noSuchMethodVariable2 = c2.{core::Object::noSuchMethod}(invocation){(core::Invocation) → dynamic};
+ c2 =={self::Class::==}{(self::Class) → core::bool} (let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:56:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
- 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
c2 == ''; // ok or error?
^" in "" as{TypeError,ForNonNullableByDefault} self::Class?);
- c2.{self::Class::==}(c1);
+ c2 =={self::Class::==}{(self::Class) → core::bool} c1;
({o: core::Object}) → core::String toStringTearOff2 = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:59:53: Error: A value of type 'String Function()' can't be assigned to a variable of type 'String Function({Object o})'.
- 'Object' is from 'dart:core'.
String Function({Object o}) toStringTearOff2 = c2.toString; // error
- ^" in c2.{core::Object::toString} as{TypeError,ForNonNullableByDefault} ({o: core::Object}) → core::String;
- () → core::String toStringTearOffVariable2 = c2.{core::Object::toString};
+ ^" in c2.{core::Object::toString}{() → core::String} as{TypeError,ForNonNullableByDefault} ({o: core::Object}) → core::String;
+ () → core::String toStringTearOffVariable2 = c2.{core::Object::toString}{() → core::String};
let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:62:15: Error: No named parameter with the name 'o'.
c2.toString(o: c1); // error
- ^" in c2.{core::Object::toString}(o: c1);
+ ^" in c2.{core::Object::toString}{<inapplicable>}.(o: c1){({o: invalid-type}) → invalid-type};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/nullable_param.dart.strong.expect b/pkg/front_end/testcases/nnbd/nullable_param.dart.strong.expect
index 701d5d6..1d7f270 100644
--- a/pkg/front_end/testcases/nnbd/nullable_param.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_param.dart.strong.expect
@@ -12,11 +12,11 @@
static method main() → dynamic {
self::Foo foo = new self::Foo::•();
foo.{self::Foo::field} = 5;
- foo.{self::Foo::bar}(6);
+ foo.{self::Foo::bar}(6){(core::int?) → core::int?};
self::test_nullable_function_type_formal_param(f: () → core::int => 2);
}
static method test_nullable_function_type_formal_param({() →? core::int f = #C1}) → core::int {
- return let final core::int? #t1 = let final () →? core::int #t2 = f in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{() → core::int}.call() in #t1.{core::num::==}(null) ?{core::int} 1.{core::int::unary-}() : #t1{core::int};
+ return let final core::int? #t1 = let final () →? core::int #t2 = f in #t2 == null ?{core::int?} null : #t2{() → core::int}(){() → core::int} in #t1 == null ?{core::int} 1.{core::int::unary-}(){() → core::int} : #t1{core::int};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/nullable_param.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_param.dart.strong.transformed.expect
index 49de6f1..492b1de 100644
--- a/pkg/front_end/testcases/nnbd/nullable_param.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_param.dart.strong.transformed.expect
@@ -12,11 +12,11 @@
static method main() → dynamic {
self::Foo foo = new self::Foo::•();
foo.{self::Foo::field} = 5;
- foo.{self::Foo::bar}(6);
+ foo.{self::Foo::bar}(6){(core::int?) → core::int?};
self::test_nullable_function_type_formal_param(f: () → core::int => 2);
}
static method test_nullable_function_type_formal_param({() →? core::int f = #C1}) → core::int {
- return let final core::int? #t1 = let final () →? core::int #t2 = f in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{() → core::int}.call() in #t1.{core::num::==}(null) ?{core::int} 1.{core::int::unary-}() : #t1{core::int};
+ return let final core::int? #t1 = let final () →? core::int #t2 = f in #t2 == null ?{core::int?} null : #t2{() → core::int}(){() → core::int} in #t1 == null ?{core::int} 1.{core::int::unary-}(){() → core::int} : #t1{core::int};
}
constants {
@@ -24,5 +24,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///nullable_param.dart:19:23 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///nullable_param.dart:19:23 -> IntConstant(-1)
Extra constant evaluation: evaluated: 20, effectively constant: 1
diff --git a/pkg/front_end/testcases/nnbd/nullable_param.dart.weak.expect b/pkg/front_end/testcases/nnbd/nullable_param.dart.weak.expect
index 701d5d6..1d7f270 100644
--- a/pkg/front_end/testcases/nnbd/nullable_param.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_param.dart.weak.expect
@@ -12,11 +12,11 @@
static method main() → dynamic {
self::Foo foo = new self::Foo::•();
foo.{self::Foo::field} = 5;
- foo.{self::Foo::bar}(6);
+ foo.{self::Foo::bar}(6){(core::int?) → core::int?};
self::test_nullable_function_type_formal_param(f: () → core::int => 2);
}
static method test_nullable_function_type_formal_param({() →? core::int f = #C1}) → core::int {
- return let final core::int? #t1 = let final () →? core::int #t2 = f in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{() → core::int}.call() in #t1.{core::num::==}(null) ?{core::int} 1.{core::int::unary-}() : #t1{core::int};
+ return let final core::int? #t1 = let final () →? core::int #t2 = f in #t2 == null ?{core::int?} null : #t2{() → core::int}(){() → core::int} in #t1 == null ?{core::int} 1.{core::int::unary-}(){() → core::int} : #t1{core::int};
}
constants {
diff --git a/pkg/front_end/testcases/nnbd/nullable_param.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_param.dart.weak.transformed.expect
index 49de6f1..492b1de 100644
--- a/pkg/front_end/testcases/nnbd/nullable_param.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_param.dart.weak.transformed.expect
@@ -12,11 +12,11 @@
static method main() → dynamic {
self::Foo foo = new self::Foo::•();
foo.{self::Foo::field} = 5;
- foo.{self::Foo::bar}(6);
+ foo.{self::Foo::bar}(6){(core::int?) → core::int?};
self::test_nullable_function_type_formal_param(f: () → core::int => 2);
}
static method test_nullable_function_type_formal_param({() →? core::int f = #C1}) → core::int {
- return let final core::int? #t1 = let final () →? core::int #t2 = f in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{() → core::int}.call() in #t1.{core::num::==}(null) ?{core::int} 1.{core::int::unary-}() : #t1{core::int};
+ return let final core::int? #t1 = let final () →? core::int #t2 = f in #t2 == null ?{core::int?} null : #t2{() → core::int}(){() → core::int} in #t1 == null ?{core::int} 1.{core::int::unary-}(){() → core::int} : #t1{core::int};
}
constants {
@@ -24,5 +24,5 @@
}
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///nullable_param.dart:19:23 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///nullable_param.dart:19:23 -> IntConstant(-1)
Extra constant evaluation: evaluated: 20, effectively constant: 1
diff --git a/pkg/front_end/testcases/nnbd/nullable_receiver.dart.strong.expect b/pkg/front_end/testcases/nnbd/nullable_receiver.dart.strong.expect
index 2c6ff57..f1e425b 100644
--- a/pkg/front_end/testcases/nnbd/nullable_receiver.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_receiver.dart.strong.expect
@@ -77,35 +77,35 @@
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:20:5: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
Try accessing using ?. instead.
s.length;
- ^^^^^^" in s.{core::String::length};
+ ^^^^^^" in s.{core::String::length}{<nullable>}.{core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:21:5: Error: Method 'substring' cannot be called on 'String?' because it is potentially null.
Try calling using ?. instead.
s.substring(1, 1);
- ^^^^^^^^^" in s.{core::String::substring}(1, 1);
+ ^^^^^^^^^" in s.{core::String::substring}{<nullable>}.(1, 1){(core::int, [core::int?]) → core::String};
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:23:5: Error: Method 'foo' cannot be called on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
Try calling using ?. instead.
a.foo();
- ^^^" in a.{self::A::foo}();
+ ^^^" in a.{self::A::foo}{<nullable>}.(){() → dynamic};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:24:5: Error: Property 'bar' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
Try accessing using ?. instead.
a.bar;
- ^^^" in a.{self::A::bar};
+ ^^^" in a.{self::A::bar}{<nullable>}.{core::int};
let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:25:5: Error: Property 'baz' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
Try accessing using ?. instead.
a.baz = 42;
- ^^^" in a.{self::A::baz} = 42;
+ ^^^" in a.{self::A::baz}{<nullable>}. = 42;
let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:26:4: Error: Can't use an expression of type 'A?' as a function because it's potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
Try calling using ?.call instead.
a();
- ^" in a.{self::A::call}();
+ ^" in a.{self::A::call}{<nullable>}.(){() → void};
let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:27:13: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
b.toString(0);
- ^" in b.{core::Object::toString}(0);
+ ^" in b.{core::Object::toString}{<inapplicable>}.(0){(invalid-type) → invalid-type};
core::Function f1 = let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:29:17: Error: Can't tear off method 'call' from a potentially null value.
Function f1 = a;
^" in a as{TypeError} core::Function;
@@ -117,42 +117,42 @@
^" in a as{TypeError} () →? void;
}
static method ok<T extends core::Object?>(core::String? s, self::A? a, self::ok::T% t, self::B? b, core::Invocation i) → dynamic {
- s.{core::String::==}(s);
- a.{core::Object::==}(a);
- t.{core::Object::==}(t);
- b.{core::Object::==}(b);
- s.{core::Object::hashCode};
- a.{core::Object::hashCode};
- t.{core::Object::hashCode};
- b.{core::Object::hashCode};
- s.{core::Object::toString}();
- a.{core::Object::toString}();
- t.{core::Object::toString}();
- b.{core::Object::toString}();
+ s =={core::String::==}{(core::Object) → core::bool} s;
+ a =={core::Object::==}{(core::Object) → core::bool} a;
+ t =={core::Object::==}{(core::Object) → core::bool} t;
+ b =={core::Object::==}{(core::Object) → core::bool} b;
+ s.{core::Object::hashCode}{core::int};
+ a.{core::Object::hashCode}{core::int};
+ t.{core::Object::hashCode}{core::int};
+ b.{core::Object::hashCode}{core::int};
+ s.{core::Object::toString}(){() → core::String};
+ a.{core::Object::toString}(){() → core::String};
+ t.{core::Object::toString}(){() → core::String};
+ b.{core::Object::toString}(){() → core::String};
try {
- s.{core::Object::noSuchMethod}(i);
+ s.{core::Object::noSuchMethod}(i){(core::Invocation) → dynamic};
}
on core::Object catch(final core::Object e, final core::StackTrace t) {
}
try {
- a.{core::Object::noSuchMethod}(i);
+ a.{core::Object::noSuchMethod}(i){(core::Invocation) → dynamic};
}
on core::Object catch(final core::Object e, final core::StackTrace t) {
}
try {
- t.{core::Object::noSuchMethod}(i);
+ t.{core::Object::noSuchMethod}(i){(core::Invocation) → dynamic};
}
on core::Object catch(final core::Object e, final core::StackTrace t) {
}
try {
- b.{core::Object::noSuchMethod}(i);
+ b.{core::Object::noSuchMethod}(i){(core::Invocation) → dynamic};
}
on core::Object catch(final core::Object e, final core::StackTrace t) {
}
- s.{core::Object::runtimeType};
- a.{core::Object::runtimeType};
- t.{core::Object::runtimeType};
- b.{core::Object::runtimeType};
+ s.{core::Object::runtimeType}{core::Type};
+ a.{core::Object::runtimeType}{core::Type};
+ t.{core::Object::runtimeType}{core::Type};
+ b.{core::Object::runtimeType}{core::Type};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/nullable_receiver.dart.weak.expect b/pkg/front_end/testcases/nnbd/nullable_receiver.dart.weak.expect
index 2c6ff57..f1e425b 100644
--- a/pkg/front_end/testcases/nnbd/nullable_receiver.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_receiver.dart.weak.expect
@@ -77,35 +77,35 @@
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:20:5: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
Try accessing using ?. instead.
s.length;
- ^^^^^^" in s.{core::String::length};
+ ^^^^^^" in s.{core::String::length}{<nullable>}.{core::int};
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:21:5: Error: Method 'substring' cannot be called on 'String?' because it is potentially null.
Try calling using ?. instead.
s.substring(1, 1);
- ^^^^^^^^^" in s.{core::String::substring}(1, 1);
+ ^^^^^^^^^" in s.{core::String::substring}{<nullable>}.(1, 1){(core::int, [core::int?]) → core::String};
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:23:5: Error: Method 'foo' cannot be called on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
Try calling using ?. instead.
a.foo();
- ^^^" in a.{self::A::foo}();
+ ^^^" in a.{self::A::foo}{<nullable>}.(){() → dynamic};
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:24:5: Error: Property 'bar' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
Try accessing using ?. instead.
a.bar;
- ^^^" in a.{self::A::bar};
+ ^^^" in a.{self::A::bar}{<nullable>}.{core::int};
let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:25:5: Error: Property 'baz' cannot be accessed on 'A?' because it is potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
Try accessing using ?. instead.
a.baz = 42;
- ^^^" in a.{self::A::baz} = 42;
+ ^^^" in a.{self::A::baz}{<nullable>}. = 42;
let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:26:4: Error: Can't use an expression of type 'A?' as a function because it's potentially null.
- 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
Try calling using ?.call instead.
a();
- ^" in a.{self::A::call}();
+ ^" in a.{self::A::call}{<nullable>}.(){() → void};
let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:27:13: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
b.toString(0);
- ^" in b.{core::Object::toString}(0);
+ ^" in b.{core::Object::toString}{<inapplicable>}.(0){(invalid-type) → invalid-type};
core::Function f1 = let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:29:17: Error: Can't tear off method 'call' from a potentially null value.
Function f1 = a;
^" in a as{TypeError} core::Function;
@@ -117,42 +117,42 @@
^" in a as{TypeError} () →? void;
}
static method ok<T extends core::Object?>(core::String? s, self::A? a, self::ok::T% t, self::B? b, core::Invocation i) → dynamic {
- s.{core::String::==}(s);
- a.{core::Object::==}(a);
- t.{core::Object::==}(t);
- b.{core::Object::==}(b);
- s.{core::Object::hashCode};
- a.{core::Object::hashCode};
- t.{core::Object::hashCode};
- b.{core::Object::hashCode};
- s.{core::Object::toString}();
- a.{core::Object::toString}();
- t.{core::Object::toString}();
- b.{core::Object::toString}();
+ s =={core::String::==}{(core::Object) → core::bool} s;
+ a =={core::Object::==}{(core::Object) → core::bool} a;
+ t =={core::Object::==}{(core::Object) → core::bool} t;
+ b =={core::Object::==}{(core::Object) → core::bool} b;
+ s.{core::Object::hashCode}{core::int};
+ a.{core::Object::hashCode}{core::int};
+ t.{core::Object::hashCode}{core::int};
+ b.{core::Object::hashCode}{core::int};
+ s.{core::Object::toString}(){() → core::String};
+ a.{core::Object::toString}(){() → core::String};
+ t.{core::Object::toString}(){() → core::String};
+ b.{core::Object::toString}(){() → core::String};
try {
- s.{core::Object::noSuchMethod}(i);
+ s.{core::Object::noSuchMethod}(i){(core::Invocation) → dynamic};
}
on core::Object catch(final core::Object e, final core::StackTrace t) {
}
try {
- a.{core::Object::noSuchMethod}(i);
+ a.{core::Object::noSuchMethod}(i){(core::Invocation) → dynamic};
}
on core::Object catch(final core::Object e, final core::StackTrace t) {
}
try {
- t.{core::Object::noSuchMethod}(i);
+ t.{core::Object::noSuchMethod}(i){(core::Invocation) → dynamic};
}
on core::Object catch(final core::Object e, final core::StackTrace t) {
}
try {
- b.{core::Object::noSuchMethod}(i);
+ b.{core::Object::noSuchMethod}(i){(core::Invocation) → dynamic};
}
on core::Object catch(final core::Object e, final core::StackTrace t) {
}
- s.{core::Object::runtimeType};
- a.{core::Object::runtimeType};
- t.{core::Object::runtimeType};
- b.{core::Object::runtimeType};
+ s.{core::Object::runtimeType}{core::Type};
+ a.{core::Object::runtimeType}{core::Type};
+ t.{core::Object::runtimeType}{core::Type};
+ b.{core::Object::runtimeType}{core::Type};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/nullable_setter.dart.strong.expect b/pkg/front_end/testcases/nnbd/nullable_setter.dart.strong.expect
index 4e21e645..297e474 100644
--- a/pkg/front_end/testcases/nnbd/nullable_setter.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_setter.dart.strong.expect
@@ -15,20 +15,20 @@
set setter = self::_extension#0|set#setter;
}
static method _extension#0|set#setter(lowered final self::C? #this, core::String v) → void {
- let final self::C? #t1 = #this in #t1.{core::Object::==}(null) ?{core::String?} null : #t1{self::C}.{self::C::m} = v;
+ let final self::C? #t1 = #this in #t1 == null ?{core::String?} null : #t1{self::C}.{self::C::m} = v;
}
static method _extension#0|[]=(lowered final self::C? #this, core::int index, core::String value) → void {
- let final self::C? #t2 = #this in #t2.{core::Object::==}(null) ?{core::String?} null : #t2{self::C}.{self::C::m} = "${index}${value}";
+ let final self::C? #t2 = #this in #t2 == null ?{core::String?} null : #t2{self::C}.{self::C::m} = "${index}${value}";
}
static method main() → dynamic {
self::C? c = new self::C::•() as{ForNonNullableByDefault} self::C?;
- self::expect("", let final self::C? #t3 = c in #t3.{core::Object::==}(null) ?{core::String?} null : #t3{self::C}.{self::C::m});
+ self::expect("", let final self::C? #t3 = c in #t3 == null ?{core::String?} null : #t3{self::C}.{self::C::m}{core::String});
self::_extension#0|set#setter(c, "42");
- self::expect("42", let final self::C? #t4 = c in #t4.{core::Object::==}(null) ?{core::String?} null : #t4{self::C}.{self::C::m});
+ self::expect("42", let final self::C? #t4 = c in #t4 == null ?{core::String?} null : #t4{self::C}.{self::C::m}{core::String});
self::_extension#0|[]=(c, 42, "87");
- self::expect("4287", let final self::C? #t5 = c in #t5.{core::Object::==}(null) ?{core::String?} null : #t5{self::C}.{self::C::m});
+ self::expect("4287", let final self::C? #t5 = c in #t5 == null ?{core::String?} null : #t5{self::C}.{self::C::m}{core::String});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/nullable_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_setter.dart.strong.transformed.expect
index fdac0fc..321c92b 100644
--- a/pkg/front_end/testcases/nnbd/nullable_setter.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_setter.dart.strong.transformed.expect
@@ -15,20 +15,20 @@
set setter = self::_extension#0|set#setter;
}
static method _extension#0|set#setter(lowered final self::C? #this, core::String v) → void {
- let final self::C? #t1 = #this in #t1.{core::Object::==}(null) ?{core::String?} null : #t1{self::C}.{self::C::m} = v;
+ let final self::C? #t1 = #this in #t1 == null ?{core::String?} null : #t1{self::C}.{self::C::m} = v;
}
static method _extension#0|[]=(lowered final self::C? #this, core::int index, core::String value) → void {
- let final self::C? #t2 = #this in #t2.{core::Object::==}(null) ?{core::String?} null : #t2{self::C}.{self::C::m} = "${index}${value}";
+ let final self::C? #t2 = #this in #t2 == null ?{core::String?} null : #t2{self::C}.{self::C::m} = "${index}${value}";
}
static method main() → dynamic {
self::C? c = new self::C::•();
- self::expect("", let final self::C? #t3 = c in #t3.{core::Object::==}(null) ?{core::String?} null : #t3{self::C}.{self::C::m});
+ self::expect("", let final self::C? #t3 = c in #t3 == null ?{core::String?} null : #t3{self::C}.{self::C::m}{core::String});
self::_extension#0|set#setter(c, "42");
- self::expect("42", let final self::C? #t4 = c in #t4.{core::Object::==}(null) ?{core::String?} null : #t4{self::C}.{self::C::m});
+ self::expect("42", let final self::C? #t4 = c in #t4 == null ?{core::String?} null : #t4{self::C}.{self::C::m}{core::String});
self::_extension#0|[]=(c, 42, "87");
- self::expect("4287", let final self::C? #t5 = c in #t5.{core::Object::==}(null) ?{core::String?} null : #t5{self::C}.{self::C::m});
+ self::expect("4287", let final self::C? #t5 = c in #t5 == null ?{core::String?} null : #t5{self::C}.{self::C::m}{core::String});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.expect b/pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.expect
index 4e21e645..297e474 100644
--- a/pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.expect
@@ -15,20 +15,20 @@
set setter = self::_extension#0|set#setter;
}
static method _extension#0|set#setter(lowered final self::C? #this, core::String v) → void {
- let final self::C? #t1 = #this in #t1.{core::Object::==}(null) ?{core::String?} null : #t1{self::C}.{self::C::m} = v;
+ let final self::C? #t1 = #this in #t1 == null ?{core::String?} null : #t1{self::C}.{self::C::m} = v;
}
static method _extension#0|[]=(lowered final self::C? #this, core::int index, core::String value) → void {
- let final self::C? #t2 = #this in #t2.{core::Object::==}(null) ?{core::String?} null : #t2{self::C}.{self::C::m} = "${index}${value}";
+ let final self::C? #t2 = #this in #t2 == null ?{core::String?} null : #t2{self::C}.{self::C::m} = "${index}${value}";
}
static method main() → dynamic {
self::C? c = new self::C::•() as{ForNonNullableByDefault} self::C?;
- self::expect("", let final self::C? #t3 = c in #t3.{core::Object::==}(null) ?{core::String?} null : #t3{self::C}.{self::C::m});
+ self::expect("", let final self::C? #t3 = c in #t3 == null ?{core::String?} null : #t3{self::C}.{self::C::m}{core::String});
self::_extension#0|set#setter(c, "42");
- self::expect("42", let final self::C? #t4 = c in #t4.{core::Object::==}(null) ?{core::String?} null : #t4{self::C}.{self::C::m});
+ self::expect("42", let final self::C? #t4 = c in #t4 == null ?{core::String?} null : #t4{self::C}.{self::C::m}{core::String});
self::_extension#0|[]=(c, 42, "87");
- self::expect("4287", let final self::C? #t5 = c in #t5.{core::Object::==}(null) ?{core::String?} null : #t5{self::C}.{self::C::m});
+ self::expect("4287", let final self::C? #t5 = c in #t5 == null ?{core::String?} null : #t5{self::C}.{self::C::m}{core::String});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.transformed.expect
index fdac0fc..321c92b 100644
--- a/pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.transformed.expect
@@ -15,20 +15,20 @@
set setter = self::_extension#0|set#setter;
}
static method _extension#0|set#setter(lowered final self::C? #this, core::String v) → void {
- let final self::C? #t1 = #this in #t1.{core::Object::==}(null) ?{core::String?} null : #t1{self::C}.{self::C::m} = v;
+ let final self::C? #t1 = #this in #t1 == null ?{core::String?} null : #t1{self::C}.{self::C::m} = v;
}
static method _extension#0|[]=(lowered final self::C? #this, core::int index, core::String value) → void {
- let final self::C? #t2 = #this in #t2.{core::Object::==}(null) ?{core::String?} null : #t2{self::C}.{self::C::m} = "${index}${value}";
+ let final self::C? #t2 = #this in #t2 == null ?{core::String?} null : #t2{self::C}.{self::C::m} = "${index}${value}";
}
static method main() → dynamic {
self::C? c = new self::C::•();
- self::expect("", let final self::C? #t3 = c in #t3.{core::Object::==}(null) ?{core::String?} null : #t3{self::C}.{self::C::m});
+ self::expect("", let final self::C? #t3 = c in #t3 == null ?{core::String?} null : #t3{self::C}.{self::C::m}{core::String});
self::_extension#0|set#setter(c, "42");
- self::expect("42", let final self::C? #t4 = c in #t4.{core::Object::==}(null) ?{core::String?} null : #t4{self::C}.{self::C::m});
+ self::expect("42", let final self::C? #t4 = c in #t4 == null ?{core::String?} null : #t4{self::C}.{self::C::m}{core::String});
self::_extension#0|[]=(c, 42, "87");
- self::expect("4287", let final self::C? #t5 = c in #t5.{core::Object::==}(null) ?{core::String?} null : #t5{self::C}.{self::C::m});
+ self::expect("4287", let final self::C? #t5 = c in #t5 == null ?{core::String?} null : #t5{self::C}.{self::C::m}{core::String});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/numbers.dart.strong.expect b/pkg/front_end/testcases/nnbd/numbers.dart.strong.expect
index d52aac2..babfb04 100644
--- a/pkg/front_end/testcases/nnbd/numbers.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/numbers.dart.strong.expect
@@ -3,411 +3,411 @@
import "dart:core" as core;
static method add<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::add::X x, self::add::Y y, self::add::Z z) → dynamic {
- core::num n_n = n.{core::num::+}(n);
- core::num n_i = n.{core::num::+}(i);
- core::double n_d = n.{core::num::+}(d);
- core::num n_x = n.{core::num::+}(x);
- core::num n_y = n.{core::num::+}(y);
- core::double n_z = n.{core::num::+}(z);
- core::num i_n = i.{core::num::+}(n);
- core::int i_i = i.{core::num::+}(i);
- core::double i_d = i.{core::num::+}(d);
- core::num i_x = i.{core::num::+}(x);
- core::int i_y = i.{core::num::+}(y);
- core::double i_z = i.{core::num::+}(z);
- core::double d_n = d.{core::double::+}(n);
- core::double d_i = d.{core::double::+}(i);
- core::double d_d = d.{core::double::+}(d);
- core::double d_x = d.{core::double::+}(x);
- core::double d_y = d.{core::double::+}(y);
- core::double d_z = d.{core::double::+}(z);
- core::num x_n = x.{core::num::+}(n);
- core::num x_i = x.{core::num::+}(i);
- core::double x_d = x.{core::num::+}(d);
- core::num x_x = x.{core::num::+}(x);
- core::num x_y = x.{core::num::+}(y);
- core::double x_z = x.{core::num::+}(z);
- core::num y_n = y.{core::num::+}(n);
- core::int y_i = y.{core::num::+}(i);
- core::double y_d = y.{core::num::+}(d);
- core::num y_x = y.{core::num::+}(x);
- core::int y_y = y.{core::num::+}(y);
- core::double y_z = y.{core::num::+}(z);
- core::double z_n = z.{core::double::+}(n);
- core::double z_i = z.{core::double::+}(i);
- core::double z_d = z.{core::double::+}(d);
- core::double z_x = z.{core::double::+}(x);
- core::double z_y = z.{core::double::+}(y);
- core::double z_z = z.{core::double::+}(z);
+ core::num n_n = n.{core::num::+}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::+}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::+}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::+}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::+}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::+}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::+}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::+}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::+}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::+}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::+}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::+}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::+}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::+}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::+}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::+}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::+}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::+}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::+}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::+}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::+}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::+}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::+}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::+}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::+}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::+}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::+}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::+}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::+}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::+}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::+}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::+}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::+}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::+}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::+}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::+}(z){(core::num) → core::double};
}
static method sub<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::sub::X x, self::sub::Y y, self::sub::Z z) → dynamic {
- core::num n_n = n.{core::num::-}(n);
- core::num n_i = n.{core::num::-}(i);
- core::double n_d = n.{core::num::-}(d);
- core::num n_x = n.{core::num::-}(x);
- core::num n_y = n.{core::num::-}(y);
- core::double n_z = n.{core::num::-}(z);
- core::num i_n = i.{core::num::-}(n);
- core::int i_i = i.{core::num::-}(i);
- core::double i_d = i.{core::num::-}(d);
- core::num i_x = i.{core::num::-}(x);
- core::int i_y = i.{core::num::-}(y);
- core::double i_z = i.{core::num::-}(z);
- core::double d_n = d.{core::double::-}(n);
- core::double d_i = d.{core::double::-}(i);
- core::double d_d = d.{core::double::-}(d);
- core::double d_x = d.{core::double::-}(x);
- core::double d_y = d.{core::double::-}(y);
- core::double d_z = d.{core::double::-}(z);
- core::num x_n = x.{core::num::-}(n);
- core::num x_i = x.{core::num::-}(i);
- core::double x_d = x.{core::num::-}(d);
- core::num x_x = x.{core::num::-}(x);
- core::num x_y = x.{core::num::-}(y);
- core::double x_z = x.{core::num::-}(z);
- core::num y_n = y.{core::num::-}(n);
- core::int y_i = y.{core::num::-}(i);
- core::double y_d = y.{core::num::-}(d);
- core::num y_x = y.{core::num::-}(x);
- core::int y_y = y.{core::num::-}(y);
- core::double y_z = y.{core::num::-}(z);
- core::double z_n = z.{core::double::-}(n);
- core::double z_i = z.{core::double::-}(i);
- core::double z_d = z.{core::double::-}(d);
- core::double z_x = z.{core::double::-}(x);
- core::double z_y = z.{core::double::-}(y);
- core::double z_z = z.{core::double::-}(z);
+ core::num n_n = n.{core::num::-}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::-}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::-}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::-}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::-}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::-}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::-}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::-}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::-}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::-}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::-}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::-}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::-}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::-}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::-}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::-}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::-}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::-}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::-}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::-}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::-}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::-}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::-}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::-}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::-}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::-}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::-}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::-}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::-}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::-}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::-}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::-}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::-}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::-}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::-}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::-}(z){(core::num) → core::double};
}
static method mul<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mul::X x, self::mul::Y y, self::mul::Z z) → dynamic {
- core::num n_n = n.{core::num::*}(n);
- core::num n_i = n.{core::num::*}(i);
- core::double n_d = n.{core::num::*}(d);
- core::num n_x = n.{core::num::*}(x);
- core::num n_y = n.{core::num::*}(y);
- core::double n_z = n.{core::num::*}(z);
- core::num i_n = i.{core::num::*}(n);
- core::int i_i = i.{core::num::*}(i);
- core::double i_d = i.{core::num::*}(d);
- core::num i_x = i.{core::num::*}(x);
- core::int i_y = i.{core::num::*}(y);
- core::double i_z = i.{core::num::*}(z);
- core::double d_n = d.{core::double::*}(n);
- core::double d_i = d.{core::double::*}(i);
- core::double d_d = d.{core::double::*}(d);
- core::double d_x = d.{core::double::*}(x);
- core::double d_y = d.{core::double::*}(y);
- core::double d_z = d.{core::double::*}(z);
- core::num x_n = x.{core::num::*}(n);
- core::num x_i = x.{core::num::*}(i);
- core::double x_d = x.{core::num::*}(d);
- core::num x_x = x.{core::num::*}(x);
- core::num x_y = x.{core::num::*}(y);
- core::double x_z = x.{core::num::*}(z);
- core::num y_n = y.{core::num::*}(n);
- core::int y_i = y.{core::num::*}(i);
- core::double y_d = y.{core::num::*}(d);
- core::num y_x = y.{core::num::*}(x);
- core::int y_y = y.{core::num::*}(y);
- core::double y_z = y.{core::num::*}(z);
- core::double z_n = z.{core::double::*}(n);
- core::double z_i = z.{core::double::*}(i);
- core::double z_d = z.{core::double::*}(d);
- core::double z_x = z.{core::double::*}(x);
- core::double z_y = z.{core::double::*}(y);
- core::double z_z = z.{core::double::*}(z);
+ core::num n_n = n.{core::num::*}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::*}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::*}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::*}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::*}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::*}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::*}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::*}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::*}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::*}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::*}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::*}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::*}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::*}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::*}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::*}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::*}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::*}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::*}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::*}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::*}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::*}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::*}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::*}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::*}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::*}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::*}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::*}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::*}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::*}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::*}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::*}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::*}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::*}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::*}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::*}(z){(core::num) → core::double};
}
static method mod<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mod::X x, self::mod::Y y, self::mod::Z z) → dynamic {
- core::num n_n = n.{core::num::%}(n);
- core::num n_i = n.{core::num::%}(i);
- core::double n_d = n.{core::num::%}(d);
- core::num n_x = n.{core::num::%}(x);
- core::num n_y = n.{core::num::%}(y);
- core::double n_z = n.{core::num::%}(z);
- core::num i_n = i.{core::num::%}(n);
- core::int i_i = i.{core::num::%}(i);
- core::double i_d = i.{core::num::%}(d);
- core::num i_x = i.{core::num::%}(x);
- core::int i_y = i.{core::num::%}(y);
- core::double i_z = i.{core::num::%}(z);
- core::double d_n = d.{core::double::%}(n);
- core::double d_i = d.{core::double::%}(i);
- core::double d_d = d.{core::double::%}(d);
- core::double d_x = d.{core::double::%}(x);
- core::double d_y = d.{core::double::%}(y);
- core::double d_z = d.{core::double::%}(z);
- core::num x_n = x.{core::num::%}(n);
- core::num x_i = x.{core::num::%}(i);
- core::double x_d = x.{core::num::%}(d);
- core::num x_x = x.{core::num::%}(x);
- core::num x_y = x.{core::num::%}(y);
- core::double x_z = x.{core::num::%}(z);
- core::num y_n = y.{core::num::%}(n);
- core::int y_i = y.{core::num::%}(i);
- core::double y_d = y.{core::num::%}(d);
- core::num y_x = y.{core::num::%}(x);
- core::int y_y = y.{core::num::%}(y);
- core::double y_z = y.{core::num::%}(z);
- core::double z_n = z.{core::double::%}(n);
- core::double z_i = z.{core::double::%}(i);
- core::double z_d = z.{core::double::%}(d);
- core::double z_x = z.{core::double::%}(x);
- core::double z_y = z.{core::double::%}(y);
- core::double z_z = z.{core::double::%}(z);
+ core::num n_n = n.{core::num::%}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::%}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::%}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::%}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::%}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::%}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::%}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::%}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::%}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::%}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::%}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::%}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::%}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::%}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::%}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::%}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::%}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::%}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::%}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::%}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::%}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::%}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::%}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::%}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::%}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::%}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::%}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::%}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::%}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::%}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::%}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::%}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::%}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::%}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::%}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::%}(z){(core::num) → core::double};
}
static method remainder<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::remainder::X x, self::remainder::Y y, self::remainder::Z z) → dynamic {
- core::num n_n = n.{core::num::remainder}(n);
- core::num n_i = n.{core::num::remainder}(i);
- core::double n_d = n.{core::num::remainder}(d);
- core::num n_x = n.{core::num::remainder}(x);
- core::num n_y = n.{core::num::remainder}(y);
- core::double n_z = n.{core::num::remainder}(z);
- core::num i_n = i.{core::num::remainder}(n);
- core::int i_i = i.{core::num::remainder}(i);
- core::double i_d = i.{core::num::remainder}(d);
- core::num i_x = i.{core::num::remainder}(x);
- core::int i_y = i.{core::num::remainder}(y);
- core::double i_z = i.{core::num::remainder}(z);
- core::double d_n = d.{core::double::remainder}(n);
- core::double d_i = d.{core::double::remainder}(i);
- core::double d_d = d.{core::double::remainder}(d);
- core::double d_x = d.{core::double::remainder}(x);
- core::double d_y = d.{core::double::remainder}(y);
- core::double d_z = d.{core::double::remainder}(z);
- core::num x_n = x.{core::num::remainder}(n);
- core::num x_i = x.{core::num::remainder}(i);
- core::double x_d = x.{core::num::remainder}(d);
- core::num x_x = x.{core::num::remainder}(x);
- core::num x_y = x.{core::num::remainder}(y);
- core::double x_z = x.{core::num::remainder}(z);
- core::num y_n = y.{core::num::remainder}(n);
- core::int y_i = y.{core::num::remainder}(i);
- core::double y_d = y.{core::num::remainder}(d);
- core::num y_x = y.{core::num::remainder}(x);
- core::int y_y = y.{core::num::remainder}(y);
- core::double y_z = y.{core::num::remainder}(z);
- core::double z_n = z.{core::double::remainder}(n);
- core::double z_i = z.{core::double::remainder}(i);
- core::double z_d = z.{core::double::remainder}(d);
- core::double z_x = z.{core::double::remainder}(x);
- core::double z_y = z.{core::double::remainder}(y);
- core::double z_z = z.{core::double::remainder}(z);
+ core::num n_n = n.{core::num::remainder}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::remainder}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::remainder}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::remainder}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::remainder}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::remainder}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::remainder}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::remainder}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::remainder}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::remainder}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::remainder}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::remainder}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::remainder}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::remainder}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::remainder}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::remainder}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::remainder}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::remainder}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::remainder}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::remainder}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::remainder}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::remainder}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::remainder}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::remainder}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::remainder}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::remainder}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::remainder}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::remainder}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::remainder}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::remainder}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::remainder}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::remainder}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::remainder}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::remainder}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::remainder}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::remainder}(z){(core::num) → core::double};
}
static method clamp<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::clamp::X x, self::clamp::Y y, self::clamp::Z z) → dynamic {
- core::num n_n_n = n.{core::num::clamp}(n, n);
- core::num n_i_n = n.{core::num::clamp}(i, n);
- core::num n_d_n = n.{core::num::clamp}(d, n);
- core::num n_x_n = n.{core::num::clamp}(x, n);
- core::num n_y_n = n.{core::num::clamp}(y, n);
- core::num n_z_n = n.{core::num::clamp}(z, n);
- core::num n_n_i = n.{core::num::clamp}(n, i);
- core::num n_i_i = n.{core::num::clamp}(i, i);
- core::num n_d_i = n.{core::num::clamp}(d, i);
- core::num n_x_i = n.{core::num::clamp}(x, i);
- core::num n_y_i = n.{core::num::clamp}(y, i);
- core::num n_z_i = n.{core::num::clamp}(z, i);
- core::num n_n_d = n.{core::num::clamp}(n, d);
- core::num n_i_d = n.{core::num::clamp}(i, d);
- core::num n_d_d = n.{core::num::clamp}(d, d);
- core::num n_x_d = n.{core::num::clamp}(x, d);
- core::num n_y_d = n.{core::num::clamp}(y, d);
- core::num n_z_d = n.{core::num::clamp}(z, d);
- core::num n_n_x = n.{core::num::clamp}(n, x);
- core::num n_i_x = n.{core::num::clamp}(i, x);
- core::num n_d_x = n.{core::num::clamp}(d, x);
- core::num n_x_x = n.{core::num::clamp}(x, x);
- core::num n_y_x = n.{core::num::clamp}(y, x);
- core::num n_z_x = n.{core::num::clamp}(z, x);
- core::num n_n_y = n.{core::num::clamp}(n, y);
- core::num n_i_y = n.{core::num::clamp}(i, y);
- core::num n_d_y = n.{core::num::clamp}(d, y);
- core::num n_x_y = n.{core::num::clamp}(x, y);
- core::num n_y_y = n.{core::num::clamp}(y, y);
- core::num n_z_y = n.{core::num::clamp}(z, y);
- core::num n_n_z = n.{core::num::clamp}(n, z);
- core::num n_i_z = n.{core::num::clamp}(i, z);
- core::num n_d_z = n.{core::num::clamp}(d, z);
- core::num n_x_z = n.{core::num::clamp}(x, z);
- core::num n_y_z = n.{core::num::clamp}(y, z);
- core::num n_z_z = n.{core::num::clamp}(z, z);
- core::num i_n_n = i.{core::num::clamp}(n, n);
- core::num i_i_n = i.{core::num::clamp}(i, n);
- core::num i_d_n = i.{core::num::clamp}(d, n);
- core::num i_x_n = i.{core::num::clamp}(x, n);
- core::num i_y_n = i.{core::num::clamp}(y, n);
- core::num i_z_n = i.{core::num::clamp}(z, n);
- core::num i_n_i = i.{core::num::clamp}(n, i);
- core::int i_i_i = i.{core::num::clamp}(i, i);
- core::num i_d_i = i.{core::num::clamp}(d, i);
- core::num i_x_i = i.{core::num::clamp}(x, i);
- core::int i_y_i = i.{core::num::clamp}(y, i);
- core::num i_z_i = i.{core::num::clamp}(z, i);
- core::num i_n_d = i.{core::num::clamp}(n, d);
- core::num i_i_d = i.{core::num::clamp}(i, d);
- core::num i_d_d = i.{core::num::clamp}(d, d);
- core::num i_x_d = i.{core::num::clamp}(x, d);
- core::num i_y_d = i.{core::num::clamp}(y, d);
- core::num i_z_d = i.{core::num::clamp}(z, d);
- core::num i_n_x = i.{core::num::clamp}(n, x);
- core::num i_i_x = i.{core::num::clamp}(i, x);
- core::num i_d_x = i.{core::num::clamp}(d, x);
- core::num i_x_x = i.{core::num::clamp}(x, x);
- core::num i_y_x = i.{core::num::clamp}(y, x);
- core::num i_z_x = i.{core::num::clamp}(z, x);
- core::num i_n_y = i.{core::num::clamp}(n, y);
- core::int i_i_y = i.{core::num::clamp}(i, y);
- core::num i_d_y = i.{core::num::clamp}(d, y);
- core::num i_x_y = i.{core::num::clamp}(x, y);
- core::int i_y_y = i.{core::num::clamp}(y, y);
- core::num i_z_y = i.{core::num::clamp}(z, y);
- core::num i_n_z = i.{core::num::clamp}(n, z);
- core::num i_i_z = i.{core::num::clamp}(i, z);
- core::num i_d_z = i.{core::num::clamp}(d, z);
- core::num i_x_z = i.{core::num::clamp}(x, z);
- core::num i_y_z = i.{core::num::clamp}(y, z);
- core::num i_z_z = i.{core::num::clamp}(z, z);
- core::num d_n_n = d.{core::num::clamp}(n, n);
- core::num d_i_n = d.{core::num::clamp}(i, n);
- core::num d_d_n = d.{core::num::clamp}(d, n);
- core::num d_x_n = d.{core::num::clamp}(x, n);
- core::num d_y_n = d.{core::num::clamp}(y, n);
- core::num d_z_n = d.{core::num::clamp}(z, n);
- core::num d_n_i = d.{core::num::clamp}(n, i);
- core::num d_i_i = d.{core::num::clamp}(i, i);
- core::num d_d_i = d.{core::num::clamp}(d, i);
- core::num d_x_i = d.{core::num::clamp}(x, i);
- core::num d_y_i = d.{core::num::clamp}(y, i);
- core::num d_z_i = d.{core::num::clamp}(z, i);
- core::num d_n_d = d.{core::num::clamp}(n, d);
- core::num d_i_d = d.{core::num::clamp}(i, d);
- core::double d_d_d = d.{core::num::clamp}(d, d);
- core::num d_x_d = d.{core::num::clamp}(x, d);
- core::num d_y_d = d.{core::num::clamp}(y, d);
- core::double d_z_d = d.{core::num::clamp}(z, d);
- core::num d_n_x = d.{core::num::clamp}(n, x);
- core::num d_i_x = d.{core::num::clamp}(i, x);
- core::num d_d_x = d.{core::num::clamp}(d, x);
- core::num d_x_x = d.{core::num::clamp}(x, x);
- core::num d_y_x = d.{core::num::clamp}(y, x);
- core::num d_z_x = d.{core::num::clamp}(z, x);
- core::num d_n_y = d.{core::num::clamp}(n, y);
- core::num d_i_y = d.{core::num::clamp}(i, y);
- core::num d_d_y = d.{core::num::clamp}(d, y);
- core::num d_x_y = d.{core::num::clamp}(x, y);
- core::num d_y_y = d.{core::num::clamp}(y, y);
- core::num d_z_y = d.{core::num::clamp}(z, y);
- core::num d_n_z = d.{core::num::clamp}(n, z);
- core::num d_i_z = d.{core::num::clamp}(i, z);
- core::double d_d_z = d.{core::num::clamp}(d, z);
- core::num d_x_z = d.{core::num::clamp}(x, z);
- core::num d_y_z = d.{core::num::clamp}(y, z);
- core::double d_z_z = d.{core::num::clamp}(z, z);
- core::num x_n_n = x.{core::num::clamp}(n, n);
- core::num x_i_n = x.{core::num::clamp}(i, n);
- core::num x_d_n = x.{core::num::clamp}(d, n);
- core::num x_x_n = x.{core::num::clamp}(x, n);
- core::num x_y_n = x.{core::num::clamp}(y, n);
- core::num x_z_n = x.{core::num::clamp}(z, n);
- core::num x_n_i = x.{core::num::clamp}(n, i);
- core::num x_i_i = x.{core::num::clamp}(i, i);
- core::num x_d_i = x.{core::num::clamp}(d, i);
- core::num x_x_i = x.{core::num::clamp}(x, i);
- core::num x_y_i = x.{core::num::clamp}(y, i);
- core::num x_z_i = x.{core::num::clamp}(z, i);
- core::num x_n_d = x.{core::num::clamp}(n, d);
- core::num x_i_d = x.{core::num::clamp}(i, d);
- core::num x_d_d = x.{core::num::clamp}(d, d);
- core::num x_x_d = x.{core::num::clamp}(x, d);
- core::num x_y_d = x.{core::num::clamp}(y, d);
- core::num x_z_d = x.{core::num::clamp}(z, d);
- core::num x_n_x = x.{core::num::clamp}(n, x);
- core::num x_i_x = x.{core::num::clamp}(i, x);
- core::num x_d_x = x.{core::num::clamp}(d, x);
- core::num x_x_x = x.{core::num::clamp}(x, x);
- core::num x_y_x = x.{core::num::clamp}(y, x);
- core::num x_z_x = x.{core::num::clamp}(z, x);
- core::num x_n_y = x.{core::num::clamp}(n, y);
- core::num x_i_y = x.{core::num::clamp}(i, y);
- core::num x_d_y = x.{core::num::clamp}(d, y);
- core::num x_x_y = x.{core::num::clamp}(x, y);
- core::num x_y_y = x.{core::num::clamp}(y, y);
- core::num x_z_y = x.{core::num::clamp}(z, y);
- core::num x_n_z = x.{core::num::clamp}(n, z);
- core::num x_i_z = x.{core::num::clamp}(i, z);
- core::num x_d_z = x.{core::num::clamp}(d, z);
- core::num x_x_z = x.{core::num::clamp}(x, z);
- core::num x_y_z = x.{core::num::clamp}(y, z);
- core::num x_z_z = x.{core::num::clamp}(z, z);
- core::num y_n_n = y.{core::num::clamp}(n, n);
- core::num y_i_n = y.{core::num::clamp}(i, n);
- core::num y_d_n = y.{core::num::clamp}(d, n);
- core::num y_x_n = y.{core::num::clamp}(x, n);
- core::num y_y_n = y.{core::num::clamp}(y, n);
- core::num y_z_n = y.{core::num::clamp}(z, n);
- core::num y_n_i = y.{core::num::clamp}(n, i);
- core::int y_i_i = y.{core::num::clamp}(i, i);
- core::num y_d_i = y.{core::num::clamp}(d, i);
- core::num y_x_i = y.{core::num::clamp}(x, i);
- core::int y_y_i = y.{core::num::clamp}(y, i);
- core::num y_z_i = y.{core::num::clamp}(z, i);
- core::num y_n_d = y.{core::num::clamp}(n, d);
- core::num y_i_d = y.{core::num::clamp}(i, d);
- core::num y_d_d = y.{core::num::clamp}(d, d);
- core::num y_x_d = y.{core::num::clamp}(x, d);
- core::num y_y_d = y.{core::num::clamp}(y, d);
- core::num y_z_d = y.{core::num::clamp}(z, d);
- core::num y_n_x = y.{core::num::clamp}(n, x);
- core::num y_i_x = y.{core::num::clamp}(i, x);
- core::num y_d_x = y.{core::num::clamp}(d, x);
- core::num y_x_x = y.{core::num::clamp}(x, x);
- core::num y_y_x = y.{core::num::clamp}(y, x);
- core::num y_z_x = y.{core::num::clamp}(z, x);
- core::num y_n_y = y.{core::num::clamp}(n, y);
- core::int y_i_y = y.{core::num::clamp}(i, y);
- core::num y_d_y = y.{core::num::clamp}(d, y);
- core::num y_x_y = y.{core::num::clamp}(x, y);
- core::int y_y_y = y.{core::num::clamp}(y, y);
- core::num y_z_y = y.{core::num::clamp}(z, y);
- core::num y_n_z = y.{core::num::clamp}(n, z);
- core::num y_i_z = y.{core::num::clamp}(i, z);
- core::num y_d_z = y.{core::num::clamp}(d, z);
- core::num y_x_z = y.{core::num::clamp}(x, z);
- core::num y_y_z = y.{core::num::clamp}(y, z);
- core::num y_z_z = y.{core::num::clamp}(z, z);
- core::num z_n_n = z.{core::num::clamp}(n, n);
- core::num z_i_n = z.{core::num::clamp}(i, n);
- core::num z_d_n = z.{core::num::clamp}(d, n);
- core::num z_x_n = z.{core::num::clamp}(x, n);
- core::num z_y_n = z.{core::num::clamp}(y, n);
- core::num z_z_n = z.{core::num::clamp}(z, n);
- core::num z_n_i = z.{core::num::clamp}(n, i);
- core::num z_i_i = z.{core::num::clamp}(i, i);
- core::num z_d_i = z.{core::num::clamp}(d, i);
- core::num z_x_i = z.{core::num::clamp}(x, i);
- core::num z_y_i = z.{core::num::clamp}(y, i);
- core::num z_z_i = z.{core::num::clamp}(z, i);
- core::num z_n_d = z.{core::num::clamp}(n, d);
- core::num z_i_d = z.{core::num::clamp}(i, d);
- core::double z_d_d = z.{core::num::clamp}(d, d);
- core::num z_x_d = z.{core::num::clamp}(x, d);
- core::num z_y_d = z.{core::num::clamp}(y, d);
- core::double z_z_d = z.{core::num::clamp}(z, d);
- core::num z_n_x = z.{core::num::clamp}(n, x);
- core::num z_i_x = z.{core::num::clamp}(i, x);
- core::num z_d_x = z.{core::num::clamp}(d, x);
- core::num z_x_x = z.{core::num::clamp}(x, x);
- core::num z_y_x = z.{core::num::clamp}(y, x);
- core::num z_z_x = z.{core::num::clamp}(z, x);
- core::num z_n_y = z.{core::num::clamp}(n, y);
- core::num z_i_y = z.{core::num::clamp}(i, y);
- core::num z_d_y = z.{core::num::clamp}(d, y);
- core::num z_x_y = z.{core::num::clamp}(x, y);
- core::num z_y_y = z.{core::num::clamp}(y, y);
- core::num z_z_y = z.{core::num::clamp}(z, y);
- core::num z_n_z = z.{core::num::clamp}(n, z);
- core::num z_i_z = z.{core::num::clamp}(i, z);
- core::double z_d_z = z.{core::num::clamp}(d, z);
- core::num z_x_z = z.{core::num::clamp}(x, z);
- core::num z_y_z = z.{core::num::clamp}(y, z);
- core::double z_z_z = z.{core::num::clamp}(z, z);
+ core::num n_n_n = n.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num n_i_n = n.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num n_d_n = n.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num n_x_n = n.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num n_y_n = n.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num n_z_n = n.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num n_n_i = n.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num n_i_i = n.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num n_d_i = n.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num n_x_i = n.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num n_y_i = n.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num n_z_i = n.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num n_n_d = n.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num n_i_d = n.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num n_d_d = n.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num n_x_d = n.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num n_y_d = n.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num n_z_d = n.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num n_n_x = n.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num n_i_x = n.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num n_d_x = n.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num n_x_x = n.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num n_y_x = n.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num n_z_x = n.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num n_n_y = n.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num n_i_y = n.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num n_d_y = n.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num n_x_y = n.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num n_y_y = n.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num n_z_y = n.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num n_n_z = n.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num n_i_z = n.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num n_d_z = n.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num n_x_z = n.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num n_y_z = n.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num n_z_z = n.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num i_n_n = i.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num i_i_n = i.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num i_d_n = i.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num i_x_n = i.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num i_y_n = i.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num i_z_n = i.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num i_n_i = i.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::int i_i_i = i.{core::num::clamp}(i, i){(core::num, core::num) → core::int};
+ core::num i_d_i = i.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num i_x_i = i.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::int i_y_i = i.{core::num::clamp}(y, i){(core::num, core::num) → core::int};
+ core::num i_z_i = i.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num i_n_d = i.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num i_i_d = i.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num i_d_d = i.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num i_x_d = i.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num i_y_d = i.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num i_z_d = i.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num i_n_x = i.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num i_i_x = i.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num i_d_x = i.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num i_x_x = i.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num i_y_x = i.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num i_z_x = i.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num i_n_y = i.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::int i_i_y = i.{core::num::clamp}(i, y){(core::num, core::num) → core::int};
+ core::num i_d_y = i.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num i_x_y = i.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::int i_y_y = i.{core::num::clamp}(y, y){(core::num, core::num) → core::int};
+ core::num i_z_y = i.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num i_n_z = i.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num i_i_z = i.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num i_d_z = i.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num i_x_z = i.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num i_y_z = i.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num i_z_z = i.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num d_n_n = d.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num d_i_n = d.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num d_d_n = d.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num d_x_n = d.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num d_y_n = d.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num d_z_n = d.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num d_n_i = d.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num d_i_i = d.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num d_d_i = d.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num d_x_i = d.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num d_y_i = d.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num d_z_i = d.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num d_n_d = d.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num d_i_d = d.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::double d_d_d = d.{core::num::clamp}(d, d){(core::num, core::num) → core::double};
+ core::num d_x_d = d.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num d_y_d = d.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::double d_z_d = d.{core::num::clamp}(z, d){(core::num, core::num) → core::double};
+ core::num d_n_x = d.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num d_i_x = d.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num d_d_x = d.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num d_x_x = d.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num d_y_x = d.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num d_z_x = d.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num d_n_y = d.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num d_i_y = d.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num d_d_y = d.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num d_x_y = d.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num d_y_y = d.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num d_z_y = d.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num d_n_z = d.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num d_i_z = d.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::double d_d_z = d.{core::num::clamp}(d, z){(core::num, core::num) → core::double};
+ core::num d_x_z = d.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num d_y_z = d.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::double d_z_z = d.{core::num::clamp}(z, z){(core::num, core::num) → core::double};
+ core::num x_n_n = x.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num x_i_n = x.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num x_d_n = x.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num x_x_n = x.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num x_y_n = x.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num x_z_n = x.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num x_n_i = x.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num x_i_i = x.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num x_d_i = x.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num x_x_i = x.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num x_y_i = x.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num x_z_i = x.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num x_n_d = x.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num x_i_d = x.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num x_d_d = x.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num x_x_d = x.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num x_y_d = x.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num x_z_d = x.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num x_n_x = x.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num x_i_x = x.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num x_d_x = x.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num x_x_x = x.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num x_y_x = x.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num x_z_x = x.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num x_n_y = x.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num x_i_y = x.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num x_d_y = x.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num x_x_y = x.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num x_y_y = x.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num x_z_y = x.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num x_n_z = x.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num x_i_z = x.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num x_d_z = x.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num x_x_z = x.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num x_y_z = x.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num x_z_z = x.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num y_n_n = y.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num y_i_n = y.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num y_d_n = y.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num y_x_n = y.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num y_y_n = y.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num y_z_n = y.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num y_n_i = y.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::int y_i_i = y.{core::num::clamp}(i, i){(core::num, core::num) → core::int};
+ core::num y_d_i = y.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num y_x_i = y.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::int y_y_i = y.{core::num::clamp}(y, i){(core::num, core::num) → core::int};
+ core::num y_z_i = y.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num y_n_d = y.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num y_i_d = y.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num y_d_d = y.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num y_x_d = y.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num y_y_d = y.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num y_z_d = y.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num y_n_x = y.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num y_i_x = y.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num y_d_x = y.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num y_x_x = y.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num y_y_x = y.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num y_z_x = y.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num y_n_y = y.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::int y_i_y = y.{core::num::clamp}(i, y){(core::num, core::num) → core::int};
+ core::num y_d_y = y.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num y_x_y = y.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::int y_y_y = y.{core::num::clamp}(y, y){(core::num, core::num) → core::int};
+ core::num y_z_y = y.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num y_n_z = y.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num y_i_z = y.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num y_d_z = y.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num y_x_z = y.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num y_y_z = y.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num y_z_z = y.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num z_n_n = z.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num z_i_n = z.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num z_d_n = z.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num z_x_n = z.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num z_y_n = z.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num z_z_n = z.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num z_n_i = z.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num z_i_i = z.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num z_d_i = z.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num z_x_i = z.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num z_y_i = z.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num z_z_i = z.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num z_n_d = z.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num z_i_d = z.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::double z_d_d = z.{core::num::clamp}(d, d){(core::num, core::num) → core::double};
+ core::num z_x_d = z.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num z_y_d = z.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::double z_z_d = z.{core::num::clamp}(z, d){(core::num, core::num) → core::double};
+ core::num z_n_x = z.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num z_i_x = z.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num z_d_x = z.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num z_x_x = z.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num z_y_x = z.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num z_z_x = z.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num z_n_y = z.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num z_i_y = z.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num z_d_y = z.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num z_x_y = z.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num z_y_y = z.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num z_z_y = z.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num z_n_z = z.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num z_i_z = z.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::double z_d_z = z.{core::num::clamp}(d, z){(core::num, core::num) → core::double};
+ core::num z_x_z = z.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num z_y_z = z.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::double z_z_z = z.{core::num::clamp}(z, z){(core::num, core::num) → core::double};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/numbers.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/numbers.dart.strong.transformed.expect
index d52aac2..babfb04 100644
--- a/pkg/front_end/testcases/nnbd/numbers.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/numbers.dart.strong.transformed.expect
@@ -3,411 +3,411 @@
import "dart:core" as core;
static method add<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::add::X x, self::add::Y y, self::add::Z z) → dynamic {
- core::num n_n = n.{core::num::+}(n);
- core::num n_i = n.{core::num::+}(i);
- core::double n_d = n.{core::num::+}(d);
- core::num n_x = n.{core::num::+}(x);
- core::num n_y = n.{core::num::+}(y);
- core::double n_z = n.{core::num::+}(z);
- core::num i_n = i.{core::num::+}(n);
- core::int i_i = i.{core::num::+}(i);
- core::double i_d = i.{core::num::+}(d);
- core::num i_x = i.{core::num::+}(x);
- core::int i_y = i.{core::num::+}(y);
- core::double i_z = i.{core::num::+}(z);
- core::double d_n = d.{core::double::+}(n);
- core::double d_i = d.{core::double::+}(i);
- core::double d_d = d.{core::double::+}(d);
- core::double d_x = d.{core::double::+}(x);
- core::double d_y = d.{core::double::+}(y);
- core::double d_z = d.{core::double::+}(z);
- core::num x_n = x.{core::num::+}(n);
- core::num x_i = x.{core::num::+}(i);
- core::double x_d = x.{core::num::+}(d);
- core::num x_x = x.{core::num::+}(x);
- core::num x_y = x.{core::num::+}(y);
- core::double x_z = x.{core::num::+}(z);
- core::num y_n = y.{core::num::+}(n);
- core::int y_i = y.{core::num::+}(i);
- core::double y_d = y.{core::num::+}(d);
- core::num y_x = y.{core::num::+}(x);
- core::int y_y = y.{core::num::+}(y);
- core::double y_z = y.{core::num::+}(z);
- core::double z_n = z.{core::double::+}(n);
- core::double z_i = z.{core::double::+}(i);
- core::double z_d = z.{core::double::+}(d);
- core::double z_x = z.{core::double::+}(x);
- core::double z_y = z.{core::double::+}(y);
- core::double z_z = z.{core::double::+}(z);
+ core::num n_n = n.{core::num::+}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::+}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::+}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::+}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::+}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::+}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::+}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::+}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::+}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::+}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::+}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::+}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::+}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::+}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::+}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::+}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::+}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::+}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::+}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::+}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::+}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::+}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::+}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::+}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::+}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::+}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::+}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::+}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::+}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::+}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::+}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::+}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::+}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::+}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::+}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::+}(z){(core::num) → core::double};
}
static method sub<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::sub::X x, self::sub::Y y, self::sub::Z z) → dynamic {
- core::num n_n = n.{core::num::-}(n);
- core::num n_i = n.{core::num::-}(i);
- core::double n_d = n.{core::num::-}(d);
- core::num n_x = n.{core::num::-}(x);
- core::num n_y = n.{core::num::-}(y);
- core::double n_z = n.{core::num::-}(z);
- core::num i_n = i.{core::num::-}(n);
- core::int i_i = i.{core::num::-}(i);
- core::double i_d = i.{core::num::-}(d);
- core::num i_x = i.{core::num::-}(x);
- core::int i_y = i.{core::num::-}(y);
- core::double i_z = i.{core::num::-}(z);
- core::double d_n = d.{core::double::-}(n);
- core::double d_i = d.{core::double::-}(i);
- core::double d_d = d.{core::double::-}(d);
- core::double d_x = d.{core::double::-}(x);
- core::double d_y = d.{core::double::-}(y);
- core::double d_z = d.{core::double::-}(z);
- core::num x_n = x.{core::num::-}(n);
- core::num x_i = x.{core::num::-}(i);
- core::double x_d = x.{core::num::-}(d);
- core::num x_x = x.{core::num::-}(x);
- core::num x_y = x.{core::num::-}(y);
- core::double x_z = x.{core::num::-}(z);
- core::num y_n = y.{core::num::-}(n);
- core::int y_i = y.{core::num::-}(i);
- core::double y_d = y.{core::num::-}(d);
- core::num y_x = y.{core::num::-}(x);
- core::int y_y = y.{core::num::-}(y);
- core::double y_z = y.{core::num::-}(z);
- core::double z_n = z.{core::double::-}(n);
- core::double z_i = z.{core::double::-}(i);
- core::double z_d = z.{core::double::-}(d);
- core::double z_x = z.{core::double::-}(x);
- core::double z_y = z.{core::double::-}(y);
- core::double z_z = z.{core::double::-}(z);
+ core::num n_n = n.{core::num::-}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::-}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::-}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::-}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::-}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::-}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::-}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::-}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::-}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::-}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::-}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::-}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::-}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::-}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::-}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::-}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::-}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::-}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::-}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::-}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::-}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::-}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::-}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::-}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::-}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::-}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::-}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::-}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::-}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::-}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::-}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::-}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::-}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::-}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::-}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::-}(z){(core::num) → core::double};
}
static method mul<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mul::X x, self::mul::Y y, self::mul::Z z) → dynamic {
- core::num n_n = n.{core::num::*}(n);
- core::num n_i = n.{core::num::*}(i);
- core::double n_d = n.{core::num::*}(d);
- core::num n_x = n.{core::num::*}(x);
- core::num n_y = n.{core::num::*}(y);
- core::double n_z = n.{core::num::*}(z);
- core::num i_n = i.{core::num::*}(n);
- core::int i_i = i.{core::num::*}(i);
- core::double i_d = i.{core::num::*}(d);
- core::num i_x = i.{core::num::*}(x);
- core::int i_y = i.{core::num::*}(y);
- core::double i_z = i.{core::num::*}(z);
- core::double d_n = d.{core::double::*}(n);
- core::double d_i = d.{core::double::*}(i);
- core::double d_d = d.{core::double::*}(d);
- core::double d_x = d.{core::double::*}(x);
- core::double d_y = d.{core::double::*}(y);
- core::double d_z = d.{core::double::*}(z);
- core::num x_n = x.{core::num::*}(n);
- core::num x_i = x.{core::num::*}(i);
- core::double x_d = x.{core::num::*}(d);
- core::num x_x = x.{core::num::*}(x);
- core::num x_y = x.{core::num::*}(y);
- core::double x_z = x.{core::num::*}(z);
- core::num y_n = y.{core::num::*}(n);
- core::int y_i = y.{core::num::*}(i);
- core::double y_d = y.{core::num::*}(d);
- core::num y_x = y.{core::num::*}(x);
- core::int y_y = y.{core::num::*}(y);
- core::double y_z = y.{core::num::*}(z);
- core::double z_n = z.{core::double::*}(n);
- core::double z_i = z.{core::double::*}(i);
- core::double z_d = z.{core::double::*}(d);
- core::double z_x = z.{core::double::*}(x);
- core::double z_y = z.{core::double::*}(y);
- core::double z_z = z.{core::double::*}(z);
+ core::num n_n = n.{core::num::*}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::*}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::*}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::*}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::*}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::*}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::*}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::*}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::*}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::*}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::*}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::*}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::*}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::*}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::*}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::*}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::*}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::*}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::*}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::*}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::*}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::*}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::*}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::*}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::*}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::*}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::*}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::*}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::*}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::*}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::*}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::*}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::*}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::*}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::*}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::*}(z){(core::num) → core::double};
}
static method mod<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mod::X x, self::mod::Y y, self::mod::Z z) → dynamic {
- core::num n_n = n.{core::num::%}(n);
- core::num n_i = n.{core::num::%}(i);
- core::double n_d = n.{core::num::%}(d);
- core::num n_x = n.{core::num::%}(x);
- core::num n_y = n.{core::num::%}(y);
- core::double n_z = n.{core::num::%}(z);
- core::num i_n = i.{core::num::%}(n);
- core::int i_i = i.{core::num::%}(i);
- core::double i_d = i.{core::num::%}(d);
- core::num i_x = i.{core::num::%}(x);
- core::int i_y = i.{core::num::%}(y);
- core::double i_z = i.{core::num::%}(z);
- core::double d_n = d.{core::double::%}(n);
- core::double d_i = d.{core::double::%}(i);
- core::double d_d = d.{core::double::%}(d);
- core::double d_x = d.{core::double::%}(x);
- core::double d_y = d.{core::double::%}(y);
- core::double d_z = d.{core::double::%}(z);
- core::num x_n = x.{core::num::%}(n);
- core::num x_i = x.{core::num::%}(i);
- core::double x_d = x.{core::num::%}(d);
- core::num x_x = x.{core::num::%}(x);
- core::num x_y = x.{core::num::%}(y);
- core::double x_z = x.{core::num::%}(z);
- core::num y_n = y.{core::num::%}(n);
- core::int y_i = y.{core::num::%}(i);
- core::double y_d = y.{core::num::%}(d);
- core::num y_x = y.{core::num::%}(x);
- core::int y_y = y.{core::num::%}(y);
- core::double y_z = y.{core::num::%}(z);
- core::double z_n = z.{core::double::%}(n);
- core::double z_i = z.{core::double::%}(i);
- core::double z_d = z.{core::double::%}(d);
- core::double z_x = z.{core::double::%}(x);
- core::double z_y = z.{core::double::%}(y);
- core::double z_z = z.{core::double::%}(z);
+ core::num n_n = n.{core::num::%}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::%}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::%}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::%}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::%}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::%}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::%}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::%}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::%}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::%}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::%}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::%}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::%}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::%}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::%}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::%}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::%}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::%}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::%}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::%}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::%}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::%}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::%}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::%}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::%}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::%}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::%}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::%}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::%}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::%}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::%}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::%}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::%}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::%}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::%}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::%}(z){(core::num) → core::double};
}
static method remainder<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::remainder::X x, self::remainder::Y y, self::remainder::Z z) → dynamic {
- core::num n_n = n.{core::num::remainder}(n);
- core::num n_i = n.{core::num::remainder}(i);
- core::double n_d = n.{core::num::remainder}(d);
- core::num n_x = n.{core::num::remainder}(x);
- core::num n_y = n.{core::num::remainder}(y);
- core::double n_z = n.{core::num::remainder}(z);
- core::num i_n = i.{core::num::remainder}(n);
- core::int i_i = i.{core::num::remainder}(i);
- core::double i_d = i.{core::num::remainder}(d);
- core::num i_x = i.{core::num::remainder}(x);
- core::int i_y = i.{core::num::remainder}(y);
- core::double i_z = i.{core::num::remainder}(z);
- core::double d_n = d.{core::double::remainder}(n);
- core::double d_i = d.{core::double::remainder}(i);
- core::double d_d = d.{core::double::remainder}(d);
- core::double d_x = d.{core::double::remainder}(x);
- core::double d_y = d.{core::double::remainder}(y);
- core::double d_z = d.{core::double::remainder}(z);
- core::num x_n = x.{core::num::remainder}(n);
- core::num x_i = x.{core::num::remainder}(i);
- core::double x_d = x.{core::num::remainder}(d);
- core::num x_x = x.{core::num::remainder}(x);
- core::num x_y = x.{core::num::remainder}(y);
- core::double x_z = x.{core::num::remainder}(z);
- core::num y_n = y.{core::num::remainder}(n);
- core::int y_i = y.{core::num::remainder}(i);
- core::double y_d = y.{core::num::remainder}(d);
- core::num y_x = y.{core::num::remainder}(x);
- core::int y_y = y.{core::num::remainder}(y);
- core::double y_z = y.{core::num::remainder}(z);
- core::double z_n = z.{core::double::remainder}(n);
- core::double z_i = z.{core::double::remainder}(i);
- core::double z_d = z.{core::double::remainder}(d);
- core::double z_x = z.{core::double::remainder}(x);
- core::double z_y = z.{core::double::remainder}(y);
- core::double z_z = z.{core::double::remainder}(z);
+ core::num n_n = n.{core::num::remainder}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::remainder}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::remainder}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::remainder}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::remainder}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::remainder}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::remainder}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::remainder}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::remainder}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::remainder}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::remainder}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::remainder}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::remainder}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::remainder}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::remainder}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::remainder}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::remainder}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::remainder}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::remainder}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::remainder}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::remainder}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::remainder}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::remainder}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::remainder}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::remainder}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::remainder}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::remainder}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::remainder}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::remainder}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::remainder}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::remainder}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::remainder}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::remainder}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::remainder}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::remainder}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::remainder}(z){(core::num) → core::double};
}
static method clamp<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::clamp::X x, self::clamp::Y y, self::clamp::Z z) → dynamic {
- core::num n_n_n = n.{core::num::clamp}(n, n);
- core::num n_i_n = n.{core::num::clamp}(i, n);
- core::num n_d_n = n.{core::num::clamp}(d, n);
- core::num n_x_n = n.{core::num::clamp}(x, n);
- core::num n_y_n = n.{core::num::clamp}(y, n);
- core::num n_z_n = n.{core::num::clamp}(z, n);
- core::num n_n_i = n.{core::num::clamp}(n, i);
- core::num n_i_i = n.{core::num::clamp}(i, i);
- core::num n_d_i = n.{core::num::clamp}(d, i);
- core::num n_x_i = n.{core::num::clamp}(x, i);
- core::num n_y_i = n.{core::num::clamp}(y, i);
- core::num n_z_i = n.{core::num::clamp}(z, i);
- core::num n_n_d = n.{core::num::clamp}(n, d);
- core::num n_i_d = n.{core::num::clamp}(i, d);
- core::num n_d_d = n.{core::num::clamp}(d, d);
- core::num n_x_d = n.{core::num::clamp}(x, d);
- core::num n_y_d = n.{core::num::clamp}(y, d);
- core::num n_z_d = n.{core::num::clamp}(z, d);
- core::num n_n_x = n.{core::num::clamp}(n, x);
- core::num n_i_x = n.{core::num::clamp}(i, x);
- core::num n_d_x = n.{core::num::clamp}(d, x);
- core::num n_x_x = n.{core::num::clamp}(x, x);
- core::num n_y_x = n.{core::num::clamp}(y, x);
- core::num n_z_x = n.{core::num::clamp}(z, x);
- core::num n_n_y = n.{core::num::clamp}(n, y);
- core::num n_i_y = n.{core::num::clamp}(i, y);
- core::num n_d_y = n.{core::num::clamp}(d, y);
- core::num n_x_y = n.{core::num::clamp}(x, y);
- core::num n_y_y = n.{core::num::clamp}(y, y);
- core::num n_z_y = n.{core::num::clamp}(z, y);
- core::num n_n_z = n.{core::num::clamp}(n, z);
- core::num n_i_z = n.{core::num::clamp}(i, z);
- core::num n_d_z = n.{core::num::clamp}(d, z);
- core::num n_x_z = n.{core::num::clamp}(x, z);
- core::num n_y_z = n.{core::num::clamp}(y, z);
- core::num n_z_z = n.{core::num::clamp}(z, z);
- core::num i_n_n = i.{core::num::clamp}(n, n);
- core::num i_i_n = i.{core::num::clamp}(i, n);
- core::num i_d_n = i.{core::num::clamp}(d, n);
- core::num i_x_n = i.{core::num::clamp}(x, n);
- core::num i_y_n = i.{core::num::clamp}(y, n);
- core::num i_z_n = i.{core::num::clamp}(z, n);
- core::num i_n_i = i.{core::num::clamp}(n, i);
- core::int i_i_i = i.{core::num::clamp}(i, i);
- core::num i_d_i = i.{core::num::clamp}(d, i);
- core::num i_x_i = i.{core::num::clamp}(x, i);
- core::int i_y_i = i.{core::num::clamp}(y, i);
- core::num i_z_i = i.{core::num::clamp}(z, i);
- core::num i_n_d = i.{core::num::clamp}(n, d);
- core::num i_i_d = i.{core::num::clamp}(i, d);
- core::num i_d_d = i.{core::num::clamp}(d, d);
- core::num i_x_d = i.{core::num::clamp}(x, d);
- core::num i_y_d = i.{core::num::clamp}(y, d);
- core::num i_z_d = i.{core::num::clamp}(z, d);
- core::num i_n_x = i.{core::num::clamp}(n, x);
- core::num i_i_x = i.{core::num::clamp}(i, x);
- core::num i_d_x = i.{core::num::clamp}(d, x);
- core::num i_x_x = i.{core::num::clamp}(x, x);
- core::num i_y_x = i.{core::num::clamp}(y, x);
- core::num i_z_x = i.{core::num::clamp}(z, x);
- core::num i_n_y = i.{core::num::clamp}(n, y);
- core::int i_i_y = i.{core::num::clamp}(i, y);
- core::num i_d_y = i.{core::num::clamp}(d, y);
- core::num i_x_y = i.{core::num::clamp}(x, y);
- core::int i_y_y = i.{core::num::clamp}(y, y);
- core::num i_z_y = i.{core::num::clamp}(z, y);
- core::num i_n_z = i.{core::num::clamp}(n, z);
- core::num i_i_z = i.{core::num::clamp}(i, z);
- core::num i_d_z = i.{core::num::clamp}(d, z);
- core::num i_x_z = i.{core::num::clamp}(x, z);
- core::num i_y_z = i.{core::num::clamp}(y, z);
- core::num i_z_z = i.{core::num::clamp}(z, z);
- core::num d_n_n = d.{core::num::clamp}(n, n);
- core::num d_i_n = d.{core::num::clamp}(i, n);
- core::num d_d_n = d.{core::num::clamp}(d, n);
- core::num d_x_n = d.{core::num::clamp}(x, n);
- core::num d_y_n = d.{core::num::clamp}(y, n);
- core::num d_z_n = d.{core::num::clamp}(z, n);
- core::num d_n_i = d.{core::num::clamp}(n, i);
- core::num d_i_i = d.{core::num::clamp}(i, i);
- core::num d_d_i = d.{core::num::clamp}(d, i);
- core::num d_x_i = d.{core::num::clamp}(x, i);
- core::num d_y_i = d.{core::num::clamp}(y, i);
- core::num d_z_i = d.{core::num::clamp}(z, i);
- core::num d_n_d = d.{core::num::clamp}(n, d);
- core::num d_i_d = d.{core::num::clamp}(i, d);
- core::double d_d_d = d.{core::num::clamp}(d, d);
- core::num d_x_d = d.{core::num::clamp}(x, d);
- core::num d_y_d = d.{core::num::clamp}(y, d);
- core::double d_z_d = d.{core::num::clamp}(z, d);
- core::num d_n_x = d.{core::num::clamp}(n, x);
- core::num d_i_x = d.{core::num::clamp}(i, x);
- core::num d_d_x = d.{core::num::clamp}(d, x);
- core::num d_x_x = d.{core::num::clamp}(x, x);
- core::num d_y_x = d.{core::num::clamp}(y, x);
- core::num d_z_x = d.{core::num::clamp}(z, x);
- core::num d_n_y = d.{core::num::clamp}(n, y);
- core::num d_i_y = d.{core::num::clamp}(i, y);
- core::num d_d_y = d.{core::num::clamp}(d, y);
- core::num d_x_y = d.{core::num::clamp}(x, y);
- core::num d_y_y = d.{core::num::clamp}(y, y);
- core::num d_z_y = d.{core::num::clamp}(z, y);
- core::num d_n_z = d.{core::num::clamp}(n, z);
- core::num d_i_z = d.{core::num::clamp}(i, z);
- core::double d_d_z = d.{core::num::clamp}(d, z);
- core::num d_x_z = d.{core::num::clamp}(x, z);
- core::num d_y_z = d.{core::num::clamp}(y, z);
- core::double d_z_z = d.{core::num::clamp}(z, z);
- core::num x_n_n = x.{core::num::clamp}(n, n);
- core::num x_i_n = x.{core::num::clamp}(i, n);
- core::num x_d_n = x.{core::num::clamp}(d, n);
- core::num x_x_n = x.{core::num::clamp}(x, n);
- core::num x_y_n = x.{core::num::clamp}(y, n);
- core::num x_z_n = x.{core::num::clamp}(z, n);
- core::num x_n_i = x.{core::num::clamp}(n, i);
- core::num x_i_i = x.{core::num::clamp}(i, i);
- core::num x_d_i = x.{core::num::clamp}(d, i);
- core::num x_x_i = x.{core::num::clamp}(x, i);
- core::num x_y_i = x.{core::num::clamp}(y, i);
- core::num x_z_i = x.{core::num::clamp}(z, i);
- core::num x_n_d = x.{core::num::clamp}(n, d);
- core::num x_i_d = x.{core::num::clamp}(i, d);
- core::num x_d_d = x.{core::num::clamp}(d, d);
- core::num x_x_d = x.{core::num::clamp}(x, d);
- core::num x_y_d = x.{core::num::clamp}(y, d);
- core::num x_z_d = x.{core::num::clamp}(z, d);
- core::num x_n_x = x.{core::num::clamp}(n, x);
- core::num x_i_x = x.{core::num::clamp}(i, x);
- core::num x_d_x = x.{core::num::clamp}(d, x);
- core::num x_x_x = x.{core::num::clamp}(x, x);
- core::num x_y_x = x.{core::num::clamp}(y, x);
- core::num x_z_x = x.{core::num::clamp}(z, x);
- core::num x_n_y = x.{core::num::clamp}(n, y);
- core::num x_i_y = x.{core::num::clamp}(i, y);
- core::num x_d_y = x.{core::num::clamp}(d, y);
- core::num x_x_y = x.{core::num::clamp}(x, y);
- core::num x_y_y = x.{core::num::clamp}(y, y);
- core::num x_z_y = x.{core::num::clamp}(z, y);
- core::num x_n_z = x.{core::num::clamp}(n, z);
- core::num x_i_z = x.{core::num::clamp}(i, z);
- core::num x_d_z = x.{core::num::clamp}(d, z);
- core::num x_x_z = x.{core::num::clamp}(x, z);
- core::num x_y_z = x.{core::num::clamp}(y, z);
- core::num x_z_z = x.{core::num::clamp}(z, z);
- core::num y_n_n = y.{core::num::clamp}(n, n);
- core::num y_i_n = y.{core::num::clamp}(i, n);
- core::num y_d_n = y.{core::num::clamp}(d, n);
- core::num y_x_n = y.{core::num::clamp}(x, n);
- core::num y_y_n = y.{core::num::clamp}(y, n);
- core::num y_z_n = y.{core::num::clamp}(z, n);
- core::num y_n_i = y.{core::num::clamp}(n, i);
- core::int y_i_i = y.{core::num::clamp}(i, i);
- core::num y_d_i = y.{core::num::clamp}(d, i);
- core::num y_x_i = y.{core::num::clamp}(x, i);
- core::int y_y_i = y.{core::num::clamp}(y, i);
- core::num y_z_i = y.{core::num::clamp}(z, i);
- core::num y_n_d = y.{core::num::clamp}(n, d);
- core::num y_i_d = y.{core::num::clamp}(i, d);
- core::num y_d_d = y.{core::num::clamp}(d, d);
- core::num y_x_d = y.{core::num::clamp}(x, d);
- core::num y_y_d = y.{core::num::clamp}(y, d);
- core::num y_z_d = y.{core::num::clamp}(z, d);
- core::num y_n_x = y.{core::num::clamp}(n, x);
- core::num y_i_x = y.{core::num::clamp}(i, x);
- core::num y_d_x = y.{core::num::clamp}(d, x);
- core::num y_x_x = y.{core::num::clamp}(x, x);
- core::num y_y_x = y.{core::num::clamp}(y, x);
- core::num y_z_x = y.{core::num::clamp}(z, x);
- core::num y_n_y = y.{core::num::clamp}(n, y);
- core::int y_i_y = y.{core::num::clamp}(i, y);
- core::num y_d_y = y.{core::num::clamp}(d, y);
- core::num y_x_y = y.{core::num::clamp}(x, y);
- core::int y_y_y = y.{core::num::clamp}(y, y);
- core::num y_z_y = y.{core::num::clamp}(z, y);
- core::num y_n_z = y.{core::num::clamp}(n, z);
- core::num y_i_z = y.{core::num::clamp}(i, z);
- core::num y_d_z = y.{core::num::clamp}(d, z);
- core::num y_x_z = y.{core::num::clamp}(x, z);
- core::num y_y_z = y.{core::num::clamp}(y, z);
- core::num y_z_z = y.{core::num::clamp}(z, z);
- core::num z_n_n = z.{core::num::clamp}(n, n);
- core::num z_i_n = z.{core::num::clamp}(i, n);
- core::num z_d_n = z.{core::num::clamp}(d, n);
- core::num z_x_n = z.{core::num::clamp}(x, n);
- core::num z_y_n = z.{core::num::clamp}(y, n);
- core::num z_z_n = z.{core::num::clamp}(z, n);
- core::num z_n_i = z.{core::num::clamp}(n, i);
- core::num z_i_i = z.{core::num::clamp}(i, i);
- core::num z_d_i = z.{core::num::clamp}(d, i);
- core::num z_x_i = z.{core::num::clamp}(x, i);
- core::num z_y_i = z.{core::num::clamp}(y, i);
- core::num z_z_i = z.{core::num::clamp}(z, i);
- core::num z_n_d = z.{core::num::clamp}(n, d);
- core::num z_i_d = z.{core::num::clamp}(i, d);
- core::double z_d_d = z.{core::num::clamp}(d, d);
- core::num z_x_d = z.{core::num::clamp}(x, d);
- core::num z_y_d = z.{core::num::clamp}(y, d);
- core::double z_z_d = z.{core::num::clamp}(z, d);
- core::num z_n_x = z.{core::num::clamp}(n, x);
- core::num z_i_x = z.{core::num::clamp}(i, x);
- core::num z_d_x = z.{core::num::clamp}(d, x);
- core::num z_x_x = z.{core::num::clamp}(x, x);
- core::num z_y_x = z.{core::num::clamp}(y, x);
- core::num z_z_x = z.{core::num::clamp}(z, x);
- core::num z_n_y = z.{core::num::clamp}(n, y);
- core::num z_i_y = z.{core::num::clamp}(i, y);
- core::num z_d_y = z.{core::num::clamp}(d, y);
- core::num z_x_y = z.{core::num::clamp}(x, y);
- core::num z_y_y = z.{core::num::clamp}(y, y);
- core::num z_z_y = z.{core::num::clamp}(z, y);
- core::num z_n_z = z.{core::num::clamp}(n, z);
- core::num z_i_z = z.{core::num::clamp}(i, z);
- core::double z_d_z = z.{core::num::clamp}(d, z);
- core::num z_x_z = z.{core::num::clamp}(x, z);
- core::num z_y_z = z.{core::num::clamp}(y, z);
- core::double z_z_z = z.{core::num::clamp}(z, z);
+ core::num n_n_n = n.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num n_i_n = n.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num n_d_n = n.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num n_x_n = n.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num n_y_n = n.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num n_z_n = n.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num n_n_i = n.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num n_i_i = n.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num n_d_i = n.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num n_x_i = n.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num n_y_i = n.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num n_z_i = n.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num n_n_d = n.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num n_i_d = n.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num n_d_d = n.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num n_x_d = n.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num n_y_d = n.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num n_z_d = n.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num n_n_x = n.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num n_i_x = n.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num n_d_x = n.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num n_x_x = n.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num n_y_x = n.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num n_z_x = n.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num n_n_y = n.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num n_i_y = n.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num n_d_y = n.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num n_x_y = n.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num n_y_y = n.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num n_z_y = n.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num n_n_z = n.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num n_i_z = n.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num n_d_z = n.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num n_x_z = n.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num n_y_z = n.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num n_z_z = n.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num i_n_n = i.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num i_i_n = i.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num i_d_n = i.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num i_x_n = i.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num i_y_n = i.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num i_z_n = i.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num i_n_i = i.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::int i_i_i = i.{core::num::clamp}(i, i){(core::num, core::num) → core::int};
+ core::num i_d_i = i.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num i_x_i = i.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::int i_y_i = i.{core::num::clamp}(y, i){(core::num, core::num) → core::int};
+ core::num i_z_i = i.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num i_n_d = i.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num i_i_d = i.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num i_d_d = i.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num i_x_d = i.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num i_y_d = i.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num i_z_d = i.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num i_n_x = i.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num i_i_x = i.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num i_d_x = i.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num i_x_x = i.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num i_y_x = i.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num i_z_x = i.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num i_n_y = i.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::int i_i_y = i.{core::num::clamp}(i, y){(core::num, core::num) → core::int};
+ core::num i_d_y = i.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num i_x_y = i.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::int i_y_y = i.{core::num::clamp}(y, y){(core::num, core::num) → core::int};
+ core::num i_z_y = i.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num i_n_z = i.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num i_i_z = i.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num i_d_z = i.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num i_x_z = i.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num i_y_z = i.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num i_z_z = i.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num d_n_n = d.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num d_i_n = d.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num d_d_n = d.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num d_x_n = d.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num d_y_n = d.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num d_z_n = d.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num d_n_i = d.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num d_i_i = d.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num d_d_i = d.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num d_x_i = d.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num d_y_i = d.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num d_z_i = d.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num d_n_d = d.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num d_i_d = d.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::double d_d_d = d.{core::num::clamp}(d, d){(core::num, core::num) → core::double};
+ core::num d_x_d = d.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num d_y_d = d.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::double d_z_d = d.{core::num::clamp}(z, d){(core::num, core::num) → core::double};
+ core::num d_n_x = d.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num d_i_x = d.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num d_d_x = d.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num d_x_x = d.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num d_y_x = d.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num d_z_x = d.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num d_n_y = d.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num d_i_y = d.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num d_d_y = d.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num d_x_y = d.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num d_y_y = d.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num d_z_y = d.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num d_n_z = d.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num d_i_z = d.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::double d_d_z = d.{core::num::clamp}(d, z){(core::num, core::num) → core::double};
+ core::num d_x_z = d.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num d_y_z = d.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::double d_z_z = d.{core::num::clamp}(z, z){(core::num, core::num) → core::double};
+ core::num x_n_n = x.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num x_i_n = x.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num x_d_n = x.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num x_x_n = x.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num x_y_n = x.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num x_z_n = x.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num x_n_i = x.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num x_i_i = x.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num x_d_i = x.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num x_x_i = x.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num x_y_i = x.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num x_z_i = x.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num x_n_d = x.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num x_i_d = x.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num x_d_d = x.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num x_x_d = x.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num x_y_d = x.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num x_z_d = x.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num x_n_x = x.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num x_i_x = x.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num x_d_x = x.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num x_x_x = x.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num x_y_x = x.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num x_z_x = x.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num x_n_y = x.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num x_i_y = x.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num x_d_y = x.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num x_x_y = x.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num x_y_y = x.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num x_z_y = x.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num x_n_z = x.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num x_i_z = x.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num x_d_z = x.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num x_x_z = x.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num x_y_z = x.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num x_z_z = x.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num y_n_n = y.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num y_i_n = y.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num y_d_n = y.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num y_x_n = y.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num y_y_n = y.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num y_z_n = y.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num y_n_i = y.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::int y_i_i = y.{core::num::clamp}(i, i){(core::num, core::num) → core::int};
+ core::num y_d_i = y.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num y_x_i = y.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::int y_y_i = y.{core::num::clamp}(y, i){(core::num, core::num) → core::int};
+ core::num y_z_i = y.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num y_n_d = y.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num y_i_d = y.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num y_d_d = y.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num y_x_d = y.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num y_y_d = y.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num y_z_d = y.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num y_n_x = y.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num y_i_x = y.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num y_d_x = y.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num y_x_x = y.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num y_y_x = y.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num y_z_x = y.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num y_n_y = y.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::int y_i_y = y.{core::num::clamp}(i, y){(core::num, core::num) → core::int};
+ core::num y_d_y = y.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num y_x_y = y.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::int y_y_y = y.{core::num::clamp}(y, y){(core::num, core::num) → core::int};
+ core::num y_z_y = y.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num y_n_z = y.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num y_i_z = y.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num y_d_z = y.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num y_x_z = y.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num y_y_z = y.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num y_z_z = y.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num z_n_n = z.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num z_i_n = z.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num z_d_n = z.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num z_x_n = z.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num z_y_n = z.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num z_z_n = z.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num z_n_i = z.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num z_i_i = z.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num z_d_i = z.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num z_x_i = z.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num z_y_i = z.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num z_z_i = z.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num z_n_d = z.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num z_i_d = z.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::double z_d_d = z.{core::num::clamp}(d, d){(core::num, core::num) → core::double};
+ core::num z_x_d = z.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num z_y_d = z.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::double z_z_d = z.{core::num::clamp}(z, d){(core::num, core::num) → core::double};
+ core::num z_n_x = z.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num z_i_x = z.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num z_d_x = z.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num z_x_x = z.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num z_y_x = z.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num z_z_x = z.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num z_n_y = z.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num z_i_y = z.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num z_d_y = z.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num z_x_y = z.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num z_y_y = z.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num z_z_y = z.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num z_n_z = z.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num z_i_z = z.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::double z_d_z = z.{core::num::clamp}(d, z){(core::num, core::num) → core::double};
+ core::num z_x_z = z.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num z_y_z = z.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::double z_z_z = z.{core::num::clamp}(z, z){(core::num, core::num) → core::double};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/numbers.dart.weak.expect b/pkg/front_end/testcases/nnbd/numbers.dart.weak.expect
index d52aac2..babfb04 100644
--- a/pkg/front_end/testcases/nnbd/numbers.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/numbers.dart.weak.expect
@@ -3,411 +3,411 @@
import "dart:core" as core;
static method add<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::add::X x, self::add::Y y, self::add::Z z) → dynamic {
- core::num n_n = n.{core::num::+}(n);
- core::num n_i = n.{core::num::+}(i);
- core::double n_d = n.{core::num::+}(d);
- core::num n_x = n.{core::num::+}(x);
- core::num n_y = n.{core::num::+}(y);
- core::double n_z = n.{core::num::+}(z);
- core::num i_n = i.{core::num::+}(n);
- core::int i_i = i.{core::num::+}(i);
- core::double i_d = i.{core::num::+}(d);
- core::num i_x = i.{core::num::+}(x);
- core::int i_y = i.{core::num::+}(y);
- core::double i_z = i.{core::num::+}(z);
- core::double d_n = d.{core::double::+}(n);
- core::double d_i = d.{core::double::+}(i);
- core::double d_d = d.{core::double::+}(d);
- core::double d_x = d.{core::double::+}(x);
- core::double d_y = d.{core::double::+}(y);
- core::double d_z = d.{core::double::+}(z);
- core::num x_n = x.{core::num::+}(n);
- core::num x_i = x.{core::num::+}(i);
- core::double x_d = x.{core::num::+}(d);
- core::num x_x = x.{core::num::+}(x);
- core::num x_y = x.{core::num::+}(y);
- core::double x_z = x.{core::num::+}(z);
- core::num y_n = y.{core::num::+}(n);
- core::int y_i = y.{core::num::+}(i);
- core::double y_d = y.{core::num::+}(d);
- core::num y_x = y.{core::num::+}(x);
- core::int y_y = y.{core::num::+}(y);
- core::double y_z = y.{core::num::+}(z);
- core::double z_n = z.{core::double::+}(n);
- core::double z_i = z.{core::double::+}(i);
- core::double z_d = z.{core::double::+}(d);
- core::double z_x = z.{core::double::+}(x);
- core::double z_y = z.{core::double::+}(y);
- core::double z_z = z.{core::double::+}(z);
+ core::num n_n = n.{core::num::+}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::+}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::+}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::+}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::+}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::+}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::+}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::+}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::+}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::+}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::+}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::+}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::+}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::+}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::+}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::+}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::+}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::+}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::+}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::+}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::+}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::+}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::+}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::+}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::+}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::+}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::+}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::+}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::+}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::+}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::+}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::+}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::+}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::+}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::+}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::+}(z){(core::num) → core::double};
}
static method sub<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::sub::X x, self::sub::Y y, self::sub::Z z) → dynamic {
- core::num n_n = n.{core::num::-}(n);
- core::num n_i = n.{core::num::-}(i);
- core::double n_d = n.{core::num::-}(d);
- core::num n_x = n.{core::num::-}(x);
- core::num n_y = n.{core::num::-}(y);
- core::double n_z = n.{core::num::-}(z);
- core::num i_n = i.{core::num::-}(n);
- core::int i_i = i.{core::num::-}(i);
- core::double i_d = i.{core::num::-}(d);
- core::num i_x = i.{core::num::-}(x);
- core::int i_y = i.{core::num::-}(y);
- core::double i_z = i.{core::num::-}(z);
- core::double d_n = d.{core::double::-}(n);
- core::double d_i = d.{core::double::-}(i);
- core::double d_d = d.{core::double::-}(d);
- core::double d_x = d.{core::double::-}(x);
- core::double d_y = d.{core::double::-}(y);
- core::double d_z = d.{core::double::-}(z);
- core::num x_n = x.{core::num::-}(n);
- core::num x_i = x.{core::num::-}(i);
- core::double x_d = x.{core::num::-}(d);
- core::num x_x = x.{core::num::-}(x);
- core::num x_y = x.{core::num::-}(y);
- core::double x_z = x.{core::num::-}(z);
- core::num y_n = y.{core::num::-}(n);
- core::int y_i = y.{core::num::-}(i);
- core::double y_d = y.{core::num::-}(d);
- core::num y_x = y.{core::num::-}(x);
- core::int y_y = y.{core::num::-}(y);
- core::double y_z = y.{core::num::-}(z);
- core::double z_n = z.{core::double::-}(n);
- core::double z_i = z.{core::double::-}(i);
- core::double z_d = z.{core::double::-}(d);
- core::double z_x = z.{core::double::-}(x);
- core::double z_y = z.{core::double::-}(y);
- core::double z_z = z.{core::double::-}(z);
+ core::num n_n = n.{core::num::-}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::-}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::-}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::-}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::-}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::-}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::-}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::-}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::-}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::-}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::-}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::-}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::-}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::-}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::-}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::-}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::-}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::-}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::-}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::-}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::-}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::-}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::-}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::-}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::-}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::-}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::-}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::-}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::-}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::-}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::-}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::-}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::-}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::-}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::-}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::-}(z){(core::num) → core::double};
}
static method mul<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mul::X x, self::mul::Y y, self::mul::Z z) → dynamic {
- core::num n_n = n.{core::num::*}(n);
- core::num n_i = n.{core::num::*}(i);
- core::double n_d = n.{core::num::*}(d);
- core::num n_x = n.{core::num::*}(x);
- core::num n_y = n.{core::num::*}(y);
- core::double n_z = n.{core::num::*}(z);
- core::num i_n = i.{core::num::*}(n);
- core::int i_i = i.{core::num::*}(i);
- core::double i_d = i.{core::num::*}(d);
- core::num i_x = i.{core::num::*}(x);
- core::int i_y = i.{core::num::*}(y);
- core::double i_z = i.{core::num::*}(z);
- core::double d_n = d.{core::double::*}(n);
- core::double d_i = d.{core::double::*}(i);
- core::double d_d = d.{core::double::*}(d);
- core::double d_x = d.{core::double::*}(x);
- core::double d_y = d.{core::double::*}(y);
- core::double d_z = d.{core::double::*}(z);
- core::num x_n = x.{core::num::*}(n);
- core::num x_i = x.{core::num::*}(i);
- core::double x_d = x.{core::num::*}(d);
- core::num x_x = x.{core::num::*}(x);
- core::num x_y = x.{core::num::*}(y);
- core::double x_z = x.{core::num::*}(z);
- core::num y_n = y.{core::num::*}(n);
- core::int y_i = y.{core::num::*}(i);
- core::double y_d = y.{core::num::*}(d);
- core::num y_x = y.{core::num::*}(x);
- core::int y_y = y.{core::num::*}(y);
- core::double y_z = y.{core::num::*}(z);
- core::double z_n = z.{core::double::*}(n);
- core::double z_i = z.{core::double::*}(i);
- core::double z_d = z.{core::double::*}(d);
- core::double z_x = z.{core::double::*}(x);
- core::double z_y = z.{core::double::*}(y);
- core::double z_z = z.{core::double::*}(z);
+ core::num n_n = n.{core::num::*}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::*}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::*}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::*}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::*}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::*}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::*}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::*}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::*}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::*}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::*}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::*}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::*}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::*}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::*}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::*}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::*}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::*}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::*}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::*}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::*}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::*}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::*}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::*}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::*}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::*}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::*}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::*}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::*}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::*}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::*}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::*}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::*}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::*}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::*}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::*}(z){(core::num) → core::double};
}
static method mod<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mod::X x, self::mod::Y y, self::mod::Z z) → dynamic {
- core::num n_n = n.{core::num::%}(n);
- core::num n_i = n.{core::num::%}(i);
- core::double n_d = n.{core::num::%}(d);
- core::num n_x = n.{core::num::%}(x);
- core::num n_y = n.{core::num::%}(y);
- core::double n_z = n.{core::num::%}(z);
- core::num i_n = i.{core::num::%}(n);
- core::int i_i = i.{core::num::%}(i);
- core::double i_d = i.{core::num::%}(d);
- core::num i_x = i.{core::num::%}(x);
- core::int i_y = i.{core::num::%}(y);
- core::double i_z = i.{core::num::%}(z);
- core::double d_n = d.{core::double::%}(n);
- core::double d_i = d.{core::double::%}(i);
- core::double d_d = d.{core::double::%}(d);
- core::double d_x = d.{core::double::%}(x);
- core::double d_y = d.{core::double::%}(y);
- core::double d_z = d.{core::double::%}(z);
- core::num x_n = x.{core::num::%}(n);
- core::num x_i = x.{core::num::%}(i);
- core::double x_d = x.{core::num::%}(d);
- core::num x_x = x.{core::num::%}(x);
- core::num x_y = x.{core::num::%}(y);
- core::double x_z = x.{core::num::%}(z);
- core::num y_n = y.{core::num::%}(n);
- core::int y_i = y.{core::num::%}(i);
- core::double y_d = y.{core::num::%}(d);
- core::num y_x = y.{core::num::%}(x);
- core::int y_y = y.{core::num::%}(y);
- core::double y_z = y.{core::num::%}(z);
- core::double z_n = z.{core::double::%}(n);
- core::double z_i = z.{core::double::%}(i);
- core::double z_d = z.{core::double::%}(d);
- core::double z_x = z.{core::double::%}(x);
- core::double z_y = z.{core::double::%}(y);
- core::double z_z = z.{core::double::%}(z);
+ core::num n_n = n.{core::num::%}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::%}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::%}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::%}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::%}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::%}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::%}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::%}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::%}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::%}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::%}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::%}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::%}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::%}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::%}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::%}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::%}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::%}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::%}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::%}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::%}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::%}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::%}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::%}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::%}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::%}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::%}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::%}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::%}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::%}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::%}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::%}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::%}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::%}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::%}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::%}(z){(core::num) → core::double};
}
static method remainder<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::remainder::X x, self::remainder::Y y, self::remainder::Z z) → dynamic {
- core::num n_n = n.{core::num::remainder}(n);
- core::num n_i = n.{core::num::remainder}(i);
- core::double n_d = n.{core::num::remainder}(d);
- core::num n_x = n.{core::num::remainder}(x);
- core::num n_y = n.{core::num::remainder}(y);
- core::double n_z = n.{core::num::remainder}(z);
- core::num i_n = i.{core::num::remainder}(n);
- core::int i_i = i.{core::num::remainder}(i);
- core::double i_d = i.{core::num::remainder}(d);
- core::num i_x = i.{core::num::remainder}(x);
- core::int i_y = i.{core::num::remainder}(y);
- core::double i_z = i.{core::num::remainder}(z);
- core::double d_n = d.{core::double::remainder}(n);
- core::double d_i = d.{core::double::remainder}(i);
- core::double d_d = d.{core::double::remainder}(d);
- core::double d_x = d.{core::double::remainder}(x);
- core::double d_y = d.{core::double::remainder}(y);
- core::double d_z = d.{core::double::remainder}(z);
- core::num x_n = x.{core::num::remainder}(n);
- core::num x_i = x.{core::num::remainder}(i);
- core::double x_d = x.{core::num::remainder}(d);
- core::num x_x = x.{core::num::remainder}(x);
- core::num x_y = x.{core::num::remainder}(y);
- core::double x_z = x.{core::num::remainder}(z);
- core::num y_n = y.{core::num::remainder}(n);
- core::int y_i = y.{core::num::remainder}(i);
- core::double y_d = y.{core::num::remainder}(d);
- core::num y_x = y.{core::num::remainder}(x);
- core::int y_y = y.{core::num::remainder}(y);
- core::double y_z = y.{core::num::remainder}(z);
- core::double z_n = z.{core::double::remainder}(n);
- core::double z_i = z.{core::double::remainder}(i);
- core::double z_d = z.{core::double::remainder}(d);
- core::double z_x = z.{core::double::remainder}(x);
- core::double z_y = z.{core::double::remainder}(y);
- core::double z_z = z.{core::double::remainder}(z);
+ core::num n_n = n.{core::num::remainder}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::remainder}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::remainder}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::remainder}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::remainder}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::remainder}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::remainder}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::remainder}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::remainder}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::remainder}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::remainder}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::remainder}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::remainder}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::remainder}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::remainder}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::remainder}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::remainder}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::remainder}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::remainder}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::remainder}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::remainder}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::remainder}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::remainder}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::remainder}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::remainder}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::remainder}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::remainder}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::remainder}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::remainder}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::remainder}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::remainder}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::remainder}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::remainder}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::remainder}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::remainder}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::remainder}(z){(core::num) → core::double};
}
static method clamp<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::clamp::X x, self::clamp::Y y, self::clamp::Z z) → dynamic {
- core::num n_n_n = n.{core::num::clamp}(n, n);
- core::num n_i_n = n.{core::num::clamp}(i, n);
- core::num n_d_n = n.{core::num::clamp}(d, n);
- core::num n_x_n = n.{core::num::clamp}(x, n);
- core::num n_y_n = n.{core::num::clamp}(y, n);
- core::num n_z_n = n.{core::num::clamp}(z, n);
- core::num n_n_i = n.{core::num::clamp}(n, i);
- core::num n_i_i = n.{core::num::clamp}(i, i);
- core::num n_d_i = n.{core::num::clamp}(d, i);
- core::num n_x_i = n.{core::num::clamp}(x, i);
- core::num n_y_i = n.{core::num::clamp}(y, i);
- core::num n_z_i = n.{core::num::clamp}(z, i);
- core::num n_n_d = n.{core::num::clamp}(n, d);
- core::num n_i_d = n.{core::num::clamp}(i, d);
- core::num n_d_d = n.{core::num::clamp}(d, d);
- core::num n_x_d = n.{core::num::clamp}(x, d);
- core::num n_y_d = n.{core::num::clamp}(y, d);
- core::num n_z_d = n.{core::num::clamp}(z, d);
- core::num n_n_x = n.{core::num::clamp}(n, x);
- core::num n_i_x = n.{core::num::clamp}(i, x);
- core::num n_d_x = n.{core::num::clamp}(d, x);
- core::num n_x_x = n.{core::num::clamp}(x, x);
- core::num n_y_x = n.{core::num::clamp}(y, x);
- core::num n_z_x = n.{core::num::clamp}(z, x);
- core::num n_n_y = n.{core::num::clamp}(n, y);
- core::num n_i_y = n.{core::num::clamp}(i, y);
- core::num n_d_y = n.{core::num::clamp}(d, y);
- core::num n_x_y = n.{core::num::clamp}(x, y);
- core::num n_y_y = n.{core::num::clamp}(y, y);
- core::num n_z_y = n.{core::num::clamp}(z, y);
- core::num n_n_z = n.{core::num::clamp}(n, z);
- core::num n_i_z = n.{core::num::clamp}(i, z);
- core::num n_d_z = n.{core::num::clamp}(d, z);
- core::num n_x_z = n.{core::num::clamp}(x, z);
- core::num n_y_z = n.{core::num::clamp}(y, z);
- core::num n_z_z = n.{core::num::clamp}(z, z);
- core::num i_n_n = i.{core::num::clamp}(n, n);
- core::num i_i_n = i.{core::num::clamp}(i, n);
- core::num i_d_n = i.{core::num::clamp}(d, n);
- core::num i_x_n = i.{core::num::clamp}(x, n);
- core::num i_y_n = i.{core::num::clamp}(y, n);
- core::num i_z_n = i.{core::num::clamp}(z, n);
- core::num i_n_i = i.{core::num::clamp}(n, i);
- core::int i_i_i = i.{core::num::clamp}(i, i);
- core::num i_d_i = i.{core::num::clamp}(d, i);
- core::num i_x_i = i.{core::num::clamp}(x, i);
- core::int i_y_i = i.{core::num::clamp}(y, i);
- core::num i_z_i = i.{core::num::clamp}(z, i);
- core::num i_n_d = i.{core::num::clamp}(n, d);
- core::num i_i_d = i.{core::num::clamp}(i, d);
- core::num i_d_d = i.{core::num::clamp}(d, d);
- core::num i_x_d = i.{core::num::clamp}(x, d);
- core::num i_y_d = i.{core::num::clamp}(y, d);
- core::num i_z_d = i.{core::num::clamp}(z, d);
- core::num i_n_x = i.{core::num::clamp}(n, x);
- core::num i_i_x = i.{core::num::clamp}(i, x);
- core::num i_d_x = i.{core::num::clamp}(d, x);
- core::num i_x_x = i.{core::num::clamp}(x, x);
- core::num i_y_x = i.{core::num::clamp}(y, x);
- core::num i_z_x = i.{core::num::clamp}(z, x);
- core::num i_n_y = i.{core::num::clamp}(n, y);
- core::int i_i_y = i.{core::num::clamp}(i, y);
- core::num i_d_y = i.{core::num::clamp}(d, y);
- core::num i_x_y = i.{core::num::clamp}(x, y);
- core::int i_y_y = i.{core::num::clamp}(y, y);
- core::num i_z_y = i.{core::num::clamp}(z, y);
- core::num i_n_z = i.{core::num::clamp}(n, z);
- core::num i_i_z = i.{core::num::clamp}(i, z);
- core::num i_d_z = i.{core::num::clamp}(d, z);
- core::num i_x_z = i.{core::num::clamp}(x, z);
- core::num i_y_z = i.{core::num::clamp}(y, z);
- core::num i_z_z = i.{core::num::clamp}(z, z);
- core::num d_n_n = d.{core::num::clamp}(n, n);
- core::num d_i_n = d.{core::num::clamp}(i, n);
- core::num d_d_n = d.{core::num::clamp}(d, n);
- core::num d_x_n = d.{core::num::clamp}(x, n);
- core::num d_y_n = d.{core::num::clamp}(y, n);
- core::num d_z_n = d.{core::num::clamp}(z, n);
- core::num d_n_i = d.{core::num::clamp}(n, i);
- core::num d_i_i = d.{core::num::clamp}(i, i);
- core::num d_d_i = d.{core::num::clamp}(d, i);
- core::num d_x_i = d.{core::num::clamp}(x, i);
- core::num d_y_i = d.{core::num::clamp}(y, i);
- core::num d_z_i = d.{core::num::clamp}(z, i);
- core::num d_n_d = d.{core::num::clamp}(n, d);
- core::num d_i_d = d.{core::num::clamp}(i, d);
- core::double d_d_d = d.{core::num::clamp}(d, d);
- core::num d_x_d = d.{core::num::clamp}(x, d);
- core::num d_y_d = d.{core::num::clamp}(y, d);
- core::double d_z_d = d.{core::num::clamp}(z, d);
- core::num d_n_x = d.{core::num::clamp}(n, x);
- core::num d_i_x = d.{core::num::clamp}(i, x);
- core::num d_d_x = d.{core::num::clamp}(d, x);
- core::num d_x_x = d.{core::num::clamp}(x, x);
- core::num d_y_x = d.{core::num::clamp}(y, x);
- core::num d_z_x = d.{core::num::clamp}(z, x);
- core::num d_n_y = d.{core::num::clamp}(n, y);
- core::num d_i_y = d.{core::num::clamp}(i, y);
- core::num d_d_y = d.{core::num::clamp}(d, y);
- core::num d_x_y = d.{core::num::clamp}(x, y);
- core::num d_y_y = d.{core::num::clamp}(y, y);
- core::num d_z_y = d.{core::num::clamp}(z, y);
- core::num d_n_z = d.{core::num::clamp}(n, z);
- core::num d_i_z = d.{core::num::clamp}(i, z);
- core::double d_d_z = d.{core::num::clamp}(d, z);
- core::num d_x_z = d.{core::num::clamp}(x, z);
- core::num d_y_z = d.{core::num::clamp}(y, z);
- core::double d_z_z = d.{core::num::clamp}(z, z);
- core::num x_n_n = x.{core::num::clamp}(n, n);
- core::num x_i_n = x.{core::num::clamp}(i, n);
- core::num x_d_n = x.{core::num::clamp}(d, n);
- core::num x_x_n = x.{core::num::clamp}(x, n);
- core::num x_y_n = x.{core::num::clamp}(y, n);
- core::num x_z_n = x.{core::num::clamp}(z, n);
- core::num x_n_i = x.{core::num::clamp}(n, i);
- core::num x_i_i = x.{core::num::clamp}(i, i);
- core::num x_d_i = x.{core::num::clamp}(d, i);
- core::num x_x_i = x.{core::num::clamp}(x, i);
- core::num x_y_i = x.{core::num::clamp}(y, i);
- core::num x_z_i = x.{core::num::clamp}(z, i);
- core::num x_n_d = x.{core::num::clamp}(n, d);
- core::num x_i_d = x.{core::num::clamp}(i, d);
- core::num x_d_d = x.{core::num::clamp}(d, d);
- core::num x_x_d = x.{core::num::clamp}(x, d);
- core::num x_y_d = x.{core::num::clamp}(y, d);
- core::num x_z_d = x.{core::num::clamp}(z, d);
- core::num x_n_x = x.{core::num::clamp}(n, x);
- core::num x_i_x = x.{core::num::clamp}(i, x);
- core::num x_d_x = x.{core::num::clamp}(d, x);
- core::num x_x_x = x.{core::num::clamp}(x, x);
- core::num x_y_x = x.{core::num::clamp}(y, x);
- core::num x_z_x = x.{core::num::clamp}(z, x);
- core::num x_n_y = x.{core::num::clamp}(n, y);
- core::num x_i_y = x.{core::num::clamp}(i, y);
- core::num x_d_y = x.{core::num::clamp}(d, y);
- core::num x_x_y = x.{core::num::clamp}(x, y);
- core::num x_y_y = x.{core::num::clamp}(y, y);
- core::num x_z_y = x.{core::num::clamp}(z, y);
- core::num x_n_z = x.{core::num::clamp}(n, z);
- core::num x_i_z = x.{core::num::clamp}(i, z);
- core::num x_d_z = x.{core::num::clamp}(d, z);
- core::num x_x_z = x.{core::num::clamp}(x, z);
- core::num x_y_z = x.{core::num::clamp}(y, z);
- core::num x_z_z = x.{core::num::clamp}(z, z);
- core::num y_n_n = y.{core::num::clamp}(n, n);
- core::num y_i_n = y.{core::num::clamp}(i, n);
- core::num y_d_n = y.{core::num::clamp}(d, n);
- core::num y_x_n = y.{core::num::clamp}(x, n);
- core::num y_y_n = y.{core::num::clamp}(y, n);
- core::num y_z_n = y.{core::num::clamp}(z, n);
- core::num y_n_i = y.{core::num::clamp}(n, i);
- core::int y_i_i = y.{core::num::clamp}(i, i);
- core::num y_d_i = y.{core::num::clamp}(d, i);
- core::num y_x_i = y.{core::num::clamp}(x, i);
- core::int y_y_i = y.{core::num::clamp}(y, i);
- core::num y_z_i = y.{core::num::clamp}(z, i);
- core::num y_n_d = y.{core::num::clamp}(n, d);
- core::num y_i_d = y.{core::num::clamp}(i, d);
- core::num y_d_d = y.{core::num::clamp}(d, d);
- core::num y_x_d = y.{core::num::clamp}(x, d);
- core::num y_y_d = y.{core::num::clamp}(y, d);
- core::num y_z_d = y.{core::num::clamp}(z, d);
- core::num y_n_x = y.{core::num::clamp}(n, x);
- core::num y_i_x = y.{core::num::clamp}(i, x);
- core::num y_d_x = y.{core::num::clamp}(d, x);
- core::num y_x_x = y.{core::num::clamp}(x, x);
- core::num y_y_x = y.{core::num::clamp}(y, x);
- core::num y_z_x = y.{core::num::clamp}(z, x);
- core::num y_n_y = y.{core::num::clamp}(n, y);
- core::int y_i_y = y.{core::num::clamp}(i, y);
- core::num y_d_y = y.{core::num::clamp}(d, y);
- core::num y_x_y = y.{core::num::clamp}(x, y);
- core::int y_y_y = y.{core::num::clamp}(y, y);
- core::num y_z_y = y.{core::num::clamp}(z, y);
- core::num y_n_z = y.{core::num::clamp}(n, z);
- core::num y_i_z = y.{core::num::clamp}(i, z);
- core::num y_d_z = y.{core::num::clamp}(d, z);
- core::num y_x_z = y.{core::num::clamp}(x, z);
- core::num y_y_z = y.{core::num::clamp}(y, z);
- core::num y_z_z = y.{core::num::clamp}(z, z);
- core::num z_n_n = z.{core::num::clamp}(n, n);
- core::num z_i_n = z.{core::num::clamp}(i, n);
- core::num z_d_n = z.{core::num::clamp}(d, n);
- core::num z_x_n = z.{core::num::clamp}(x, n);
- core::num z_y_n = z.{core::num::clamp}(y, n);
- core::num z_z_n = z.{core::num::clamp}(z, n);
- core::num z_n_i = z.{core::num::clamp}(n, i);
- core::num z_i_i = z.{core::num::clamp}(i, i);
- core::num z_d_i = z.{core::num::clamp}(d, i);
- core::num z_x_i = z.{core::num::clamp}(x, i);
- core::num z_y_i = z.{core::num::clamp}(y, i);
- core::num z_z_i = z.{core::num::clamp}(z, i);
- core::num z_n_d = z.{core::num::clamp}(n, d);
- core::num z_i_d = z.{core::num::clamp}(i, d);
- core::double z_d_d = z.{core::num::clamp}(d, d);
- core::num z_x_d = z.{core::num::clamp}(x, d);
- core::num z_y_d = z.{core::num::clamp}(y, d);
- core::double z_z_d = z.{core::num::clamp}(z, d);
- core::num z_n_x = z.{core::num::clamp}(n, x);
- core::num z_i_x = z.{core::num::clamp}(i, x);
- core::num z_d_x = z.{core::num::clamp}(d, x);
- core::num z_x_x = z.{core::num::clamp}(x, x);
- core::num z_y_x = z.{core::num::clamp}(y, x);
- core::num z_z_x = z.{core::num::clamp}(z, x);
- core::num z_n_y = z.{core::num::clamp}(n, y);
- core::num z_i_y = z.{core::num::clamp}(i, y);
- core::num z_d_y = z.{core::num::clamp}(d, y);
- core::num z_x_y = z.{core::num::clamp}(x, y);
- core::num z_y_y = z.{core::num::clamp}(y, y);
- core::num z_z_y = z.{core::num::clamp}(z, y);
- core::num z_n_z = z.{core::num::clamp}(n, z);
- core::num z_i_z = z.{core::num::clamp}(i, z);
- core::double z_d_z = z.{core::num::clamp}(d, z);
- core::num z_x_z = z.{core::num::clamp}(x, z);
- core::num z_y_z = z.{core::num::clamp}(y, z);
- core::double z_z_z = z.{core::num::clamp}(z, z);
+ core::num n_n_n = n.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num n_i_n = n.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num n_d_n = n.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num n_x_n = n.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num n_y_n = n.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num n_z_n = n.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num n_n_i = n.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num n_i_i = n.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num n_d_i = n.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num n_x_i = n.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num n_y_i = n.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num n_z_i = n.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num n_n_d = n.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num n_i_d = n.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num n_d_d = n.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num n_x_d = n.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num n_y_d = n.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num n_z_d = n.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num n_n_x = n.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num n_i_x = n.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num n_d_x = n.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num n_x_x = n.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num n_y_x = n.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num n_z_x = n.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num n_n_y = n.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num n_i_y = n.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num n_d_y = n.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num n_x_y = n.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num n_y_y = n.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num n_z_y = n.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num n_n_z = n.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num n_i_z = n.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num n_d_z = n.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num n_x_z = n.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num n_y_z = n.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num n_z_z = n.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num i_n_n = i.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num i_i_n = i.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num i_d_n = i.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num i_x_n = i.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num i_y_n = i.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num i_z_n = i.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num i_n_i = i.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::int i_i_i = i.{core::num::clamp}(i, i){(core::num, core::num) → core::int};
+ core::num i_d_i = i.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num i_x_i = i.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::int i_y_i = i.{core::num::clamp}(y, i){(core::num, core::num) → core::int};
+ core::num i_z_i = i.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num i_n_d = i.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num i_i_d = i.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num i_d_d = i.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num i_x_d = i.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num i_y_d = i.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num i_z_d = i.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num i_n_x = i.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num i_i_x = i.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num i_d_x = i.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num i_x_x = i.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num i_y_x = i.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num i_z_x = i.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num i_n_y = i.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::int i_i_y = i.{core::num::clamp}(i, y){(core::num, core::num) → core::int};
+ core::num i_d_y = i.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num i_x_y = i.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::int i_y_y = i.{core::num::clamp}(y, y){(core::num, core::num) → core::int};
+ core::num i_z_y = i.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num i_n_z = i.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num i_i_z = i.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num i_d_z = i.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num i_x_z = i.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num i_y_z = i.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num i_z_z = i.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num d_n_n = d.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num d_i_n = d.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num d_d_n = d.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num d_x_n = d.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num d_y_n = d.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num d_z_n = d.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num d_n_i = d.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num d_i_i = d.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num d_d_i = d.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num d_x_i = d.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num d_y_i = d.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num d_z_i = d.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num d_n_d = d.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num d_i_d = d.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::double d_d_d = d.{core::num::clamp}(d, d){(core::num, core::num) → core::double};
+ core::num d_x_d = d.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num d_y_d = d.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::double d_z_d = d.{core::num::clamp}(z, d){(core::num, core::num) → core::double};
+ core::num d_n_x = d.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num d_i_x = d.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num d_d_x = d.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num d_x_x = d.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num d_y_x = d.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num d_z_x = d.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num d_n_y = d.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num d_i_y = d.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num d_d_y = d.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num d_x_y = d.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num d_y_y = d.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num d_z_y = d.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num d_n_z = d.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num d_i_z = d.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::double d_d_z = d.{core::num::clamp}(d, z){(core::num, core::num) → core::double};
+ core::num d_x_z = d.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num d_y_z = d.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::double d_z_z = d.{core::num::clamp}(z, z){(core::num, core::num) → core::double};
+ core::num x_n_n = x.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num x_i_n = x.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num x_d_n = x.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num x_x_n = x.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num x_y_n = x.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num x_z_n = x.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num x_n_i = x.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num x_i_i = x.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num x_d_i = x.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num x_x_i = x.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num x_y_i = x.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num x_z_i = x.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num x_n_d = x.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num x_i_d = x.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num x_d_d = x.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num x_x_d = x.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num x_y_d = x.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num x_z_d = x.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num x_n_x = x.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num x_i_x = x.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num x_d_x = x.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num x_x_x = x.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num x_y_x = x.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num x_z_x = x.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num x_n_y = x.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num x_i_y = x.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num x_d_y = x.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num x_x_y = x.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num x_y_y = x.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num x_z_y = x.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num x_n_z = x.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num x_i_z = x.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num x_d_z = x.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num x_x_z = x.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num x_y_z = x.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num x_z_z = x.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num y_n_n = y.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num y_i_n = y.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num y_d_n = y.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num y_x_n = y.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num y_y_n = y.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num y_z_n = y.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num y_n_i = y.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::int y_i_i = y.{core::num::clamp}(i, i){(core::num, core::num) → core::int};
+ core::num y_d_i = y.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num y_x_i = y.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::int y_y_i = y.{core::num::clamp}(y, i){(core::num, core::num) → core::int};
+ core::num y_z_i = y.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num y_n_d = y.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num y_i_d = y.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num y_d_d = y.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num y_x_d = y.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num y_y_d = y.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num y_z_d = y.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num y_n_x = y.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num y_i_x = y.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num y_d_x = y.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num y_x_x = y.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num y_y_x = y.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num y_z_x = y.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num y_n_y = y.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::int y_i_y = y.{core::num::clamp}(i, y){(core::num, core::num) → core::int};
+ core::num y_d_y = y.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num y_x_y = y.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::int y_y_y = y.{core::num::clamp}(y, y){(core::num, core::num) → core::int};
+ core::num y_z_y = y.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num y_n_z = y.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num y_i_z = y.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num y_d_z = y.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num y_x_z = y.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num y_y_z = y.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num y_z_z = y.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num z_n_n = z.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num z_i_n = z.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num z_d_n = z.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num z_x_n = z.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num z_y_n = z.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num z_z_n = z.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num z_n_i = z.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num z_i_i = z.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num z_d_i = z.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num z_x_i = z.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num z_y_i = z.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num z_z_i = z.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num z_n_d = z.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num z_i_d = z.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::double z_d_d = z.{core::num::clamp}(d, d){(core::num, core::num) → core::double};
+ core::num z_x_d = z.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num z_y_d = z.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::double z_z_d = z.{core::num::clamp}(z, d){(core::num, core::num) → core::double};
+ core::num z_n_x = z.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num z_i_x = z.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num z_d_x = z.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num z_x_x = z.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num z_y_x = z.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num z_z_x = z.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num z_n_y = z.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num z_i_y = z.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num z_d_y = z.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num z_x_y = z.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num z_y_y = z.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num z_z_y = z.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num z_n_z = z.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num z_i_z = z.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::double z_d_z = z.{core::num::clamp}(d, z){(core::num, core::num) → core::double};
+ core::num z_x_z = z.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num z_y_z = z.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::double z_z_z = z.{core::num::clamp}(z, z){(core::num, core::num) → core::double};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/numbers.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/numbers.dart.weak.transformed.expect
index d52aac2..babfb04 100644
--- a/pkg/front_end/testcases/nnbd/numbers.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/numbers.dart.weak.transformed.expect
@@ -3,411 +3,411 @@
import "dart:core" as core;
static method add<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::add::X x, self::add::Y y, self::add::Z z) → dynamic {
- core::num n_n = n.{core::num::+}(n);
- core::num n_i = n.{core::num::+}(i);
- core::double n_d = n.{core::num::+}(d);
- core::num n_x = n.{core::num::+}(x);
- core::num n_y = n.{core::num::+}(y);
- core::double n_z = n.{core::num::+}(z);
- core::num i_n = i.{core::num::+}(n);
- core::int i_i = i.{core::num::+}(i);
- core::double i_d = i.{core::num::+}(d);
- core::num i_x = i.{core::num::+}(x);
- core::int i_y = i.{core::num::+}(y);
- core::double i_z = i.{core::num::+}(z);
- core::double d_n = d.{core::double::+}(n);
- core::double d_i = d.{core::double::+}(i);
- core::double d_d = d.{core::double::+}(d);
- core::double d_x = d.{core::double::+}(x);
- core::double d_y = d.{core::double::+}(y);
- core::double d_z = d.{core::double::+}(z);
- core::num x_n = x.{core::num::+}(n);
- core::num x_i = x.{core::num::+}(i);
- core::double x_d = x.{core::num::+}(d);
- core::num x_x = x.{core::num::+}(x);
- core::num x_y = x.{core::num::+}(y);
- core::double x_z = x.{core::num::+}(z);
- core::num y_n = y.{core::num::+}(n);
- core::int y_i = y.{core::num::+}(i);
- core::double y_d = y.{core::num::+}(d);
- core::num y_x = y.{core::num::+}(x);
- core::int y_y = y.{core::num::+}(y);
- core::double y_z = y.{core::num::+}(z);
- core::double z_n = z.{core::double::+}(n);
- core::double z_i = z.{core::double::+}(i);
- core::double z_d = z.{core::double::+}(d);
- core::double z_x = z.{core::double::+}(x);
- core::double z_y = z.{core::double::+}(y);
- core::double z_z = z.{core::double::+}(z);
+ core::num n_n = n.{core::num::+}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::+}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::+}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::+}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::+}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::+}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::+}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::+}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::+}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::+}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::+}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::+}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::+}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::+}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::+}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::+}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::+}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::+}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::+}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::+}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::+}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::+}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::+}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::+}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::+}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::+}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::+}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::+}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::+}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::+}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::+}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::+}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::+}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::+}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::+}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::+}(z){(core::num) → core::double};
}
static method sub<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::sub::X x, self::sub::Y y, self::sub::Z z) → dynamic {
- core::num n_n = n.{core::num::-}(n);
- core::num n_i = n.{core::num::-}(i);
- core::double n_d = n.{core::num::-}(d);
- core::num n_x = n.{core::num::-}(x);
- core::num n_y = n.{core::num::-}(y);
- core::double n_z = n.{core::num::-}(z);
- core::num i_n = i.{core::num::-}(n);
- core::int i_i = i.{core::num::-}(i);
- core::double i_d = i.{core::num::-}(d);
- core::num i_x = i.{core::num::-}(x);
- core::int i_y = i.{core::num::-}(y);
- core::double i_z = i.{core::num::-}(z);
- core::double d_n = d.{core::double::-}(n);
- core::double d_i = d.{core::double::-}(i);
- core::double d_d = d.{core::double::-}(d);
- core::double d_x = d.{core::double::-}(x);
- core::double d_y = d.{core::double::-}(y);
- core::double d_z = d.{core::double::-}(z);
- core::num x_n = x.{core::num::-}(n);
- core::num x_i = x.{core::num::-}(i);
- core::double x_d = x.{core::num::-}(d);
- core::num x_x = x.{core::num::-}(x);
- core::num x_y = x.{core::num::-}(y);
- core::double x_z = x.{core::num::-}(z);
- core::num y_n = y.{core::num::-}(n);
- core::int y_i = y.{core::num::-}(i);
- core::double y_d = y.{core::num::-}(d);
- core::num y_x = y.{core::num::-}(x);
- core::int y_y = y.{core::num::-}(y);
- core::double y_z = y.{core::num::-}(z);
- core::double z_n = z.{core::double::-}(n);
- core::double z_i = z.{core::double::-}(i);
- core::double z_d = z.{core::double::-}(d);
- core::double z_x = z.{core::double::-}(x);
- core::double z_y = z.{core::double::-}(y);
- core::double z_z = z.{core::double::-}(z);
+ core::num n_n = n.{core::num::-}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::-}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::-}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::-}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::-}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::-}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::-}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::-}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::-}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::-}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::-}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::-}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::-}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::-}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::-}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::-}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::-}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::-}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::-}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::-}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::-}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::-}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::-}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::-}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::-}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::-}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::-}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::-}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::-}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::-}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::-}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::-}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::-}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::-}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::-}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::-}(z){(core::num) → core::double};
}
static method mul<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mul::X x, self::mul::Y y, self::mul::Z z) → dynamic {
- core::num n_n = n.{core::num::*}(n);
- core::num n_i = n.{core::num::*}(i);
- core::double n_d = n.{core::num::*}(d);
- core::num n_x = n.{core::num::*}(x);
- core::num n_y = n.{core::num::*}(y);
- core::double n_z = n.{core::num::*}(z);
- core::num i_n = i.{core::num::*}(n);
- core::int i_i = i.{core::num::*}(i);
- core::double i_d = i.{core::num::*}(d);
- core::num i_x = i.{core::num::*}(x);
- core::int i_y = i.{core::num::*}(y);
- core::double i_z = i.{core::num::*}(z);
- core::double d_n = d.{core::double::*}(n);
- core::double d_i = d.{core::double::*}(i);
- core::double d_d = d.{core::double::*}(d);
- core::double d_x = d.{core::double::*}(x);
- core::double d_y = d.{core::double::*}(y);
- core::double d_z = d.{core::double::*}(z);
- core::num x_n = x.{core::num::*}(n);
- core::num x_i = x.{core::num::*}(i);
- core::double x_d = x.{core::num::*}(d);
- core::num x_x = x.{core::num::*}(x);
- core::num x_y = x.{core::num::*}(y);
- core::double x_z = x.{core::num::*}(z);
- core::num y_n = y.{core::num::*}(n);
- core::int y_i = y.{core::num::*}(i);
- core::double y_d = y.{core::num::*}(d);
- core::num y_x = y.{core::num::*}(x);
- core::int y_y = y.{core::num::*}(y);
- core::double y_z = y.{core::num::*}(z);
- core::double z_n = z.{core::double::*}(n);
- core::double z_i = z.{core::double::*}(i);
- core::double z_d = z.{core::double::*}(d);
- core::double z_x = z.{core::double::*}(x);
- core::double z_y = z.{core::double::*}(y);
- core::double z_z = z.{core::double::*}(z);
+ core::num n_n = n.{core::num::*}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::*}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::*}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::*}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::*}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::*}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::*}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::*}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::*}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::*}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::*}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::*}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::*}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::*}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::*}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::*}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::*}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::*}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::*}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::*}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::*}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::*}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::*}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::*}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::*}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::*}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::*}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::*}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::*}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::*}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::*}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::*}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::*}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::*}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::*}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::*}(z){(core::num) → core::double};
}
static method mod<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mod::X x, self::mod::Y y, self::mod::Z z) → dynamic {
- core::num n_n = n.{core::num::%}(n);
- core::num n_i = n.{core::num::%}(i);
- core::double n_d = n.{core::num::%}(d);
- core::num n_x = n.{core::num::%}(x);
- core::num n_y = n.{core::num::%}(y);
- core::double n_z = n.{core::num::%}(z);
- core::num i_n = i.{core::num::%}(n);
- core::int i_i = i.{core::num::%}(i);
- core::double i_d = i.{core::num::%}(d);
- core::num i_x = i.{core::num::%}(x);
- core::int i_y = i.{core::num::%}(y);
- core::double i_z = i.{core::num::%}(z);
- core::double d_n = d.{core::double::%}(n);
- core::double d_i = d.{core::double::%}(i);
- core::double d_d = d.{core::double::%}(d);
- core::double d_x = d.{core::double::%}(x);
- core::double d_y = d.{core::double::%}(y);
- core::double d_z = d.{core::double::%}(z);
- core::num x_n = x.{core::num::%}(n);
- core::num x_i = x.{core::num::%}(i);
- core::double x_d = x.{core::num::%}(d);
- core::num x_x = x.{core::num::%}(x);
- core::num x_y = x.{core::num::%}(y);
- core::double x_z = x.{core::num::%}(z);
- core::num y_n = y.{core::num::%}(n);
- core::int y_i = y.{core::num::%}(i);
- core::double y_d = y.{core::num::%}(d);
- core::num y_x = y.{core::num::%}(x);
- core::int y_y = y.{core::num::%}(y);
- core::double y_z = y.{core::num::%}(z);
- core::double z_n = z.{core::double::%}(n);
- core::double z_i = z.{core::double::%}(i);
- core::double z_d = z.{core::double::%}(d);
- core::double z_x = z.{core::double::%}(x);
- core::double z_y = z.{core::double::%}(y);
- core::double z_z = z.{core::double::%}(z);
+ core::num n_n = n.{core::num::%}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::%}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::%}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::%}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::%}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::%}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::%}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::%}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::%}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::%}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::%}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::%}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::%}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::%}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::%}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::%}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::%}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::%}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::%}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::%}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::%}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::%}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::%}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::%}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::%}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::%}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::%}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::%}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::%}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::%}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::%}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::%}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::%}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::%}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::%}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::%}(z){(core::num) → core::double};
}
static method remainder<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::remainder::X x, self::remainder::Y y, self::remainder::Z z) → dynamic {
- core::num n_n = n.{core::num::remainder}(n);
- core::num n_i = n.{core::num::remainder}(i);
- core::double n_d = n.{core::num::remainder}(d);
- core::num n_x = n.{core::num::remainder}(x);
- core::num n_y = n.{core::num::remainder}(y);
- core::double n_z = n.{core::num::remainder}(z);
- core::num i_n = i.{core::num::remainder}(n);
- core::int i_i = i.{core::num::remainder}(i);
- core::double i_d = i.{core::num::remainder}(d);
- core::num i_x = i.{core::num::remainder}(x);
- core::int i_y = i.{core::num::remainder}(y);
- core::double i_z = i.{core::num::remainder}(z);
- core::double d_n = d.{core::double::remainder}(n);
- core::double d_i = d.{core::double::remainder}(i);
- core::double d_d = d.{core::double::remainder}(d);
- core::double d_x = d.{core::double::remainder}(x);
- core::double d_y = d.{core::double::remainder}(y);
- core::double d_z = d.{core::double::remainder}(z);
- core::num x_n = x.{core::num::remainder}(n);
- core::num x_i = x.{core::num::remainder}(i);
- core::double x_d = x.{core::num::remainder}(d);
- core::num x_x = x.{core::num::remainder}(x);
- core::num x_y = x.{core::num::remainder}(y);
- core::double x_z = x.{core::num::remainder}(z);
- core::num y_n = y.{core::num::remainder}(n);
- core::int y_i = y.{core::num::remainder}(i);
- core::double y_d = y.{core::num::remainder}(d);
- core::num y_x = y.{core::num::remainder}(x);
- core::int y_y = y.{core::num::remainder}(y);
- core::double y_z = y.{core::num::remainder}(z);
- core::double z_n = z.{core::double::remainder}(n);
- core::double z_i = z.{core::double::remainder}(i);
- core::double z_d = z.{core::double::remainder}(d);
- core::double z_x = z.{core::double::remainder}(x);
- core::double z_y = z.{core::double::remainder}(y);
- core::double z_z = z.{core::double::remainder}(z);
+ core::num n_n = n.{core::num::remainder}(n){(core::num) → core::num};
+ core::num n_i = n.{core::num::remainder}(i){(core::num) → core::num};
+ core::double n_d = n.{core::num::remainder}(d){(core::num) → core::double};
+ core::num n_x = n.{core::num::remainder}(x){(core::num) → core::num};
+ core::num n_y = n.{core::num::remainder}(y){(core::num) → core::num};
+ core::double n_z = n.{core::num::remainder}(z){(core::num) → core::double};
+ core::num i_n = i.{core::num::remainder}(n){(core::num) → core::num};
+ core::int i_i = i.{core::num::remainder}(i){(core::num) → core::int};
+ core::double i_d = i.{core::num::remainder}(d){(core::num) → core::double};
+ core::num i_x = i.{core::num::remainder}(x){(core::num) → core::num};
+ core::int i_y = i.{core::num::remainder}(y){(core::num) → core::int};
+ core::double i_z = i.{core::num::remainder}(z){(core::num) → core::double};
+ core::double d_n = d.{core::double::remainder}(n){(core::num) → core::double};
+ core::double d_i = d.{core::double::remainder}(i){(core::num) → core::double};
+ core::double d_d = d.{core::double::remainder}(d){(core::num) → core::double};
+ core::double d_x = d.{core::double::remainder}(x){(core::num) → core::double};
+ core::double d_y = d.{core::double::remainder}(y){(core::num) → core::double};
+ core::double d_z = d.{core::double::remainder}(z){(core::num) → core::double};
+ core::num x_n = x.{core::num::remainder}(n){(core::num) → core::num};
+ core::num x_i = x.{core::num::remainder}(i){(core::num) → core::num};
+ core::double x_d = x.{core::num::remainder}(d){(core::num) → core::double};
+ core::num x_x = x.{core::num::remainder}(x){(core::num) → core::num};
+ core::num x_y = x.{core::num::remainder}(y){(core::num) → core::num};
+ core::double x_z = x.{core::num::remainder}(z){(core::num) → core::double};
+ core::num y_n = y.{core::num::remainder}(n){(core::num) → core::num};
+ core::int y_i = y.{core::num::remainder}(i){(core::num) → core::int};
+ core::double y_d = y.{core::num::remainder}(d){(core::num) → core::double};
+ core::num y_x = y.{core::num::remainder}(x){(core::num) → core::num};
+ core::int y_y = y.{core::num::remainder}(y){(core::num) → core::int};
+ core::double y_z = y.{core::num::remainder}(z){(core::num) → core::double};
+ core::double z_n = z.{core::double::remainder}(n){(core::num) → core::double};
+ core::double z_i = z.{core::double::remainder}(i){(core::num) → core::double};
+ core::double z_d = z.{core::double::remainder}(d){(core::num) → core::double};
+ core::double z_x = z.{core::double::remainder}(x){(core::num) → core::double};
+ core::double z_y = z.{core::double::remainder}(y){(core::num) → core::double};
+ core::double z_z = z.{core::double::remainder}(z){(core::num) → core::double};
}
static method clamp<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::clamp::X x, self::clamp::Y y, self::clamp::Z z) → dynamic {
- core::num n_n_n = n.{core::num::clamp}(n, n);
- core::num n_i_n = n.{core::num::clamp}(i, n);
- core::num n_d_n = n.{core::num::clamp}(d, n);
- core::num n_x_n = n.{core::num::clamp}(x, n);
- core::num n_y_n = n.{core::num::clamp}(y, n);
- core::num n_z_n = n.{core::num::clamp}(z, n);
- core::num n_n_i = n.{core::num::clamp}(n, i);
- core::num n_i_i = n.{core::num::clamp}(i, i);
- core::num n_d_i = n.{core::num::clamp}(d, i);
- core::num n_x_i = n.{core::num::clamp}(x, i);
- core::num n_y_i = n.{core::num::clamp}(y, i);
- core::num n_z_i = n.{core::num::clamp}(z, i);
- core::num n_n_d = n.{core::num::clamp}(n, d);
- core::num n_i_d = n.{core::num::clamp}(i, d);
- core::num n_d_d = n.{core::num::clamp}(d, d);
- core::num n_x_d = n.{core::num::clamp}(x, d);
- core::num n_y_d = n.{core::num::clamp}(y, d);
- core::num n_z_d = n.{core::num::clamp}(z, d);
- core::num n_n_x = n.{core::num::clamp}(n, x);
- core::num n_i_x = n.{core::num::clamp}(i, x);
- core::num n_d_x = n.{core::num::clamp}(d, x);
- core::num n_x_x = n.{core::num::clamp}(x, x);
- core::num n_y_x = n.{core::num::clamp}(y, x);
- core::num n_z_x = n.{core::num::clamp}(z, x);
- core::num n_n_y = n.{core::num::clamp}(n, y);
- core::num n_i_y = n.{core::num::clamp}(i, y);
- core::num n_d_y = n.{core::num::clamp}(d, y);
- core::num n_x_y = n.{core::num::clamp}(x, y);
- core::num n_y_y = n.{core::num::clamp}(y, y);
- core::num n_z_y = n.{core::num::clamp}(z, y);
- core::num n_n_z = n.{core::num::clamp}(n, z);
- core::num n_i_z = n.{core::num::clamp}(i, z);
- core::num n_d_z = n.{core::num::clamp}(d, z);
- core::num n_x_z = n.{core::num::clamp}(x, z);
- core::num n_y_z = n.{core::num::clamp}(y, z);
- core::num n_z_z = n.{core::num::clamp}(z, z);
- core::num i_n_n = i.{core::num::clamp}(n, n);
- core::num i_i_n = i.{core::num::clamp}(i, n);
- core::num i_d_n = i.{core::num::clamp}(d, n);
- core::num i_x_n = i.{core::num::clamp}(x, n);
- core::num i_y_n = i.{core::num::clamp}(y, n);
- core::num i_z_n = i.{core::num::clamp}(z, n);
- core::num i_n_i = i.{core::num::clamp}(n, i);
- core::int i_i_i = i.{core::num::clamp}(i, i);
- core::num i_d_i = i.{core::num::clamp}(d, i);
- core::num i_x_i = i.{core::num::clamp}(x, i);
- core::int i_y_i = i.{core::num::clamp}(y, i);
- core::num i_z_i = i.{core::num::clamp}(z, i);
- core::num i_n_d = i.{core::num::clamp}(n, d);
- core::num i_i_d = i.{core::num::clamp}(i, d);
- core::num i_d_d = i.{core::num::clamp}(d, d);
- core::num i_x_d = i.{core::num::clamp}(x, d);
- core::num i_y_d = i.{core::num::clamp}(y, d);
- core::num i_z_d = i.{core::num::clamp}(z, d);
- core::num i_n_x = i.{core::num::clamp}(n, x);
- core::num i_i_x = i.{core::num::clamp}(i, x);
- core::num i_d_x = i.{core::num::clamp}(d, x);
- core::num i_x_x = i.{core::num::clamp}(x, x);
- core::num i_y_x = i.{core::num::clamp}(y, x);
- core::num i_z_x = i.{core::num::clamp}(z, x);
- core::num i_n_y = i.{core::num::clamp}(n, y);
- core::int i_i_y = i.{core::num::clamp}(i, y);
- core::num i_d_y = i.{core::num::clamp}(d, y);
- core::num i_x_y = i.{core::num::clamp}(x, y);
- core::int i_y_y = i.{core::num::clamp}(y, y);
- core::num i_z_y = i.{core::num::clamp}(z, y);
- core::num i_n_z = i.{core::num::clamp}(n, z);
- core::num i_i_z = i.{core::num::clamp}(i, z);
- core::num i_d_z = i.{core::num::clamp}(d, z);
- core::num i_x_z = i.{core::num::clamp}(x, z);
- core::num i_y_z = i.{core::num::clamp}(y, z);
- core::num i_z_z = i.{core::num::clamp}(z, z);
- core::num d_n_n = d.{core::num::clamp}(n, n);
- core::num d_i_n = d.{core::num::clamp}(i, n);
- core::num d_d_n = d.{core::num::clamp}(d, n);
- core::num d_x_n = d.{core::num::clamp}(x, n);
- core::num d_y_n = d.{core::num::clamp}(y, n);
- core::num d_z_n = d.{core::num::clamp}(z, n);
- core::num d_n_i = d.{core::num::clamp}(n, i);
- core::num d_i_i = d.{core::num::clamp}(i, i);
- core::num d_d_i = d.{core::num::clamp}(d, i);
- core::num d_x_i = d.{core::num::clamp}(x, i);
- core::num d_y_i = d.{core::num::clamp}(y, i);
- core::num d_z_i = d.{core::num::clamp}(z, i);
- core::num d_n_d = d.{core::num::clamp}(n, d);
- core::num d_i_d = d.{core::num::clamp}(i, d);
- core::double d_d_d = d.{core::num::clamp}(d, d);
- core::num d_x_d = d.{core::num::clamp}(x, d);
- core::num d_y_d = d.{core::num::clamp}(y, d);
- core::double d_z_d = d.{core::num::clamp}(z, d);
- core::num d_n_x = d.{core::num::clamp}(n, x);
- core::num d_i_x = d.{core::num::clamp}(i, x);
- core::num d_d_x = d.{core::num::clamp}(d, x);
- core::num d_x_x = d.{core::num::clamp}(x, x);
- core::num d_y_x = d.{core::num::clamp}(y, x);
- core::num d_z_x = d.{core::num::clamp}(z, x);
- core::num d_n_y = d.{core::num::clamp}(n, y);
- core::num d_i_y = d.{core::num::clamp}(i, y);
- core::num d_d_y = d.{core::num::clamp}(d, y);
- core::num d_x_y = d.{core::num::clamp}(x, y);
- core::num d_y_y = d.{core::num::clamp}(y, y);
- core::num d_z_y = d.{core::num::clamp}(z, y);
- core::num d_n_z = d.{core::num::clamp}(n, z);
- core::num d_i_z = d.{core::num::clamp}(i, z);
- core::double d_d_z = d.{core::num::clamp}(d, z);
- core::num d_x_z = d.{core::num::clamp}(x, z);
- core::num d_y_z = d.{core::num::clamp}(y, z);
- core::double d_z_z = d.{core::num::clamp}(z, z);
- core::num x_n_n = x.{core::num::clamp}(n, n);
- core::num x_i_n = x.{core::num::clamp}(i, n);
- core::num x_d_n = x.{core::num::clamp}(d, n);
- core::num x_x_n = x.{core::num::clamp}(x, n);
- core::num x_y_n = x.{core::num::clamp}(y, n);
- core::num x_z_n = x.{core::num::clamp}(z, n);
- core::num x_n_i = x.{core::num::clamp}(n, i);
- core::num x_i_i = x.{core::num::clamp}(i, i);
- core::num x_d_i = x.{core::num::clamp}(d, i);
- core::num x_x_i = x.{core::num::clamp}(x, i);
- core::num x_y_i = x.{core::num::clamp}(y, i);
- core::num x_z_i = x.{core::num::clamp}(z, i);
- core::num x_n_d = x.{core::num::clamp}(n, d);
- core::num x_i_d = x.{core::num::clamp}(i, d);
- core::num x_d_d = x.{core::num::clamp}(d, d);
- core::num x_x_d = x.{core::num::clamp}(x, d);
- core::num x_y_d = x.{core::num::clamp}(y, d);
- core::num x_z_d = x.{core::num::clamp}(z, d);
- core::num x_n_x = x.{core::num::clamp}(n, x);
- core::num x_i_x = x.{core::num::clamp}(i, x);
- core::num x_d_x = x.{core::num::clamp}(d, x);
- core::num x_x_x = x.{core::num::clamp}(x, x);
- core::num x_y_x = x.{core::num::clamp}(y, x);
- core::num x_z_x = x.{core::num::clamp}(z, x);
- core::num x_n_y = x.{core::num::clamp}(n, y);
- core::num x_i_y = x.{core::num::clamp}(i, y);
- core::num x_d_y = x.{core::num::clamp}(d, y);
- core::num x_x_y = x.{core::num::clamp}(x, y);
- core::num x_y_y = x.{core::num::clamp}(y, y);
- core::num x_z_y = x.{core::num::clamp}(z, y);
- core::num x_n_z = x.{core::num::clamp}(n, z);
- core::num x_i_z = x.{core::num::clamp}(i, z);
- core::num x_d_z = x.{core::num::clamp}(d, z);
- core::num x_x_z = x.{core::num::clamp}(x, z);
- core::num x_y_z = x.{core::num::clamp}(y, z);
- core::num x_z_z = x.{core::num::clamp}(z, z);
- core::num y_n_n = y.{core::num::clamp}(n, n);
- core::num y_i_n = y.{core::num::clamp}(i, n);
- core::num y_d_n = y.{core::num::clamp}(d, n);
- core::num y_x_n = y.{core::num::clamp}(x, n);
- core::num y_y_n = y.{core::num::clamp}(y, n);
- core::num y_z_n = y.{core::num::clamp}(z, n);
- core::num y_n_i = y.{core::num::clamp}(n, i);
- core::int y_i_i = y.{core::num::clamp}(i, i);
- core::num y_d_i = y.{core::num::clamp}(d, i);
- core::num y_x_i = y.{core::num::clamp}(x, i);
- core::int y_y_i = y.{core::num::clamp}(y, i);
- core::num y_z_i = y.{core::num::clamp}(z, i);
- core::num y_n_d = y.{core::num::clamp}(n, d);
- core::num y_i_d = y.{core::num::clamp}(i, d);
- core::num y_d_d = y.{core::num::clamp}(d, d);
- core::num y_x_d = y.{core::num::clamp}(x, d);
- core::num y_y_d = y.{core::num::clamp}(y, d);
- core::num y_z_d = y.{core::num::clamp}(z, d);
- core::num y_n_x = y.{core::num::clamp}(n, x);
- core::num y_i_x = y.{core::num::clamp}(i, x);
- core::num y_d_x = y.{core::num::clamp}(d, x);
- core::num y_x_x = y.{core::num::clamp}(x, x);
- core::num y_y_x = y.{core::num::clamp}(y, x);
- core::num y_z_x = y.{core::num::clamp}(z, x);
- core::num y_n_y = y.{core::num::clamp}(n, y);
- core::int y_i_y = y.{core::num::clamp}(i, y);
- core::num y_d_y = y.{core::num::clamp}(d, y);
- core::num y_x_y = y.{core::num::clamp}(x, y);
- core::int y_y_y = y.{core::num::clamp}(y, y);
- core::num y_z_y = y.{core::num::clamp}(z, y);
- core::num y_n_z = y.{core::num::clamp}(n, z);
- core::num y_i_z = y.{core::num::clamp}(i, z);
- core::num y_d_z = y.{core::num::clamp}(d, z);
- core::num y_x_z = y.{core::num::clamp}(x, z);
- core::num y_y_z = y.{core::num::clamp}(y, z);
- core::num y_z_z = y.{core::num::clamp}(z, z);
- core::num z_n_n = z.{core::num::clamp}(n, n);
- core::num z_i_n = z.{core::num::clamp}(i, n);
- core::num z_d_n = z.{core::num::clamp}(d, n);
- core::num z_x_n = z.{core::num::clamp}(x, n);
- core::num z_y_n = z.{core::num::clamp}(y, n);
- core::num z_z_n = z.{core::num::clamp}(z, n);
- core::num z_n_i = z.{core::num::clamp}(n, i);
- core::num z_i_i = z.{core::num::clamp}(i, i);
- core::num z_d_i = z.{core::num::clamp}(d, i);
- core::num z_x_i = z.{core::num::clamp}(x, i);
- core::num z_y_i = z.{core::num::clamp}(y, i);
- core::num z_z_i = z.{core::num::clamp}(z, i);
- core::num z_n_d = z.{core::num::clamp}(n, d);
- core::num z_i_d = z.{core::num::clamp}(i, d);
- core::double z_d_d = z.{core::num::clamp}(d, d);
- core::num z_x_d = z.{core::num::clamp}(x, d);
- core::num z_y_d = z.{core::num::clamp}(y, d);
- core::double z_z_d = z.{core::num::clamp}(z, d);
- core::num z_n_x = z.{core::num::clamp}(n, x);
- core::num z_i_x = z.{core::num::clamp}(i, x);
- core::num z_d_x = z.{core::num::clamp}(d, x);
- core::num z_x_x = z.{core::num::clamp}(x, x);
- core::num z_y_x = z.{core::num::clamp}(y, x);
- core::num z_z_x = z.{core::num::clamp}(z, x);
- core::num z_n_y = z.{core::num::clamp}(n, y);
- core::num z_i_y = z.{core::num::clamp}(i, y);
- core::num z_d_y = z.{core::num::clamp}(d, y);
- core::num z_x_y = z.{core::num::clamp}(x, y);
- core::num z_y_y = z.{core::num::clamp}(y, y);
- core::num z_z_y = z.{core::num::clamp}(z, y);
- core::num z_n_z = z.{core::num::clamp}(n, z);
- core::num z_i_z = z.{core::num::clamp}(i, z);
- core::double z_d_z = z.{core::num::clamp}(d, z);
- core::num z_x_z = z.{core::num::clamp}(x, z);
- core::num z_y_z = z.{core::num::clamp}(y, z);
- core::double z_z_z = z.{core::num::clamp}(z, z);
+ core::num n_n_n = n.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num n_i_n = n.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num n_d_n = n.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num n_x_n = n.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num n_y_n = n.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num n_z_n = n.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num n_n_i = n.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num n_i_i = n.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num n_d_i = n.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num n_x_i = n.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num n_y_i = n.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num n_z_i = n.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num n_n_d = n.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num n_i_d = n.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num n_d_d = n.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num n_x_d = n.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num n_y_d = n.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num n_z_d = n.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num n_n_x = n.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num n_i_x = n.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num n_d_x = n.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num n_x_x = n.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num n_y_x = n.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num n_z_x = n.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num n_n_y = n.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num n_i_y = n.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num n_d_y = n.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num n_x_y = n.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num n_y_y = n.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num n_z_y = n.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num n_n_z = n.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num n_i_z = n.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num n_d_z = n.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num n_x_z = n.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num n_y_z = n.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num n_z_z = n.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num i_n_n = i.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num i_i_n = i.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num i_d_n = i.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num i_x_n = i.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num i_y_n = i.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num i_z_n = i.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num i_n_i = i.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::int i_i_i = i.{core::num::clamp}(i, i){(core::num, core::num) → core::int};
+ core::num i_d_i = i.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num i_x_i = i.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::int i_y_i = i.{core::num::clamp}(y, i){(core::num, core::num) → core::int};
+ core::num i_z_i = i.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num i_n_d = i.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num i_i_d = i.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num i_d_d = i.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num i_x_d = i.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num i_y_d = i.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num i_z_d = i.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num i_n_x = i.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num i_i_x = i.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num i_d_x = i.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num i_x_x = i.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num i_y_x = i.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num i_z_x = i.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num i_n_y = i.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::int i_i_y = i.{core::num::clamp}(i, y){(core::num, core::num) → core::int};
+ core::num i_d_y = i.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num i_x_y = i.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::int i_y_y = i.{core::num::clamp}(y, y){(core::num, core::num) → core::int};
+ core::num i_z_y = i.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num i_n_z = i.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num i_i_z = i.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num i_d_z = i.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num i_x_z = i.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num i_y_z = i.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num i_z_z = i.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num d_n_n = d.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num d_i_n = d.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num d_d_n = d.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num d_x_n = d.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num d_y_n = d.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num d_z_n = d.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num d_n_i = d.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num d_i_i = d.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num d_d_i = d.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num d_x_i = d.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num d_y_i = d.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num d_z_i = d.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num d_n_d = d.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num d_i_d = d.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::double d_d_d = d.{core::num::clamp}(d, d){(core::num, core::num) → core::double};
+ core::num d_x_d = d.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num d_y_d = d.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::double d_z_d = d.{core::num::clamp}(z, d){(core::num, core::num) → core::double};
+ core::num d_n_x = d.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num d_i_x = d.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num d_d_x = d.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num d_x_x = d.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num d_y_x = d.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num d_z_x = d.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num d_n_y = d.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num d_i_y = d.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num d_d_y = d.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num d_x_y = d.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num d_y_y = d.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num d_z_y = d.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num d_n_z = d.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num d_i_z = d.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::double d_d_z = d.{core::num::clamp}(d, z){(core::num, core::num) → core::double};
+ core::num d_x_z = d.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num d_y_z = d.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::double d_z_z = d.{core::num::clamp}(z, z){(core::num, core::num) → core::double};
+ core::num x_n_n = x.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num x_i_n = x.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num x_d_n = x.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num x_x_n = x.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num x_y_n = x.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num x_z_n = x.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num x_n_i = x.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num x_i_i = x.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num x_d_i = x.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num x_x_i = x.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num x_y_i = x.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num x_z_i = x.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num x_n_d = x.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num x_i_d = x.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num x_d_d = x.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num x_x_d = x.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num x_y_d = x.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num x_z_d = x.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num x_n_x = x.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num x_i_x = x.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num x_d_x = x.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num x_x_x = x.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num x_y_x = x.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num x_z_x = x.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num x_n_y = x.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num x_i_y = x.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num x_d_y = x.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num x_x_y = x.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num x_y_y = x.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num x_z_y = x.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num x_n_z = x.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num x_i_z = x.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num x_d_z = x.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num x_x_z = x.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num x_y_z = x.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num x_z_z = x.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num y_n_n = y.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num y_i_n = y.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num y_d_n = y.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num y_x_n = y.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num y_y_n = y.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num y_z_n = y.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num y_n_i = y.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::int y_i_i = y.{core::num::clamp}(i, i){(core::num, core::num) → core::int};
+ core::num y_d_i = y.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num y_x_i = y.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::int y_y_i = y.{core::num::clamp}(y, i){(core::num, core::num) → core::int};
+ core::num y_z_i = y.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num y_n_d = y.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num y_i_d = y.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::num y_d_d = y.{core::num::clamp}(d, d){(core::num, core::num) → core::num};
+ core::num y_x_d = y.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num y_y_d = y.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::num y_z_d = y.{core::num::clamp}(z, d){(core::num, core::num) → core::num};
+ core::num y_n_x = y.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num y_i_x = y.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num y_d_x = y.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num y_x_x = y.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num y_y_x = y.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num y_z_x = y.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num y_n_y = y.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::int y_i_y = y.{core::num::clamp}(i, y){(core::num, core::num) → core::int};
+ core::num y_d_y = y.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num y_x_y = y.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::int y_y_y = y.{core::num::clamp}(y, y){(core::num, core::num) → core::int};
+ core::num y_z_y = y.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num y_n_z = y.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num y_i_z = y.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::num y_d_z = y.{core::num::clamp}(d, z){(core::num, core::num) → core::num};
+ core::num y_x_z = y.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num y_y_z = y.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::num y_z_z = y.{core::num::clamp}(z, z){(core::num, core::num) → core::num};
+ core::num z_n_n = z.{core::num::clamp}(n, n){(core::num, core::num) → core::num};
+ core::num z_i_n = z.{core::num::clamp}(i, n){(core::num, core::num) → core::num};
+ core::num z_d_n = z.{core::num::clamp}(d, n){(core::num, core::num) → core::num};
+ core::num z_x_n = z.{core::num::clamp}(x, n){(core::num, core::num) → core::num};
+ core::num z_y_n = z.{core::num::clamp}(y, n){(core::num, core::num) → core::num};
+ core::num z_z_n = z.{core::num::clamp}(z, n){(core::num, core::num) → core::num};
+ core::num z_n_i = z.{core::num::clamp}(n, i){(core::num, core::num) → core::num};
+ core::num z_i_i = z.{core::num::clamp}(i, i){(core::num, core::num) → core::num};
+ core::num z_d_i = z.{core::num::clamp}(d, i){(core::num, core::num) → core::num};
+ core::num z_x_i = z.{core::num::clamp}(x, i){(core::num, core::num) → core::num};
+ core::num z_y_i = z.{core::num::clamp}(y, i){(core::num, core::num) → core::num};
+ core::num z_z_i = z.{core::num::clamp}(z, i){(core::num, core::num) → core::num};
+ core::num z_n_d = z.{core::num::clamp}(n, d){(core::num, core::num) → core::num};
+ core::num z_i_d = z.{core::num::clamp}(i, d){(core::num, core::num) → core::num};
+ core::double z_d_d = z.{core::num::clamp}(d, d){(core::num, core::num) → core::double};
+ core::num z_x_d = z.{core::num::clamp}(x, d){(core::num, core::num) → core::num};
+ core::num z_y_d = z.{core::num::clamp}(y, d){(core::num, core::num) → core::num};
+ core::double z_z_d = z.{core::num::clamp}(z, d){(core::num, core::num) → core::double};
+ core::num z_n_x = z.{core::num::clamp}(n, x){(core::num, core::num) → core::num};
+ core::num z_i_x = z.{core::num::clamp}(i, x){(core::num, core::num) → core::num};
+ core::num z_d_x = z.{core::num::clamp}(d, x){(core::num, core::num) → core::num};
+ core::num z_x_x = z.{core::num::clamp}(x, x){(core::num, core::num) → core::num};
+ core::num z_y_x = z.{core::num::clamp}(y, x){(core::num, core::num) → core::num};
+ core::num z_z_x = z.{core::num::clamp}(z, x){(core::num, core::num) → core::num};
+ core::num z_n_y = z.{core::num::clamp}(n, y){(core::num, core::num) → core::num};
+ core::num z_i_y = z.{core::num::clamp}(i, y){(core::num, core::num) → core::num};
+ core::num z_d_y = z.{core::num::clamp}(d, y){(core::num, core::num) → core::num};
+ core::num z_x_y = z.{core::num::clamp}(x, y){(core::num, core::num) → core::num};
+ core::num z_y_y = z.{core::num::clamp}(y, y){(core::num, core::num) → core::num};
+ core::num z_z_y = z.{core::num::clamp}(z, y){(core::num, core::num) → core::num};
+ core::num z_n_z = z.{core::num::clamp}(n, z){(core::num, core::num) → core::num};
+ core::num z_i_z = z.{core::num::clamp}(i, z){(core::num, core::num) → core::num};
+ core::double z_d_z = z.{core::num::clamp}(d, z){(core::num, core::num) → core::double};
+ core::num z_x_z = z.{core::num::clamp}(x, z){(core::num, core::num) → core::num};
+ core::num z_y_z = z.{core::num::clamp}(y, z){(core::num, core::num) → core::num};
+ core::double z_z_z = z.{core::num::clamp}(z, z){(core::num, core::num) → core::double};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/numbers_inferred.dart.strong.expect b/pkg/front_end/testcases/nnbd/numbers_inferred.dart.strong.expect
index cdda24f..43aba38 100644
--- a/pkg/front_end/testcases/nnbd/numbers_inferred.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/numbers_inferred.dart.strong.expect
@@ -552,503 +552,503 @@
static method f<T extends core::Object? = dynamic>() → self::f::T%
return throw "Unsupported";
static method add<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::add::X x, self::add::Y y, self::add::Z z) → dynamic {
- core::num n_n = n.{core::num::+}(self::f<core::num>());
+ core::num n_n = n.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:10:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::+}(self::f<core::double>());
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X n_x = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:12:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y n_y = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:13:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z n_z = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:14:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::+}(self::f<core::num>());
- core::int i_i = i.{core::num::+}(self::f<core::int>());
- core::double i_d = i.{core::num::+}(self::f<core::double>());
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::+}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X i_x = let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:19:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y i_y = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:20:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z i_z = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:21:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::+}(self::f<core::num>());
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:24:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::+}(self::f<core::num>());
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
self::add::X d_x = let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:26:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y d_y = let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:27:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z d_z = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:28:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::+}(self::f<core::num>());
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:31:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::+}(self::f<core::double>());
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X x_x = let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:33:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y x_y = let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:34:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z x_z = let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:35:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::+}(self::f<core::num>());
- core::int y_i = y.{core::num::+}(self::f<core::int>());
- core::double y_d = y.{core::num::+}(self::f<core::double>());
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::+}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X y_x = let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:40:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y y_y = let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:41:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z y_z = let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:42:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::+}(self::f<core::num>());
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:45:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::+}(self::f<core::num>());
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
self::add::X z_x = let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:47:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y z_y = let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:48:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z z_z = let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:49:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method sub<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::sub::X x, self::sub::Y y, self::sub::Z z) → dynamic {
- core::num n_n = n.{core::num::-}(self::f<core::num>());
+ core::num n_n = n.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:55:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::-}(self::f<core::double>());
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X n_x = let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:57:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y n_y = let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:58:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z n_z = let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:59:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::-}(self::f<core::num>());
- core::int i_i = i.{core::num::-}(self::f<core::int>());
- core::double i_d = i.{core::num::-}(self::f<core::double>());
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::-}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X i_x = let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:64:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y i_y = let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:65:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z i_z = let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:66:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::-}(self::f<core::num>());
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:69:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::-}(self::f<core::num>());
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
self::sub::X d_x = let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:71:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y d_y = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:72:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z d_z = let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:73:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::-}(self::f<core::num>());
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:76:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::-}(self::f<core::double>());
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X x_x = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:78:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y x_y = let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:79:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z x_z = let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:80:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::-}(self::f<core::num>());
- core::int y_i = y.{core::num::-}(self::f<core::int>());
- core::double y_d = y.{core::num::-}(self::f<core::double>());
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::-}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X y_x = let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:85:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y y_y = let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:86:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z y_z = let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:87:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::-}(self::f<core::num>());
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:90:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::-}(self::f<core::num>());
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
self::sub::X z_x = let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:92:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y z_y = let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:93:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z z_z = let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:94:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method mul<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mul::X x, self::mul::Y y, self::mul::Z z) → dynamic {
- core::num n_n = n.{core::num::*}(self::f<core::num>());
+ core::num n_n = n.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:100:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::*}(self::f<core::double>());
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X n_x = let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:102:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y n_y = let final Never #t47 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:103:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z n_z = let final Never #t48 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:104:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::*}(self::f<core::num>());
- core::int i_i = i.{core::num::*}(self::f<core::int>());
- core::double i_d = i.{core::num::*}(self::f<core::double>());
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::*}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X i_x = let final Never #t49 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:109:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y i_y = let final Never #t50 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:110:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z i_z = let final Never #t51 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:111:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::*}(self::f<core::num>());
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t52 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:114:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::*}(self::f<core::num>());
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
self::mul::X d_x = let final Never #t53 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:116:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y d_y = let final Never #t54 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:117:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z d_z = let final Never #t55 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:118:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::*}(self::f<core::num>());
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t56 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:121:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::*}(self::f<core::double>());
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X x_x = let final Never #t57 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:123:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y x_y = let final Never #t58 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:124:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z x_z = let final Never #t59 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:125:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::*}(self::f<core::num>());
- core::int y_i = y.{core::num::*}(self::f<core::int>());
- core::double y_d = y.{core::num::*}(self::f<core::double>());
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::*}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X y_x = let final Never #t60 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:130:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y y_y = let final Never #t61 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:131:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z y_z = let final Never #t62 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:132:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::*}(self::f<core::num>());
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t63 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:135:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::*}(self::f<core::num>());
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
self::mul::X z_x = let final Never #t64 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:137:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y z_y = let final Never #t65 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:138:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z z_z = let final Never #t66 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:139:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method mod<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mod::X x, self::mod::Y y, self::mod::Z z) → dynamic {
- core::num n_n = n.{core::num::%}(self::f<core::num>());
+ core::num n_n = n.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t67 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:145:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::%}(self::f<core::double>());
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X n_x = let final Never #t68 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:147:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y n_y = let final Never #t69 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:148:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z n_z = let final Never #t70 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:149:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::%}(self::f<core::num>());
- core::int i_i = i.{core::num::%}(self::f<core::int>());
- core::double i_d = i.{core::num::%}(self::f<core::double>());
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::%}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X i_x = let final Never #t71 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:154:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y i_y = let final Never #t72 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:155:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z i_z = let final Never #t73 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:156:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::%}(self::f<core::num>());
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t74 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:159:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::%}(self::f<core::num>());
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
self::mod::X d_x = let final Never #t75 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:161:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y d_y = let final Never #t76 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:162:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z d_z = let final Never #t77 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:163:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::%}(self::f<core::num>());
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t78 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:166:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::%}(self::f<core::double>());
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X x_x = let final Never #t79 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:168:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y x_y = let final Never #t80 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:169:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z x_z = let final Never #t81 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:170:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::%}(self::f<core::num>());
- core::int y_i = y.{core::num::%}(self::f<core::int>());
- core::double y_d = y.{core::num::%}(self::f<core::double>());
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::%}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X y_x = let final Never #t82 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:175:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y y_y = let final Never #t83 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:176:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z y_z = let final Never #t84 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:177:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::%}(self::f<core::num>());
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t85 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:180:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::%}(self::f<core::num>());
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
self::mod::X z_x = let final Never #t86 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:182:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y z_y = let final Never #t87 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:183:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z z_z = let final Never #t88 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:184:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method remainder<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::remainder::X x, self::remainder::Y y, self::remainder::Z z) → dynamic {
- core::num n_n = n.{core::num::remainder}(self::f<core::num>());
+ core::num n_n = n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t89 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:190:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::remainder}(self::f<core::double>());
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X n_x = let final Never #t90 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:192:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y n_y = let final Never #t91 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:193:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z n_z = let final Never #t92 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:194:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::remainder}(self::f<core::num>());
- core::int i_i = i.{core::num::remainder}(self::f<core::int>());
- core::double i_d = i.{core::num::remainder}(self::f<core::double>());
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::remainder}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X i_x = let final Never #t93 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:199:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y i_y = let final Never #t94 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:200:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z i_z = let final Never #t95 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:201:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::double d_n = d.{core::double::remainder}(self::f<core::num>());
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::double d_n = d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t96 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:204:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::remainder}(self::f<core::num>());
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
self::remainder::X d_x = let final Never #t97 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:206:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y d_y = let final Never #t98 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:207:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z d_z = let final Never #t99 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:208:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::remainder}(self::f<core::num>());
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t100 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:211:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::remainder}(self::f<core::double>());
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X x_x = let final Never #t101 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:213:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y x_y = let final Never #t102 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:214:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z x_z = let final Never #t103 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:215:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::remainder}(self::f<core::num>());
- core::int y_i = y.{core::num::remainder}(self::f<core::int>());
- core::double y_d = y.{core::num::remainder}(self::f<core::double>());
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::remainder}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X y_x = let final Never #t104 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:220:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y y_y = let final Never #t105 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:221:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z y_z = let final Never #t106 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:222:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::double z_n = z.{core::double::remainder}(self::f<core::num>());
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::double z_n = z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t107 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:225:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::remainder}(self::f<core::num>());
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
self::remainder::X z_x = let final Never #t108 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:227:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y z_y = let final Never #t109 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:228:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z z_z = let final Never #t110 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:229:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method clamp<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::clamp::X x, self::clamp::Y y, self::clamp::Z z) → dynamic {
- core::num n_n = n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ core::num n_n = n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int n_i = let final Never #t111 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:235:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
core::double n_d = let final Never #t112 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:236:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double n_d = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X n_x = let final Never #t113 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:237:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y n_y = let final Never #t114 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:238:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z n_z = let final Never #t115 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:239:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
- core::int i_i = i.{core::num::clamp}(self::f<core::int>(), self::f<core::int>());
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
+ core::int i_i = i.{core::num::clamp}(self::f<core::int>(), self::f<core::int>()){(core::num, core::num) → core::int};
core::double i_d = let final Never #t116 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:243:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double i_d = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X i_x = let final Never #t117 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:244:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y i_y = let final Never #t118 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:245:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z i_z = let final Never #t119 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:246:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int d_i = let final Never #t120 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:249:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int d_i = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::num::clamp}(self::f<core::double>(), self::f<core::double>());
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::num::clamp}(self::f<core::double>(), self::f<core::double>()){(core::num, core::num) → core::double};
self::clamp::X d_x = let final Never #t121 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:251:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X d_x = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y d_y = let final Never #t122 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:252:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y d_y = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z d_z = let final Never #t123 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:253:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z d_z = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int x_i = let final Never #t124 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:256:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
core::double x_d = let final Never #t125 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:257:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double x_d = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X x_x = let final Never #t126 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:258:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y x_y = let final Never #t127 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:259:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z x_z = let final Never #t128 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:260:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
- core::int y_i = y.{core::num::clamp}(self::f<core::int>(), self::f<core::int>());
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
+ core::int y_i = y.{core::num::clamp}(self::f<core::int>(), self::f<core::int>()){(core::num, core::num) → core::int};
core::double y_d = let final Never #t129 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:264:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double y_d = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X y_x = let final Never #t130 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:265:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y y_y = let final Never #t131 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:266:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z y_z = let final Never #t132 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:267:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int z_i = let final Never #t133 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:270:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int z_i = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::num::clamp}(self::f<core::double>(), self::f<core::double>());
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::num::clamp}(self::f<core::double>(), self::f<core::double>()){(core::num, core::num) → core::double};
self::clamp::X z_x = let final Never #t134 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:272:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X z_x = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y z_y = let final Never #t135 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:273:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y z_y = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z z_z = let final Never #t136 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:274:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z z_z = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/numbers_inferred.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/numbers_inferred.dart.strong.transformed.expect
index cdda24f..43aba38 100644
--- a/pkg/front_end/testcases/nnbd/numbers_inferred.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/numbers_inferred.dart.strong.transformed.expect
@@ -552,503 +552,503 @@
static method f<T extends core::Object? = dynamic>() → self::f::T%
return throw "Unsupported";
static method add<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::add::X x, self::add::Y y, self::add::Z z) → dynamic {
- core::num n_n = n.{core::num::+}(self::f<core::num>());
+ core::num n_n = n.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:10:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::+}(self::f<core::double>());
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X n_x = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:12:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y n_y = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:13:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z n_z = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:14:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::+}(self::f<core::num>());
- core::int i_i = i.{core::num::+}(self::f<core::int>());
- core::double i_d = i.{core::num::+}(self::f<core::double>());
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::+}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X i_x = let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:19:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y i_y = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:20:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z i_z = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:21:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::+}(self::f<core::num>());
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:24:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::+}(self::f<core::num>());
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
self::add::X d_x = let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:26:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y d_y = let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:27:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z d_z = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:28:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::+}(self::f<core::num>());
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:31:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::+}(self::f<core::double>());
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X x_x = let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:33:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y x_y = let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:34:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z x_z = let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:35:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::+}(self::f<core::num>());
- core::int y_i = y.{core::num::+}(self::f<core::int>());
- core::double y_d = y.{core::num::+}(self::f<core::double>());
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::+}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X y_x = let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:40:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y y_y = let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:41:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z y_z = let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:42:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::+}(self::f<core::num>());
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:45:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::+}(self::f<core::num>());
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
self::add::X z_x = let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:47:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y z_y = let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:48:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z z_z = let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:49:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method sub<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::sub::X x, self::sub::Y y, self::sub::Z z) → dynamic {
- core::num n_n = n.{core::num::-}(self::f<core::num>());
+ core::num n_n = n.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:55:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::-}(self::f<core::double>());
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X n_x = let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:57:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y n_y = let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:58:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z n_z = let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:59:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::-}(self::f<core::num>());
- core::int i_i = i.{core::num::-}(self::f<core::int>());
- core::double i_d = i.{core::num::-}(self::f<core::double>());
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::-}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X i_x = let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:64:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y i_y = let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:65:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z i_z = let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:66:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::-}(self::f<core::num>());
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:69:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::-}(self::f<core::num>());
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
self::sub::X d_x = let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:71:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y d_y = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:72:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z d_z = let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:73:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::-}(self::f<core::num>());
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:76:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::-}(self::f<core::double>());
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X x_x = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:78:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y x_y = let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:79:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z x_z = let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:80:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::-}(self::f<core::num>());
- core::int y_i = y.{core::num::-}(self::f<core::int>());
- core::double y_d = y.{core::num::-}(self::f<core::double>());
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::-}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X y_x = let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:85:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y y_y = let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:86:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z y_z = let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:87:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::-}(self::f<core::num>());
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:90:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::-}(self::f<core::num>());
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
self::sub::X z_x = let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:92:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y z_y = let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:93:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z z_z = let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:94:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method mul<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mul::X x, self::mul::Y y, self::mul::Z z) → dynamic {
- core::num n_n = n.{core::num::*}(self::f<core::num>());
+ core::num n_n = n.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:100:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::*}(self::f<core::double>());
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X n_x = let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:102:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y n_y = let final Never #t47 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:103:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z n_z = let final Never #t48 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:104:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::*}(self::f<core::num>());
- core::int i_i = i.{core::num::*}(self::f<core::int>());
- core::double i_d = i.{core::num::*}(self::f<core::double>());
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::*}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X i_x = let final Never #t49 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:109:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y i_y = let final Never #t50 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:110:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z i_z = let final Never #t51 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:111:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::*}(self::f<core::num>());
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t52 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:114:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::*}(self::f<core::num>());
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
self::mul::X d_x = let final Never #t53 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:116:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y d_y = let final Never #t54 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:117:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z d_z = let final Never #t55 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:118:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::*}(self::f<core::num>());
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t56 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:121:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::*}(self::f<core::double>());
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X x_x = let final Never #t57 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:123:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y x_y = let final Never #t58 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:124:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z x_z = let final Never #t59 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:125:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::*}(self::f<core::num>());
- core::int y_i = y.{core::num::*}(self::f<core::int>());
- core::double y_d = y.{core::num::*}(self::f<core::double>());
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::*}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X y_x = let final Never #t60 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:130:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y y_y = let final Never #t61 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:131:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z y_z = let final Never #t62 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:132:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::*}(self::f<core::num>());
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t63 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:135:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::*}(self::f<core::num>());
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
self::mul::X z_x = let final Never #t64 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:137:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y z_y = let final Never #t65 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:138:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z z_z = let final Never #t66 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:139:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method mod<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mod::X x, self::mod::Y y, self::mod::Z z) → dynamic {
- core::num n_n = n.{core::num::%}(self::f<core::num>());
+ core::num n_n = n.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t67 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:145:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::%}(self::f<core::double>());
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X n_x = let final Never #t68 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:147:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y n_y = let final Never #t69 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:148:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z n_z = let final Never #t70 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:149:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::%}(self::f<core::num>());
- core::int i_i = i.{core::num::%}(self::f<core::int>());
- core::double i_d = i.{core::num::%}(self::f<core::double>());
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::%}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X i_x = let final Never #t71 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:154:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y i_y = let final Never #t72 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:155:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z i_z = let final Never #t73 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:156:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::%}(self::f<core::num>());
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t74 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:159:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::%}(self::f<core::num>());
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
self::mod::X d_x = let final Never #t75 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:161:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y d_y = let final Never #t76 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:162:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z d_z = let final Never #t77 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:163:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::%}(self::f<core::num>());
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t78 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:166:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::%}(self::f<core::double>());
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X x_x = let final Never #t79 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:168:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y x_y = let final Never #t80 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:169:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z x_z = let final Never #t81 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:170:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::%}(self::f<core::num>());
- core::int y_i = y.{core::num::%}(self::f<core::int>());
- core::double y_d = y.{core::num::%}(self::f<core::double>());
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::%}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X y_x = let final Never #t82 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:175:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y y_y = let final Never #t83 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:176:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z y_z = let final Never #t84 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:177:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::%}(self::f<core::num>());
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t85 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:180:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::%}(self::f<core::num>());
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
self::mod::X z_x = let final Never #t86 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:182:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y z_y = let final Never #t87 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:183:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z z_z = let final Never #t88 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:184:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method remainder<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::remainder::X x, self::remainder::Y y, self::remainder::Z z) → dynamic {
- core::num n_n = n.{core::num::remainder}(self::f<core::num>());
+ core::num n_n = n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t89 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:190:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::remainder}(self::f<core::double>());
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X n_x = let final Never #t90 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:192:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y n_y = let final Never #t91 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:193:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z n_z = let final Never #t92 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:194:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::remainder}(self::f<core::num>());
- core::int i_i = i.{core::num::remainder}(self::f<core::int>());
- core::double i_d = i.{core::num::remainder}(self::f<core::double>());
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::remainder}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X i_x = let final Never #t93 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:199:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y i_y = let final Never #t94 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:200:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z i_z = let final Never #t95 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:201:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::double d_n = d.{core::double::remainder}(self::f<core::num>());
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::double d_n = d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t96 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:204:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::remainder}(self::f<core::num>());
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
self::remainder::X d_x = let final Never #t97 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:206:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y d_y = let final Never #t98 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:207:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z d_z = let final Never #t99 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:208:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::remainder}(self::f<core::num>());
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t100 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:211:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::remainder}(self::f<core::double>());
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X x_x = let final Never #t101 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:213:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y x_y = let final Never #t102 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:214:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z x_z = let final Never #t103 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:215:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::remainder}(self::f<core::num>());
- core::int y_i = y.{core::num::remainder}(self::f<core::int>());
- core::double y_d = y.{core::num::remainder}(self::f<core::double>());
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::remainder}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X y_x = let final Never #t104 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:220:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y y_y = let final Never #t105 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:221:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z y_z = let final Never #t106 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:222:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::double z_n = z.{core::double::remainder}(self::f<core::num>());
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::double z_n = z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t107 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:225:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::remainder}(self::f<core::num>());
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
self::remainder::X z_x = let final Never #t108 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:227:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y z_y = let final Never #t109 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:228:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z z_z = let final Never #t110 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:229:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method clamp<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::clamp::X x, self::clamp::Y y, self::clamp::Z z) → dynamic {
- core::num n_n = n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ core::num n_n = n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int n_i = let final Never #t111 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:235:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
core::double n_d = let final Never #t112 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:236:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double n_d = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X n_x = let final Never #t113 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:237:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y n_y = let final Never #t114 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:238:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z n_z = let final Never #t115 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:239:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
- core::int i_i = i.{core::num::clamp}(self::f<core::int>(), self::f<core::int>());
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
+ core::int i_i = i.{core::num::clamp}(self::f<core::int>(), self::f<core::int>()){(core::num, core::num) → core::int};
core::double i_d = let final Never #t116 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:243:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double i_d = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X i_x = let final Never #t117 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:244:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y i_y = let final Never #t118 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:245:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z i_z = let final Never #t119 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:246:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int d_i = let final Never #t120 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:249:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int d_i = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::num::clamp}(self::f<core::double>(), self::f<core::double>());
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::num::clamp}(self::f<core::double>(), self::f<core::double>()){(core::num, core::num) → core::double};
self::clamp::X d_x = let final Never #t121 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:251:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X d_x = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y d_y = let final Never #t122 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:252:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y d_y = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z d_z = let final Never #t123 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:253:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z d_z = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int x_i = let final Never #t124 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:256:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
core::double x_d = let final Never #t125 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:257:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double x_d = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X x_x = let final Never #t126 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:258:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y x_y = let final Never #t127 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:259:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z x_z = let final Never #t128 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:260:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
- core::int y_i = y.{core::num::clamp}(self::f<core::int>(), self::f<core::int>());
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
+ core::int y_i = y.{core::num::clamp}(self::f<core::int>(), self::f<core::int>()){(core::num, core::num) → core::int};
core::double y_d = let final Never #t129 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:264:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double y_d = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X y_x = let final Never #t130 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:265:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y y_y = let final Never #t131 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:266:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z y_z = let final Never #t132 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:267:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int z_i = let final Never #t133 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:270:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int z_i = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::num::clamp}(self::f<core::double>(), self::f<core::double>());
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::num::clamp}(self::f<core::double>(), self::f<core::double>()){(core::num, core::num) → core::double};
self::clamp::X z_x = let final Never #t134 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:272:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X z_x = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y z_y = let final Never #t135 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:273:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y z_y = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z z_z = let final Never #t136 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:274:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z z_z = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.expect b/pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.expect
index cdda24f..43aba38 100644
--- a/pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.expect
@@ -552,503 +552,503 @@
static method f<T extends core::Object? = dynamic>() → self::f::T%
return throw "Unsupported";
static method add<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::add::X x, self::add::Y y, self::add::Z z) → dynamic {
- core::num n_n = n.{core::num::+}(self::f<core::num>());
+ core::num n_n = n.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:10:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::+}(self::f<core::double>());
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X n_x = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:12:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y n_y = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:13:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z n_z = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:14:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::+}(self::f<core::num>());
- core::int i_i = i.{core::num::+}(self::f<core::int>());
- core::double i_d = i.{core::num::+}(self::f<core::double>());
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::+}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X i_x = let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:19:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y i_y = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:20:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z i_z = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:21:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::+}(self::f<core::num>());
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:24:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::+}(self::f<core::num>());
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
self::add::X d_x = let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:26:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y d_y = let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:27:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z d_z = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:28:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::+}(self::f<core::num>());
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:31:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::+}(self::f<core::double>());
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X x_x = let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:33:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y x_y = let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:34:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z x_z = let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:35:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::+}(self::f<core::num>());
- core::int y_i = y.{core::num::+}(self::f<core::int>());
- core::double y_d = y.{core::num::+}(self::f<core::double>());
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::+}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X y_x = let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:40:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y y_y = let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:41:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z y_z = let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:42:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::+}(self::f<core::num>());
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:45:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::+}(self::f<core::num>());
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
self::add::X z_x = let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:47:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y z_y = let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:48:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z z_z = let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:49:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method sub<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::sub::X x, self::sub::Y y, self::sub::Z z) → dynamic {
- core::num n_n = n.{core::num::-}(self::f<core::num>());
+ core::num n_n = n.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:55:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::-}(self::f<core::double>());
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X n_x = let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:57:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y n_y = let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:58:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z n_z = let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:59:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::-}(self::f<core::num>());
- core::int i_i = i.{core::num::-}(self::f<core::int>());
- core::double i_d = i.{core::num::-}(self::f<core::double>());
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::-}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X i_x = let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:64:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y i_y = let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:65:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z i_z = let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:66:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::-}(self::f<core::num>());
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:69:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::-}(self::f<core::num>());
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
self::sub::X d_x = let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:71:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y d_y = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:72:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z d_z = let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:73:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::-}(self::f<core::num>());
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:76:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::-}(self::f<core::double>());
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X x_x = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:78:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y x_y = let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:79:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z x_z = let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:80:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::-}(self::f<core::num>());
- core::int y_i = y.{core::num::-}(self::f<core::int>());
- core::double y_d = y.{core::num::-}(self::f<core::double>());
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::-}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X y_x = let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:85:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y y_y = let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:86:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z y_z = let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:87:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::-}(self::f<core::num>());
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:90:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::-}(self::f<core::num>());
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
self::sub::X z_x = let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:92:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y z_y = let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:93:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z z_z = let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:94:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method mul<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mul::X x, self::mul::Y y, self::mul::Z z) → dynamic {
- core::num n_n = n.{core::num::*}(self::f<core::num>());
+ core::num n_n = n.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:100:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::*}(self::f<core::double>());
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X n_x = let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:102:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y n_y = let final Never #t47 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:103:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z n_z = let final Never #t48 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:104:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::*}(self::f<core::num>());
- core::int i_i = i.{core::num::*}(self::f<core::int>());
- core::double i_d = i.{core::num::*}(self::f<core::double>());
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::*}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X i_x = let final Never #t49 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:109:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y i_y = let final Never #t50 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:110:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z i_z = let final Never #t51 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:111:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::*}(self::f<core::num>());
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t52 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:114:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::*}(self::f<core::num>());
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
self::mul::X d_x = let final Never #t53 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:116:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y d_y = let final Never #t54 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:117:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z d_z = let final Never #t55 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:118:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::*}(self::f<core::num>());
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t56 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:121:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::*}(self::f<core::double>());
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X x_x = let final Never #t57 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:123:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y x_y = let final Never #t58 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:124:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z x_z = let final Never #t59 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:125:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::*}(self::f<core::num>());
- core::int y_i = y.{core::num::*}(self::f<core::int>());
- core::double y_d = y.{core::num::*}(self::f<core::double>());
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::*}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X y_x = let final Never #t60 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:130:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y y_y = let final Never #t61 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:131:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z y_z = let final Never #t62 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:132:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::*}(self::f<core::num>());
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t63 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:135:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::*}(self::f<core::num>());
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
self::mul::X z_x = let final Never #t64 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:137:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y z_y = let final Never #t65 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:138:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z z_z = let final Never #t66 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:139:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method mod<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mod::X x, self::mod::Y y, self::mod::Z z) → dynamic {
- core::num n_n = n.{core::num::%}(self::f<core::num>());
+ core::num n_n = n.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t67 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:145:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::%}(self::f<core::double>());
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X n_x = let final Never #t68 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:147:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y n_y = let final Never #t69 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:148:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z n_z = let final Never #t70 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:149:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::%}(self::f<core::num>());
- core::int i_i = i.{core::num::%}(self::f<core::int>());
- core::double i_d = i.{core::num::%}(self::f<core::double>());
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::%}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X i_x = let final Never #t71 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:154:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y i_y = let final Never #t72 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:155:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z i_z = let final Never #t73 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:156:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::%}(self::f<core::num>());
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t74 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:159:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::%}(self::f<core::num>());
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
self::mod::X d_x = let final Never #t75 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:161:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y d_y = let final Never #t76 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:162:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z d_z = let final Never #t77 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:163:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::%}(self::f<core::num>());
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t78 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:166:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::%}(self::f<core::double>());
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X x_x = let final Never #t79 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:168:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y x_y = let final Never #t80 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:169:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z x_z = let final Never #t81 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:170:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::%}(self::f<core::num>());
- core::int y_i = y.{core::num::%}(self::f<core::int>());
- core::double y_d = y.{core::num::%}(self::f<core::double>());
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::%}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X y_x = let final Never #t82 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:175:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y y_y = let final Never #t83 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:176:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z y_z = let final Never #t84 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:177:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::%}(self::f<core::num>());
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t85 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:180:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::%}(self::f<core::num>());
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
self::mod::X z_x = let final Never #t86 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:182:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y z_y = let final Never #t87 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:183:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z z_z = let final Never #t88 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:184:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method remainder<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::remainder::X x, self::remainder::Y y, self::remainder::Z z) → dynamic {
- core::num n_n = n.{core::num::remainder}(self::f<core::num>());
+ core::num n_n = n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t89 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:190:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::remainder}(self::f<core::double>());
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X n_x = let final Never #t90 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:192:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y n_y = let final Never #t91 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:193:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z n_z = let final Never #t92 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:194:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::remainder}(self::f<core::num>());
- core::int i_i = i.{core::num::remainder}(self::f<core::int>());
- core::double i_d = i.{core::num::remainder}(self::f<core::double>());
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::remainder}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X i_x = let final Never #t93 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:199:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y i_y = let final Never #t94 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:200:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z i_z = let final Never #t95 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:201:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::double d_n = d.{core::double::remainder}(self::f<core::num>());
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::double d_n = d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t96 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:204:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::remainder}(self::f<core::num>());
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
self::remainder::X d_x = let final Never #t97 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:206:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y d_y = let final Never #t98 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:207:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z d_z = let final Never #t99 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:208:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::remainder}(self::f<core::num>());
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t100 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:211:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::remainder}(self::f<core::double>());
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X x_x = let final Never #t101 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:213:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y x_y = let final Never #t102 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:214:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z x_z = let final Never #t103 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:215:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::remainder}(self::f<core::num>());
- core::int y_i = y.{core::num::remainder}(self::f<core::int>());
- core::double y_d = y.{core::num::remainder}(self::f<core::double>());
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::remainder}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X y_x = let final Never #t104 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:220:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y y_y = let final Never #t105 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:221:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z y_z = let final Never #t106 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:222:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::double z_n = z.{core::double::remainder}(self::f<core::num>());
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::double z_n = z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t107 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:225:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::remainder}(self::f<core::num>());
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
self::remainder::X z_x = let final Never #t108 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:227:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y z_y = let final Never #t109 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:228:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z z_z = let final Never #t110 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:229:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method clamp<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::clamp::X x, self::clamp::Y y, self::clamp::Z z) → dynamic {
- core::num n_n = n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ core::num n_n = n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int n_i = let final Never #t111 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:235:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
core::double n_d = let final Never #t112 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:236:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double n_d = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X n_x = let final Never #t113 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:237:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y n_y = let final Never #t114 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:238:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z n_z = let final Never #t115 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:239:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
- core::int i_i = i.{core::num::clamp}(self::f<core::int>(), self::f<core::int>());
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
+ core::int i_i = i.{core::num::clamp}(self::f<core::int>(), self::f<core::int>()){(core::num, core::num) → core::int};
core::double i_d = let final Never #t116 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:243:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double i_d = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X i_x = let final Never #t117 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:244:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y i_y = let final Never #t118 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:245:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z i_z = let final Never #t119 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:246:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int d_i = let final Never #t120 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:249:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int d_i = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::num::clamp}(self::f<core::double>(), self::f<core::double>());
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::num::clamp}(self::f<core::double>(), self::f<core::double>()){(core::num, core::num) → core::double};
self::clamp::X d_x = let final Never #t121 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:251:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X d_x = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y d_y = let final Never #t122 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:252:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y d_y = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z d_z = let final Never #t123 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:253:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z d_z = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int x_i = let final Never #t124 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:256:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
core::double x_d = let final Never #t125 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:257:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double x_d = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X x_x = let final Never #t126 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:258:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y x_y = let final Never #t127 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:259:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z x_z = let final Never #t128 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:260:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
- core::int y_i = y.{core::num::clamp}(self::f<core::int>(), self::f<core::int>());
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
+ core::int y_i = y.{core::num::clamp}(self::f<core::int>(), self::f<core::int>()){(core::num, core::num) → core::int};
core::double y_d = let final Never #t129 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:264:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double y_d = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X y_x = let final Never #t130 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:265:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y y_y = let final Never #t131 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:266:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z y_z = let final Never #t132 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:267:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int z_i = let final Never #t133 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:270:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int z_i = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::num::clamp}(self::f<core::double>(), self::f<core::double>());
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::num::clamp}(self::f<core::double>(), self::f<core::double>()){(core::num, core::num) → core::double};
self::clamp::X z_x = let final Never #t134 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:272:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X z_x = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y z_y = let final Never #t135 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:273:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y z_y = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z z_z = let final Never #t136 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:274:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z z_z = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.transformed.expect
index cdda24f..43aba38 100644
--- a/pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.transformed.expect
@@ -552,503 +552,503 @@
static method f<T extends core::Object? = dynamic>() → self::f::T%
return throw "Unsupported";
static method add<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::add::X x, self::add::Y y, self::add::Z z) → dynamic {
- core::num n_n = n.{core::num::+}(self::f<core::num>());
+ core::num n_n = n.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:10:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::+}(self::f<core::double>());
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X n_x = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:12:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y n_y = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:13:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z n_z = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:14:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n + f();
- ^" in n.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::+}(self::f<core::num>());
- core::int i_i = i.{core::num::+}(self::f<core::int>());
- core::double i_d = i.{core::num::+}(self::f<core::double>());
+ ^" in n.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::+}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X i_x = let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:19:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y i_y = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:20:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z i_z = let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:21:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i + f();
- ^" in i.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::+}(self::f<core::num>());
+ ^" in i.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:24:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::+}(self::f<core::num>());
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
self::add::X d_x = let final Never #t9 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:26:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y d_y = let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:27:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z d_z = let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:28:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d + f();
- ^" in d.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::+}(self::f<core::num>());
+ ^" in d.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:31:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::+}(self::f<core::double>());
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X x_x = let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:33:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y x_y = let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:34:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z x_z = let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:35:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x + f();
- ^" in x.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::+}(self::f<core::num>());
- core::int y_i = y.{core::num::+}(self::f<core::int>());
- core::double y_d = y.{core::num::+}(self::f<core::double>());
+ ^" in x.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::+}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::+}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::+}(self::f<core::double>()){(core::num) → core::double};
self::add::X y_x = let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:40:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y y_y = let final Never #t17 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:41:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z y_z = let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:42:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y + f();
- ^" in y.{core::num::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::+}(self::f<core::num>());
+ ^" in y.{core::num::+}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:45:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::+}(self::f<core::num>());
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::+}(self::f<core::num>()){(core::num) → core::double};
self::add::X z_x = let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:47:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Y z_y = let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:48:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::add::Z z_z = let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:49:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z + f();
- ^" in z.{core::double::+}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::+}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method sub<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::sub::X x, self::sub::Y y, self::sub::Z z) → dynamic {
- core::num n_n = n.{core::num::-}(self::f<core::num>());
+ core::num n_n = n.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:55:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::-}(self::f<core::double>());
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X n_x = let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:57:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y n_y = let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:58:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z n_z = let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:59:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n - f();
- ^" in n.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::-}(self::f<core::num>());
- core::int i_i = i.{core::num::-}(self::f<core::int>());
- core::double i_d = i.{core::num::-}(self::f<core::double>());
+ ^" in n.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::-}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X i_x = let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:64:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y i_y = let final Never #t28 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:65:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z i_z = let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:66:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i - f();
- ^" in i.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::-}(self::f<core::num>());
+ ^" in i.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:69:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::-}(self::f<core::num>());
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
self::sub::X d_x = let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:71:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y d_y = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:72:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z d_z = let final Never #t33 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:73:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d - f();
- ^" in d.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::-}(self::f<core::num>());
+ ^" in d.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t34 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:76:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::-}(self::f<core::double>());
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X x_x = let final Never #t35 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:78:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y x_y = let final Never #t36 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:79:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z x_z = let final Never #t37 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:80:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x - f();
- ^" in x.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::-}(self::f<core::num>());
- core::int y_i = y.{core::num::-}(self::f<core::int>());
- core::double y_d = y.{core::num::-}(self::f<core::double>());
+ ^" in x.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::-}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::-}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::-}(self::f<core::double>()){(core::num) → core::double};
self::sub::X y_x = let final Never #t38 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:85:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y y_y = let final Never #t39 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:86:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z y_z = let final Never #t40 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:87:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y - f();
- ^" in y.{core::num::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::-}(self::f<core::num>());
+ ^" in y.{core::num::-}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t41 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:90:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::-}(self::f<core::num>());
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::-}(self::f<core::num>()){(core::num) → core::double};
self::sub::X z_x = let final Never #t42 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:92:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Y z_y = let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:93:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::sub::Z z_z = let final Never #t44 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:94:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z - f();
- ^" in z.{core::double::-}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::-}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method mul<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mul::X x, self::mul::Y y, self::mul::Z z) → dynamic {
- core::num n_n = n.{core::num::*}(self::f<core::num>());
+ core::num n_n = n.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:100:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::*}(self::f<core::double>());
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X n_x = let final Never #t46 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:102:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y n_y = let final Never #t47 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:103:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z n_z = let final Never #t48 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:104:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n * f();
- ^" in n.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::*}(self::f<core::num>());
- core::int i_i = i.{core::num::*}(self::f<core::int>());
- core::double i_d = i.{core::num::*}(self::f<core::double>());
+ ^" in n.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::*}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X i_x = let final Never #t49 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:109:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y i_y = let final Never #t50 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:110:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z i_z = let final Never #t51 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:111:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i * f();
- ^" in i.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::*}(self::f<core::num>());
+ ^" in i.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t52 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:114:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::*}(self::f<core::num>());
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
self::mul::X d_x = let final Never #t53 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:116:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y d_y = let final Never #t54 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:117:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z d_z = let final Never #t55 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:118:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d * f();
- ^" in d.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::*}(self::f<core::num>());
+ ^" in d.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t56 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:121:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::*}(self::f<core::double>());
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X x_x = let final Never #t57 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:123:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y x_y = let final Never #t58 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:124:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z x_z = let final Never #t59 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:125:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x * f();
- ^" in x.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::*}(self::f<core::num>());
- core::int y_i = y.{core::num::*}(self::f<core::int>());
- core::double y_d = y.{core::num::*}(self::f<core::double>());
+ ^" in x.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::*}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::*}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::*}(self::f<core::double>()){(core::num) → core::double};
self::mul::X y_x = let final Never #t60 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:130:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y y_y = let final Never #t61 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:131:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z y_z = let final Never #t62 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:132:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y * f();
- ^" in y.{core::num::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::*}(self::f<core::num>());
+ ^" in y.{core::num::*}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t63 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:135:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::*}(self::f<core::num>());
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::*}(self::f<core::num>()){(core::num) → core::double};
self::mul::X z_x = let final Never #t64 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:137:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Y z_y = let final Never #t65 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:138:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mul::Z z_z = let final Never #t66 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:139:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z * f();
- ^" in z.{core::double::*}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::*}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method mod<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::mod::X x, self::mod::Y y, self::mod::Z z) → dynamic {
- core::num n_n = n.{core::num::%}(self::f<core::num>());
+ core::num n_n = n.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t67 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:145:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::%}(self::f<core::double>());
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X n_x = let final Never #t68 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:147:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y n_y = let final Never #t69 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:148:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z n_z = let final Never #t70 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:149:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n % f();
- ^" in n.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::%}(self::f<core::num>());
- core::int i_i = i.{core::num::%}(self::f<core::int>());
- core::double i_d = i.{core::num::%}(self::f<core::double>());
+ ^" in n.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::%}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X i_x = let final Never #t71 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:154:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y i_y = let final Never #t72 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:155:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z i_z = let final Never #t73 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:156:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i % f();
- ^" in i.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::double::%}(self::f<core::num>());
+ ^" in i.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t74 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:159:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::%}(self::f<core::num>());
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
self::mod::X d_x = let final Never #t75 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:161:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y d_y = let final Never #t76 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:162:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z d_z = let final Never #t77 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:163:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d % f();
- ^" in d.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::%}(self::f<core::num>());
+ ^" in d.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t78 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:166:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::%}(self::f<core::double>());
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X x_x = let final Never #t79 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:168:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y x_y = let final Never #t80 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:169:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z x_z = let final Never #t81 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:170:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x % f();
- ^" in x.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::%}(self::f<core::num>());
- core::int y_i = y.{core::num::%}(self::f<core::int>());
- core::double y_d = y.{core::num::%}(self::f<core::double>());
+ ^" in x.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::%}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::%}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::%}(self::f<core::double>()){(core::num) → core::double};
self::mod::X y_x = let final Never #t82 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:175:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y y_y = let final Never #t83 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:176:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z y_z = let final Never #t84 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:177:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y % f();
- ^" in y.{core::num::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::double::%}(self::f<core::num>());
+ ^" in y.{core::num::%}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t85 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:180:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::%}(self::f<core::num>());
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::%}(self::f<core::num>()){(core::num) → core::double};
self::mod::X z_x = let final Never #t86 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:182:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Y z_y = let final Never #t87 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:183:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::mod::Z z_z = let final Never #t88 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:184:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z % f();
- ^" in z.{core::double::%}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::%}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method remainder<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::remainder::X x, self::remainder::Y y, self::remainder::Z z) → dynamic {
- core::num n_n = n.{core::num::remainder}(self::f<core::num>());
+ core::num n_n = n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
core::int n_i = let final Never #t89 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:190:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double n_d = n.{core::num::remainder}(self::f<core::double>());
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double n_d = n.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X n_x = let final Never #t90 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:192:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y n_y = let final Never #t91 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:193:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z n_z = let final Never #t92 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:194:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n.remainder(f());
- ^" in n.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::remainder}(self::f<core::num>());
- core::int i_i = i.{core::num::remainder}(self::f<core::int>());
- core::double i_d = i.{core::num::remainder}(self::f<core::double>());
+ ^" in n.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
+ core::int i_i = i.{core::num::remainder}(self::f<core::int>()){(core::num) → core::int};
+ core::double i_d = i.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X i_x = let final Never #t93 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:199:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y i_y = let final Never #t94 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:200:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z i_z = let final Never #t95 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:201:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i.remainder(f());
- ^" in i.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::double d_n = d.{core::double::remainder}(self::f<core::num>());
+ ^" in i.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::double d_n = d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
core::int d_i = let final Never #t96 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:204:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int d_i = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::double::remainder}(self::f<core::num>());
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
self::remainder::X d_x = let final Never #t97 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:206:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X d_x = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y d_y = let final Never #t98 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:207:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y d_y = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z d_z = let final Never #t99 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:208:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z d_z = d.remainder(f());
- ^" in d.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::remainder}(self::f<core::num>());
+ ^" in d.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
core::int x_i = let final Never #t100 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:211:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double x_d = x.{core::num::remainder}(self::f<core::double>());
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double x_d = x.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X x_x = let final Never #t101 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:213:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y x_y = let final Never #t102 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:214:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z x_z = let final Never #t103 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:215:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x.remainder(f());
- ^" in x.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::remainder}(self::f<core::num>());
- core::int y_i = y.{core::num::remainder}(self::f<core::int>());
- core::double y_d = y.{core::num::remainder}(self::f<core::double>());
+ ^" in x.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num};
+ core::int y_i = y.{core::num::remainder}(self::f<core::int>()){(core::num) → core::int};
+ core::double y_d = y.{core::num::remainder}(self::f<core::double>()){(core::num) → core::double};
self::remainder::X y_x = let final Never #t104 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:220:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y y_y = let final Never #t105 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:221:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z y_z = let final Never #t106 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:222:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y.remainder(f());
- ^" in y.{core::num::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::double z_n = z.{core::double::remainder}(self::f<core::num>());
+ ^" in y.{core::num::remainder}(self::f<core::num>()){(core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::double z_n = z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
core::int z_i = let final Never #t107 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:225:15: Error: A value of type 'double' can't be assigned to a variable of type 'int'.
int z_i = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::double::remainder}(self::f<core::num>());
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double};
self::remainder::X z_x = let final Never #t108 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:227:13: Error: A value of type 'double' can't be assigned to a variable of type 'X'.
X z_x = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Y z_y = let final Never #t109 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:228:13: Error: A value of type 'double' can't be assigned to a variable of type 'Y'.
Y z_y = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
self::remainder::Z z_z = let final Never #t110 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:229:13: Error: A value of type 'double' can't be assigned to a variable of type 'Z'.
Z z_z = z.remainder(f());
- ^" in z.{core::double::remainder}(self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::double::remainder}(self::f<core::num>()){(core::num) → core::double} as{TypeError,ForNonNullableByDefault} Never;
}
static method clamp<X extends core::num, Y extends core::int, Z extends core::double>(core::num n, core::int i, core::double d, self::clamp::X x, self::clamp::Y y, self::clamp::Z z) → dynamic {
- core::num n_n = n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ core::num n_n = n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int n_i = let final Never #t111 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:235:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int n_i = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
core::double n_d = let final Never #t112 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:236:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double n_d = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X n_x = let final Never #t113 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:237:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X n_x = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y n_y = let final Never #t114 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:238:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y n_y = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z n_z = let final Never #t115 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:239:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z n_z = n.clamp(f(), f());
- ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num i_n = i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
- core::int i_i = i.{core::num::clamp}(self::f<core::int>(), self::f<core::int>());
+ ^" in n.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num i_n = i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
+ core::int i_i = i.{core::num::clamp}(self::f<core::int>(), self::f<core::int>()){(core::num, core::num) → core::int};
core::double i_d = let final Never #t116 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:243:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double i_d = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X i_x = let final Never #t117 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:244:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X i_x = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y i_y = let final Never #t118 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:245:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y i_y = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z i_z = let final Never #t119 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:246:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z i_z = i.clamp(f(), f());
- ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num d_n = d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in i.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num d_n = d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int d_i = let final Never #t120 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:249:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int d_i = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double d_d = d.{core::num::clamp}(self::f<core::double>(), self::f<core::double>());
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double d_d = d.{core::num::clamp}(self::f<core::double>(), self::f<core::double>()){(core::num, core::num) → core::double};
self::clamp::X d_x = let final Never #t121 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:251:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X d_x = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y d_y = let final Never #t122 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:252:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y d_y = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z d_z = let final Never #t123 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:253:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z d_z = d.clamp(f(), f());
- ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num x_n = x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in d.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num x_n = x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int x_i = let final Never #t124 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:256:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int x_i = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
core::double x_d = let final Never #t125 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:257:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double x_d = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X x_x = let final Never #t126 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:258:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X x_x = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y x_y = let final Never #t127 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:259:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y x_y = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z x_z = let final Never #t128 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:260:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z x_z = x.clamp(f(), f());
- ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num y_n = y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
- core::int y_i = y.{core::num::clamp}(self::f<core::int>(), self::f<core::int>());
+ ^" in x.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num y_n = y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
+ core::int y_i = y.{core::num::clamp}(self::f<core::int>(), self::f<core::int>()){(core::num, core::num) → core::int};
core::double y_d = let final Never #t129 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:264:18: Error: A value of type 'num' can't be assigned to a variable of type 'double'.
double y_d = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::double;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::double;
self::clamp::X y_x = let final Never #t130 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:265:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X y_x = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y y_y = let final Never #t131 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:266:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y y_y = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z y_z = let final Never #t132 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:267:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z y_z = y.clamp(f(), f());
- ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
- core::num z_n = z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>());
+ ^" in y.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
+ core::num z_n = z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num};
core::int z_i = let final Never #t133 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:270:15: Error: A value of type 'num' can't be assigned to a variable of type 'int'.
int z_i = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} core::int;
- core::double z_d = z.{core::num::clamp}(self::f<core::double>(), self::f<core::double>());
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} core::int;
+ core::double z_d = z.{core::num::clamp}(self::f<core::double>(), self::f<core::double>()){(core::num, core::num) → core::double};
self::clamp::X z_x = let final Never #t134 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:272:13: Error: A value of type 'num' can't be assigned to a variable of type 'X'.
X z_x = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Y z_y = let final Never #t135 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:273:13: Error: A value of type 'num' can't be assigned to a variable of type 'Y'.
Y z_y = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
self::clamp::Z z_z = let final Never #t136 = invalid-expression "pkg/front_end/testcases/nnbd/numbers_inferred.dart:274:13: Error: A value of type 'num' can't be assigned to a variable of type 'Z'.
Z z_z = z.clamp(f(), f());
- ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()) as{TypeError,ForNonNullableByDefault} Never;
+ ^" in z.{core::num::clamp}(self::f<core::num>(), self::f<core::num>()){(core::num, core::num) → core::num} as{TypeError,ForNonNullableByDefault} Never;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.strong.expect b/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.strong.expect
index 8c3e68c..d77513d 100644
--- a/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.strong.expect
@@ -445,64 +445,64 @@
}
static field core::num topLevelBinary = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:37:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
var topLevelBinary = nullableInt + 0;
- ^" in self::nullableInt.{core::num::+}(0);
+ ^" in self::nullableInt.{core::num::+}(0){(core::num) → core::num};
static field core::int topLevelUnary = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:38:21: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
var topLevelUnary = -nullableInt;
- ^" in self::nullableInt.{core::int::unary-}();
+ ^" in self::nullableInt.{core::int::unary-}(){() → core::int};
static field dynamic topLevelIndexGet = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:39:35: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var topLevelIndexGet = nullableMap[0];
- ^" in self::nullableMap.{core::Map::[]}(0);
+ ^" in self::nullableMap.{core::Map::[]}{<nullable>}.(0){(core::Object?) → dynamic};
static field core::int topLevelIndexSet = let final core::Map<dynamic, dynamic>? #t4 = self::nullableMap in let final core::int #t5 = 0 in let final core::int #t6 = 1 in let final void #t7 = let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:40:35: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var topLevelIndexSet = nullableMap[0] = 1;
- ^" in #t4.{core::Map::[]=}(#t5, #t6) in #t6;
+ ^" in #t4.{core::Map::[]=}{<nullable>}.(#t5, #t6){(dynamic, dynamic) → void} in #t6;
static field dynamic topLevelIndexGetSet = let final core::Map<dynamic, dynamic>? #t9 = self::nullableMap in let final core::int #t10 = 0 in let final dynamic #t11 = (let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:38: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var topLevelIndexGetSet = nullableMap[0] += 1;
- ^" in #t9.{core::Map::[]}(#t10)).+(1) in let final void #t13 = let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:38: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
+ ^" in #t9.{core::Map::[]}{<nullable>}.(#t10){(core::Object?) → dynamic}){dynamic}.+(1) in let final void #t13 = let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:38: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var topLevelIndexGetSet = nullableMap[0] += 1;
- ^" in #t9.{core::Map::[]=}(#t10, #t11) in #t11;
+ ^" in #t9.{core::Map::[]=}{<nullable>}.(#t10, #t11){(dynamic, dynamic) → void} in #t11;
static field core::int topLevelPropertyGet = let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelPropertyGet = nullableClass.property;
- ^^^^^^^^" in self::nullableClass.{self::Class::property};
+ ^^^^^^^^" in self::nullableClass.{self::Class::property}{<nullable>}.{core::int};
static field core::int topLevelPropertySet = let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:43:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelPropertySet = nullableClass.property = 1;
- ^^^^^^^^" in self::nullableClass.{self::Class::property} = 1;
+ ^^^^^^^^" in self::nullableClass.{self::Class::property}{<nullable>}. = 1;
static field core::int topLevelPropertyGetSet = let final self::Class? #t17 = self::nullableClass in let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelPropertyGetSet = nullableClass.property += 1;
- ^^^^^^^^" in #t17.{self::Class::property} = (let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
+ ^^^^^^^^" in #t17.{self::Class::property}{<nullable>}. = (let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelPropertyGetSet = nullableClass.property += 1;
- ^^^^^^^^" in #t17.{self::Class::property}).{core::num::+}(1);
+ ^^^^^^^^" in #t17.{self::Class::property}{<nullable>}.{core::int}).{core::num::+}(1){(core::num) → core::int};
static field core::int topLevelMethodInvocation = let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:45:46: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?. instead.
var topLevelMethodInvocation = nullableClass.method();
- ^^^^^^" in self::nullableClass.{self::Class::method}();
+ ^^^^^^" in self::nullableClass.{self::Class::method}{<nullable>}.(){() → core::int};
static field () → core::int topLevelMethodTearOff = let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:46:43: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelMethodTearOff = nullableClass.method;
- ^^^^^^" in self::nullableClass.{self::Class::method};
+ ^^^^^^" in self::nullableClass.{self::Class::method}{<nullable>}.{() → core::int};
static field dynamic topLevelFunctionImplicitCall = let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:47:52: Error: Can't use an expression of type 'Function?' as a function because it's potentially null.
- 'Function' is from 'dart:core'.
Try calling using ?.call instead.
var topLevelFunctionImplicitCall = nullableFunction();
- ^" in self::nullableFunction.call();
+ ^" in self::nullableFunction{<nullable>}.();
static field dynamic topLevelFunctionExplicitCall = let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:48:53: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- 'Function' is from 'dart:core'.
Try calling using ?. instead.
var topLevelFunctionExplicitCall = nullableFunction.call();
- ^^^^" in self::nullableFunction.call();
+ ^^^^" in self::nullableFunction{<nullable>}.();
static field core::Function? topLevelFunctionTearOff = let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:49:48: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
- 'Function' is from 'dart:core'.
Try accessing using ?. instead.
@@ -511,11 +511,11 @@
static field void topLevelFunctionTypeImplicitCall = let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:50:60: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
var topLevelFunctionTypeImplicitCall = nullableFunctionType();
- ^" in self::nullableFunctionType.call();
+ ^" in self::nullableFunctionType{<nullable>}.(){() →? void};
static field void topLevelFunctionTypeExplicitCall = let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:51:61: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
Try calling using ?. instead.
var topLevelFunctionTypeExplicitCall = nullableFunctionType.call();
- ^^^^" in self::nullableFunctionType.call();
+ ^^^^" in self::nullableFunctionType{<nullable>}.(){() →? void};
static field () →? void topLevelFunctionTypeTearOff = let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:52:56: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
Try accessing using ?. instead.
var topLevelFunctionTypeTearOff = nullableFunctionType.call;
@@ -524,22 +524,22 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelFunctionField = nullableClass.functionField();
- ^" in self::nullableClass.{self::Class::functionField}.call();
+ ^" in self::nullableClass.{self::Class::functionField}{<nullable>}.{core::Function}();
static field void topLevelFunctionTypeField = let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:54:47: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelFunctionTypeField = nullableClass.functionTypeField();
- ^" in self::nullableClass.{self::Class::functionTypeField}.call();
+ ^" in self::nullableClass.{self::Class::functionTypeField}{<nullable>}.{() → void}(){() → void};
static field dynamic topLevelFunctionGetter = let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:55:44: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelFunctionGetter = nullableClass.functionGetter();
- ^" in self::nullableClass.{self::Class::functionGetter}.call();
+ ^" in self::nullableClass.{self::Class::functionGetter}{<nullable>}.{core::Function}();
static field void topLevelFunctionTypeGetter = let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:56:48: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelFunctionTypeGetter = nullableClass.functionTypeGetter();
- ^" in self::nullableClass.{self::Class::functionTypeGetter}.call();
+ ^" in self::nullableClass.{self::Class::functionTypeGetter}{<nullable>}.{() → void}(){() → void};
static field core::int topLevelExtensionBinary = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:58:45: Error: Operator '+' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var topLevelExtensionBinary = nullableClass + 0;
@@ -559,7 +559,7 @@
static field core::int topLevelExtensionIndexGetSet = let final self::Class? #t40 = self::nullableClass in let final core::int #t41 = 0 in let final core::int #t42 = (let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:62:49: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var topLevelExtensionIndexGetSet = nullableClass[0] += 1;
- ^" in self::Extension|[](#t40, #t41)).{core::num::+}(1) in let final void #t44 = let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:62:49: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
+ ^" in self::Extension|[](#t40, #t41)).{core::num::+}(1){(core::num) → core::int} in let final void #t44 = let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:62:49: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var topLevelExtensionIndexGetSet = nullableClass[0] += 1;
^" in self::Extension|[]=(#t40, #t41, #t42) in #t42;
@@ -581,7 +581,7 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelExtensionPropertyGetSet = nullableClass.extensionProperty += 1;
- ^^^^^^^^^^^^^^^^^" in self::Extension|get#extensionProperty(#t50)).{core::num::+}(1) in let final void #t54 = self::Extension|set#extensionProperty(#t50, #t52) in #t52;
+ ^^^^^^^^^^^^^^^^^" in self::Extension|get#extensionProperty(#t50)).{core::num::+}(1){(core::num) → core::int} in let final void #t54 = self::Extension|set#extensionProperty(#t50, #t52) in #t52;
static field core::int topLevelExtensionMethodInvocation = let final Never #t55 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:66:55: Error: Method 'extensionMethod' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?. instead.
@@ -611,12 +611,12 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelExtensionFunctionGetter = nullableClass.extensionFunctionGetter();
- ^" in self::Extension|get#extensionFunctionGetter(self::nullableClass).call();
+ ^" in self::Extension|get#extensionFunctionGetter(self::nullableClass)();
static field void topLevelExtensionFunctionTypeGetter = let final Never #t61 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:73:19: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
nullableClass.extensionFunctionTypeGetter();
- ^" in self::Extension|get#extensionFunctionTypeGetter(self::nullableClass).call();
+ ^" in self::Extension|get#extensionFunctionTypeGetter(self::nullableClass)(){() → void};
static method Extension|+(lowered final self::Class #this, core::int value) → core::int
return 0;
static method Extension|unary-(lowered final self::Class #this) → core::int
@@ -652,64 +652,64 @@
static method test() → dynamic {
core::num localBinary = let final Never #t62 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:76:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
var localBinary = nullableInt + 0;
- ^" in self::nullableInt.{core::num::+}(0);
+ ^" in self::nullableInt.{core::num::+}(0){(core::num) → core::num};
core::int localUnary = let final Never #t63 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:77:20: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
var localUnary = -nullableInt;
- ^" in self::nullableInt.{core::int::unary-}();
+ ^" in self::nullableInt.{core::int::unary-}(){() → core::int};
dynamic localIndexGet = let final Never #t64 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:78:34: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var localIndexGet = nullableMap[0];
- ^" in self::nullableMap.{core::Map::[]}(0);
+ ^" in self::nullableMap.{core::Map::[]}{<nullable>}.(0){(core::Object?) → dynamic};
core::int localIndexSet = let final core::Map<dynamic, dynamic>? #t65 = self::nullableMap in let final core::int #t66 = 0 in let final core::int #t67 = 1 in let final void #t68 = let final Never #t69 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:79:34: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var localIndexSet = nullableMap[0] = 1;
- ^" in #t65.{core::Map::[]=}(#t66, #t67) in #t67;
+ ^" in #t65.{core::Map::[]=}{<nullable>}.(#t66, #t67){(dynamic, dynamic) → void} in #t67;
dynamic localIndexGetSet = let final core::Map<dynamic, dynamic>? #t70 = self::nullableMap in let final core::int #t71 = 0 in let final dynamic #t72 = (let final Never #t73 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:80:37: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var localIndexGetSet = nullableMap[0] += 1;
- ^" in #t70.{core::Map::[]}(#t71)).+(1) in let final void #t74 = let final Never #t75 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:80:37: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
+ ^" in #t70.{core::Map::[]}{<nullable>}.(#t71){(core::Object?) → dynamic}){dynamic}.+(1) in let final void #t74 = let final Never #t75 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:80:37: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var localIndexGetSet = nullableMap[0] += 1;
- ^" in #t70.{core::Map::[]=}(#t71, #t72) in #t72;
+ ^" in #t70.{core::Map::[]=}{<nullable>}.(#t71, #t72){(dynamic, dynamic) → void} in #t72;
core::int localPropertyGet = let final Never #t76 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:81:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localPropertyGet = nullableClass.property;
- ^^^^^^^^" in self::nullableClass.{self::Class::property};
+ ^^^^^^^^" in self::nullableClass.{self::Class::property}{<nullable>}.{core::int};
core::int localPropertySet = let final Never #t77 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:82:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localPropertySet = nullableClass.property = 1;
- ^^^^^^^^" in self::nullableClass.{self::Class::property} = 1;
+ ^^^^^^^^" in self::nullableClass.{self::Class::property}{<nullable>}. = 1;
core::int localPropertyGetSet = let final self::Class? #t78 = self::nullableClass in let final Never #t79 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:83:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localPropertyGetSet = nullableClass.property += 1;
- ^^^^^^^^" in #t78.{self::Class::property} = (let final Never #t80 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:83:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
+ ^^^^^^^^" in #t78.{self::Class::property}{<nullable>}. = (let final Never #t80 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:83:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localPropertyGetSet = nullableClass.property += 1;
- ^^^^^^^^" in #t78.{self::Class::property}).{core::num::+}(1);
+ ^^^^^^^^" in #t78.{self::Class::property}{<nullable>}.{core::int}).{core::num::+}(1){(core::num) → core::int};
core::int localMethodInvocation = let final Never #t81 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:84:45: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?. instead.
var localMethodInvocation = nullableClass.method();
- ^^^^^^" in self::nullableClass.{self::Class::method}();
+ ^^^^^^" in self::nullableClass.{self::Class::method}{<nullable>}.(){() → core::int};
() → core::int localMethodTearOff = let final Never #t82 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:85:42: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localMethodTearOff = nullableClass.method;
- ^^^^^^" in self::nullableClass.{self::Class::method};
+ ^^^^^^" in self::nullableClass.{self::Class::method}{<nullable>}.{() → core::int};
dynamic localFunctionImplicitCall = let final Never #t83 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:86:51: Error: Can't use an expression of type 'Function?' as a function because it's potentially null.
- 'Function' is from 'dart:core'.
Try calling using ?.call instead.
var localFunctionImplicitCall = nullableFunction();
- ^" in self::nullableFunction.call();
+ ^" in self::nullableFunction{<nullable>}.();
dynamic localFunctionExplicitCall = let final Never #t84 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:87:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- 'Function' is from 'dart:core'.
Try calling using ?. instead.
var localFunctionExplicitCall = nullableFunction.call();
- ^^^^" in self::nullableFunction.call();
+ ^^^^" in self::nullableFunction{<nullable>}.();
core::Function? localFunctionTearOff = let final Never #t85 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:88:47: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
- 'Function' is from 'dart:core'.
Try accessing using ?. instead.
@@ -718,11 +718,11 @@
void localFunctionTypeImplicitCall = let final Never #t86 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:89:59: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
var localFunctionTypeImplicitCall = nullableFunctionType();
- ^" in self::nullableFunctionType.call();
+ ^" in self::nullableFunctionType{<nullable>}.(){() →? void};
void localFunctionTypeExplicitCall = let final Never #t87 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:90:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
Try calling using ?. instead.
var localFunctionTypeExplicitCall = nullableFunctionType.call();
- ^^^^" in self::nullableFunctionType.call();
+ ^^^^" in self::nullableFunctionType{<nullable>}.(){() →? void};
() →? void localFunctionTypeTearOff = let final Never #t88 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:91:55: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
Try accessing using ?. instead.
var localFunctionTypeTearOff = nullableFunctionType.call;
@@ -731,22 +731,22 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localFunctionField = nullableClass.functionField();
- ^" in self::nullableClass.{self::Class::functionField}.call();
+ ^" in self::nullableClass.{self::Class::functionField}{<nullable>}.{core::Function}();
void localFunctionTypeField = let final Never #t90 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:93:46: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localFunctionTypeField = nullableClass.functionTypeField();
- ^" in self::nullableClass.{self::Class::functionTypeField}.call();
+ ^" in self::nullableClass.{self::Class::functionTypeField}{<nullable>}.{() → void}(){() → void};
dynamic localFunctionGetter = let final Never #t91 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:94:43: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localFunctionGetter = nullableClass.functionGetter();
- ^" in self::nullableClass.{self::Class::functionGetter}.call();
+ ^" in self::nullableClass.{self::Class::functionGetter}{<nullable>}.{core::Function}();
void localFunctionTypeGetter = let final Never #t92 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:95:47: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localFunctionTypeGetter = nullableClass.functionTypeGetter();
- ^" in self::nullableClass.{self::Class::functionTypeGetter}.call();
+ ^" in self::nullableClass.{self::Class::functionTypeGetter}{<nullable>}.{() → void}(){() → void};
core::int localExtensionBinary = let final Never #t93 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:97:44: Error: Operator '+' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var localExtensionBinary = nullableClass + 0;
@@ -766,7 +766,7 @@
core::int localExtensionIndexGetSet = let final self::Class? #t101 = self::nullableClass in let final core::int #t102 = 0 in let final core::int #t103 = (let final Never #t104 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:101:48: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var localExtensionIndexGetSet = nullableClass[0] += 1;
- ^" in self::Extension|[](#t101, #t102)).{core::num::+}(1) in let final void #t105 = let final Never #t106 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:101:48: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
+ ^" in self::Extension|[](#t101, #t102)).{core::num::+}(1){(core::num) → core::int} in let final void #t105 = let final Never #t106 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:101:48: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var localExtensionIndexGetSet = nullableClass[0] += 1;
^" in self::Extension|[]=(#t101, #t102, #t103) in #t103;
@@ -788,7 +788,7 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localExtensionPropertyGetSet = nullableClass.extensionProperty += 1;
- ^^^^^^^^^^^^^^^^^" in self::Extension|get#extensionProperty(#t111)).{core::num::+}(1) in let final void #t115 = self::Extension|set#extensionProperty(#t111, #t113) in #t113;
+ ^^^^^^^^^^^^^^^^^" in self::Extension|get#extensionProperty(#t111)).{core::num::+}(1){(core::num) → core::int} in let final void #t115 = self::Extension|set#extensionProperty(#t111, #t113) in #t113;
core::int localExtensionMethodInvocation = let final Never #t116 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:105:54: Error: Method 'extensionMethod' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?. instead.
@@ -818,11 +818,11 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localExtensionFunctionGetter = nullableClass.extensionFunctionGetter();
- ^" in self::Extension|get#extensionFunctionGetter(self::nullableClass).call();
+ ^" in self::Extension|get#extensionFunctionGetter(self::nullableClass)();
void localExtensionFunctionTypeGetter = let final Never #t122 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:112:21: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
nullableClass.extensionFunctionTypeGetter();
- ^" in self::Extension|get#extensionFunctionTypeGetter(self::nullableClass).call();
+ ^" in self::Extension|get#extensionFunctionTypeGetter(self::nullableClass)(){() → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.weak.expect b/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.weak.expect
index 8c3e68c..d77513d 100644
--- a/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.weak.expect
@@ -445,64 +445,64 @@
}
static field core::num topLevelBinary = let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:37:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
var topLevelBinary = nullableInt + 0;
- ^" in self::nullableInt.{core::num::+}(0);
+ ^" in self::nullableInt.{core::num::+}(0){(core::num) → core::num};
static field core::int topLevelUnary = let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:38:21: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
var topLevelUnary = -nullableInt;
- ^" in self::nullableInt.{core::int::unary-}();
+ ^" in self::nullableInt.{core::int::unary-}(){() → core::int};
static field dynamic topLevelIndexGet = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:39:35: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var topLevelIndexGet = nullableMap[0];
- ^" in self::nullableMap.{core::Map::[]}(0);
+ ^" in self::nullableMap.{core::Map::[]}{<nullable>}.(0){(core::Object?) → dynamic};
static field core::int topLevelIndexSet = let final core::Map<dynamic, dynamic>? #t4 = self::nullableMap in let final core::int #t5 = 0 in let final core::int #t6 = 1 in let final void #t7 = let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:40:35: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var topLevelIndexSet = nullableMap[0] = 1;
- ^" in #t4.{core::Map::[]=}(#t5, #t6) in #t6;
+ ^" in #t4.{core::Map::[]=}{<nullable>}.(#t5, #t6){(dynamic, dynamic) → void} in #t6;
static field dynamic topLevelIndexGetSet = let final core::Map<dynamic, dynamic>? #t9 = self::nullableMap in let final core::int #t10 = 0 in let final dynamic #t11 = (let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:38: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var topLevelIndexGetSet = nullableMap[0] += 1;
- ^" in #t9.{core::Map::[]}(#t10)).+(1) in let final void #t13 = let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:38: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
+ ^" in #t9.{core::Map::[]}{<nullable>}.(#t10){(core::Object?) → dynamic}){dynamic}.+(1) in let final void #t13 = let final Never #t14 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:38: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var topLevelIndexGetSet = nullableMap[0] += 1;
- ^" in #t9.{core::Map::[]=}(#t10, #t11) in #t11;
+ ^" in #t9.{core::Map::[]=}{<nullable>}.(#t10, #t11){(dynamic, dynamic) → void} in #t11;
static field core::int topLevelPropertyGet = let final Never #t15 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelPropertyGet = nullableClass.property;
- ^^^^^^^^" in self::nullableClass.{self::Class::property};
+ ^^^^^^^^" in self::nullableClass.{self::Class::property}{<nullable>}.{core::int};
static field core::int topLevelPropertySet = let final Never #t16 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:43:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelPropertySet = nullableClass.property = 1;
- ^^^^^^^^" in self::nullableClass.{self::Class::property} = 1;
+ ^^^^^^^^" in self::nullableClass.{self::Class::property}{<nullable>}. = 1;
static field core::int topLevelPropertyGetSet = let final self::Class? #t17 = self::nullableClass in let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelPropertyGetSet = nullableClass.property += 1;
- ^^^^^^^^" in #t17.{self::Class::property} = (let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
+ ^^^^^^^^" in #t17.{self::Class::property}{<nullable>}. = (let final Never #t19 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelPropertyGetSet = nullableClass.property += 1;
- ^^^^^^^^" in #t17.{self::Class::property}).{core::num::+}(1);
+ ^^^^^^^^" in #t17.{self::Class::property}{<nullable>}.{core::int}).{core::num::+}(1){(core::num) → core::int};
static field core::int topLevelMethodInvocation = let final Never #t20 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:45:46: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?. instead.
var topLevelMethodInvocation = nullableClass.method();
- ^^^^^^" in self::nullableClass.{self::Class::method}();
+ ^^^^^^" in self::nullableClass.{self::Class::method}{<nullable>}.(){() → core::int};
static field () → core::int topLevelMethodTearOff = let final Never #t21 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:46:43: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelMethodTearOff = nullableClass.method;
- ^^^^^^" in self::nullableClass.{self::Class::method};
+ ^^^^^^" in self::nullableClass.{self::Class::method}{<nullable>}.{() → core::int};
static field dynamic topLevelFunctionImplicitCall = let final Never #t22 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:47:52: Error: Can't use an expression of type 'Function?' as a function because it's potentially null.
- 'Function' is from 'dart:core'.
Try calling using ?.call instead.
var topLevelFunctionImplicitCall = nullableFunction();
- ^" in self::nullableFunction.call();
+ ^" in self::nullableFunction{<nullable>}.();
static field dynamic topLevelFunctionExplicitCall = let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:48:53: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- 'Function' is from 'dart:core'.
Try calling using ?. instead.
var topLevelFunctionExplicitCall = nullableFunction.call();
- ^^^^" in self::nullableFunction.call();
+ ^^^^" in self::nullableFunction{<nullable>}.();
static field core::Function? topLevelFunctionTearOff = let final Never #t24 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:49:48: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
- 'Function' is from 'dart:core'.
Try accessing using ?. instead.
@@ -511,11 +511,11 @@
static field void topLevelFunctionTypeImplicitCall = let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:50:60: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
var topLevelFunctionTypeImplicitCall = nullableFunctionType();
- ^" in self::nullableFunctionType.call();
+ ^" in self::nullableFunctionType{<nullable>}.(){() →? void};
static field void topLevelFunctionTypeExplicitCall = let final Never #t26 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:51:61: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
Try calling using ?. instead.
var topLevelFunctionTypeExplicitCall = nullableFunctionType.call();
- ^^^^" in self::nullableFunctionType.call();
+ ^^^^" in self::nullableFunctionType{<nullable>}.(){() →? void};
static field () →? void topLevelFunctionTypeTearOff = let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:52:56: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
Try accessing using ?. instead.
var topLevelFunctionTypeTearOff = nullableFunctionType.call;
@@ -524,22 +524,22 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelFunctionField = nullableClass.functionField();
- ^" in self::nullableClass.{self::Class::functionField}.call();
+ ^" in self::nullableClass.{self::Class::functionField}{<nullable>}.{core::Function}();
static field void topLevelFunctionTypeField = let final Never #t29 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:54:47: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelFunctionTypeField = nullableClass.functionTypeField();
- ^" in self::nullableClass.{self::Class::functionTypeField}.call();
+ ^" in self::nullableClass.{self::Class::functionTypeField}{<nullable>}.{() → void}(){() → void};
static field dynamic topLevelFunctionGetter = let final Never #t30 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:55:44: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelFunctionGetter = nullableClass.functionGetter();
- ^" in self::nullableClass.{self::Class::functionGetter}.call();
+ ^" in self::nullableClass.{self::Class::functionGetter}{<nullable>}.{core::Function}();
static field void topLevelFunctionTypeGetter = let final Never #t31 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:56:48: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelFunctionTypeGetter = nullableClass.functionTypeGetter();
- ^" in self::nullableClass.{self::Class::functionTypeGetter}.call();
+ ^" in self::nullableClass.{self::Class::functionTypeGetter}{<nullable>}.{() → void}(){() → void};
static field core::int topLevelExtensionBinary = let final Never #t32 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:58:45: Error: Operator '+' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var topLevelExtensionBinary = nullableClass + 0;
@@ -559,7 +559,7 @@
static field core::int topLevelExtensionIndexGetSet = let final self::Class? #t40 = self::nullableClass in let final core::int #t41 = 0 in let final core::int #t42 = (let final Never #t43 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:62:49: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var topLevelExtensionIndexGetSet = nullableClass[0] += 1;
- ^" in self::Extension|[](#t40, #t41)).{core::num::+}(1) in let final void #t44 = let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:62:49: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
+ ^" in self::Extension|[](#t40, #t41)).{core::num::+}(1){(core::num) → core::int} in let final void #t44 = let final Never #t45 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:62:49: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var topLevelExtensionIndexGetSet = nullableClass[0] += 1;
^" in self::Extension|[]=(#t40, #t41, #t42) in #t42;
@@ -581,7 +581,7 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var topLevelExtensionPropertyGetSet = nullableClass.extensionProperty += 1;
- ^^^^^^^^^^^^^^^^^" in self::Extension|get#extensionProperty(#t50)).{core::num::+}(1) in let final void #t54 = self::Extension|set#extensionProperty(#t50, #t52) in #t52;
+ ^^^^^^^^^^^^^^^^^" in self::Extension|get#extensionProperty(#t50)).{core::num::+}(1){(core::num) → core::int} in let final void #t54 = self::Extension|set#extensionProperty(#t50, #t52) in #t52;
static field core::int topLevelExtensionMethodInvocation = let final Never #t55 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:66:55: Error: Method 'extensionMethod' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?. instead.
@@ -611,12 +611,12 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var topLevelExtensionFunctionGetter = nullableClass.extensionFunctionGetter();
- ^" in self::Extension|get#extensionFunctionGetter(self::nullableClass).call();
+ ^" in self::Extension|get#extensionFunctionGetter(self::nullableClass)();
static field void topLevelExtensionFunctionTypeGetter = let final Never #t61 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:73:19: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
nullableClass.extensionFunctionTypeGetter();
- ^" in self::Extension|get#extensionFunctionTypeGetter(self::nullableClass).call();
+ ^" in self::Extension|get#extensionFunctionTypeGetter(self::nullableClass)(){() → void};
static method Extension|+(lowered final self::Class #this, core::int value) → core::int
return 0;
static method Extension|unary-(lowered final self::Class #this) → core::int
@@ -652,64 +652,64 @@
static method test() → dynamic {
core::num localBinary = let final Never #t62 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:76:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
var localBinary = nullableInt + 0;
- ^" in self::nullableInt.{core::num::+}(0);
+ ^" in self::nullableInt.{core::num::+}(0){(core::num) → core::num};
core::int localUnary = let final Never #t63 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:77:20: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
var localUnary = -nullableInt;
- ^" in self::nullableInt.{core::int::unary-}();
+ ^" in self::nullableInt.{core::int::unary-}(){() → core::int};
dynamic localIndexGet = let final Never #t64 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:78:34: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var localIndexGet = nullableMap[0];
- ^" in self::nullableMap.{core::Map::[]}(0);
+ ^" in self::nullableMap.{core::Map::[]}{<nullable>}.(0){(core::Object?) → dynamic};
core::int localIndexSet = let final core::Map<dynamic, dynamic>? #t65 = self::nullableMap in let final core::int #t66 = 0 in let final core::int #t67 = 1 in let final void #t68 = let final Never #t69 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:79:34: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var localIndexSet = nullableMap[0] = 1;
- ^" in #t65.{core::Map::[]=}(#t66, #t67) in #t67;
+ ^" in #t65.{core::Map::[]=}{<nullable>}.(#t66, #t67){(dynamic, dynamic) → void} in #t67;
dynamic localIndexGetSet = let final core::Map<dynamic, dynamic>? #t70 = self::nullableMap in let final core::int #t71 = 0 in let final dynamic #t72 = (let final Never #t73 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:80:37: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var localIndexGetSet = nullableMap[0] += 1;
- ^" in #t70.{core::Map::[]}(#t71)).+(1) in let final void #t74 = let final Never #t75 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:80:37: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
+ ^" in #t70.{core::Map::[]}{<nullable>}.(#t71){(core::Object?) → dynamic}){dynamic}.+(1) in let final void #t74 = let final Never #t75 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:80:37: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- 'Map' is from 'dart:core'.
var localIndexGetSet = nullableMap[0] += 1;
- ^" in #t70.{core::Map::[]=}(#t71, #t72) in #t72;
+ ^" in #t70.{core::Map::[]=}{<nullable>}.(#t71, #t72){(dynamic, dynamic) → void} in #t72;
core::int localPropertyGet = let final Never #t76 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:81:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localPropertyGet = nullableClass.property;
- ^^^^^^^^" in self::nullableClass.{self::Class::property};
+ ^^^^^^^^" in self::nullableClass.{self::Class::property}{<nullable>}.{core::int};
core::int localPropertySet = let final Never #t77 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:82:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localPropertySet = nullableClass.property = 1;
- ^^^^^^^^" in self::nullableClass.{self::Class::property} = 1;
+ ^^^^^^^^" in self::nullableClass.{self::Class::property}{<nullable>}. = 1;
core::int localPropertyGetSet = let final self::Class? #t78 = self::nullableClass in let final Never #t79 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:83:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localPropertyGetSet = nullableClass.property += 1;
- ^^^^^^^^" in #t78.{self::Class::property} = (let final Never #t80 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:83:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
+ ^^^^^^^^" in #t78.{self::Class::property}{<nullable>}. = (let final Never #t80 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:83:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localPropertyGetSet = nullableClass.property += 1;
- ^^^^^^^^" in #t78.{self::Class::property}).{core::num::+}(1);
+ ^^^^^^^^" in #t78.{self::Class::property}{<nullable>}.{core::int}).{core::num::+}(1){(core::num) → core::int};
core::int localMethodInvocation = let final Never #t81 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:84:45: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?. instead.
var localMethodInvocation = nullableClass.method();
- ^^^^^^" in self::nullableClass.{self::Class::method}();
+ ^^^^^^" in self::nullableClass.{self::Class::method}{<nullable>}.(){() → core::int};
() → core::int localMethodTearOff = let final Never #t82 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:85:42: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localMethodTearOff = nullableClass.method;
- ^^^^^^" in self::nullableClass.{self::Class::method};
+ ^^^^^^" in self::nullableClass.{self::Class::method}{<nullable>}.{() → core::int};
dynamic localFunctionImplicitCall = let final Never #t83 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:86:51: Error: Can't use an expression of type 'Function?' as a function because it's potentially null.
- 'Function' is from 'dart:core'.
Try calling using ?.call instead.
var localFunctionImplicitCall = nullableFunction();
- ^" in self::nullableFunction.call();
+ ^" in self::nullableFunction{<nullable>}.();
dynamic localFunctionExplicitCall = let final Never #t84 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:87:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- 'Function' is from 'dart:core'.
Try calling using ?. instead.
var localFunctionExplicitCall = nullableFunction.call();
- ^^^^" in self::nullableFunction.call();
+ ^^^^" in self::nullableFunction{<nullable>}.();
core::Function? localFunctionTearOff = let final Never #t85 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:88:47: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
- 'Function' is from 'dart:core'.
Try accessing using ?. instead.
@@ -718,11 +718,11 @@
void localFunctionTypeImplicitCall = let final Never #t86 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:89:59: Error: Can't use an expression of type 'void Function()?' as a function because it's potentially null.
Try calling using ?.call instead.
var localFunctionTypeImplicitCall = nullableFunctionType();
- ^" in self::nullableFunctionType.call();
+ ^" in self::nullableFunctionType{<nullable>}.(){() →? void};
void localFunctionTypeExplicitCall = let final Never #t87 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:90:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
Try calling using ?. instead.
var localFunctionTypeExplicitCall = nullableFunctionType.call();
- ^^^^" in self::nullableFunctionType.call();
+ ^^^^" in self::nullableFunctionType{<nullable>}.(){() →? void};
() →? void localFunctionTypeTearOff = let final Never #t88 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:91:55: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
Try accessing using ?. instead.
var localFunctionTypeTearOff = nullableFunctionType.call;
@@ -731,22 +731,22 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localFunctionField = nullableClass.functionField();
- ^" in self::nullableClass.{self::Class::functionField}.call();
+ ^" in self::nullableClass.{self::Class::functionField}{<nullable>}.{core::Function}();
void localFunctionTypeField = let final Never #t90 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:93:46: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localFunctionTypeField = nullableClass.functionTypeField();
- ^" in self::nullableClass.{self::Class::functionTypeField}.call();
+ ^" in self::nullableClass.{self::Class::functionTypeField}{<nullable>}.{() → void}(){() → void};
dynamic localFunctionGetter = let final Never #t91 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:94:43: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localFunctionGetter = nullableClass.functionGetter();
- ^" in self::nullableClass.{self::Class::functionGetter}.call();
+ ^" in self::nullableClass.{self::Class::functionGetter}{<nullable>}.{core::Function}();
void localFunctionTypeGetter = let final Never #t92 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:95:47: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localFunctionTypeGetter = nullableClass.functionTypeGetter();
- ^" in self::nullableClass.{self::Class::functionTypeGetter}.call();
+ ^" in self::nullableClass.{self::Class::functionTypeGetter}{<nullable>}.{() → void}(){() → void};
core::int localExtensionBinary = let final Never #t93 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:97:44: Error: Operator '+' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var localExtensionBinary = nullableClass + 0;
@@ -766,7 +766,7 @@
core::int localExtensionIndexGetSet = let final self::Class? #t101 = self::nullableClass in let final core::int #t102 = 0 in let final core::int #t103 = (let final Never #t104 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:101:48: Error: Operator '[]' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var localExtensionIndexGetSet = nullableClass[0] += 1;
- ^" in self::Extension|[](#t101, #t102)).{core::num::+}(1) in let final void #t105 = let final Never #t106 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:101:48: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
+ ^" in self::Extension|[](#t101, #t102)).{core::num::+}(1){(core::num) → core::int} in let final void #t105 = let final Never #t106 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:101:48: Error: Operator '[]=' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
var localExtensionIndexGetSet = nullableClass[0] += 1;
^" in self::Extension|[]=(#t101, #t102, #t103) in #t103;
@@ -788,7 +788,7 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try accessing using ?. instead.
var localExtensionPropertyGetSet = nullableClass.extensionProperty += 1;
- ^^^^^^^^^^^^^^^^^" in self::Extension|get#extensionProperty(#t111)).{core::num::+}(1) in let final void #t115 = self::Extension|set#extensionProperty(#t111, #t113) in #t113;
+ ^^^^^^^^^^^^^^^^^" in self::Extension|get#extensionProperty(#t111)).{core::num::+}(1){(core::num) → core::int} in let final void #t115 = self::Extension|set#extensionProperty(#t111, #t113) in #t113;
core::int localExtensionMethodInvocation = let final Never #t116 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:105:54: Error: Method 'extensionMethod' cannot be called on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?. instead.
@@ -818,11 +818,11 @@
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
var localExtensionFunctionGetter = nullableClass.extensionFunctionGetter();
- ^" in self::Extension|get#extensionFunctionGetter(self::nullableClass).call();
+ ^" in self::Extension|get#extensionFunctionGetter(self::nullableClass)();
void localExtensionFunctionTypeGetter = let final Never #t122 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:112:21: Error: Can't use an expression of type 'Class?' as a function because it's potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
Try calling using ?.call instead.
nullableClass.extensionFunctionTypeGetter();
- ^" in self::Extension|get#extensionFunctionTypeGetter(self::nullableClass).call();
+ ^" in self::Extension|get#extensionFunctionTypeGetter(self::nullableClass)(){() → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.strong.expect b/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.strong.expect
index 84d1907..987bcb5 100644
--- a/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.strong.expect
@@ -145,82 +145,82 @@
late final self::Class self;
if(self::b)
self = this;
- let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this).{core::Object::==}(null) ?{self::Class} #t1.{self::Map::[]=}(this, this) : null;
- let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3).{core::Object::==}(null) ?{self::Class} #t2.{self::Map::[]=}(#t3, self) : null;
- map.{self::Map::[]=}(this, this);
- map.{self::Map::[]=}(self, self);
- map.{self::Map::[]}(this);
- map.{self::Map::[]}(self);
- let final self::Map<self::Class, self::Class> #t4 = map in #t4.{self::Map::[]=}(this, #t4.{self::Map::[]}(this).{self::Class::+}(this));
- let final self::Map<self::Class, self::Class> #t5 = map in let final self::Class #t6 = self in #t5.{self::Map::[]=}(#t6, #t5.{self::Map::[]}(#t6).{self::Class::+}(self));
+ let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
+ let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
+ map.{self::Map::[]=}(this, this){(self::Class, self::Class) → void};
+ map.{self::Map::[]=}(self, self){(self::Class, self::Class) → void};
+ map.{self::Map::[]}(this){(self::Class) → self::Class};
+ map.{self::Map::[]}(self){(self::Class) → self::Class};
+ let final self::Map<self::Class, self::Class> #t4 = map in #t4.{self::Map::[]=}(this, #t4.{self::Map::[]}(this){(self::Class) → self::Class}.{self::Class::+}(this){(self::Class) → self::Class}){(self::Class, self::Class) → void};
+ let final self::Map<self::Class, self::Class> #t5 = map in let final self::Class #t6 = self in #t5.{self::Map::[]=}(#t6, #t5.{self::Map::[]}(#t6){(self::Class) → self::Class}.{self::Class::+}(self){(self::Class) → self::Class}){(self::Class, self::Class) → void};
}
method indexGetSetForValue(self::Map<self::Class, self::Class> map) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Map<self::Class, self::Class> #t7 = map in let final self::Class #t8 = #t7.{self::Map::[]}(this) in #t8.{core::Object::==}(null) ?{self::Class} let final void #t9 = #t7.{self::Map::[]=}(this, this) in this : #t8;
- v = let final self::Map<self::Class, self::Class> #t10 = map in let final self::Class #t11 = self in let final self::Class #t12 = #t10.{self::Map::[]}(#t11) in #t12.{core::Object::==}(null) ?{self::Class} let final self::Class #t13 = self in let final void #t14 = #t10.{self::Map::[]=}(#t11, #t13) in #t13 : #t12;
- v = let final self::Map<self::Class, self::Class> #t15 = map in let final void #t16 = #t15.{self::Map::[]=}(this, this) in this;
- v = let final self::Map<self::Class, self::Class> #t17 = map in let final self::Class #t18 = self in let final self::Class #t19 = self in let final void #t20 = #t17.{self::Map::[]=}(#t18, #t19) in #t19;
- v = map.{self::Map::[]}(this);
- v = map.{self::Map::[]}(self);
- v = let final self::Map<self::Class, self::Class> #t21 = map in let final self::Class #t22 = #t21.{self::Map::[]}(this).{self::Class::+}(this) in let final void #t23 = #t21.{self::Map::[]=}(this, #t22) in #t22;
- v = let final self::Map<self::Class, self::Class> #t24 = map in let final self::Class #t25 = self in let final self::Class #t26 = #t24.{self::Map::[]}(#t25).{self::Class::+}(self) in let final void #t27 = #t24.{self::Map::[]=}(#t25, #t26) in #t26;
+ v = let final self::Map<self::Class, self::Class> #t7 = map in let final self::Class #t8 = #t7.{self::Map::[]}(this){(self::Class) → self::Class} in #t8 == null ?{self::Class} let final void #t9 = #t7.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} in this : #t8;
+ v = let final self::Map<self::Class, self::Class> #t10 = map in let final self::Class #t11 = self in let final self::Class #t12 = #t10.{self::Map::[]}(#t11){(self::Class) → self::Class} in #t12 == null ?{self::Class} let final self::Class #t13 = self in let final void #t14 = #t10.{self::Map::[]=}(#t11, #t13){(self::Class, self::Class) → void} in #t13 : #t12;
+ v = let final self::Map<self::Class, self::Class> #t15 = map in let final void #t16 = #t15.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} in this;
+ v = let final self::Map<self::Class, self::Class> #t17 = map in let final self::Class #t18 = self in let final self::Class #t19 = self in let final void #t20 = #t17.{self::Map::[]=}(#t18, #t19){(self::Class, self::Class) → void} in #t19;
+ v = map.{self::Map::[]}(this){(self::Class) → self::Class};
+ v = map.{self::Map::[]}(self){(self::Class) → self::Class};
+ v = let final self::Map<self::Class, self::Class> #t21 = map in let final self::Class #t22 = #t21.{self::Map::[]}(this){(self::Class) → self::Class}.{self::Class::+}(this){(self::Class) → self::Class} in let final void #t23 = #t21.{self::Map::[]=}(this, #t22){(self::Class, self::Class) → void} in #t22;
+ v = let final self::Map<self::Class, self::Class> #t24 = map in let final self::Class #t25 = self in let final self::Class #t26 = #t24.{self::Map::[]}(#t25){(self::Class) → self::Class}.{self::Class::+}(self){(self::Class) → self::Class} in let final void #t27 = #t24.{self::Map::[]=}(#t25, #t26){(self::Class, self::Class) → void} in #t26;
}
method implicitExtensionGetSetForEffect(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
- let final core::int #t28 = i in self::Extension|[](#t28, this).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
- let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
+ let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
+ let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int #t31 = i in self::Extension|[]=(#t31, this, self::Extension|[](#t31, this).{self::Class::+}(this));
- let final core::int #t32 = i in let final self::Class #t33 = self in self::Extension|[]=(#t32, #t33, self::Extension|[](#t32, #t33).{self::Class::+}(self));
+ let final core::int #t31 = i in self::Extension|[]=(#t31, this, self::Extension|[](#t31, this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final core::int #t32 = i in let final self::Class #t33 = self in self::Extension|[]=(#t32, #t33, self::Extension|[](#t32, #t33).{self::Class::+}(self){(self::Class) → self::Class});
}
method implicitExtensionGetSetForValue(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final core::int #t34 = i in let final self::Class #t35 = self::Extension|[](#t34, this) in #t35.{core::Object::==}(null) ?{self::Class} let final void #t36 = self::Extension|[]=(#t34, this, this) in this : #t35;
- v = let final core::int #t37 = i in let final self::Class #t38 = self in let final self::Class #t39 = self::Extension|[](#t37, #t38) in #t39.{core::Object::==}(null) ?{self::Class} let final self::Class #t40 = self in let final void #t41 = self::Extension|[]=(#t37, #t38, #t40) in #t40 : #t39;
+ v = let final core::int #t34 = i in let final self::Class #t35 = self::Extension|[](#t34, this) in #t35 == null ?{self::Class} let final void #t36 = self::Extension|[]=(#t34, this, this) in this : #t35;
+ v = let final core::int #t37 = i in let final self::Class #t38 = self in let final self::Class #t39 = self::Extension|[](#t37, #t38) in #t39 == null ?{self::Class} let final self::Class #t40 = self in let final void #t41 = self::Extension|[]=(#t37, #t38, #t40) in #t40 : #t39;
v = let final core::int #t42 = i in let final void #t43 = self::Extension|[]=(#t42, this, this) in this;
v = let final core::int #t44 = i in let final self::Class #t45 = self in let final self::Class #t46 = self in let final void #t47 = self::Extension|[]=(#t44, #t45, #t46) in #t46;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int #t48 = i in let final self::Class #t49 = self::Extension|[](#t48, this).{self::Class::+}(this) in let final void #t50 = self::Extension|[]=(#t48, this, #t49) in #t49;
- v = let final core::int #t51 = i in let final self::Class #t52 = self in let final self::Class #t53 = self::Extension|[](#t51, #t52).{self::Class::+}(self) in let final void #t54 = self::Extension|[]=(#t51, #t52, #t53) in #t53;
+ v = let final core::int #t48 = i in let final self::Class #t49 = self::Extension|[](#t48, this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t50 = self::Extension|[]=(#t48, this, #t49) in #t49;
+ v = let final core::int #t51 = i in let final self::Class #t52 = self in let final self::Class #t53 = self::Extension|[](#t51, #t52).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t54 = self::Extension|[]=(#t51, #t52, #t53) in #t53;
}
method explicitExtensionGetSetForEffect(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
- let final core::int #t55 = i in self::Extension|[](#t55, this).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t55, this, this) : null;
- let final core::int #t56 = i in let final self::Class #t57 = self in self::Extension|[](#t56, #t57).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t56, #t57, self) : null;
+ let final core::int #t55 = i in self::Extension|[](#t55, this) == null ?{self::Class} self::Extension|[]=(#t55, this, this) : null;
+ let final core::int #t56 = i in let final self::Class #t57 = self in self::Extension|[](#t56, #t57) == null ?{self::Class} self::Extension|[]=(#t56, #t57, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int #t58 = i in self::Extension|[]=(#t58, this, self::Extension|[](#t58, this).{self::Class::+}(this));
- let final core::int #t59 = i in let final self::Class #t60 = self in self::Extension|[]=(#t59, #t60, self::Extension|[](#t59, #t60).{self::Class::+}(self));
+ let final core::int #t58 = i in self::Extension|[]=(#t58, this, self::Extension|[](#t58, this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final core::int #t59 = i in let final self::Class #t60 = self in self::Extension|[]=(#t59, #t60, self::Extension|[](#t59, #t60).{self::Class::+}(self){(self::Class) → self::Class});
}
method explicitExtensionGetSetForValue(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final core::int #t61 = i in let final self::Class #t62 = self::Extension|[](#t61, this) in #t62.{core::Object::==}(null) ?{self::Class} let final void #t63 = self::Extension|[]=(#t61, this, this) in this : #t62;
- v = let final core::int #t64 = i in let final self::Class #t65 = self in let final self::Class #t66 = self::Extension|[](#t64, #t65) in #t66.{core::Object::==}(null) ?{self::Class} let final self::Class #t67 = self in let final void #t68 = self::Extension|[]=(#t64, #t65, #t67) in #t67 : #t66;
+ v = let final core::int #t61 = i in let final self::Class #t62 = self::Extension|[](#t61, this) in #t62 == null ?{self::Class} let final void #t63 = self::Extension|[]=(#t61, this, this) in this : #t62;
+ v = let final core::int #t64 = i in let final self::Class #t65 = self in let final self::Class #t66 = self::Extension|[](#t64, #t65) in #t66 == null ?{self::Class} let final self::Class #t67 = self in let final void #t68 = self::Extension|[]=(#t64, #t65, #t67) in #t67 : #t66;
v = let final core::int #t69 = i in let final void #t70 = self::Extension|[]=(#t69, this, this) in this;
v = let final core::int #t71 = i in let final self::Class #t72 = self in let final void #t73 = self::Extension|[]=(#t71, self, #t72) in #t72;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int #t74 = i in let final self::Class #t75 = self::Extension|[](#t74, this).{self::Class::+}(this) in let final void #t76 = self::Extension|[]=(#t74, this, #t75) in #t75;
- v = let final core::int #t77 = i in let final self::Class #t78 = self in let final self::Class #t79 = self::Extension|[](#t77, #t78).{self::Class::+}(self) in let final void #t80 = self::Extension|[]=(#t77, #t78, #t79) in #t79;
+ v = let final core::int #t74 = i in let final self::Class #t75 = self::Extension|[](#t74, this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t76 = self::Extension|[]=(#t74, this, #t75) in #t75;
+ v = let final core::int #t77 = i in let final self::Class #t78 = self in let final self::Class #t79 = self::Extension|[](#t77, #t78).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t80 = self::Extension|[]=(#t77, #t78, #t79) in #t79;
}
}
class Subclass extends self::Class {
@@ -231,28 +231,28 @@
late final self::Class self;
if(self::b)
self = this;
- super.{self::Class::[]}(this).{core::Object::==}(null) ?{self::Class} super.{self::Class::[]=}(this, this) : null;
- let final self::Class #t81 = self in super.{self::Class::[]}(#t81).{core::Object::==}(null) ?{self::Class} super.{self::Class::[]=}(#t81, self) : null;
+ super.{self::Class::[]}(this) == null ?{self::Class} super.{self::Class::[]=}(this, this) : null;
+ let final self::Class #t81 = self in super.{self::Class::[]}(#t81) == null ?{self::Class} super.{self::Class::[]=}(#t81, self) : null;
super.{self::Class::[]=}(this, this);
super.{self::Class::[]=}(self, self);
super.{self::Class::[]}(this);
super.{self::Class::[]}(self);
- super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this));
- let final self::Class #t82 = self in super.{self::Class::[]=}(#t82, super.{self::Class::[]}(#t82).{self::Class::+}(self));
+ super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final self::Class #t82 = self in super.{self::Class::[]=}(#t82, super.{self::Class::[]}(#t82).{self::Class::+}(self){(self::Class) → self::Class});
}
method superIndexGetSetForValue() → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class #t83 = super.{self::Class::[]}(this) in #t83.{core::Object::==}(null) ?{self::Class} let final void #t84 = super.{self::Class::[]=}(this, this) in this : #t83;
- v = let final self::Class #t85 = self in let final self::Class #t86 = super.{self::Class::[]}(#t85) in #t86.{core::Object::==}(null) ?{self::Class} let final self::Class #t87 = self in let final void #t88 = super.{self::Class::[]=}(#t85, #t87) in #t87 : #t86;
+ v = let final self::Class #t83 = super.{self::Class::[]}(this) in #t83 == null ?{self::Class} let final void #t84 = super.{self::Class::[]=}(this, this) in this : #t83;
+ v = let final self::Class #t85 = self in let final self::Class #t86 = super.{self::Class::[]}(#t85) in #t86 == null ?{self::Class} let final self::Class #t87 = self in let final void #t88 = super.{self::Class::[]=}(#t85, #t87) in #t87 : #t86;
v = let final void #t89 = super.{self::Class::[]=}(this, this) in this;
v = let final self::Class #t90 = self in let final self::Class #t91 = self in let final void #t92 = super.{self::Class::[]=}(#t90, #t91) in #t91;
v = super.{self::Class::[]}(this);
v = super.{self::Class::[]}(self);
- v = let final self::Class #t93 = super.{self::Class::[]}(this).{self::Class::+}(this) in let final void #t94 = super.{self::Class::[]=}(this, #t93) in #t93;
- v = let final self::Class #t95 = self in let final self::Class #t96 = super.{self::Class::[]}(#t95).{self::Class::+}(self) in let final void #t97 = super.{self::Class::[]=}(#t95, #t96) in #t96;
+ v = let final self::Class #t93 = super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t94 = super.{self::Class::[]=}(this, #t93) in #t93;
+ v = let final self::Class #t95 = self in let final self::Class #t96 = super.{self::Class::[]}(#t95).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t97 = super.{self::Class::[]=}(#t95, #t96) in #t96;
}
}
class Class2 extends core::Object {
@@ -265,55 +265,55 @@
late final self::Class2 self;
if(self::b)
self = this;
- self::Extension2|[](this, this).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
- let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
+ let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- let final self::Class2 #t100 = self in let final self::Class2 #t101 = self in self::Extension2|[]=(#t100, #t101, self::Extension2|[](#t100, #t101).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2});
+ let final self::Class2 #t100 = self in let final self::Class2 #t101 = self in self::Extension2|[]=(#t100, #t101, self::Extension2|[](#t100, #t101).{self::Class2::+}(self){(self::Class2) → self::Class2});
}
method implicitExtensionGetSetForValue() → void {
late final self::Class2 self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class2 #t102 = self::Extension2|[](this, this) in #t102.{core::Object::==}(null) ?{self::Class2} let final void #t103 = self::Extension2|[]=(this, this, this) in this : #t102;
- v = let final self::Class2 #t104 = self in let final self::Class2 #t105 = self in let final self::Class2 #t106 = self::Extension2|[](#t104, #t105) in #t106.{core::Object::==}(null) ?{self::Class2} let final self::Class2 #t107 = self in let final void #t108 = self::Extension2|[]=(#t104, #t105, #t107) in #t107 : #t106;
+ v = let final self::Class2 #t102 = self::Extension2|[](this, this) in #t102 == null ?{self::Class2} let final void #t103 = self::Extension2|[]=(this, this, this) in this : #t102;
+ v = let final self::Class2 #t104 = self in let final self::Class2 #t105 = self in let final self::Class2 #t106 = self::Extension2|[](#t104, #t105) in #t106 == null ?{self::Class2} let final self::Class2 #t107 = self in let final void #t108 = self::Extension2|[]=(#t104, #t105, #t107) in #t107 : #t106;
v = let final void #t109 = self::Extension2|[]=(this, this, this) in this;
v = let final self::Class2 #t110 = self in let final self::Class2 #t111 = self in let final self::Class2 #t112 = self in let final void #t113 = self::Extension2|[]=(#t110, #t111, #t112) in #t112;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2 #t114 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t115 = self::Extension2|[]=(this, this, #t114) in #t114;
- v = let final self::Class2 #t116 = self in let final self::Class2 #t117 = self in let final self::Class2 #t118 = self::Extension2|[](#t116, #t117).{self::Class2::+}(self) in let final void #t119 = self::Extension2|[]=(#t116, #t117, #t118) in #t118;
+ v = let final self::Class2 #t114 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2} in let final void #t115 = self::Extension2|[]=(this, this, #t114) in #t114;
+ v = let final self::Class2 #t116 = self in let final self::Class2 #t117 = self in let final self::Class2 #t118 = self::Extension2|[](#t116, #t117).{self::Class2::+}(self){(self::Class2) → self::Class2} in let final void #t119 = self::Extension2|[]=(#t116, #t117, #t118) in #t118;
}
method explicitExtensionGetSetForEffect() → void {
late final self::Class2 self;
if(self::b)
self = this;
- self::Extension2|[](this, this).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
- let final self::Class2 #t120 = self in let final self::Class2 #t121 = self in self::Extension2|[](#t120, #t121).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(#t120, #t121, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
+ let final self::Class2 #t120 = self in let final self::Class2 #t121 = self in self::Extension2|[](#t120, #t121) == null ?{self::Class2} self::Extension2|[]=(#t120, #t121, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- let final self::Class2 #t122 = self in let final self::Class2 #t123 = self in self::Extension2|[]=(#t122, #t123, self::Extension2|[](#t122, #t123).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2});
+ let final self::Class2 #t122 = self in let final self::Class2 #t123 = self in self::Extension2|[]=(#t122, #t123, self::Extension2|[](#t122, #t123).{self::Class2::+}(self){(self::Class2) → self::Class2});
}
method explicitExtensionGetSetForValue() → void {
late final self::Class2 self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class2 #t124 = self::Extension2|[](this, this) in #t124.{core::Object::==}(null) ?{self::Class2} let final void #t125 = self::Extension2|[]=(this, this, this) in this : #t124;
- v = let final self::Class2 #t126 = self in let final self::Class2 #t127 = self in let final self::Class2 #t128 = self::Extension2|[](#t126, #t127) in #t128.{core::Object::==}(null) ?{self::Class2} let final self::Class2 #t129 = self in let final void #t130 = self::Extension2|[]=(#t126, #t127, #t129) in #t129 : #t128;
+ v = let final self::Class2 #t124 = self::Extension2|[](this, this) in #t124 == null ?{self::Class2} let final void #t125 = self::Extension2|[]=(this, this, this) in this : #t124;
+ v = let final self::Class2 #t126 = self in let final self::Class2 #t127 = self in let final self::Class2 #t128 = self::Extension2|[](#t126, #t127) in #t128 == null ?{self::Class2} let final self::Class2 #t129 = self in let final void #t130 = self::Extension2|[]=(#t126, #t127, #t129) in #t129 : #t128;
v = let final void #t131 = self::Extension2|[]=(this, this, this) in this;
v = let final self::Class2 #t132 = self in let final self::Class2 #t133 = self in let final void #t134 = self::Extension2|[]=(#t132, self, #t133) in #t133;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2 #t135 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t136 = self::Extension2|[]=(this, this, #t135) in #t135;
- v = let final self::Class2 #t137 = self in let final self::Class2 #t138 = self in let final self::Class2 #t139 = self::Extension2|[](#t137, #t138).{self::Class2::+}(self) in let final void #t140 = self::Extension2|[]=(#t137, #t138, #t139) in #t139;
+ v = let final self::Class2 #t135 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2} in let final void #t136 = self::Extension2|[]=(this, this, #t135) in #t135;
+ v = let final self::Class2 #t137 = self in let final self::Class2 #t138 = self in let final self::Class2 #t139 = self::Extension2|[](#t137, #t138).{self::Class2::+}(self){(self::Class2) → self::Class2} in let final void #t140 = self::Extension2|[]=(#t137, #t138, #t139) in #t139;
}
}
extension Extension on core::int {
diff --git a/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.strong.transformed.expect
index 84d1907..987bcb5 100644
--- a/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.strong.transformed.expect
@@ -145,82 +145,82 @@
late final self::Class self;
if(self::b)
self = this;
- let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this).{core::Object::==}(null) ?{self::Class} #t1.{self::Map::[]=}(this, this) : null;
- let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3).{core::Object::==}(null) ?{self::Class} #t2.{self::Map::[]=}(#t3, self) : null;
- map.{self::Map::[]=}(this, this);
- map.{self::Map::[]=}(self, self);
- map.{self::Map::[]}(this);
- map.{self::Map::[]}(self);
- let final self::Map<self::Class, self::Class> #t4 = map in #t4.{self::Map::[]=}(this, #t4.{self::Map::[]}(this).{self::Class::+}(this));
- let final self::Map<self::Class, self::Class> #t5 = map in let final self::Class #t6 = self in #t5.{self::Map::[]=}(#t6, #t5.{self::Map::[]}(#t6).{self::Class::+}(self));
+ let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
+ let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
+ map.{self::Map::[]=}(this, this){(self::Class, self::Class) → void};
+ map.{self::Map::[]=}(self, self){(self::Class, self::Class) → void};
+ map.{self::Map::[]}(this){(self::Class) → self::Class};
+ map.{self::Map::[]}(self){(self::Class) → self::Class};
+ let final self::Map<self::Class, self::Class> #t4 = map in #t4.{self::Map::[]=}(this, #t4.{self::Map::[]}(this){(self::Class) → self::Class}.{self::Class::+}(this){(self::Class) → self::Class}){(self::Class, self::Class) → void};
+ let final self::Map<self::Class, self::Class> #t5 = map in let final self::Class #t6 = self in #t5.{self::Map::[]=}(#t6, #t5.{self::Map::[]}(#t6){(self::Class) → self::Class}.{self::Class::+}(self){(self::Class) → self::Class}){(self::Class, self::Class) → void};
}
method indexGetSetForValue(self::Map<self::Class, self::Class> map) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Map<self::Class, self::Class> #t7 = map in let final self::Class #t8 = #t7.{self::Map::[]}(this) in #t8.{core::Object::==}(null) ?{self::Class} let final void #t9 = #t7.{self::Map::[]=}(this, this) in this : #t8;
- v = let final self::Map<self::Class, self::Class> #t10 = map in let final self::Class #t11 = self in let final self::Class #t12 = #t10.{self::Map::[]}(#t11) in #t12.{core::Object::==}(null) ?{self::Class} let final self::Class #t13 = self in let final void #t14 = #t10.{self::Map::[]=}(#t11, #t13) in #t13 : #t12;
- v = let final self::Map<self::Class, self::Class> #t15 = map in let final void #t16 = #t15.{self::Map::[]=}(this, this) in this;
- v = let final self::Map<self::Class, self::Class> #t17 = map in let final self::Class #t18 = self in let final self::Class #t19 = self in let final void #t20 = #t17.{self::Map::[]=}(#t18, #t19) in #t19;
- v = map.{self::Map::[]}(this);
- v = map.{self::Map::[]}(self);
- v = let final self::Map<self::Class, self::Class> #t21 = map in let final self::Class #t22 = #t21.{self::Map::[]}(this).{self::Class::+}(this) in let final void #t23 = #t21.{self::Map::[]=}(this, #t22) in #t22;
- v = let final self::Map<self::Class, self::Class> #t24 = map in let final self::Class #t25 = self in let final self::Class #t26 = #t24.{self::Map::[]}(#t25).{self::Class::+}(self) in let final void #t27 = #t24.{self::Map::[]=}(#t25, #t26) in #t26;
+ v = let final self::Map<self::Class, self::Class> #t7 = map in let final self::Class #t8 = #t7.{self::Map::[]}(this){(self::Class) → self::Class} in #t8 == null ?{self::Class} let final void #t9 = #t7.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} in this : #t8;
+ v = let final self::Map<self::Class, self::Class> #t10 = map in let final self::Class #t11 = self in let final self::Class #t12 = #t10.{self::Map::[]}(#t11){(self::Class) → self::Class} in #t12 == null ?{self::Class} let final self::Class #t13 = self in let final void #t14 = #t10.{self::Map::[]=}(#t11, #t13){(self::Class, self::Class) → void} in #t13 : #t12;
+ v = let final self::Map<self::Class, self::Class> #t15 = map in let final void #t16 = #t15.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} in this;
+ v = let final self::Map<self::Class, self::Class> #t17 = map in let final self::Class #t18 = self in let final self::Class #t19 = self in let final void #t20 = #t17.{self::Map::[]=}(#t18, #t19){(self::Class, self::Class) → void} in #t19;
+ v = map.{self::Map::[]}(this){(self::Class) → self::Class};
+ v = map.{self::Map::[]}(self){(self::Class) → self::Class};
+ v = let final self::Map<self::Class, self::Class> #t21 = map in let final self::Class #t22 = #t21.{self::Map::[]}(this){(self::Class) → self::Class}.{self::Class::+}(this){(self::Class) → self::Class} in let final void #t23 = #t21.{self::Map::[]=}(this, #t22){(self::Class, self::Class) → void} in #t22;
+ v = let final self::Map<self::Class, self::Class> #t24 = map in let final self::Class #t25 = self in let final self::Class #t26 = #t24.{self::Map::[]}(#t25){(self::Class) → self::Class}.{self::Class::+}(self){(self::Class) → self::Class} in let final void #t27 = #t24.{self::Map::[]=}(#t25, #t26){(self::Class, self::Class) → void} in #t26;
}
method implicitExtensionGetSetForEffect(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
- let final core::int #t28 = i in self::Extension|[](#t28, this).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
- let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
+ let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
+ let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int #t31 = i in self::Extension|[]=(#t31, this, self::Extension|[](#t31, this).{self::Class::+}(this));
- let final core::int #t32 = i in let final self::Class #t33 = self in self::Extension|[]=(#t32, #t33, self::Extension|[](#t32, #t33).{self::Class::+}(self));
+ let final core::int #t31 = i in self::Extension|[]=(#t31, this, self::Extension|[](#t31, this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final core::int #t32 = i in let final self::Class #t33 = self in self::Extension|[]=(#t32, #t33, self::Extension|[](#t32, #t33).{self::Class::+}(self){(self::Class) → self::Class});
}
method implicitExtensionGetSetForValue(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final core::int #t34 = i in let final self::Class #t35 = self::Extension|[](#t34, this) in #t35.{core::Object::==}(null) ?{self::Class} let final void #t36 = self::Extension|[]=(#t34, this, this) in this : #t35;
- v = let final core::int #t37 = i in let final self::Class #t38 = self in let final self::Class #t39 = self::Extension|[](#t37, #t38) in #t39.{core::Object::==}(null) ?{self::Class} let final self::Class #t40 = self in let final void #t41 = self::Extension|[]=(#t37, #t38, #t40) in #t40 : #t39;
+ v = let final core::int #t34 = i in let final self::Class #t35 = self::Extension|[](#t34, this) in #t35 == null ?{self::Class} let final void #t36 = self::Extension|[]=(#t34, this, this) in this : #t35;
+ v = let final core::int #t37 = i in let final self::Class #t38 = self in let final self::Class #t39 = self::Extension|[](#t37, #t38) in #t39 == null ?{self::Class} let final self::Class #t40 = self in let final void #t41 = self::Extension|[]=(#t37, #t38, #t40) in #t40 : #t39;
v = let final core::int #t42 = i in let final void #t43 = self::Extension|[]=(#t42, this, this) in this;
v = let final core::int #t44 = i in let final self::Class #t45 = self in let final self::Class #t46 = self in let final void #t47 = self::Extension|[]=(#t44, #t45, #t46) in #t46;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int #t48 = i in let final self::Class #t49 = self::Extension|[](#t48, this).{self::Class::+}(this) in let final void #t50 = self::Extension|[]=(#t48, this, #t49) in #t49;
- v = let final core::int #t51 = i in let final self::Class #t52 = self in let final self::Class #t53 = self::Extension|[](#t51, #t52).{self::Class::+}(self) in let final void #t54 = self::Extension|[]=(#t51, #t52, #t53) in #t53;
+ v = let final core::int #t48 = i in let final self::Class #t49 = self::Extension|[](#t48, this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t50 = self::Extension|[]=(#t48, this, #t49) in #t49;
+ v = let final core::int #t51 = i in let final self::Class #t52 = self in let final self::Class #t53 = self::Extension|[](#t51, #t52).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t54 = self::Extension|[]=(#t51, #t52, #t53) in #t53;
}
method explicitExtensionGetSetForEffect(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
- let final core::int #t55 = i in self::Extension|[](#t55, this).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t55, this, this) : null;
- let final core::int #t56 = i in let final self::Class #t57 = self in self::Extension|[](#t56, #t57).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t56, #t57, self) : null;
+ let final core::int #t55 = i in self::Extension|[](#t55, this) == null ?{self::Class} self::Extension|[]=(#t55, this, this) : null;
+ let final core::int #t56 = i in let final self::Class #t57 = self in self::Extension|[](#t56, #t57) == null ?{self::Class} self::Extension|[]=(#t56, #t57, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int #t58 = i in self::Extension|[]=(#t58, this, self::Extension|[](#t58, this).{self::Class::+}(this));
- let final core::int #t59 = i in let final self::Class #t60 = self in self::Extension|[]=(#t59, #t60, self::Extension|[](#t59, #t60).{self::Class::+}(self));
+ let final core::int #t58 = i in self::Extension|[]=(#t58, this, self::Extension|[](#t58, this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final core::int #t59 = i in let final self::Class #t60 = self in self::Extension|[]=(#t59, #t60, self::Extension|[](#t59, #t60).{self::Class::+}(self){(self::Class) → self::Class});
}
method explicitExtensionGetSetForValue(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final core::int #t61 = i in let final self::Class #t62 = self::Extension|[](#t61, this) in #t62.{core::Object::==}(null) ?{self::Class} let final void #t63 = self::Extension|[]=(#t61, this, this) in this : #t62;
- v = let final core::int #t64 = i in let final self::Class #t65 = self in let final self::Class #t66 = self::Extension|[](#t64, #t65) in #t66.{core::Object::==}(null) ?{self::Class} let final self::Class #t67 = self in let final void #t68 = self::Extension|[]=(#t64, #t65, #t67) in #t67 : #t66;
+ v = let final core::int #t61 = i in let final self::Class #t62 = self::Extension|[](#t61, this) in #t62 == null ?{self::Class} let final void #t63 = self::Extension|[]=(#t61, this, this) in this : #t62;
+ v = let final core::int #t64 = i in let final self::Class #t65 = self in let final self::Class #t66 = self::Extension|[](#t64, #t65) in #t66 == null ?{self::Class} let final self::Class #t67 = self in let final void #t68 = self::Extension|[]=(#t64, #t65, #t67) in #t67 : #t66;
v = let final core::int #t69 = i in let final void #t70 = self::Extension|[]=(#t69, this, this) in this;
v = let final core::int #t71 = i in let final self::Class #t72 = self in let final void #t73 = self::Extension|[]=(#t71, self, #t72) in #t72;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int #t74 = i in let final self::Class #t75 = self::Extension|[](#t74, this).{self::Class::+}(this) in let final void #t76 = self::Extension|[]=(#t74, this, #t75) in #t75;
- v = let final core::int #t77 = i in let final self::Class #t78 = self in let final self::Class #t79 = self::Extension|[](#t77, #t78).{self::Class::+}(self) in let final void #t80 = self::Extension|[]=(#t77, #t78, #t79) in #t79;
+ v = let final core::int #t74 = i in let final self::Class #t75 = self::Extension|[](#t74, this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t76 = self::Extension|[]=(#t74, this, #t75) in #t75;
+ v = let final core::int #t77 = i in let final self::Class #t78 = self in let final self::Class #t79 = self::Extension|[](#t77, #t78).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t80 = self::Extension|[]=(#t77, #t78, #t79) in #t79;
}
}
class Subclass extends self::Class {
@@ -231,28 +231,28 @@
late final self::Class self;
if(self::b)
self = this;
- super.{self::Class::[]}(this).{core::Object::==}(null) ?{self::Class} super.{self::Class::[]=}(this, this) : null;
- let final self::Class #t81 = self in super.{self::Class::[]}(#t81).{core::Object::==}(null) ?{self::Class} super.{self::Class::[]=}(#t81, self) : null;
+ super.{self::Class::[]}(this) == null ?{self::Class} super.{self::Class::[]=}(this, this) : null;
+ let final self::Class #t81 = self in super.{self::Class::[]}(#t81) == null ?{self::Class} super.{self::Class::[]=}(#t81, self) : null;
super.{self::Class::[]=}(this, this);
super.{self::Class::[]=}(self, self);
super.{self::Class::[]}(this);
super.{self::Class::[]}(self);
- super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this));
- let final self::Class #t82 = self in super.{self::Class::[]=}(#t82, super.{self::Class::[]}(#t82).{self::Class::+}(self));
+ super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final self::Class #t82 = self in super.{self::Class::[]=}(#t82, super.{self::Class::[]}(#t82).{self::Class::+}(self){(self::Class) → self::Class});
}
method superIndexGetSetForValue() → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class #t83 = super.{self::Class::[]}(this) in #t83.{core::Object::==}(null) ?{self::Class} let final void #t84 = super.{self::Class::[]=}(this, this) in this : #t83;
- v = let final self::Class #t85 = self in let final self::Class #t86 = super.{self::Class::[]}(#t85) in #t86.{core::Object::==}(null) ?{self::Class} let final self::Class #t87 = self in let final void #t88 = super.{self::Class::[]=}(#t85, #t87) in #t87 : #t86;
+ v = let final self::Class #t83 = super.{self::Class::[]}(this) in #t83 == null ?{self::Class} let final void #t84 = super.{self::Class::[]=}(this, this) in this : #t83;
+ v = let final self::Class #t85 = self in let final self::Class #t86 = super.{self::Class::[]}(#t85) in #t86 == null ?{self::Class} let final self::Class #t87 = self in let final void #t88 = super.{self::Class::[]=}(#t85, #t87) in #t87 : #t86;
v = let final void #t89 = super.{self::Class::[]=}(this, this) in this;
v = let final self::Class #t90 = self in let final self::Class #t91 = self in let final void #t92 = super.{self::Class::[]=}(#t90, #t91) in #t91;
v = super.{self::Class::[]}(this);
v = super.{self::Class::[]}(self);
- v = let final self::Class #t93 = super.{self::Class::[]}(this).{self::Class::+}(this) in let final void #t94 = super.{self::Class::[]=}(this, #t93) in #t93;
- v = let final self::Class #t95 = self in let final self::Class #t96 = super.{self::Class::[]}(#t95).{self::Class::+}(self) in let final void #t97 = super.{self::Class::[]=}(#t95, #t96) in #t96;
+ v = let final self::Class #t93 = super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t94 = super.{self::Class::[]=}(this, #t93) in #t93;
+ v = let final self::Class #t95 = self in let final self::Class #t96 = super.{self::Class::[]}(#t95).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t97 = super.{self::Class::[]=}(#t95, #t96) in #t96;
}
}
class Class2 extends core::Object {
@@ -265,55 +265,55 @@
late final self::Class2 self;
if(self::b)
self = this;
- self::Extension2|[](this, this).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
- let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
+ let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- let final self::Class2 #t100 = self in let final self::Class2 #t101 = self in self::Extension2|[]=(#t100, #t101, self::Extension2|[](#t100, #t101).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2});
+ let final self::Class2 #t100 = self in let final self::Class2 #t101 = self in self::Extension2|[]=(#t100, #t101, self::Extension2|[](#t100, #t101).{self::Class2::+}(self){(self::Class2) → self::Class2});
}
method implicitExtensionGetSetForValue() → void {
late final self::Class2 self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class2 #t102 = self::Extension2|[](this, this) in #t102.{core::Object::==}(null) ?{self::Class2} let final void #t103 = self::Extension2|[]=(this, this, this) in this : #t102;
- v = let final self::Class2 #t104 = self in let final self::Class2 #t105 = self in let final self::Class2 #t106 = self::Extension2|[](#t104, #t105) in #t106.{core::Object::==}(null) ?{self::Class2} let final self::Class2 #t107 = self in let final void #t108 = self::Extension2|[]=(#t104, #t105, #t107) in #t107 : #t106;
+ v = let final self::Class2 #t102 = self::Extension2|[](this, this) in #t102 == null ?{self::Class2} let final void #t103 = self::Extension2|[]=(this, this, this) in this : #t102;
+ v = let final self::Class2 #t104 = self in let final self::Class2 #t105 = self in let final self::Class2 #t106 = self::Extension2|[](#t104, #t105) in #t106 == null ?{self::Class2} let final self::Class2 #t107 = self in let final void #t108 = self::Extension2|[]=(#t104, #t105, #t107) in #t107 : #t106;
v = let final void #t109 = self::Extension2|[]=(this, this, this) in this;
v = let final self::Class2 #t110 = self in let final self::Class2 #t111 = self in let final self::Class2 #t112 = self in let final void #t113 = self::Extension2|[]=(#t110, #t111, #t112) in #t112;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2 #t114 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t115 = self::Extension2|[]=(this, this, #t114) in #t114;
- v = let final self::Class2 #t116 = self in let final self::Class2 #t117 = self in let final self::Class2 #t118 = self::Extension2|[](#t116, #t117).{self::Class2::+}(self) in let final void #t119 = self::Extension2|[]=(#t116, #t117, #t118) in #t118;
+ v = let final self::Class2 #t114 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2} in let final void #t115 = self::Extension2|[]=(this, this, #t114) in #t114;
+ v = let final self::Class2 #t116 = self in let final self::Class2 #t117 = self in let final self::Class2 #t118 = self::Extension2|[](#t116, #t117).{self::Class2::+}(self){(self::Class2) → self::Class2} in let final void #t119 = self::Extension2|[]=(#t116, #t117, #t118) in #t118;
}
method explicitExtensionGetSetForEffect() → void {
late final self::Class2 self;
if(self::b)
self = this;
- self::Extension2|[](this, this).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
- let final self::Class2 #t120 = self in let final self::Class2 #t121 = self in self::Extension2|[](#t120, #t121).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(#t120, #t121, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
+ let final self::Class2 #t120 = self in let final self::Class2 #t121 = self in self::Extension2|[](#t120, #t121) == null ?{self::Class2} self::Extension2|[]=(#t120, #t121, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- let final self::Class2 #t122 = self in let final self::Class2 #t123 = self in self::Extension2|[]=(#t122, #t123, self::Extension2|[](#t122, #t123).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2});
+ let final self::Class2 #t122 = self in let final self::Class2 #t123 = self in self::Extension2|[]=(#t122, #t123, self::Extension2|[](#t122, #t123).{self::Class2::+}(self){(self::Class2) → self::Class2});
}
method explicitExtensionGetSetForValue() → void {
late final self::Class2 self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class2 #t124 = self::Extension2|[](this, this) in #t124.{core::Object::==}(null) ?{self::Class2} let final void #t125 = self::Extension2|[]=(this, this, this) in this : #t124;
- v = let final self::Class2 #t126 = self in let final self::Class2 #t127 = self in let final self::Class2 #t128 = self::Extension2|[](#t126, #t127) in #t128.{core::Object::==}(null) ?{self::Class2} let final self::Class2 #t129 = self in let final void #t130 = self::Extension2|[]=(#t126, #t127, #t129) in #t129 : #t128;
+ v = let final self::Class2 #t124 = self::Extension2|[](this, this) in #t124 == null ?{self::Class2} let final void #t125 = self::Extension2|[]=(this, this, this) in this : #t124;
+ v = let final self::Class2 #t126 = self in let final self::Class2 #t127 = self in let final self::Class2 #t128 = self::Extension2|[](#t126, #t127) in #t128 == null ?{self::Class2} let final self::Class2 #t129 = self in let final void #t130 = self::Extension2|[]=(#t126, #t127, #t129) in #t129 : #t128;
v = let final void #t131 = self::Extension2|[]=(this, this, this) in this;
v = let final self::Class2 #t132 = self in let final self::Class2 #t133 = self in let final void #t134 = self::Extension2|[]=(#t132, self, #t133) in #t133;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2 #t135 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t136 = self::Extension2|[]=(this, this, #t135) in #t135;
- v = let final self::Class2 #t137 = self in let final self::Class2 #t138 = self in let final self::Class2 #t139 = self::Extension2|[](#t137, #t138).{self::Class2::+}(self) in let final void #t140 = self::Extension2|[]=(#t137, #t138, #t139) in #t139;
+ v = let final self::Class2 #t135 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2} in let final void #t136 = self::Extension2|[]=(this, this, #t135) in #t135;
+ v = let final self::Class2 #t137 = self in let final self::Class2 #t138 = self in let final self::Class2 #t139 = self::Extension2|[](#t137, #t138).{self::Class2::+}(self){(self::Class2) → self::Class2} in let final void #t140 = self::Extension2|[]=(#t137, #t138, #t139) in #t139;
}
}
extension Extension on core::int {
diff --git a/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.expect b/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.expect
index 84d1907..987bcb5 100644
--- a/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.expect
@@ -145,82 +145,82 @@
late final self::Class self;
if(self::b)
self = this;
- let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this).{core::Object::==}(null) ?{self::Class} #t1.{self::Map::[]=}(this, this) : null;
- let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3).{core::Object::==}(null) ?{self::Class} #t2.{self::Map::[]=}(#t3, self) : null;
- map.{self::Map::[]=}(this, this);
- map.{self::Map::[]=}(self, self);
- map.{self::Map::[]}(this);
- map.{self::Map::[]}(self);
- let final self::Map<self::Class, self::Class> #t4 = map in #t4.{self::Map::[]=}(this, #t4.{self::Map::[]}(this).{self::Class::+}(this));
- let final self::Map<self::Class, self::Class> #t5 = map in let final self::Class #t6 = self in #t5.{self::Map::[]=}(#t6, #t5.{self::Map::[]}(#t6).{self::Class::+}(self));
+ let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
+ let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
+ map.{self::Map::[]=}(this, this){(self::Class, self::Class) → void};
+ map.{self::Map::[]=}(self, self){(self::Class, self::Class) → void};
+ map.{self::Map::[]}(this){(self::Class) → self::Class};
+ map.{self::Map::[]}(self){(self::Class) → self::Class};
+ let final self::Map<self::Class, self::Class> #t4 = map in #t4.{self::Map::[]=}(this, #t4.{self::Map::[]}(this){(self::Class) → self::Class}.{self::Class::+}(this){(self::Class) → self::Class}){(self::Class, self::Class) → void};
+ let final self::Map<self::Class, self::Class> #t5 = map in let final self::Class #t6 = self in #t5.{self::Map::[]=}(#t6, #t5.{self::Map::[]}(#t6){(self::Class) → self::Class}.{self::Class::+}(self){(self::Class) → self::Class}){(self::Class, self::Class) → void};
}
method indexGetSetForValue(self::Map<self::Class, self::Class> map) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Map<self::Class, self::Class> #t7 = map in let final self::Class #t8 = #t7.{self::Map::[]}(this) in #t8.{core::Object::==}(null) ?{self::Class} let final void #t9 = #t7.{self::Map::[]=}(this, this) in this : #t8;
- v = let final self::Map<self::Class, self::Class> #t10 = map in let final self::Class #t11 = self in let final self::Class #t12 = #t10.{self::Map::[]}(#t11) in #t12.{core::Object::==}(null) ?{self::Class} let final self::Class #t13 = self in let final void #t14 = #t10.{self::Map::[]=}(#t11, #t13) in #t13 : #t12;
- v = let final self::Map<self::Class, self::Class> #t15 = map in let final void #t16 = #t15.{self::Map::[]=}(this, this) in this;
- v = let final self::Map<self::Class, self::Class> #t17 = map in let final self::Class #t18 = self in let final self::Class #t19 = self in let final void #t20 = #t17.{self::Map::[]=}(#t18, #t19) in #t19;
- v = map.{self::Map::[]}(this);
- v = map.{self::Map::[]}(self);
- v = let final self::Map<self::Class, self::Class> #t21 = map in let final self::Class #t22 = #t21.{self::Map::[]}(this).{self::Class::+}(this) in let final void #t23 = #t21.{self::Map::[]=}(this, #t22) in #t22;
- v = let final self::Map<self::Class, self::Class> #t24 = map in let final self::Class #t25 = self in let final self::Class #t26 = #t24.{self::Map::[]}(#t25).{self::Class::+}(self) in let final void #t27 = #t24.{self::Map::[]=}(#t25, #t26) in #t26;
+ v = let final self::Map<self::Class, self::Class> #t7 = map in let final self::Class #t8 = #t7.{self::Map::[]}(this){(self::Class) → self::Class} in #t8 == null ?{self::Class} let final void #t9 = #t7.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} in this : #t8;
+ v = let final self::Map<self::Class, self::Class> #t10 = map in let final self::Class #t11 = self in let final self::Class #t12 = #t10.{self::Map::[]}(#t11){(self::Class) → self::Class} in #t12 == null ?{self::Class} let final self::Class #t13 = self in let final void #t14 = #t10.{self::Map::[]=}(#t11, #t13){(self::Class, self::Class) → void} in #t13 : #t12;
+ v = let final self::Map<self::Class, self::Class> #t15 = map in let final void #t16 = #t15.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} in this;
+ v = let final self::Map<self::Class, self::Class> #t17 = map in let final self::Class #t18 = self in let final self::Class #t19 = self in let final void #t20 = #t17.{self::Map::[]=}(#t18, #t19){(self::Class, self::Class) → void} in #t19;
+ v = map.{self::Map::[]}(this){(self::Class) → self::Class};
+ v = map.{self::Map::[]}(self){(self::Class) → self::Class};
+ v = let final self::Map<self::Class, self::Class> #t21 = map in let final self::Class #t22 = #t21.{self::Map::[]}(this){(self::Class) → self::Class}.{self::Class::+}(this){(self::Class) → self::Class} in let final void #t23 = #t21.{self::Map::[]=}(this, #t22){(self::Class, self::Class) → void} in #t22;
+ v = let final self::Map<self::Class, self::Class> #t24 = map in let final self::Class #t25 = self in let final self::Class #t26 = #t24.{self::Map::[]}(#t25){(self::Class) → self::Class}.{self::Class::+}(self){(self::Class) → self::Class} in let final void #t27 = #t24.{self::Map::[]=}(#t25, #t26){(self::Class, self::Class) → void} in #t26;
}
method implicitExtensionGetSetForEffect(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
- let final core::int #t28 = i in self::Extension|[](#t28, this).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
- let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
+ let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
+ let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int #t31 = i in self::Extension|[]=(#t31, this, self::Extension|[](#t31, this).{self::Class::+}(this));
- let final core::int #t32 = i in let final self::Class #t33 = self in self::Extension|[]=(#t32, #t33, self::Extension|[](#t32, #t33).{self::Class::+}(self));
+ let final core::int #t31 = i in self::Extension|[]=(#t31, this, self::Extension|[](#t31, this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final core::int #t32 = i in let final self::Class #t33 = self in self::Extension|[]=(#t32, #t33, self::Extension|[](#t32, #t33).{self::Class::+}(self){(self::Class) → self::Class});
}
method implicitExtensionGetSetForValue(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final core::int #t34 = i in let final self::Class #t35 = self::Extension|[](#t34, this) in #t35.{core::Object::==}(null) ?{self::Class} let final void #t36 = self::Extension|[]=(#t34, this, this) in this : #t35;
- v = let final core::int #t37 = i in let final self::Class #t38 = self in let final self::Class #t39 = self::Extension|[](#t37, #t38) in #t39.{core::Object::==}(null) ?{self::Class} let final self::Class #t40 = self in let final void #t41 = self::Extension|[]=(#t37, #t38, #t40) in #t40 : #t39;
+ v = let final core::int #t34 = i in let final self::Class #t35 = self::Extension|[](#t34, this) in #t35 == null ?{self::Class} let final void #t36 = self::Extension|[]=(#t34, this, this) in this : #t35;
+ v = let final core::int #t37 = i in let final self::Class #t38 = self in let final self::Class #t39 = self::Extension|[](#t37, #t38) in #t39 == null ?{self::Class} let final self::Class #t40 = self in let final void #t41 = self::Extension|[]=(#t37, #t38, #t40) in #t40 : #t39;
v = let final core::int #t42 = i in let final void #t43 = self::Extension|[]=(#t42, this, this) in this;
v = let final core::int #t44 = i in let final self::Class #t45 = self in let final self::Class #t46 = self in let final void #t47 = self::Extension|[]=(#t44, #t45, #t46) in #t46;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int #t48 = i in let final self::Class #t49 = self::Extension|[](#t48, this).{self::Class::+}(this) in let final void #t50 = self::Extension|[]=(#t48, this, #t49) in #t49;
- v = let final core::int #t51 = i in let final self::Class #t52 = self in let final self::Class #t53 = self::Extension|[](#t51, #t52).{self::Class::+}(self) in let final void #t54 = self::Extension|[]=(#t51, #t52, #t53) in #t53;
+ v = let final core::int #t48 = i in let final self::Class #t49 = self::Extension|[](#t48, this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t50 = self::Extension|[]=(#t48, this, #t49) in #t49;
+ v = let final core::int #t51 = i in let final self::Class #t52 = self in let final self::Class #t53 = self::Extension|[](#t51, #t52).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t54 = self::Extension|[]=(#t51, #t52, #t53) in #t53;
}
method explicitExtensionGetSetForEffect(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
- let final core::int #t55 = i in self::Extension|[](#t55, this).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t55, this, this) : null;
- let final core::int #t56 = i in let final self::Class #t57 = self in self::Extension|[](#t56, #t57).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t56, #t57, self) : null;
+ let final core::int #t55 = i in self::Extension|[](#t55, this) == null ?{self::Class} self::Extension|[]=(#t55, this, this) : null;
+ let final core::int #t56 = i in let final self::Class #t57 = self in self::Extension|[](#t56, #t57) == null ?{self::Class} self::Extension|[]=(#t56, #t57, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int #t58 = i in self::Extension|[]=(#t58, this, self::Extension|[](#t58, this).{self::Class::+}(this));
- let final core::int #t59 = i in let final self::Class #t60 = self in self::Extension|[]=(#t59, #t60, self::Extension|[](#t59, #t60).{self::Class::+}(self));
+ let final core::int #t58 = i in self::Extension|[]=(#t58, this, self::Extension|[](#t58, this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final core::int #t59 = i in let final self::Class #t60 = self in self::Extension|[]=(#t59, #t60, self::Extension|[](#t59, #t60).{self::Class::+}(self){(self::Class) → self::Class});
}
method explicitExtensionGetSetForValue(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final core::int #t61 = i in let final self::Class #t62 = self::Extension|[](#t61, this) in #t62.{core::Object::==}(null) ?{self::Class} let final void #t63 = self::Extension|[]=(#t61, this, this) in this : #t62;
- v = let final core::int #t64 = i in let final self::Class #t65 = self in let final self::Class #t66 = self::Extension|[](#t64, #t65) in #t66.{core::Object::==}(null) ?{self::Class} let final self::Class #t67 = self in let final void #t68 = self::Extension|[]=(#t64, #t65, #t67) in #t67 : #t66;
+ v = let final core::int #t61 = i in let final self::Class #t62 = self::Extension|[](#t61, this) in #t62 == null ?{self::Class} let final void #t63 = self::Extension|[]=(#t61, this, this) in this : #t62;
+ v = let final core::int #t64 = i in let final self::Class #t65 = self in let final self::Class #t66 = self::Extension|[](#t64, #t65) in #t66 == null ?{self::Class} let final self::Class #t67 = self in let final void #t68 = self::Extension|[]=(#t64, #t65, #t67) in #t67 : #t66;
v = let final core::int #t69 = i in let final void #t70 = self::Extension|[]=(#t69, this, this) in this;
v = let final core::int #t71 = i in let final self::Class #t72 = self in let final void #t73 = self::Extension|[]=(#t71, self, #t72) in #t72;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int #t74 = i in let final self::Class #t75 = self::Extension|[](#t74, this).{self::Class::+}(this) in let final void #t76 = self::Extension|[]=(#t74, this, #t75) in #t75;
- v = let final core::int #t77 = i in let final self::Class #t78 = self in let final self::Class #t79 = self::Extension|[](#t77, #t78).{self::Class::+}(self) in let final void #t80 = self::Extension|[]=(#t77, #t78, #t79) in #t79;
+ v = let final core::int #t74 = i in let final self::Class #t75 = self::Extension|[](#t74, this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t76 = self::Extension|[]=(#t74, this, #t75) in #t75;
+ v = let final core::int #t77 = i in let final self::Class #t78 = self in let final self::Class #t79 = self::Extension|[](#t77, #t78).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t80 = self::Extension|[]=(#t77, #t78, #t79) in #t79;
}
}
class Subclass extends self::Class {
@@ -231,28 +231,28 @@
late final self::Class self;
if(self::b)
self = this;
- super.{self::Class::[]}(this).{core::Object::==}(null) ?{self::Class} super.{self::Class::[]=}(this, this) : null;
- let final self::Class #t81 = self in super.{self::Class::[]}(#t81).{core::Object::==}(null) ?{self::Class} super.{self::Class::[]=}(#t81, self) : null;
+ super.{self::Class::[]}(this) == null ?{self::Class} super.{self::Class::[]=}(this, this) : null;
+ let final self::Class #t81 = self in super.{self::Class::[]}(#t81) == null ?{self::Class} super.{self::Class::[]=}(#t81, self) : null;
super.{self::Class::[]=}(this, this);
super.{self::Class::[]=}(self, self);
super.{self::Class::[]}(this);
super.{self::Class::[]}(self);
- super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this));
- let final self::Class #t82 = self in super.{self::Class::[]=}(#t82, super.{self::Class::[]}(#t82).{self::Class::+}(self));
+ super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final self::Class #t82 = self in super.{self::Class::[]=}(#t82, super.{self::Class::[]}(#t82).{self::Class::+}(self){(self::Class) → self::Class});
}
method superIndexGetSetForValue() → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class #t83 = super.{self::Class::[]}(this) in #t83.{core::Object::==}(null) ?{self::Class} let final void #t84 = super.{self::Class::[]=}(this, this) in this : #t83;
- v = let final self::Class #t85 = self in let final self::Class #t86 = super.{self::Class::[]}(#t85) in #t86.{core::Object::==}(null) ?{self::Class} let final self::Class #t87 = self in let final void #t88 = super.{self::Class::[]=}(#t85, #t87) in #t87 : #t86;
+ v = let final self::Class #t83 = super.{self::Class::[]}(this) in #t83 == null ?{self::Class} let final void #t84 = super.{self::Class::[]=}(this, this) in this : #t83;
+ v = let final self::Class #t85 = self in let final self::Class #t86 = super.{self::Class::[]}(#t85) in #t86 == null ?{self::Class} let final self::Class #t87 = self in let final void #t88 = super.{self::Class::[]=}(#t85, #t87) in #t87 : #t86;
v = let final void #t89 = super.{self::Class::[]=}(this, this) in this;
v = let final self::Class #t90 = self in let final self::Class #t91 = self in let final void #t92 = super.{self::Class::[]=}(#t90, #t91) in #t91;
v = super.{self::Class::[]}(this);
v = super.{self::Class::[]}(self);
- v = let final self::Class #t93 = super.{self::Class::[]}(this).{self::Class::+}(this) in let final void #t94 = super.{self::Class::[]=}(this, #t93) in #t93;
- v = let final self::Class #t95 = self in let final self::Class #t96 = super.{self::Class::[]}(#t95).{self::Class::+}(self) in let final void #t97 = super.{self::Class::[]=}(#t95, #t96) in #t96;
+ v = let final self::Class #t93 = super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t94 = super.{self::Class::[]=}(this, #t93) in #t93;
+ v = let final self::Class #t95 = self in let final self::Class #t96 = super.{self::Class::[]}(#t95).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t97 = super.{self::Class::[]=}(#t95, #t96) in #t96;
}
}
class Class2 extends core::Object {
@@ -265,55 +265,55 @@
late final self::Class2 self;
if(self::b)
self = this;
- self::Extension2|[](this, this).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
- let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
+ let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- let final self::Class2 #t100 = self in let final self::Class2 #t101 = self in self::Extension2|[]=(#t100, #t101, self::Extension2|[](#t100, #t101).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2});
+ let final self::Class2 #t100 = self in let final self::Class2 #t101 = self in self::Extension2|[]=(#t100, #t101, self::Extension2|[](#t100, #t101).{self::Class2::+}(self){(self::Class2) → self::Class2});
}
method implicitExtensionGetSetForValue() → void {
late final self::Class2 self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class2 #t102 = self::Extension2|[](this, this) in #t102.{core::Object::==}(null) ?{self::Class2} let final void #t103 = self::Extension2|[]=(this, this, this) in this : #t102;
- v = let final self::Class2 #t104 = self in let final self::Class2 #t105 = self in let final self::Class2 #t106 = self::Extension2|[](#t104, #t105) in #t106.{core::Object::==}(null) ?{self::Class2} let final self::Class2 #t107 = self in let final void #t108 = self::Extension2|[]=(#t104, #t105, #t107) in #t107 : #t106;
+ v = let final self::Class2 #t102 = self::Extension2|[](this, this) in #t102 == null ?{self::Class2} let final void #t103 = self::Extension2|[]=(this, this, this) in this : #t102;
+ v = let final self::Class2 #t104 = self in let final self::Class2 #t105 = self in let final self::Class2 #t106 = self::Extension2|[](#t104, #t105) in #t106 == null ?{self::Class2} let final self::Class2 #t107 = self in let final void #t108 = self::Extension2|[]=(#t104, #t105, #t107) in #t107 : #t106;
v = let final void #t109 = self::Extension2|[]=(this, this, this) in this;
v = let final self::Class2 #t110 = self in let final self::Class2 #t111 = self in let final self::Class2 #t112 = self in let final void #t113 = self::Extension2|[]=(#t110, #t111, #t112) in #t112;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2 #t114 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t115 = self::Extension2|[]=(this, this, #t114) in #t114;
- v = let final self::Class2 #t116 = self in let final self::Class2 #t117 = self in let final self::Class2 #t118 = self::Extension2|[](#t116, #t117).{self::Class2::+}(self) in let final void #t119 = self::Extension2|[]=(#t116, #t117, #t118) in #t118;
+ v = let final self::Class2 #t114 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2} in let final void #t115 = self::Extension2|[]=(this, this, #t114) in #t114;
+ v = let final self::Class2 #t116 = self in let final self::Class2 #t117 = self in let final self::Class2 #t118 = self::Extension2|[](#t116, #t117).{self::Class2::+}(self){(self::Class2) → self::Class2} in let final void #t119 = self::Extension2|[]=(#t116, #t117, #t118) in #t118;
}
method explicitExtensionGetSetForEffect() → void {
late final self::Class2 self;
if(self::b)
self = this;
- self::Extension2|[](this, this).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
- let final self::Class2 #t120 = self in let final self::Class2 #t121 = self in self::Extension2|[](#t120, #t121).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(#t120, #t121, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
+ let final self::Class2 #t120 = self in let final self::Class2 #t121 = self in self::Extension2|[](#t120, #t121) == null ?{self::Class2} self::Extension2|[]=(#t120, #t121, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- let final self::Class2 #t122 = self in let final self::Class2 #t123 = self in self::Extension2|[]=(#t122, #t123, self::Extension2|[](#t122, #t123).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2});
+ let final self::Class2 #t122 = self in let final self::Class2 #t123 = self in self::Extension2|[]=(#t122, #t123, self::Extension2|[](#t122, #t123).{self::Class2::+}(self){(self::Class2) → self::Class2});
}
method explicitExtensionGetSetForValue() → void {
late final self::Class2 self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class2 #t124 = self::Extension2|[](this, this) in #t124.{core::Object::==}(null) ?{self::Class2} let final void #t125 = self::Extension2|[]=(this, this, this) in this : #t124;
- v = let final self::Class2 #t126 = self in let final self::Class2 #t127 = self in let final self::Class2 #t128 = self::Extension2|[](#t126, #t127) in #t128.{core::Object::==}(null) ?{self::Class2} let final self::Class2 #t129 = self in let final void #t130 = self::Extension2|[]=(#t126, #t127, #t129) in #t129 : #t128;
+ v = let final self::Class2 #t124 = self::Extension2|[](this, this) in #t124 == null ?{self::Class2} let final void #t125 = self::Extension2|[]=(this, this, this) in this : #t124;
+ v = let final self::Class2 #t126 = self in let final self::Class2 #t127 = self in let final self::Class2 #t128 = self::Extension2|[](#t126, #t127) in #t128 == null ?{self::Class2} let final self::Class2 #t129 = self in let final void #t130 = self::Extension2|[]=(#t126, #t127, #t129) in #t129 : #t128;
v = let final void #t131 = self::Extension2|[]=(this, this, this) in this;
v = let final self::Class2 #t132 = self in let final self::Class2 #t133 = self in let final void #t134 = self::Extension2|[]=(#t132, self, #t133) in #t133;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2 #t135 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t136 = self::Extension2|[]=(this, this, #t135) in #t135;
- v = let final self::Class2 #t137 = self in let final self::Class2 #t138 = self in let final self::Class2 #t139 = self::Extension2|[](#t137, #t138).{self::Class2::+}(self) in let final void #t140 = self::Extension2|[]=(#t137, #t138, #t139) in #t139;
+ v = let final self::Class2 #t135 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2} in let final void #t136 = self::Extension2|[]=(this, this, #t135) in #t135;
+ v = let final self::Class2 #t137 = self in let final self::Class2 #t138 = self in let final self::Class2 #t139 = self::Extension2|[](#t137, #t138).{self::Class2::+}(self){(self::Class2) → self::Class2} in let final void #t140 = self::Extension2|[]=(#t137, #t138, #t139) in #t139;
}
}
extension Extension on core::int {
diff --git a/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.transformed.expect
index 84d1907..987bcb5 100644
--- a/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.transformed.expect
@@ -145,82 +145,82 @@
late final self::Class self;
if(self::b)
self = this;
- let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this).{core::Object::==}(null) ?{self::Class} #t1.{self::Map::[]=}(this, this) : null;
- let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3).{core::Object::==}(null) ?{self::Class} #t2.{self::Map::[]=}(#t3, self) : null;
- map.{self::Map::[]=}(this, this);
- map.{self::Map::[]=}(self, self);
- map.{self::Map::[]}(this);
- map.{self::Map::[]}(self);
- let final self::Map<self::Class, self::Class> #t4 = map in #t4.{self::Map::[]=}(this, #t4.{self::Map::[]}(this).{self::Class::+}(this));
- let final self::Map<self::Class, self::Class> #t5 = map in let final self::Class #t6 = self in #t5.{self::Map::[]=}(#t6, #t5.{self::Map::[]}(#t6).{self::Class::+}(self));
+ let final self::Map<self::Class, self::Class> #t1 = map in #t1.{self::Map::[]}(this){(self::Class) → self::Class} == null ?{self::Class} #t1.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} : null;
+ let final self::Map<self::Class, self::Class> #t2 = map in let final self::Class #t3 = self in #t2.{self::Map::[]}(#t3){(self::Class) → self::Class} == null ?{self::Class} #t2.{self::Map::[]=}(#t3, self){(self::Class, self::Class) → void} : null;
+ map.{self::Map::[]=}(this, this){(self::Class, self::Class) → void};
+ map.{self::Map::[]=}(self, self){(self::Class, self::Class) → void};
+ map.{self::Map::[]}(this){(self::Class) → self::Class};
+ map.{self::Map::[]}(self){(self::Class) → self::Class};
+ let final self::Map<self::Class, self::Class> #t4 = map in #t4.{self::Map::[]=}(this, #t4.{self::Map::[]}(this){(self::Class) → self::Class}.{self::Class::+}(this){(self::Class) → self::Class}){(self::Class, self::Class) → void};
+ let final self::Map<self::Class, self::Class> #t5 = map in let final self::Class #t6 = self in #t5.{self::Map::[]=}(#t6, #t5.{self::Map::[]}(#t6){(self::Class) → self::Class}.{self::Class::+}(self){(self::Class) → self::Class}){(self::Class, self::Class) → void};
}
method indexGetSetForValue(self::Map<self::Class, self::Class> map) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Map<self::Class, self::Class> #t7 = map in let final self::Class #t8 = #t7.{self::Map::[]}(this) in #t8.{core::Object::==}(null) ?{self::Class} let final void #t9 = #t7.{self::Map::[]=}(this, this) in this : #t8;
- v = let final self::Map<self::Class, self::Class> #t10 = map in let final self::Class #t11 = self in let final self::Class #t12 = #t10.{self::Map::[]}(#t11) in #t12.{core::Object::==}(null) ?{self::Class} let final self::Class #t13 = self in let final void #t14 = #t10.{self::Map::[]=}(#t11, #t13) in #t13 : #t12;
- v = let final self::Map<self::Class, self::Class> #t15 = map in let final void #t16 = #t15.{self::Map::[]=}(this, this) in this;
- v = let final self::Map<self::Class, self::Class> #t17 = map in let final self::Class #t18 = self in let final self::Class #t19 = self in let final void #t20 = #t17.{self::Map::[]=}(#t18, #t19) in #t19;
- v = map.{self::Map::[]}(this);
- v = map.{self::Map::[]}(self);
- v = let final self::Map<self::Class, self::Class> #t21 = map in let final self::Class #t22 = #t21.{self::Map::[]}(this).{self::Class::+}(this) in let final void #t23 = #t21.{self::Map::[]=}(this, #t22) in #t22;
- v = let final self::Map<self::Class, self::Class> #t24 = map in let final self::Class #t25 = self in let final self::Class #t26 = #t24.{self::Map::[]}(#t25).{self::Class::+}(self) in let final void #t27 = #t24.{self::Map::[]=}(#t25, #t26) in #t26;
+ v = let final self::Map<self::Class, self::Class> #t7 = map in let final self::Class #t8 = #t7.{self::Map::[]}(this){(self::Class) → self::Class} in #t8 == null ?{self::Class} let final void #t9 = #t7.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} in this : #t8;
+ v = let final self::Map<self::Class, self::Class> #t10 = map in let final self::Class #t11 = self in let final self::Class #t12 = #t10.{self::Map::[]}(#t11){(self::Class) → self::Class} in #t12 == null ?{self::Class} let final self::Class #t13 = self in let final void #t14 = #t10.{self::Map::[]=}(#t11, #t13){(self::Class, self::Class) → void} in #t13 : #t12;
+ v = let final self::Map<self::Class, self::Class> #t15 = map in let final void #t16 = #t15.{self::Map::[]=}(this, this){(self::Class, self::Class) → void} in this;
+ v = let final self::Map<self::Class, self::Class> #t17 = map in let final self::Class #t18 = self in let final self::Class #t19 = self in let final void #t20 = #t17.{self::Map::[]=}(#t18, #t19){(self::Class, self::Class) → void} in #t19;
+ v = map.{self::Map::[]}(this){(self::Class) → self::Class};
+ v = map.{self::Map::[]}(self){(self::Class) → self::Class};
+ v = let final self::Map<self::Class, self::Class> #t21 = map in let final self::Class #t22 = #t21.{self::Map::[]}(this){(self::Class) → self::Class}.{self::Class::+}(this){(self::Class) → self::Class} in let final void #t23 = #t21.{self::Map::[]=}(this, #t22){(self::Class, self::Class) → void} in #t22;
+ v = let final self::Map<self::Class, self::Class> #t24 = map in let final self::Class #t25 = self in let final self::Class #t26 = #t24.{self::Map::[]}(#t25){(self::Class) → self::Class}.{self::Class::+}(self){(self::Class) → self::Class} in let final void #t27 = #t24.{self::Map::[]=}(#t25, #t26){(self::Class, self::Class) → void} in #t26;
}
method implicitExtensionGetSetForEffect(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
- let final core::int #t28 = i in self::Extension|[](#t28, this).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
- let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
+ let final core::int #t28 = i in self::Extension|[](#t28, this) == null ?{self::Class} self::Extension|[]=(#t28, this, this) : null;
+ let final core::int #t29 = i in let final self::Class #t30 = self in self::Extension|[](#t29, #t30) == null ?{self::Class} self::Extension|[]=(#t29, #t30, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int #t31 = i in self::Extension|[]=(#t31, this, self::Extension|[](#t31, this).{self::Class::+}(this));
- let final core::int #t32 = i in let final self::Class #t33 = self in self::Extension|[]=(#t32, #t33, self::Extension|[](#t32, #t33).{self::Class::+}(self));
+ let final core::int #t31 = i in self::Extension|[]=(#t31, this, self::Extension|[](#t31, this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final core::int #t32 = i in let final self::Class #t33 = self in self::Extension|[]=(#t32, #t33, self::Extension|[](#t32, #t33).{self::Class::+}(self){(self::Class) → self::Class});
}
method implicitExtensionGetSetForValue(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final core::int #t34 = i in let final self::Class #t35 = self::Extension|[](#t34, this) in #t35.{core::Object::==}(null) ?{self::Class} let final void #t36 = self::Extension|[]=(#t34, this, this) in this : #t35;
- v = let final core::int #t37 = i in let final self::Class #t38 = self in let final self::Class #t39 = self::Extension|[](#t37, #t38) in #t39.{core::Object::==}(null) ?{self::Class} let final self::Class #t40 = self in let final void #t41 = self::Extension|[]=(#t37, #t38, #t40) in #t40 : #t39;
+ v = let final core::int #t34 = i in let final self::Class #t35 = self::Extension|[](#t34, this) in #t35 == null ?{self::Class} let final void #t36 = self::Extension|[]=(#t34, this, this) in this : #t35;
+ v = let final core::int #t37 = i in let final self::Class #t38 = self in let final self::Class #t39 = self::Extension|[](#t37, #t38) in #t39 == null ?{self::Class} let final self::Class #t40 = self in let final void #t41 = self::Extension|[]=(#t37, #t38, #t40) in #t40 : #t39;
v = let final core::int #t42 = i in let final void #t43 = self::Extension|[]=(#t42, this, this) in this;
v = let final core::int #t44 = i in let final self::Class #t45 = self in let final self::Class #t46 = self in let final void #t47 = self::Extension|[]=(#t44, #t45, #t46) in #t46;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int #t48 = i in let final self::Class #t49 = self::Extension|[](#t48, this).{self::Class::+}(this) in let final void #t50 = self::Extension|[]=(#t48, this, #t49) in #t49;
- v = let final core::int #t51 = i in let final self::Class #t52 = self in let final self::Class #t53 = self::Extension|[](#t51, #t52).{self::Class::+}(self) in let final void #t54 = self::Extension|[]=(#t51, #t52, #t53) in #t53;
+ v = let final core::int #t48 = i in let final self::Class #t49 = self::Extension|[](#t48, this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t50 = self::Extension|[]=(#t48, this, #t49) in #t49;
+ v = let final core::int #t51 = i in let final self::Class #t52 = self in let final self::Class #t53 = self::Extension|[](#t51, #t52).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t54 = self::Extension|[]=(#t51, #t52, #t53) in #t53;
}
method explicitExtensionGetSetForEffect(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
- let final core::int #t55 = i in self::Extension|[](#t55, this).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t55, this, this) : null;
- let final core::int #t56 = i in let final self::Class #t57 = self in self::Extension|[](#t56, #t57).{core::Object::==}(null) ?{self::Class} self::Extension|[]=(#t56, #t57, self) : null;
+ let final core::int #t55 = i in self::Extension|[](#t55, this) == null ?{self::Class} self::Extension|[]=(#t55, this, this) : null;
+ let final core::int #t56 = i in let final self::Class #t57 = self in self::Extension|[](#t56, #t57) == null ?{self::Class} self::Extension|[]=(#t56, #t57, self) : null;
self::Extension|[]=(i, this, this);
self::Extension|[]=(i, self, self);
self::Extension|[](i, this);
self::Extension|[](i, self);
- let final core::int #t58 = i in self::Extension|[]=(#t58, this, self::Extension|[](#t58, this).{self::Class::+}(this));
- let final core::int #t59 = i in let final self::Class #t60 = self in self::Extension|[]=(#t59, #t60, self::Extension|[](#t59, #t60).{self::Class::+}(self));
+ let final core::int #t58 = i in self::Extension|[]=(#t58, this, self::Extension|[](#t58, this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final core::int #t59 = i in let final self::Class #t60 = self in self::Extension|[]=(#t59, #t60, self::Extension|[](#t59, #t60).{self::Class::+}(self){(self::Class) → self::Class});
}
method explicitExtensionGetSetForValue(core::int i) → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final core::int #t61 = i in let final self::Class #t62 = self::Extension|[](#t61, this) in #t62.{core::Object::==}(null) ?{self::Class} let final void #t63 = self::Extension|[]=(#t61, this, this) in this : #t62;
- v = let final core::int #t64 = i in let final self::Class #t65 = self in let final self::Class #t66 = self::Extension|[](#t64, #t65) in #t66.{core::Object::==}(null) ?{self::Class} let final self::Class #t67 = self in let final void #t68 = self::Extension|[]=(#t64, #t65, #t67) in #t67 : #t66;
+ v = let final core::int #t61 = i in let final self::Class #t62 = self::Extension|[](#t61, this) in #t62 == null ?{self::Class} let final void #t63 = self::Extension|[]=(#t61, this, this) in this : #t62;
+ v = let final core::int #t64 = i in let final self::Class #t65 = self in let final self::Class #t66 = self::Extension|[](#t64, #t65) in #t66 == null ?{self::Class} let final self::Class #t67 = self in let final void #t68 = self::Extension|[]=(#t64, #t65, #t67) in #t67 : #t66;
v = let final core::int #t69 = i in let final void #t70 = self::Extension|[]=(#t69, this, this) in this;
v = let final core::int #t71 = i in let final self::Class #t72 = self in let final void #t73 = self::Extension|[]=(#t71, self, #t72) in #t72;
v = self::Extension|[](i, this);
v = self::Extension|[](i, self);
- v = let final core::int #t74 = i in let final self::Class #t75 = self::Extension|[](#t74, this).{self::Class::+}(this) in let final void #t76 = self::Extension|[]=(#t74, this, #t75) in #t75;
- v = let final core::int #t77 = i in let final self::Class #t78 = self in let final self::Class #t79 = self::Extension|[](#t77, #t78).{self::Class::+}(self) in let final void #t80 = self::Extension|[]=(#t77, #t78, #t79) in #t79;
+ v = let final core::int #t74 = i in let final self::Class #t75 = self::Extension|[](#t74, this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t76 = self::Extension|[]=(#t74, this, #t75) in #t75;
+ v = let final core::int #t77 = i in let final self::Class #t78 = self in let final self::Class #t79 = self::Extension|[](#t77, #t78).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t80 = self::Extension|[]=(#t77, #t78, #t79) in #t79;
}
}
class Subclass extends self::Class {
@@ -231,28 +231,28 @@
late final self::Class self;
if(self::b)
self = this;
- super.{self::Class::[]}(this).{core::Object::==}(null) ?{self::Class} super.{self::Class::[]=}(this, this) : null;
- let final self::Class #t81 = self in super.{self::Class::[]}(#t81).{core::Object::==}(null) ?{self::Class} super.{self::Class::[]=}(#t81, self) : null;
+ super.{self::Class::[]}(this) == null ?{self::Class} super.{self::Class::[]=}(this, this) : null;
+ let final self::Class #t81 = self in super.{self::Class::[]}(#t81) == null ?{self::Class} super.{self::Class::[]=}(#t81, self) : null;
super.{self::Class::[]=}(this, this);
super.{self::Class::[]=}(self, self);
super.{self::Class::[]}(this);
super.{self::Class::[]}(self);
- super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this));
- let final self::Class #t82 = self in super.{self::Class::[]=}(#t82, super.{self::Class::[]}(#t82).{self::Class::+}(self));
+ super.{self::Class::[]=}(this, super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class) → self::Class});
+ let final self::Class #t82 = self in super.{self::Class::[]=}(#t82, super.{self::Class::[]}(#t82).{self::Class::+}(self){(self::Class) → self::Class});
}
method superIndexGetSetForValue() → void {
late final self::Class self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class #t83 = super.{self::Class::[]}(this) in #t83.{core::Object::==}(null) ?{self::Class} let final void #t84 = super.{self::Class::[]=}(this, this) in this : #t83;
- v = let final self::Class #t85 = self in let final self::Class #t86 = super.{self::Class::[]}(#t85) in #t86.{core::Object::==}(null) ?{self::Class} let final self::Class #t87 = self in let final void #t88 = super.{self::Class::[]=}(#t85, #t87) in #t87 : #t86;
+ v = let final self::Class #t83 = super.{self::Class::[]}(this) in #t83 == null ?{self::Class} let final void #t84 = super.{self::Class::[]=}(this, this) in this : #t83;
+ v = let final self::Class #t85 = self in let final self::Class #t86 = super.{self::Class::[]}(#t85) in #t86 == null ?{self::Class} let final self::Class #t87 = self in let final void #t88 = super.{self::Class::[]=}(#t85, #t87) in #t87 : #t86;
v = let final void #t89 = super.{self::Class::[]=}(this, this) in this;
v = let final self::Class #t90 = self in let final self::Class #t91 = self in let final void #t92 = super.{self::Class::[]=}(#t90, #t91) in #t91;
v = super.{self::Class::[]}(this);
v = super.{self::Class::[]}(self);
- v = let final self::Class #t93 = super.{self::Class::[]}(this).{self::Class::+}(this) in let final void #t94 = super.{self::Class::[]=}(this, #t93) in #t93;
- v = let final self::Class #t95 = self in let final self::Class #t96 = super.{self::Class::[]}(#t95).{self::Class::+}(self) in let final void #t97 = super.{self::Class::[]=}(#t95, #t96) in #t96;
+ v = let final self::Class #t93 = super.{self::Class::[]}(this).{self::Class::+}(this){(self::Class) → self::Class} in let final void #t94 = super.{self::Class::[]=}(this, #t93) in #t93;
+ v = let final self::Class #t95 = self in let final self::Class #t96 = super.{self::Class::[]}(#t95).{self::Class::+}(self){(self::Class) → self::Class} in let final void #t97 = super.{self::Class::[]=}(#t95, #t96) in #t96;
}
}
class Class2 extends core::Object {
@@ -265,55 +265,55 @@
late final self::Class2 self;
if(self::b)
self = this;
- self::Extension2|[](this, this).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
- let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
+ let final self::Class2 #t98 = self in let final self::Class2 #t99 = self in self::Extension2|[](#t98, #t99) == null ?{self::Class2} self::Extension2|[]=(#t98, #t99, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- let final self::Class2 #t100 = self in let final self::Class2 #t101 = self in self::Extension2|[]=(#t100, #t101, self::Extension2|[](#t100, #t101).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2});
+ let final self::Class2 #t100 = self in let final self::Class2 #t101 = self in self::Extension2|[]=(#t100, #t101, self::Extension2|[](#t100, #t101).{self::Class2::+}(self){(self::Class2) → self::Class2});
}
method implicitExtensionGetSetForValue() → void {
late final self::Class2 self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class2 #t102 = self::Extension2|[](this, this) in #t102.{core::Object::==}(null) ?{self::Class2} let final void #t103 = self::Extension2|[]=(this, this, this) in this : #t102;
- v = let final self::Class2 #t104 = self in let final self::Class2 #t105 = self in let final self::Class2 #t106 = self::Extension2|[](#t104, #t105) in #t106.{core::Object::==}(null) ?{self::Class2} let final self::Class2 #t107 = self in let final void #t108 = self::Extension2|[]=(#t104, #t105, #t107) in #t107 : #t106;
+ v = let final self::Class2 #t102 = self::Extension2|[](this, this) in #t102 == null ?{self::Class2} let final void #t103 = self::Extension2|[]=(this, this, this) in this : #t102;
+ v = let final self::Class2 #t104 = self in let final self::Class2 #t105 = self in let final self::Class2 #t106 = self::Extension2|[](#t104, #t105) in #t106 == null ?{self::Class2} let final self::Class2 #t107 = self in let final void #t108 = self::Extension2|[]=(#t104, #t105, #t107) in #t107 : #t106;
v = let final void #t109 = self::Extension2|[]=(this, this, this) in this;
v = let final self::Class2 #t110 = self in let final self::Class2 #t111 = self in let final self::Class2 #t112 = self in let final void #t113 = self::Extension2|[]=(#t110, #t111, #t112) in #t112;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2 #t114 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t115 = self::Extension2|[]=(this, this, #t114) in #t114;
- v = let final self::Class2 #t116 = self in let final self::Class2 #t117 = self in let final self::Class2 #t118 = self::Extension2|[](#t116, #t117).{self::Class2::+}(self) in let final void #t119 = self::Extension2|[]=(#t116, #t117, #t118) in #t118;
+ v = let final self::Class2 #t114 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2} in let final void #t115 = self::Extension2|[]=(this, this, #t114) in #t114;
+ v = let final self::Class2 #t116 = self in let final self::Class2 #t117 = self in let final self::Class2 #t118 = self::Extension2|[](#t116, #t117).{self::Class2::+}(self){(self::Class2) → self::Class2} in let final void #t119 = self::Extension2|[]=(#t116, #t117, #t118) in #t118;
}
method explicitExtensionGetSetForEffect() → void {
late final self::Class2 self;
if(self::b)
self = this;
- self::Extension2|[](this, this).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
- let final self::Class2 #t120 = self in let final self::Class2 #t121 = self in self::Extension2|[](#t120, #t121).{core::Object::==}(null) ?{self::Class2} self::Extension2|[]=(#t120, #t121, self) : null;
+ self::Extension2|[](this, this) == null ?{self::Class2} self::Extension2|[]=(this, this, this) : null;
+ let final self::Class2 #t120 = self in let final self::Class2 #t121 = self in self::Extension2|[](#t120, #t121) == null ?{self::Class2} self::Extension2|[]=(#t120, #t121, self) : null;
self::Extension2|[]=(this, this, this);
self::Extension2|[]=(self, self, self);
self::Extension2|[](this, this);
self::Extension2|[](self, self);
- self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this));
- let final self::Class2 #t122 = self in let final self::Class2 #t123 = self in self::Extension2|[]=(#t122, #t123, self::Extension2|[](#t122, #t123).{self::Class2::+}(self));
+ self::Extension2|[]=(this, this, self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2});
+ let final self::Class2 #t122 = self in let final self::Class2 #t123 = self in self::Extension2|[]=(#t122, #t123, self::Extension2|[](#t122, #t123).{self::Class2::+}(self){(self::Class2) → self::Class2});
}
method explicitExtensionGetSetForValue() → void {
late final self::Class2 self;
if(self::b)
self = this;
dynamic v;
- v = let final self::Class2 #t124 = self::Extension2|[](this, this) in #t124.{core::Object::==}(null) ?{self::Class2} let final void #t125 = self::Extension2|[]=(this, this, this) in this : #t124;
- v = let final self::Class2 #t126 = self in let final self::Class2 #t127 = self in let final self::Class2 #t128 = self::Extension2|[](#t126, #t127) in #t128.{core::Object::==}(null) ?{self::Class2} let final self::Class2 #t129 = self in let final void #t130 = self::Extension2|[]=(#t126, #t127, #t129) in #t129 : #t128;
+ v = let final self::Class2 #t124 = self::Extension2|[](this, this) in #t124 == null ?{self::Class2} let final void #t125 = self::Extension2|[]=(this, this, this) in this : #t124;
+ v = let final self::Class2 #t126 = self in let final self::Class2 #t127 = self in let final self::Class2 #t128 = self::Extension2|[](#t126, #t127) in #t128 == null ?{self::Class2} let final self::Class2 #t129 = self in let final void #t130 = self::Extension2|[]=(#t126, #t127, #t129) in #t129 : #t128;
v = let final void #t131 = self::Extension2|[]=(this, this, this) in this;
v = let final self::Class2 #t132 = self in let final self::Class2 #t133 = self in let final void #t134 = self::Extension2|[]=(#t132, self, #t133) in #t133;
v = self::Extension2|[](this, this);
v = self::Extension2|[](self, self);
- v = let final self::Class2 #t135 = self::Extension2|[](this, this).{self::Class2::+}(this) in let final void #t136 = self::Extension2|[]=(this, this, #t135) in #t135;
- v = let final self::Class2 #t137 = self in let final self::Class2 #t138 = self in let final self::Class2 #t139 = self::Extension2|[](#t137, #t138).{self::Class2::+}(self) in let final void #t140 = self::Extension2|[]=(#t137, #t138, #t139) in #t139;
+ v = let final self::Class2 #t135 = self::Extension2|[](this, this).{self::Class2::+}(this){(self::Class2) → self::Class2} in let final void #t136 = self::Extension2|[]=(this, this, #t135) in #t135;
+ v = let final self::Class2 #t137 = self in let final self::Class2 #t138 = self in let final self::Class2 #t139 = self::Extension2|[](#t137, #t138).{self::Class2::+}(self){(self::Class2) → self::Class2} in let final void #t140 = self::Extension2|[]=(#t137, #t138, #t139) in #t139;
}
}
extension Extension on core::int {
diff --git a/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.strong.expect b/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.strong.expect
index 255b675..bac2c56 100644
--- a/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.strong.expect
@@ -8,6 +8,6 @@
: super core::Object::•()
;
get current() → self::A::T%
- return this.{self::A::_current} as{ForNonNullableByDefault} self::A::T%;
+ return this.{self::A::_current}{self::A::T?} as{ForNonNullableByDefault} self::A::T%;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.strong.transformed.expect
index fbff745..c6dc621 100644
--- a/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.strong.transformed.expect
@@ -8,6 +8,6 @@
: super core::Object::•()
;
get current() → self::A::T%
- return let self::A::T? #t1 = this.{self::A::_current} in #t1.==(null) ?{self::A::T%} #t1 as{ForNonNullableByDefault} self::A::T% : #t1{self::A::T%};
+ return let self::A::T? #t1 = this.{self::A::_current}{self::A::T?} in #t1.==(null) ?{self::A::T%} #t1 as{ForNonNullableByDefault} self::A::T% : #t1{self::A::T%};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.expect b/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.expect
index 255b675..bac2c56 100644
--- a/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.expect
@@ -8,6 +8,6 @@
: super core::Object::•()
;
get current() → self::A::T%
- return this.{self::A::_current} as{ForNonNullableByDefault} self::A::T%;
+ return this.{self::A::_current}{self::A::T?} as{ForNonNullableByDefault} self::A::T%;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.transformed.expect
index 4c4e247..85eb6b6 100644
--- a/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.transformed.expect
@@ -8,6 +8,6 @@
: super core::Object::•()
;
get current() → self::A::T%
- return this.{self::A::_current};
+ return this.{self::A::_current}{self::A::T?};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/return_async.dart.strong.expect b/pkg/front_end/testcases/nnbd/return_async.dart.strong.expect
index 2c50b42..ce2f50d 100644
--- a/pkg/front_end/testcases/nnbd/return_async.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/return_async.dart.strong.expect
@@ -24,10 +24,10 @@
final asy::Completer<void> completer = asy::Completer::•<void>();
asy::runZonedGuarded<asy::Future<Null>>(() → asy::Future<Null> async {
await self::allYield();
- completer.{asy::Completer::complete}(null);
+ completer.{asy::Completer::complete}(null){([FutureOr<void>?]) → void};
}, (core::Object e, core::StackTrace s) → void {
- completer.{asy::Completer::completeError}(e, s);
+ completer.{asy::Completer::completeError}(e, s){(core::Object, [core::StackTrace?]) → void};
});
- return completer.{asy::Completer::future};
+ return completer.{asy::Completer::future}{asy::Future<void>};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/return_async.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/return_async.dart.strong.transformed.expect
index b9094ae..f385f6f 100644
--- a/pkg/front_end/testcases/nnbd/return_async.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_async.dart.strong.transformed.expect
@@ -126,7 +126,7 @@
{
[yield] let dynamic #t6 = asy::_awaitHelper(self::allYield(), :async_op_then, :async_op_error, :async_op) in null;
_in::unsafeCast<void>(:result);
- completer.{asy::Completer::complete}(null);
+ completer.{asy::Completer::complete}(null){([FutureOr<void>?]) → void};
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -140,9 +140,9 @@
:is_sync = true;
return :async_future;
}, (core::Object e, core::StackTrace s) → void {
- completer.{asy::Completer::completeError}(e, s);
+ completer.{asy::Completer::completeError}(e, s){(core::Object, [core::StackTrace?]) → void};
});
- :return_value = completer.{asy::Completer::future};
+ :return_value = completer.{asy::Completer::future}{asy::Future<void>};
break #L4;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
diff --git a/pkg/front_end/testcases/nnbd/return_async.dart.weak.expect b/pkg/front_end/testcases/nnbd/return_async.dart.weak.expect
index 2c50b42..ce2f50d 100644
--- a/pkg/front_end/testcases/nnbd/return_async.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/return_async.dart.weak.expect
@@ -24,10 +24,10 @@
final asy::Completer<void> completer = asy::Completer::•<void>();
asy::runZonedGuarded<asy::Future<Null>>(() → asy::Future<Null> async {
await self::allYield();
- completer.{asy::Completer::complete}(null);
+ completer.{asy::Completer::complete}(null){([FutureOr<void>?]) → void};
}, (core::Object e, core::StackTrace s) → void {
- completer.{asy::Completer::completeError}(e, s);
+ completer.{asy::Completer::completeError}(e, s){(core::Object, [core::StackTrace?]) → void};
});
- return completer.{asy::Completer::future};
+ return completer.{asy::Completer::future}{asy::Future<void>};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/return_async.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/return_async.dart.weak.transformed.expect
index b9094ae..f385f6f 100644
--- a/pkg/front_end/testcases/nnbd/return_async.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_async.dart.weak.transformed.expect
@@ -126,7 +126,7 @@
{
[yield] let dynamic #t6 = asy::_awaitHelper(self::allYield(), :async_op_then, :async_op_error, :async_op) in null;
_in::unsafeCast<void>(:result);
- completer.{asy::Completer::complete}(null);
+ completer.{asy::Completer::complete}(null){([FutureOr<void>?]) → void};
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
@@ -140,9 +140,9 @@
:is_sync = true;
return :async_future;
}, (core::Object e, core::StackTrace s) → void {
- completer.{asy::Completer::completeError}(e, s);
+ completer.{asy::Completer::completeError}(e, s){(core::Object, [core::StackTrace?]) → void};
});
- :return_value = completer.{asy::Completer::future};
+ :return_value = completer.{asy::Completer::future}{asy::Future<void>};
break #L4;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
diff --git a/pkg/front_end/testcases/nnbd/return_late.dart.strong.expect b/pkg/front_end/testcases/nnbd/return_late.dart.strong.expect
index 66e9443..e58813e 100644
--- a/pkg/front_end/testcases/nnbd/return_late.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/return_late.dart.strong.expect
@@ -8,7 +8,7 @@
: self::Class::field = field, super core::Object::•()
;
method returnTypeVariable() → self::Class::E% {
- late self::Class::E% result = this.{self::Class::field};
+ late self::Class::E% result = this.{self::Class::field}{self::Class::E%};
return result;
}
}
@@ -21,14 +21,14 @@
return result;
}
static method main() → dynamic {
- self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}());
- self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}());
- self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}());
+ self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}(){() → core::int});
+ self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}(){() → core::int?});
+ self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}(){() → core::int?});
self::expect(42, self::returnNonNullable(42));
self::expect(87, self::returnNullable(87));
self::expect(null, self::returnNullable(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/return_late.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/return_late.dart.strong.transformed.expect
index 15e6379..6c634e1 100644
--- a/pkg/front_end/testcases/nnbd/return_late.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_late.dart.strong.transformed.expect
@@ -9,7 +9,7 @@
;
method returnTypeVariable() → self::Class::E% {
function #result#initializer() → self::Class::E%
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class::E%};
late self::Class::E% result = #result#initializer.call();
return result;
}
@@ -27,14 +27,14 @@
return result;
}
static method main() → dynamic {
- self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}());
- self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}());
- self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}());
+ self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}(){() → core::int});
+ self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}(){() → core::int?});
+ self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}(){() → core::int?});
self::expect(42, self::returnNonNullable(42));
self::expect(87, self::returnNullable(87));
self::expect(null, self::returnNullable(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/return_late.dart.weak.expect b/pkg/front_end/testcases/nnbd/return_late.dart.weak.expect
index 66e9443..e58813e 100644
--- a/pkg/front_end/testcases/nnbd/return_late.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/return_late.dart.weak.expect
@@ -8,7 +8,7 @@
: self::Class::field = field, super core::Object::•()
;
method returnTypeVariable() → self::Class::E% {
- late self::Class::E% result = this.{self::Class::field};
+ late self::Class::E% result = this.{self::Class::field}{self::Class::E%};
return result;
}
}
@@ -21,14 +21,14 @@
return result;
}
static method main() → dynamic {
- self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}());
- self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}());
- self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}());
+ self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}(){() → core::int});
+ self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}(){() → core::int?});
+ self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}(){() → core::int?});
self::expect(42, self::returnNonNullable(42));
self::expect(87, self::returnNullable(87));
self::expect(null, self::returnNullable(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/return_late.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/return_late.dart.weak.transformed.expect
index 15e6379..6c634e1 100644
--- a/pkg/front_end/testcases/nnbd/return_late.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_late.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
;
method returnTypeVariable() → self::Class::E% {
function #result#initializer() → self::Class::E%
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class::E%};
late self::Class::E% result = #result#initializer.call();
return result;
}
@@ -27,14 +27,14 @@
return result;
}
static method main() → dynamic {
- self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}());
- self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}());
- self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}());
+ self::expect(42, new self::Class::•<core::int>(42).{self::Class::returnTypeVariable}(){() → core::int});
+ self::expect(87, new self::Class::•<core::int?>(87).{self::Class::returnTypeVariable}(){() → core::int?});
+ self::expect(null, new self::Class::•<core::int?>(null).{self::Class::returnTypeVariable}(){() → core::int?});
self::expect(42, self::returnNonNullable(42));
self::expect(87, self::returnNullable(87));
self::expect(null, self::returnNullable(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.strong.expect b/pkg/front_end/testcases/nnbd/return_null.dart.strong.expect
index e64024b..dae1245 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.strong.expect
@@ -211,13 +211,13 @@
core::int? local1 = (() → core::int? {
if(b)
return 0;
- }).call();
+ })(){() → core::int?};
core::int? local2 = (() → core::int? {
if(b)
return null;
if(!b)
return 0;
- }).call();
+ })(){() → core::int?};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect
index 42cc194..377b821 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.strong.transformed.expect
@@ -609,13 +609,13 @@
core::int? local1 = (() → core::int? {
if(b)
return 0;
- }).call();
+ })(){() → core::int?};
core::int? local2 = (() → core::int? {
if(b)
return null;
if(!b)
return 0;
- }).call();
+ })(){() → core::int?};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.weak.expect b/pkg/front_end/testcases/nnbd/return_null.dart.weak.expect
index 5c3ec88..0711f1f 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.weak.expect
@@ -218,13 +218,13 @@
core::int? local1 = (() → core::int? {
if(b)
return 0;
- }).call();
+ })(){() → core::int?};
core::int? local2 = (() → core::int? {
if(b)
return null;
if(!b)
return 0;
- }).call();
+ })(){() → core::int?};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect
index 0790e3a..ed8f2cb 100644
--- a/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.weak.transformed.expect
@@ -616,13 +616,13 @@
core::int? local1 = (() → core::int? {
if(b)
return 0;
- }).call();
+ })(){() → core::int?};
core::int? local2 = (() → core::int? {
if(b)
return null;
if(!b)
return 0;
- }).call();
+ })(){() → core::int?};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/shorting_null_check.dart.strong.expect b/pkg/front_end/testcases/nnbd/shorting_null_check.dart.strong.expect
index af891e2..a02071a 100644
--- a/pkg/front_end/testcases/nnbd/shorting_null_check.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/shorting_null_check.dart.strong.expect
@@ -26,7 +26,7 @@
: self::Foo::bar = bar, super core::Object::•()
;
operator [](core::int? index) → self::Bar?
- return !index.{core::num::==}(null) ?{self::Bar?} new self::Bar::•(index{core::int}) : null;
+ return !(index == null) ?{self::Bar?} new self::Bar::•(index{core::int}) : null;
}
class Bar extends core::Object {
field core::int baz;
@@ -36,28 +36,28 @@
operator [](core::int index) → core::int
return index;
operator ==(core::Object other) → core::bool
- return other is{ForNonNullableByDefault} self::Bar && this.{self::Bar::baz}.{core::num::==}(other{self::Bar}.{self::Bar::baz});
+ return other is{ForNonNullableByDefault} self::Bar && this.{self::Bar::baz}{core::int} =={core::num::==}{(core::Object) → core::bool} other{self::Bar}.{self::Bar::baz}{core::int};
}
static method test1(self::A? a) → core::int?
- return let final self::A? #t1 = a in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::A}.{self::A::zero}!;
+ return let final self::A? #t1 = a in #t1 == null ?{core::int?} null : #t1{self::A}.{self::A::zero}{core::int}!;
static method test2(self::A? a) → core::int?
- return let final self::A? #t2 = a in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::A}.{self::A::zeroOrNull}!;
+ return let final self::A? #t2 = a in #t2 == null ?{core::int?} null : #t2{self::A}.{self::A::zeroOrNull}{core::int?}!;
static method test3(self::A? a) → core::bool?
- return let final self::A? #t3 = a in #t3.{core::Object::==}(null) ?{core::bool?} null : #t3{self::A}.{self::A::zero}!.{core::int::isEven};
+ return let final self::A? #t3 = a in #t3 == null ?{core::bool?} null : #t3{self::A}.{self::A::zero}{core::int}!.{core::int::isEven}{core::bool};
static method test4(self::A? a) → core::bool?
- return let final self::A? #t4 = a in #t4.{core::Object::==}(null) ?{core::bool?} null : #t4{self::A}.{self::A::zeroOrNull}!.{core::int::isEven};
+ return let final self::A? #t4 = a in #t4 == null ?{core::bool?} null : #t4{self::A}.{self::A::zeroOrNull}{core::int?}!.{core::int::isEven}{core::bool};
static method test5(self::Foo? foo) → self::Bar?
- return let final self::Foo? #t5 = foo in #t5.{core::Object::==}(null) ?{self::Bar?} null : #t5{self::Foo}.{self::Foo::bar}!;
+ return let final self::Foo? #t5 = foo in #t5 == null ?{self::Bar?} null : #t5{self::Foo}.{self::Foo::bar}{self::Bar?}!;
static method test6(self::Foo? foo) → core::int?
- return let final self::Foo? #t6 = foo in #t6.{core::Object::==}(null) ?{core::int?} null : #t6{self::Foo}.{self::Foo::bar}!.{self::Bar::baz};
+ return let final self::Foo? #t6 = foo in #t6 == null ?{core::int?} null : #t6{self::Foo}.{self::Foo::bar}{self::Bar?}!.{self::Bar::baz}{core::int};
static method test7(self::Foo? foo, core::int baz) → core::int?
- return let final self::Foo? #t7 = foo in #t7.{core::Object::==}(null) ?{core::int?} null : #t7{self::Foo}.{self::Foo::bar}!.{self::Bar::[]}(baz);
+ return let final self::Foo? #t7 = foo in #t7 == null ?{core::int?} null : #t7{self::Foo}.{self::Foo::bar}{self::Bar?}!.{self::Bar::[]}(baz){(core::int) → core::int};
static method test8(self::Foo? foo, core::int? bar) → self::Bar?
- return let final self::Foo? #t8 = foo in #t8.{core::Object::==}(null) ?{self::Bar?} null : #t8{self::Foo}.{self::Foo::[]}(bar)!;
+ return let final self::Foo? #t8 = foo in #t8 == null ?{self::Bar?} null : #t8{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!;
static method test9(self::Foo? foo, core::int? bar) → core::int?
- return let final self::Foo? #t9 = foo in #t9.{core::Object::==}(null) ?{core::int?} null : #t9{self::Foo}.{self::Foo::[]}(bar)!.{self::Bar::baz};
+ return let final self::Foo? #t9 = foo in #t9 == null ?{core::int?} null : #t9{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!.{self::Bar::baz}{core::int};
static method test10(self::Foo? foo, core::int? bar, core::int baz) → dynamic
- return let final self::Foo? #t10 = foo in #t10.{core::Object::==}(null) ?{core::int?} null : #t10{self::Foo}.{self::Foo::[]}(bar)!.{self::Bar::[]}(baz);
+ return let final self::Foo? #t10 = foo in #t10 == null ?{core::int?} null : #t10{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!.{self::Bar::[]}(baz){(core::int) → core::int};
static method main() → dynamic {
self::expect(0, self::test1(new self::A::•(0)));
self::expect(null, self::test1(null));
@@ -89,12 +89,12 @@
self::throws(() → void => self::test10(new self::Foo::•(new self::Bar::•(0)), null, 87));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/shorting_null_check.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/shorting_null_check.dart.strong.transformed.expect
index af891e2..a02071a 100644
--- a/pkg/front_end/testcases/nnbd/shorting_null_check.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/shorting_null_check.dart.strong.transformed.expect
@@ -26,7 +26,7 @@
: self::Foo::bar = bar, super core::Object::•()
;
operator [](core::int? index) → self::Bar?
- return !index.{core::num::==}(null) ?{self::Bar?} new self::Bar::•(index{core::int}) : null;
+ return !(index == null) ?{self::Bar?} new self::Bar::•(index{core::int}) : null;
}
class Bar extends core::Object {
field core::int baz;
@@ -36,28 +36,28 @@
operator [](core::int index) → core::int
return index;
operator ==(core::Object other) → core::bool
- return other is{ForNonNullableByDefault} self::Bar && this.{self::Bar::baz}.{core::num::==}(other{self::Bar}.{self::Bar::baz});
+ return other is{ForNonNullableByDefault} self::Bar && this.{self::Bar::baz}{core::int} =={core::num::==}{(core::Object) → core::bool} other{self::Bar}.{self::Bar::baz}{core::int};
}
static method test1(self::A? a) → core::int?
- return let final self::A? #t1 = a in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::A}.{self::A::zero}!;
+ return let final self::A? #t1 = a in #t1 == null ?{core::int?} null : #t1{self::A}.{self::A::zero}{core::int}!;
static method test2(self::A? a) → core::int?
- return let final self::A? #t2 = a in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::A}.{self::A::zeroOrNull}!;
+ return let final self::A? #t2 = a in #t2 == null ?{core::int?} null : #t2{self::A}.{self::A::zeroOrNull}{core::int?}!;
static method test3(self::A? a) → core::bool?
- return let final self::A? #t3 = a in #t3.{core::Object::==}(null) ?{core::bool?} null : #t3{self::A}.{self::A::zero}!.{core::int::isEven};
+ return let final self::A? #t3 = a in #t3 == null ?{core::bool?} null : #t3{self::A}.{self::A::zero}{core::int}!.{core::int::isEven}{core::bool};
static method test4(self::A? a) → core::bool?
- return let final self::A? #t4 = a in #t4.{core::Object::==}(null) ?{core::bool?} null : #t4{self::A}.{self::A::zeroOrNull}!.{core::int::isEven};
+ return let final self::A? #t4 = a in #t4 == null ?{core::bool?} null : #t4{self::A}.{self::A::zeroOrNull}{core::int?}!.{core::int::isEven}{core::bool};
static method test5(self::Foo? foo) → self::Bar?
- return let final self::Foo? #t5 = foo in #t5.{core::Object::==}(null) ?{self::Bar?} null : #t5{self::Foo}.{self::Foo::bar}!;
+ return let final self::Foo? #t5 = foo in #t5 == null ?{self::Bar?} null : #t5{self::Foo}.{self::Foo::bar}{self::Bar?}!;
static method test6(self::Foo? foo) → core::int?
- return let final self::Foo? #t6 = foo in #t6.{core::Object::==}(null) ?{core::int?} null : #t6{self::Foo}.{self::Foo::bar}!.{self::Bar::baz};
+ return let final self::Foo? #t6 = foo in #t6 == null ?{core::int?} null : #t6{self::Foo}.{self::Foo::bar}{self::Bar?}!.{self::Bar::baz}{core::int};
static method test7(self::Foo? foo, core::int baz) → core::int?
- return let final self::Foo? #t7 = foo in #t7.{core::Object::==}(null) ?{core::int?} null : #t7{self::Foo}.{self::Foo::bar}!.{self::Bar::[]}(baz);
+ return let final self::Foo? #t7 = foo in #t7 == null ?{core::int?} null : #t7{self::Foo}.{self::Foo::bar}{self::Bar?}!.{self::Bar::[]}(baz){(core::int) → core::int};
static method test8(self::Foo? foo, core::int? bar) → self::Bar?
- return let final self::Foo? #t8 = foo in #t8.{core::Object::==}(null) ?{self::Bar?} null : #t8{self::Foo}.{self::Foo::[]}(bar)!;
+ return let final self::Foo? #t8 = foo in #t8 == null ?{self::Bar?} null : #t8{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!;
static method test9(self::Foo? foo, core::int? bar) → core::int?
- return let final self::Foo? #t9 = foo in #t9.{core::Object::==}(null) ?{core::int?} null : #t9{self::Foo}.{self::Foo::[]}(bar)!.{self::Bar::baz};
+ return let final self::Foo? #t9 = foo in #t9 == null ?{core::int?} null : #t9{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!.{self::Bar::baz}{core::int};
static method test10(self::Foo? foo, core::int? bar, core::int baz) → dynamic
- return let final self::Foo? #t10 = foo in #t10.{core::Object::==}(null) ?{core::int?} null : #t10{self::Foo}.{self::Foo::[]}(bar)!.{self::Bar::[]}(baz);
+ return let final self::Foo? #t10 = foo in #t10 == null ?{core::int?} null : #t10{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!.{self::Bar::[]}(baz){(core::int) → core::int};
static method main() → dynamic {
self::expect(0, self::test1(new self::A::•(0)));
self::expect(null, self::test1(null));
@@ -89,12 +89,12 @@
self::throws(() → void => self::test10(new self::Foo::•(new self::Bar::•(0)), null, 87));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.expect b/pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.expect
index af891e2..a02071a 100644
--- a/pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.expect
@@ -26,7 +26,7 @@
: self::Foo::bar = bar, super core::Object::•()
;
operator [](core::int? index) → self::Bar?
- return !index.{core::num::==}(null) ?{self::Bar?} new self::Bar::•(index{core::int}) : null;
+ return !(index == null) ?{self::Bar?} new self::Bar::•(index{core::int}) : null;
}
class Bar extends core::Object {
field core::int baz;
@@ -36,28 +36,28 @@
operator [](core::int index) → core::int
return index;
operator ==(core::Object other) → core::bool
- return other is{ForNonNullableByDefault} self::Bar && this.{self::Bar::baz}.{core::num::==}(other{self::Bar}.{self::Bar::baz});
+ return other is{ForNonNullableByDefault} self::Bar && this.{self::Bar::baz}{core::int} =={core::num::==}{(core::Object) → core::bool} other{self::Bar}.{self::Bar::baz}{core::int};
}
static method test1(self::A? a) → core::int?
- return let final self::A? #t1 = a in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::A}.{self::A::zero}!;
+ return let final self::A? #t1 = a in #t1 == null ?{core::int?} null : #t1{self::A}.{self::A::zero}{core::int}!;
static method test2(self::A? a) → core::int?
- return let final self::A? #t2 = a in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::A}.{self::A::zeroOrNull}!;
+ return let final self::A? #t2 = a in #t2 == null ?{core::int?} null : #t2{self::A}.{self::A::zeroOrNull}{core::int?}!;
static method test3(self::A? a) → core::bool?
- return let final self::A? #t3 = a in #t3.{core::Object::==}(null) ?{core::bool?} null : #t3{self::A}.{self::A::zero}!.{core::int::isEven};
+ return let final self::A? #t3 = a in #t3 == null ?{core::bool?} null : #t3{self::A}.{self::A::zero}{core::int}!.{core::int::isEven}{core::bool};
static method test4(self::A? a) → core::bool?
- return let final self::A? #t4 = a in #t4.{core::Object::==}(null) ?{core::bool?} null : #t4{self::A}.{self::A::zeroOrNull}!.{core::int::isEven};
+ return let final self::A? #t4 = a in #t4 == null ?{core::bool?} null : #t4{self::A}.{self::A::zeroOrNull}{core::int?}!.{core::int::isEven}{core::bool};
static method test5(self::Foo? foo) → self::Bar?
- return let final self::Foo? #t5 = foo in #t5.{core::Object::==}(null) ?{self::Bar?} null : #t5{self::Foo}.{self::Foo::bar}!;
+ return let final self::Foo? #t5 = foo in #t5 == null ?{self::Bar?} null : #t5{self::Foo}.{self::Foo::bar}{self::Bar?}!;
static method test6(self::Foo? foo) → core::int?
- return let final self::Foo? #t6 = foo in #t6.{core::Object::==}(null) ?{core::int?} null : #t6{self::Foo}.{self::Foo::bar}!.{self::Bar::baz};
+ return let final self::Foo? #t6 = foo in #t6 == null ?{core::int?} null : #t6{self::Foo}.{self::Foo::bar}{self::Bar?}!.{self::Bar::baz}{core::int};
static method test7(self::Foo? foo, core::int baz) → core::int?
- return let final self::Foo? #t7 = foo in #t7.{core::Object::==}(null) ?{core::int?} null : #t7{self::Foo}.{self::Foo::bar}!.{self::Bar::[]}(baz);
+ return let final self::Foo? #t7 = foo in #t7 == null ?{core::int?} null : #t7{self::Foo}.{self::Foo::bar}{self::Bar?}!.{self::Bar::[]}(baz){(core::int) → core::int};
static method test8(self::Foo? foo, core::int? bar) → self::Bar?
- return let final self::Foo? #t8 = foo in #t8.{core::Object::==}(null) ?{self::Bar?} null : #t8{self::Foo}.{self::Foo::[]}(bar)!;
+ return let final self::Foo? #t8 = foo in #t8 == null ?{self::Bar?} null : #t8{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!;
static method test9(self::Foo? foo, core::int? bar) → core::int?
- return let final self::Foo? #t9 = foo in #t9.{core::Object::==}(null) ?{core::int?} null : #t9{self::Foo}.{self::Foo::[]}(bar)!.{self::Bar::baz};
+ return let final self::Foo? #t9 = foo in #t9 == null ?{core::int?} null : #t9{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!.{self::Bar::baz}{core::int};
static method test10(self::Foo? foo, core::int? bar, core::int baz) → dynamic
- return let final self::Foo? #t10 = foo in #t10.{core::Object::==}(null) ?{core::int?} null : #t10{self::Foo}.{self::Foo::[]}(bar)!.{self::Bar::[]}(baz);
+ return let final self::Foo? #t10 = foo in #t10 == null ?{core::int?} null : #t10{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!.{self::Bar::[]}(baz){(core::int) → core::int};
static method main() → dynamic {
self::expect(0, self::test1(new self::A::•(0)));
self::expect(null, self::test1(null));
@@ -89,12 +89,12 @@
self::throws(() → void => self::test10(new self::Foo::•(new self::Bar::•(0)), null, 87));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.transformed.expect
index af891e2..a02071a 100644
--- a/pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.transformed.expect
@@ -26,7 +26,7 @@
: self::Foo::bar = bar, super core::Object::•()
;
operator [](core::int? index) → self::Bar?
- return !index.{core::num::==}(null) ?{self::Bar?} new self::Bar::•(index{core::int}) : null;
+ return !(index == null) ?{self::Bar?} new self::Bar::•(index{core::int}) : null;
}
class Bar extends core::Object {
field core::int baz;
@@ -36,28 +36,28 @@
operator [](core::int index) → core::int
return index;
operator ==(core::Object other) → core::bool
- return other is{ForNonNullableByDefault} self::Bar && this.{self::Bar::baz}.{core::num::==}(other{self::Bar}.{self::Bar::baz});
+ return other is{ForNonNullableByDefault} self::Bar && this.{self::Bar::baz}{core::int} =={core::num::==}{(core::Object) → core::bool} other{self::Bar}.{self::Bar::baz}{core::int};
}
static method test1(self::A? a) → core::int?
- return let final self::A? #t1 = a in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::A}.{self::A::zero}!;
+ return let final self::A? #t1 = a in #t1 == null ?{core::int?} null : #t1{self::A}.{self::A::zero}{core::int}!;
static method test2(self::A? a) → core::int?
- return let final self::A? #t2 = a in #t2.{core::Object::==}(null) ?{core::int?} null : #t2{self::A}.{self::A::zeroOrNull}!;
+ return let final self::A? #t2 = a in #t2 == null ?{core::int?} null : #t2{self::A}.{self::A::zeroOrNull}{core::int?}!;
static method test3(self::A? a) → core::bool?
- return let final self::A? #t3 = a in #t3.{core::Object::==}(null) ?{core::bool?} null : #t3{self::A}.{self::A::zero}!.{core::int::isEven};
+ return let final self::A? #t3 = a in #t3 == null ?{core::bool?} null : #t3{self::A}.{self::A::zero}{core::int}!.{core::int::isEven}{core::bool};
static method test4(self::A? a) → core::bool?
- return let final self::A? #t4 = a in #t4.{core::Object::==}(null) ?{core::bool?} null : #t4{self::A}.{self::A::zeroOrNull}!.{core::int::isEven};
+ return let final self::A? #t4 = a in #t4 == null ?{core::bool?} null : #t4{self::A}.{self::A::zeroOrNull}{core::int?}!.{core::int::isEven}{core::bool};
static method test5(self::Foo? foo) → self::Bar?
- return let final self::Foo? #t5 = foo in #t5.{core::Object::==}(null) ?{self::Bar?} null : #t5{self::Foo}.{self::Foo::bar}!;
+ return let final self::Foo? #t5 = foo in #t5 == null ?{self::Bar?} null : #t5{self::Foo}.{self::Foo::bar}{self::Bar?}!;
static method test6(self::Foo? foo) → core::int?
- return let final self::Foo? #t6 = foo in #t6.{core::Object::==}(null) ?{core::int?} null : #t6{self::Foo}.{self::Foo::bar}!.{self::Bar::baz};
+ return let final self::Foo? #t6 = foo in #t6 == null ?{core::int?} null : #t6{self::Foo}.{self::Foo::bar}{self::Bar?}!.{self::Bar::baz}{core::int};
static method test7(self::Foo? foo, core::int baz) → core::int?
- return let final self::Foo? #t7 = foo in #t7.{core::Object::==}(null) ?{core::int?} null : #t7{self::Foo}.{self::Foo::bar}!.{self::Bar::[]}(baz);
+ return let final self::Foo? #t7 = foo in #t7 == null ?{core::int?} null : #t7{self::Foo}.{self::Foo::bar}{self::Bar?}!.{self::Bar::[]}(baz){(core::int) → core::int};
static method test8(self::Foo? foo, core::int? bar) → self::Bar?
- return let final self::Foo? #t8 = foo in #t8.{core::Object::==}(null) ?{self::Bar?} null : #t8{self::Foo}.{self::Foo::[]}(bar)!;
+ return let final self::Foo? #t8 = foo in #t8 == null ?{self::Bar?} null : #t8{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!;
static method test9(self::Foo? foo, core::int? bar) → core::int?
- return let final self::Foo? #t9 = foo in #t9.{core::Object::==}(null) ?{core::int?} null : #t9{self::Foo}.{self::Foo::[]}(bar)!.{self::Bar::baz};
+ return let final self::Foo? #t9 = foo in #t9 == null ?{core::int?} null : #t9{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!.{self::Bar::baz}{core::int};
static method test10(self::Foo? foo, core::int? bar, core::int baz) → dynamic
- return let final self::Foo? #t10 = foo in #t10.{core::Object::==}(null) ?{core::int?} null : #t10{self::Foo}.{self::Foo::[]}(bar)!.{self::Bar::[]}(baz);
+ return let final self::Foo? #t10 = foo in #t10 == null ?{core::int?} null : #t10{self::Foo}.{self::Foo::[]}(bar){(core::int?) → self::Bar?}!.{self::Bar::[]}(baz){(core::int) → core::int};
static method main() → dynamic {
self::expect(0, self::test1(new self::A::•(0)));
self::expect(null, self::test1(null));
@@ -89,12 +89,12 @@
self::throws(() → void => self::test10(new self::Foo::•(new self::Bar::•(0)), null, 87));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → void f) → dynamic {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object _) {
return;
diff --git a/pkg/front_end/testcases/nnbd/shorting_stop.dart.strong.expect b/pkg/front_end/testcases/nnbd/shorting_stop.dart.strong.expect
index 08f2fdd..5fd4921 100644
--- a/pkg/front_end/testcases/nnbd/shorting_stop.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/shorting_stop.dart.strong.expect
@@ -53,43 +53,43 @@
self::test(new self::Class::•());
}
static method test(self::Class? c) → dynamic {
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::Class}.{self::Class::next}.{self::Class::field};
+ let final self::Class? #t1 = c in #t1 == null ?{core::int?} null : #t1{self::Class}.{self::Class::next}{self::Class}.{self::Class::field}{core::int};
self::throwsInStrong(() → void => let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:18:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => c?.field + 2); // error
- ^" in (let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Class}.{self::Class::field}).{core::num::+}(2));
- let final self::Class? #t4 = c in #t4.{core::Object::==}(null) ?{core::int?} null : let final core::int #t5 = #t4.{self::Class::field}.{core::num::+}(1) in let final void #t6 = #t4.{self::Class::field} = #t5 in #t5;
- let final self::Class? #t7 = c in #t7.{core::Object::==}(null) ?{core::int?} null : #t7.{self::Class::field} = #t7.{self::Class::field}.{core::num::+}(1);
+ ^" in (let final self::Class? #t3 = c in #t3 == null ?{core::int?} null : #t3{self::Class}.{self::Class::field}{core::int}).{core::num::+}(2){(core::num) → core::num});
+ let final self::Class? #t4 = c in #t4 == null ?{core::int?} null : let final core::int #t5 = #t4.{self::Class::field}{core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t6 = #t4.{self::Class::field} = #t5 in #t5;
+ let final self::Class? #t7 = c in #t7 == null ?{core::int?} null : #t7.{self::Class::field} = #t7.{self::Class::field}{core::int}.{core::num::+}(1){(core::num) → core::int};
self::throwsInStrong(() → void => let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:21:34: Error: Property 'field' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/shorting_stop.dart'.
Try accessing using ?. instead.
throwsInStrong(() => (c?.next).field); // error
- ^^^^^" in (let final self::Class? #t9 = c in #t9.{core::Object::==}(null) ?{self::Class?} null : #t9{self::Class}.{self::Class::next}).{self::Class::field});
+ ^^^^^" in (let final self::Class? #t9 = c in #t9 == null ?{self::Class?} null : #t9{self::Class}.{self::Class::next}{self::Class}).{self::Class::field}{<nullable>}.{core::int});
self::throwsInStrong(() → void => let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:22:24: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => -c?.field); // error
- ^" in (let final self::Class? #t11 = c in #t11.{core::Object::==}(null) ?{core::int?} null : #t11{self::Class}.{self::Class::field}).{core::int::unary-}());
- let final self::Class? #t12 = c in #t12.{core::Object::==}(null) ?{core::bool?} null : #t12{self::Class}.{self::Class::next}.{self::Class::[]}(0).{core::int::isEven};
+ ^" in (let final self::Class? #t11 = c in #t11 == null ?{core::int?} null : #t11{self::Class}.{self::Class::field}{core::int}).{core::int::unary-}(){() → core::int});
+ let final self::Class? #t12 = c in #t12 == null ?{core::bool?} null : #t12{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}.{core::int::isEven}{core::bool};
self::throwsInStrong(() → void => let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:25:35: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => c?.next[0] + 2); // error
- ^" in (let final self::Class? #t14 = c in #t14.{core::Object::==}(null) ?{core::int?} null : #t14{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::num::+}(2));
- let final self::Class? #t15 = c in #t15.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::next} in let final core::int #t17 = 0 in let final core::int #t18 = #t16.{self::Class::[]}(#t17).{core::num::+}(1) in let final void #t19 = #t16.{self::Class::[]=}(#t17, #t18) in #t18;
- let final self::Class? #t20 = c in #t20.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t21 = #t20{self::Class}.{self::Class::next} in let final core::int #t22 = 0 in #t21.{self::Class::[]=}(#t22, #t21.{self::Class::[]}(#t22).{core::num::+}(1));
+ ^" in (let final self::Class? #t14 = c in #t14 == null ?{core::int?} null : #t14{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::num::+}(2){(core::num) → core::num});
+ let final self::Class? #t15 = c in #t15 == null ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::next}{self::Class} in let final core::int #t17 = 0 in let final core::int #t18 = #t16.{self::Class::[]}(#t17){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t19 = #t16.{self::Class::[]=}(#t17, #t18){(core::int, core::int) → void} in #t18;
+ let final self::Class? #t20 = c in #t20 == null ?{core::int?} null : let final self::Class #t21 = #t20{self::Class}.{self::Class::next}{self::Class} in let final core::int #t22 = 0 in #t21.{self::Class::[]=}(#t22, #t21.{self::Class::[]}(#t22){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
self::throwsInStrong(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:28:37: Error: Property 'isEven' cannot be accessed on 'int?' because it is potentially null.
Try accessing using ?. instead.
throwsInStrong(() => (c?.next[0]).isEven); // error
- ^^^^^^" in (let final self::Class? #t24 = c in #t24.{core::Object::==}(null) ?{core::int?} null : #t24{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::int::isEven});
+ ^^^^^^" in (let final self::Class? #t24 = c in #t24 == null ?{core::int?} null : #t24{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::int::isEven}{<nullable>}.{core::bool});
self::throwsInStrong(() → void => let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:29:24: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => -c?.next[0]); // error
- ^" in (let final self::Class? #t26 = c in #t26.{core::Object::==}(null) ?{core::int?} null : #t26{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::int::unary-}());
+ ^" in (let final self::Class? #t26 = c in #t26 == null ?{core::int?} null : #t26{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::int::unary-}(){() → core::int});
}
static method _inStrongMode() → core::bool {
(core::String?) → Null f = (core::String? s) → Null {
let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:36:7: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
Try accessing using ?. instead.
s.length; // This will be an invalid expression in strong mode.
- ^^^^^^" in s.{core::String::length};
+ ^^^^^^" in s.{core::String::length}{<nullable>}.{core::int};
};
try {
- f.call("foo");
+ f("foo"){(core::String?) → Null};
}
on core::Object catch(final core::Object e) {
return true;
@@ -99,7 +99,7 @@
static method throwsInStrong(() → void f) → void {
if(self::inStrongMode) {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
core::print(e);
@@ -108,6 +108,6 @@
throw "Expected exception.";
}
else {
- f.call();
+ f(){() → void};
}
}
diff --git a/pkg/front_end/testcases/nnbd/shorting_stop.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/shorting_stop.dart.strong.transformed.expect
index 08856f4..6c0eabe 100644
--- a/pkg/front_end/testcases/nnbd/shorting_stop.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/shorting_stop.dart.strong.transformed.expect
@@ -53,43 +53,43 @@
self::test(new self::Class::•());
}
static method test(self::Class? c) → dynamic {
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::Class}.{self::Class::next}.{self::Class::field};
+ let final self::Class? #t1 = c in #t1 == null ?{core::int?} null : #t1{self::Class}.{self::Class::next}{self::Class}.{self::Class::field}{core::int};
self::throwsInStrong(() → void => let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:18:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => c?.field + 2); // error
- ^" in (let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Class}.{self::Class::field}).{core::num::+}(2));
- let final self::Class? #t4 = c in #t4.{core::Object::==}(null) ?{core::int?} null : let final core::int #t5 = #t4.{self::Class::field}.{core::num::+}(1) in let final void #t6 = #t4.{self::Class::field} = #t5 in #t5;
- let final self::Class? #t7 = c in #t7.{core::Object::==}(null) ?{core::int?} null : #t7.{self::Class::field} = #t7.{self::Class::field}.{core::num::+}(1);
+ ^" in (let final self::Class? #t3 = c in #t3 == null ?{core::int?} null : #t3{self::Class}.{self::Class::field}{core::int}).{core::num::+}(2){(core::num) → core::num});
+ let final self::Class? #t4 = c in #t4 == null ?{core::int?} null : let final core::int #t5 = #t4.{self::Class::field}{core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t6 = #t4.{self::Class::field} = #t5 in #t5;
+ let final self::Class? #t7 = c in #t7 == null ?{core::int?} null : #t7.{self::Class::field} = #t7.{self::Class::field}{core::int}.{core::num::+}(1){(core::num) → core::int};
self::throwsInStrong(() → void => let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:21:34: Error: Property 'field' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/shorting_stop.dart'.
Try accessing using ?. instead.
throwsInStrong(() => (c?.next).field); // error
- ^^^^^" in (let final self::Class? #t9 = c in #t9.{core::Object::==}(null) ?{self::Class?} null : #t9{self::Class}.{self::Class::next}).{self::Class::field});
+ ^^^^^" in (let final self::Class? #t9 = c in #t9 == null ?{self::Class?} null : #t9{self::Class}.{self::Class::next}{self::Class}).{self::Class::field}{<nullable>}.{core::int});
self::throwsInStrong(() → void => let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:22:24: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => -c?.field); // error
- ^" in (let final self::Class? #t11 = c in #t11.{core::Object::==}(null) ?{core::int?} null : #t11{self::Class}.{self::Class::field}).{core::int::unary-}());
- let final self::Class? #t12 = c in #t12.{core::Object::==}(null) ?{core::bool?} null : #t12{self::Class}.{self::Class::next}.{self::Class::[]}(0).{core::int::isEven};
+ ^" in (let final self::Class? #t11 = c in #t11 == null ?{core::int?} null : #t11{self::Class}.{self::Class::field}{core::int}).{core::int::unary-}(){() → core::int});
+ let final self::Class? #t12 = c in #t12 == null ?{core::bool?} null : #t12{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}.{core::int::isEven}{core::bool};
self::throwsInStrong(() → void => let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:25:35: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => c?.next[0] + 2); // error
- ^" in (let final self::Class? #t14 = c in #t14.{core::Object::==}(null) ?{core::int?} null : #t14{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::num::+}(2));
- let final self::Class? #t15 = c in #t15.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::next} in let final core::int #t17 = 0 in let final core::int #t18 = #t16.{self::Class::[]}(#t17).{core::num::+}(1) in let final void #t19 = #t16.{self::Class::[]=}(#t17, #t18) in #t18;
- let final self::Class? #t20 = c in #t20.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t21 = #t20{self::Class}.{self::Class::next} in let final core::int #t22 = 0 in #t21.{self::Class::[]=}(#t22, #t21.{self::Class::[]}(#t22).{core::num::+}(1));
+ ^" in (let final self::Class? #t14 = c in #t14 == null ?{core::int?} null : #t14{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::num::+}(2){(core::num) → core::num});
+ let final self::Class? #t15 = c in #t15 == null ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::next}{self::Class} in let final core::int #t17 = 0 in let final core::int #t18 = #t16.{self::Class::[]}(#t17){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t19 = #t16.{self::Class::[]=}(#t17, #t18){(core::int, core::int) → void} in #t18;
+ let final self::Class? #t20 = c in #t20 == null ?{core::int?} null : let final self::Class #t21 = #t20{self::Class}.{self::Class::next}{self::Class} in let final core::int #t22 = 0 in #t21.{self::Class::[]=}(#t22, #t21.{self::Class::[]}(#t22){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
self::throwsInStrong(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:28:37: Error: Property 'isEven' cannot be accessed on 'int?' because it is potentially null.
Try accessing using ?. instead.
throwsInStrong(() => (c?.next[0]).isEven); // error
- ^^^^^^" in (let final self::Class? #t24 = c in #t24.{core::Object::==}(null) ?{core::int?} null : #t24{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::int::isEven});
+ ^^^^^^" in (let final self::Class? #t24 = c in #t24 == null ?{core::int?} null : #t24{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::int::isEven}{<nullable>}.{core::bool});
self::throwsInStrong(() → void => let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:29:24: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => -c?.next[0]); // error
- ^" in (let final self::Class? #t26 = c in #t26.{core::Object::==}(null) ?{core::int?} null : #t26{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::int::unary-}());
+ ^" in (let final self::Class? #t26 = c in #t26 == null ?{core::int?} null : #t26{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::int::unary-}(){() → core::int});
}
static method _inStrongMode() → core::bool {
(core::String?) → Null f = (core::String? s) → Null {
let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:36:7: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
Try accessing using ?. instead.
s.length; // This will be an invalid expression in strong mode.
- ^^^^^^" in s.{core::String::length};
+ ^^^^^^" in s.{core::String::length}{<nullable>}.{core::int};
};
try {
- f.call("foo");
+ f("foo"){(core::String?) → Null};
}
on core::Object catch(final core::Object e) {
return true;
@@ -99,7 +99,7 @@
static method throwsInStrong(() → void f) → void {
if(self::inStrongMode) {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
core::print(e);
@@ -108,7 +108,7 @@
throw "Expected exception.";
}
else {
- f.call();
+ f(){() → void};
}
}
diff --git a/pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.expect b/pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.expect
index 08f2fdd..5fd4921 100644
--- a/pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.expect
@@ -53,43 +53,43 @@
self::test(new self::Class::•());
}
static method test(self::Class? c) → dynamic {
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::Class}.{self::Class::next}.{self::Class::field};
+ let final self::Class? #t1 = c in #t1 == null ?{core::int?} null : #t1{self::Class}.{self::Class::next}{self::Class}.{self::Class::field}{core::int};
self::throwsInStrong(() → void => let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:18:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => c?.field + 2); // error
- ^" in (let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Class}.{self::Class::field}).{core::num::+}(2));
- let final self::Class? #t4 = c in #t4.{core::Object::==}(null) ?{core::int?} null : let final core::int #t5 = #t4.{self::Class::field}.{core::num::+}(1) in let final void #t6 = #t4.{self::Class::field} = #t5 in #t5;
- let final self::Class? #t7 = c in #t7.{core::Object::==}(null) ?{core::int?} null : #t7.{self::Class::field} = #t7.{self::Class::field}.{core::num::+}(1);
+ ^" in (let final self::Class? #t3 = c in #t3 == null ?{core::int?} null : #t3{self::Class}.{self::Class::field}{core::int}).{core::num::+}(2){(core::num) → core::num});
+ let final self::Class? #t4 = c in #t4 == null ?{core::int?} null : let final core::int #t5 = #t4.{self::Class::field}{core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t6 = #t4.{self::Class::field} = #t5 in #t5;
+ let final self::Class? #t7 = c in #t7 == null ?{core::int?} null : #t7.{self::Class::field} = #t7.{self::Class::field}{core::int}.{core::num::+}(1){(core::num) → core::int};
self::throwsInStrong(() → void => let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:21:34: Error: Property 'field' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/shorting_stop.dart'.
Try accessing using ?. instead.
throwsInStrong(() => (c?.next).field); // error
- ^^^^^" in (let final self::Class? #t9 = c in #t9.{core::Object::==}(null) ?{self::Class?} null : #t9{self::Class}.{self::Class::next}).{self::Class::field});
+ ^^^^^" in (let final self::Class? #t9 = c in #t9 == null ?{self::Class?} null : #t9{self::Class}.{self::Class::next}{self::Class}).{self::Class::field}{<nullable>}.{core::int});
self::throwsInStrong(() → void => let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:22:24: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => -c?.field); // error
- ^" in (let final self::Class? #t11 = c in #t11.{core::Object::==}(null) ?{core::int?} null : #t11{self::Class}.{self::Class::field}).{core::int::unary-}());
- let final self::Class? #t12 = c in #t12.{core::Object::==}(null) ?{core::bool?} null : #t12{self::Class}.{self::Class::next}.{self::Class::[]}(0).{core::int::isEven};
+ ^" in (let final self::Class? #t11 = c in #t11 == null ?{core::int?} null : #t11{self::Class}.{self::Class::field}{core::int}).{core::int::unary-}(){() → core::int});
+ let final self::Class? #t12 = c in #t12 == null ?{core::bool?} null : #t12{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}.{core::int::isEven}{core::bool};
self::throwsInStrong(() → void => let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:25:35: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => c?.next[0] + 2); // error
- ^" in (let final self::Class? #t14 = c in #t14.{core::Object::==}(null) ?{core::int?} null : #t14{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::num::+}(2));
- let final self::Class? #t15 = c in #t15.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::next} in let final core::int #t17 = 0 in let final core::int #t18 = #t16.{self::Class::[]}(#t17).{core::num::+}(1) in let final void #t19 = #t16.{self::Class::[]=}(#t17, #t18) in #t18;
- let final self::Class? #t20 = c in #t20.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t21 = #t20{self::Class}.{self::Class::next} in let final core::int #t22 = 0 in #t21.{self::Class::[]=}(#t22, #t21.{self::Class::[]}(#t22).{core::num::+}(1));
+ ^" in (let final self::Class? #t14 = c in #t14 == null ?{core::int?} null : #t14{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::num::+}(2){(core::num) → core::num});
+ let final self::Class? #t15 = c in #t15 == null ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::next}{self::Class} in let final core::int #t17 = 0 in let final core::int #t18 = #t16.{self::Class::[]}(#t17){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t19 = #t16.{self::Class::[]=}(#t17, #t18){(core::int, core::int) → void} in #t18;
+ let final self::Class? #t20 = c in #t20 == null ?{core::int?} null : let final self::Class #t21 = #t20{self::Class}.{self::Class::next}{self::Class} in let final core::int #t22 = 0 in #t21.{self::Class::[]=}(#t22, #t21.{self::Class::[]}(#t22){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
self::throwsInStrong(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:28:37: Error: Property 'isEven' cannot be accessed on 'int?' because it is potentially null.
Try accessing using ?. instead.
throwsInStrong(() => (c?.next[0]).isEven); // error
- ^^^^^^" in (let final self::Class? #t24 = c in #t24.{core::Object::==}(null) ?{core::int?} null : #t24{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::int::isEven});
+ ^^^^^^" in (let final self::Class? #t24 = c in #t24 == null ?{core::int?} null : #t24{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::int::isEven}{<nullable>}.{core::bool});
self::throwsInStrong(() → void => let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:29:24: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => -c?.next[0]); // error
- ^" in (let final self::Class? #t26 = c in #t26.{core::Object::==}(null) ?{core::int?} null : #t26{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::int::unary-}());
+ ^" in (let final self::Class? #t26 = c in #t26 == null ?{core::int?} null : #t26{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::int::unary-}(){() → core::int});
}
static method _inStrongMode() → core::bool {
(core::String?) → Null f = (core::String? s) → Null {
let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:36:7: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
Try accessing using ?. instead.
s.length; // This will be an invalid expression in strong mode.
- ^^^^^^" in s.{core::String::length};
+ ^^^^^^" in s.{core::String::length}{<nullable>}.{core::int};
};
try {
- f.call("foo");
+ f("foo"){(core::String?) → Null};
}
on core::Object catch(final core::Object e) {
return true;
@@ -99,7 +99,7 @@
static method throwsInStrong(() → void f) → void {
if(self::inStrongMode) {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
core::print(e);
@@ -108,6 +108,6 @@
throw "Expected exception.";
}
else {
- f.call();
+ f(){() → void};
}
}
diff --git a/pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.transformed.expect
index 08856f4..6c0eabe 100644
--- a/pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.transformed.expect
@@ -53,43 +53,43 @@
self::test(new self::Class::•());
}
static method test(self::Class? c) → dynamic {
- let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{core::int?} null : #t1{self::Class}.{self::Class::next}.{self::Class::field};
+ let final self::Class? #t1 = c in #t1 == null ?{core::int?} null : #t1{self::Class}.{self::Class::next}{self::Class}.{self::Class::field}{core::int};
self::throwsInStrong(() → void => let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:18:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => c?.field + 2); // error
- ^" in (let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{core::int?} null : #t3{self::Class}.{self::Class::field}).{core::num::+}(2));
- let final self::Class? #t4 = c in #t4.{core::Object::==}(null) ?{core::int?} null : let final core::int #t5 = #t4.{self::Class::field}.{core::num::+}(1) in let final void #t6 = #t4.{self::Class::field} = #t5 in #t5;
- let final self::Class? #t7 = c in #t7.{core::Object::==}(null) ?{core::int?} null : #t7.{self::Class::field} = #t7.{self::Class::field}.{core::num::+}(1);
+ ^" in (let final self::Class? #t3 = c in #t3 == null ?{core::int?} null : #t3{self::Class}.{self::Class::field}{core::int}).{core::num::+}(2){(core::num) → core::num});
+ let final self::Class? #t4 = c in #t4 == null ?{core::int?} null : let final core::int #t5 = #t4.{self::Class::field}{core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t6 = #t4.{self::Class::field} = #t5 in #t5;
+ let final self::Class? #t7 = c in #t7 == null ?{core::int?} null : #t7.{self::Class::field} = #t7.{self::Class::field}{core::int}.{core::num::+}(1){(core::num) → core::int};
self::throwsInStrong(() → void => let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:21:34: Error: Property 'field' cannot be accessed on 'Class?' because it is potentially null.
- 'Class' is from 'pkg/front_end/testcases/nnbd/shorting_stop.dart'.
Try accessing using ?. instead.
throwsInStrong(() => (c?.next).field); // error
- ^^^^^" in (let final self::Class? #t9 = c in #t9.{core::Object::==}(null) ?{self::Class?} null : #t9{self::Class}.{self::Class::next}).{self::Class::field});
+ ^^^^^" in (let final self::Class? #t9 = c in #t9 == null ?{self::Class?} null : #t9{self::Class}.{self::Class::next}{self::Class}).{self::Class::field}{<nullable>}.{core::int});
self::throwsInStrong(() → void => let final Never #t10 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:22:24: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => -c?.field); // error
- ^" in (let final self::Class? #t11 = c in #t11.{core::Object::==}(null) ?{core::int?} null : #t11{self::Class}.{self::Class::field}).{core::int::unary-}());
- let final self::Class? #t12 = c in #t12.{core::Object::==}(null) ?{core::bool?} null : #t12{self::Class}.{self::Class::next}.{self::Class::[]}(0).{core::int::isEven};
+ ^" in (let final self::Class? #t11 = c in #t11 == null ?{core::int?} null : #t11{self::Class}.{self::Class::field}{core::int}).{core::int::unary-}(){() → core::int});
+ let final self::Class? #t12 = c in #t12 == null ?{core::bool?} null : #t12{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}.{core::int::isEven}{core::bool};
self::throwsInStrong(() → void => let final Never #t13 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:25:35: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => c?.next[0] + 2); // error
- ^" in (let final self::Class? #t14 = c in #t14.{core::Object::==}(null) ?{core::int?} null : #t14{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::num::+}(2));
- let final self::Class? #t15 = c in #t15.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::next} in let final core::int #t17 = 0 in let final core::int #t18 = #t16.{self::Class::[]}(#t17).{core::num::+}(1) in let final void #t19 = #t16.{self::Class::[]=}(#t17, #t18) in #t18;
- let final self::Class? #t20 = c in #t20.{core::Object::==}(null) ?{core::int?} null : let final self::Class #t21 = #t20{self::Class}.{self::Class::next} in let final core::int #t22 = 0 in #t21.{self::Class::[]=}(#t22, #t21.{self::Class::[]}(#t22).{core::num::+}(1));
+ ^" in (let final self::Class? #t14 = c in #t14 == null ?{core::int?} null : #t14{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::num::+}(2){(core::num) → core::num});
+ let final self::Class? #t15 = c in #t15 == null ?{core::int?} null : let final self::Class #t16 = #t15{self::Class}.{self::Class::next}{self::Class} in let final core::int #t17 = 0 in let final core::int #t18 = #t16.{self::Class::[]}(#t17){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int} in let final void #t19 = #t16.{self::Class::[]=}(#t17, #t18){(core::int, core::int) → void} in #t18;
+ let final self::Class? #t20 = c in #t20 == null ?{core::int?} null : let final self::Class #t21 = #t20{self::Class}.{self::Class::next}{self::Class} in let final core::int #t22 = 0 in #t21.{self::Class::[]=}(#t22, #t21.{self::Class::[]}(#t22){(core::int) → core::int}.{core::num::+}(1){(core::num) → core::int}){(core::int, core::int) → void};
self::throwsInStrong(() → void => let final Never #t23 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:28:37: Error: Property 'isEven' cannot be accessed on 'int?' because it is potentially null.
Try accessing using ?. instead.
throwsInStrong(() => (c?.next[0]).isEven); // error
- ^^^^^^" in (let final self::Class? #t24 = c in #t24.{core::Object::==}(null) ?{core::int?} null : #t24{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::int::isEven});
+ ^^^^^^" in (let final self::Class? #t24 = c in #t24 == null ?{core::int?} null : #t24{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::int::isEven}{<nullable>}.{core::bool});
self::throwsInStrong(() → void => let final Never #t25 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:29:24: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
throwsInStrong(() => -c?.next[0]); // error
- ^" in (let final self::Class? #t26 = c in #t26.{core::Object::==}(null) ?{core::int?} null : #t26{self::Class}.{self::Class::next}.{self::Class::[]}(0)).{core::int::unary-}());
+ ^" in (let final self::Class? #t26 = c in #t26 == null ?{core::int?} null : #t26{self::Class}.{self::Class::next}{self::Class}.{self::Class::[]}(0){(core::int) → core::int}).{core::int::unary-}(){() → core::int});
}
static method _inStrongMode() → core::bool {
(core::String?) → Null f = (core::String? s) → Null {
let final Never #t27 = invalid-expression "pkg/front_end/testcases/nnbd/shorting_stop.dart:36:7: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
Try accessing using ?. instead.
s.length; // This will be an invalid expression in strong mode.
- ^^^^^^" in s.{core::String::length};
+ ^^^^^^" in s.{core::String::length}{<nullable>}.{core::int};
};
try {
- f.call("foo");
+ f("foo"){(core::String?) → Null};
}
on core::Object catch(final core::Object e) {
return true;
@@ -99,7 +99,7 @@
static method throwsInStrong(() → void f) → void {
if(self::inStrongMode) {
try {
- f.call();
+ f(){() → void};
}
on core::Object catch(final core::Object e) {
core::print(e);
@@ -108,7 +108,7 @@
throw "Expected exception.";
}
else {
- f.call();
+ f(){() → void};
}
}
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect
index df571c2..170e032 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect
@@ -8,135 +8,135 @@
core::print( block {
final core::List<core::int> #t1 = <core::int>[1, 2];
final core::Iterable<core::int>? #t2 = list;
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::int>});
- #t1.{core::List::add}{Invariant}(3);
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t1.{core::List::add}(3){(core::int) → void};
} =>#t1);
core::print( block {
final core::List<core::int> #t3 = <core::int>[1, 2];
final core::Iterable<core::int>? #t4 = null;
- if(!#t4.{core::Object::==}(null))
- #t3.{core::List::addAll}{Invariant}(#t4{core::Iterable<core::int>});
- #t3.{core::List::add}{Invariant}(3);
+ if(!(#t4 == null))
+ #t3.{core::List::addAll}(#t4{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t3.{core::List::add}(3){(core::int) → void};
} =>#t3);
core::List<core::int> list1 = block {
final core::List<core::int> #t5 = <core::int>[];
final core::Iterable<core::int>? #t6 = list;
- if(!#t6.{core::Object::==}(null))
- #t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::int>});
+ if(!(#t6 == null))
+ #t5.{core::List::addAll}(#t6{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t5;
core::List<Never> list2 = block {
final core::List<Never> #t7 = <Never>[];
final core::Iterable<Never>? #t8 = null;
- if(!#t8.{core::Object::==}(null))
- #t7.{core::List::addAll}{Invariant}(#t8{core::Iterable<Never>});
+ if(!(#t8 == null))
+ #t7.{core::List::addAll}(#t8{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t7;
core::List<core::int> list3 = block {
final core::List<core::int> #t9 = <core::int>[1, 2];
final core::Iterable<core::int>? #t10 = list;
- if(!#t10.{core::Object::==}(null))
- #t9.{core::List::addAll}{Invariant}(#t10{core::Iterable<core::int>});
- #t9.{core::List::add}{Invariant}(3);
+ if(!(#t10 == null))
+ #t9.{core::List::addAll}(#t10{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t9.{core::List::add}(3){(core::int) → void};
} =>#t9;
core::List<core::int> list4 = block {
final core::List<core::int> #t11 = <core::int>[1, 2];
final core::Iterable<core::int>? #t12 = null;
- if(!#t12.{core::Object::==}(null))
- #t11.{core::List::addAll}{Invariant}(#t12{core::Iterable<core::int>});
- #t11.{core::List::add}{Invariant}(3);
+ if(!(#t12 == null))
+ #t11.{core::List::addAll}(#t12{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t11.{core::List::add}(3){(core::int) → void};
} =>#t11;
core::Set<core::int>? set = null;
core::print( block {
final core::Set<core::int> #t13 = col::LinkedHashSet::•<core::int>();
- #t13.{core::Set::add}{Invariant}(1);
- #t13.{core::Set::add}{Invariant}(2);
+ #t13.{core::Set::add}(1){(core::int) → core::bool};
+ #t13.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t14 = set;
- if(!#t14.{core::Object::==}(null))
- #t13.{core::Set::addAll}{Invariant}(#t14{core::Iterable<core::int>});
- #t13.{core::Set::add}{Invariant}(3);
+ if(!(#t14 == null))
+ #t13.{core::Set::addAll}(#t14{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t13.{core::Set::add}(3){(core::int) → core::bool};
} =>#t13);
core::print( block {
final core::Set<core::int> #t15 = col::LinkedHashSet::•<core::int>();
- #t15.{core::Set::add}{Invariant}(1);
- #t15.{core::Set::add}{Invariant}(2);
+ #t15.{core::Set::add}(1){(core::int) → core::bool};
+ #t15.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t16 = null;
- if(!#t16.{core::Object::==}(null))
- #t15.{core::Set::addAll}{Invariant}(#t16{core::Iterable<core::int>});
- #t15.{core::Set::add}{Invariant}(3);
+ if(!(#t16 == null))
+ #t15.{core::Set::addAll}(#t16{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t15.{core::Set::add}(3){(core::int) → core::bool};
} =>#t15);
core::Set<core::int> set1 = block {
final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t18 = set;
- if(!#t18.{core::Object::==}(null))
+ if(!(#t18 == null))
for (final dynamic #t19 in #t18{core::Iterable<dynamic>}) {
final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}{Invariant}(#t20);
+ #t17.{core::Set::add}(#t20){(core::int) → core::bool};
}
} =>#t17;
core::Set<core::int> set3 = block {
final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
- #t21.{core::Set::add}{Invariant}(1);
- #t21.{core::Set::add}{Invariant}(2);
+ #t21.{core::Set::add}(1){(core::int) → core::bool};
+ #t21.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t22 = set;
- if(!#t22.{core::Object::==}(null))
- #t21.{core::Set::addAll}{Invariant}(#t22{core::Iterable<core::int>});
- #t21.{core::Set::add}{Invariant}(3);
+ if(!(#t22 == null))
+ #t21.{core::Set::addAll}(#t22{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t21.{core::Set::add}(3){(core::int) → core::bool};
} =>#t21;
core::Set<core::int> set4 = block {
final core::Set<core::int> #t23 = col::LinkedHashSet::•<core::int>();
- #t23.{core::Set::add}{Invariant}(1);
- #t23.{core::Set::add}{Invariant}(2);
+ #t23.{core::Set::add}(1){(core::int) → core::bool};
+ #t23.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t24 = null;
- if(!#t24.{core::Object::==}(null))
- #t23.{core::Set::addAll}{Invariant}(#t24{core::Iterable<core::int>});
- #t23.{core::Set::add}{Invariant}(3);
+ if(!(#t24 == null))
+ #t23.{core::Set::addAll}(#t24{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t23.{core::Set::add}(3){(core::int) → core::bool};
} =>#t23;
core::Map<core::int, core::int>? map = null;
core::print( block {
final core::Map<core::int, core::int> #t25 = <core::int, core::int>{};
- #t25.{core::Map::[]=}{Invariant}(1, 1);
- #t25.{core::Map::[]=}{Invariant}(2, 2);
+ #t25.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t25.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t26 = map;
- if(!#t26.{core::Object::==}(null))
+ if(!(#t26 == null))
for (final core::MapEntry<core::int, core::int> #t27 in #t26{core::Map<core::int, core::int>}.{core::Map::entries})
- #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
- #t25.{core::Map::[]=}{Invariant}(3, 3);
+ #t25.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value}){(core::int, core::int) → void};
+ #t25.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t25);
core::print( block {
final core::Map<core::int, core::int> #t28 = <core::int, core::int>{};
- #t28.{core::Map::[]=}{Invariant}(1, 1);
- #t28.{core::Map::[]=}{Invariant}(2, 2);
+ #t28.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t28.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t29 = null;
- if(!#t29.{core::Object::==}(null))
+ if(!(#t29 == null))
for (final core::MapEntry<core::int, core::int> #t30 in #t29{core::Map<core::int, core::int>}.{core::Map::entries})
- #t28.{core::Map::[]=}{Invariant}(#t30.{core::MapEntry::key}, #t30.{core::MapEntry::value});
- #t28.{core::Map::[]=}{Invariant}(3, 3);
+ #t28.{core::Map::[]=}(#t30.{core::MapEntry::key}, #t30.{core::MapEntry::value}){(core::int, core::int) → void};
+ #t28.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t28);
core::Map<core::int, core::int> map1 = block {
final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t32 = map;
- if(!#t32.{core::Object::==}(null))
+ if(!(#t32 == null))
for (final core::MapEntry<core::int, core::int> #t33 in #t32{core::Map<core::int, core::int>}.{core::Map::entries})
- #t31.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t31.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value}){(core::int, core::int) → void};
} =>#t31;
core::Map<core::int, core::int> map3 = block {
final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
- #t34.{core::Map::[]=}{Invariant}(1, 1);
- #t34.{core::Map::[]=}{Invariant}(2, 2);
+ #t34.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t34.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t35 = map;
- if(!#t35.{core::Object::==}(null))
+ if(!(#t35 == null))
for (final core::MapEntry<core::int, core::int> #t36 in #t35{core::Map<core::int, core::int>}.{core::Map::entries})
- #t34.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value});
- #t34.{core::Map::[]=}{Invariant}(3, 3);
+ #t34.{core::Map::[]=}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value}){(core::int, core::int) → void};
+ #t34.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t34;
core::Map<core::int, core::int> map4 = block {
final core::Map<core::int, core::int> #t37 = <core::int, core::int>{};
- #t37.{core::Map::[]=}{Invariant}(1, 1);
- #t37.{core::Map::[]=}{Invariant}(2, 2);
+ #t37.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t37.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t38 = null;
- if(!#t38.{core::Object::==}(null))
+ if(!(#t38 == null))
for (final core::MapEntry<core::int, core::int> #t39 in #t38{core::Map<core::int, core::int>}.{core::Map::entries})
- #t37.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
- #t37.{core::Map::[]=}{Invariant}(3, 3);
+ #t37.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value}){(core::int, core::int) → void};
+ #t37.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t37;
}
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect
index 675eae5..48b9ee6 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect
@@ -8,160 +8,160 @@
core::print( block {
final core::List<core::int> #t1 = core::_GrowableList::_literal2<core::int>(1, 2);
final core::Iterable<core::int>? #t2 = list;
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::int>});
- #t1.{core::List::add}{Invariant}(3);
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t1.{core::List::add}(3){(core::int) → void};
} =>#t1);
core::print( block {
final core::List<core::int> #t3 = core::_GrowableList::_literal2<core::int>(1, 2);
final core::Iterable<core::int>? #t4 = null;
- if(!#t4.{core::Object::==}(null))
- #t3.{core::List::addAll}{Invariant}(#t4{core::Iterable<core::int>});
- #t3.{core::List::add}{Invariant}(3);
+ if(!(#t4 == null))
+ #t3.{core::List::addAll}(#t4{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t3.{core::List::add}(3){(core::int) → void};
} =>#t3);
core::List<core::int> list1 = block {
final core::List<core::int> #t5 = core::_GrowableList::•<core::int>(0);
final core::Iterable<core::int>? #t6 = list;
- if(!#t6.{core::Object::==}(null))
- #t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::int>});
+ if(!(#t6 == null))
+ #t5.{core::List::addAll}(#t6{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t5;
core::List<Never> list2 = block {
final core::List<Never> #t7 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t8 = null;
- if(!#t8.{core::Object::==}(null))
- #t7.{core::List::addAll}{Invariant}(#t8{core::Iterable<Never>});
+ if(!(#t8 == null))
+ #t7.{core::List::addAll}(#t8{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t7;
core::List<core::int> list3 = block {
final core::List<core::int> #t9 = core::_GrowableList::_literal2<core::int>(1, 2);
final core::Iterable<core::int>? #t10 = list;
- if(!#t10.{core::Object::==}(null))
- #t9.{core::List::addAll}{Invariant}(#t10{core::Iterable<core::int>});
- #t9.{core::List::add}{Invariant}(3);
+ if(!(#t10 == null))
+ #t9.{core::List::addAll}(#t10{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t9.{core::List::add}(3){(core::int) → void};
} =>#t9;
core::List<core::int> list4 = block {
final core::List<core::int> #t11 = core::_GrowableList::_literal2<core::int>(1, 2);
final core::Iterable<core::int>? #t12 = null;
- if(!#t12.{core::Object::==}(null))
- #t11.{core::List::addAll}{Invariant}(#t12{core::Iterable<core::int>});
- #t11.{core::List::add}{Invariant}(3);
+ if(!(#t12 == null))
+ #t11.{core::List::addAll}(#t12{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t11.{core::List::add}(3){(core::int) → void};
} =>#t11;
core::Set<core::int>? set = null;
core::print( block {
final core::Set<core::int> #t13 = new col::_CompactLinkedHashSet::•<core::int>();
- #t13.{core::Set::add}{Invariant}(1);
- #t13.{core::Set::add}{Invariant}(2);
+ #t13.{core::Set::add}(1){(core::int) → core::bool};
+ #t13.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t14 = set;
- if(!#t14.{core::Object::==}(null))
- #t13.{core::Set::addAll}{Invariant}(#t14{core::Iterable<core::int>});
- #t13.{core::Set::add}{Invariant}(3);
+ if(!(#t14 == null))
+ #t13.{core::Set::addAll}(#t14{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t13.{core::Set::add}(3){(core::int) → core::bool};
} =>#t13);
core::print( block {
final core::Set<core::int> #t15 = new col::_CompactLinkedHashSet::•<core::int>();
- #t15.{core::Set::add}{Invariant}(1);
- #t15.{core::Set::add}{Invariant}(2);
+ #t15.{core::Set::add}(1){(core::int) → core::bool};
+ #t15.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t16 = null;
- if(!#t16.{core::Object::==}(null))
- #t15.{core::Set::addAll}{Invariant}(#t16{core::Iterable<core::int>});
- #t15.{core::Set::add}{Invariant}(3);
+ if(!(#t16 == null))
+ #t15.{core::Set::addAll}(#t16{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t15.{core::Set::add}(3){(core::int) → core::bool};
} =>#t15);
core::Set<core::int> set1 = block {
final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t18 = set;
- if(!#t18.{core::Object::==}(null)) {
+ if(!(#t18 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t18{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t19 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}{Invariant}(#t20);
+ #t17.{core::Set::add}(#t20){(core::int) → core::bool};
}
}
}
} =>#t17;
core::Set<core::int> set3 = block {
final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
- #t21.{core::Set::add}{Invariant}(1);
- #t21.{core::Set::add}{Invariant}(2);
+ #t21.{core::Set::add}(1){(core::int) → core::bool};
+ #t21.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t22 = set;
- if(!#t22.{core::Object::==}(null))
- #t21.{core::Set::addAll}{Invariant}(#t22{core::Iterable<core::int>});
- #t21.{core::Set::add}{Invariant}(3);
+ if(!(#t22 == null))
+ #t21.{core::Set::addAll}(#t22{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t21.{core::Set::add}(3){(core::int) → core::bool};
} =>#t21;
core::Set<core::int> set4 = block {
final core::Set<core::int> #t23 = new col::_CompactLinkedHashSet::•<core::int>();
- #t23.{core::Set::add}{Invariant}(1);
- #t23.{core::Set::add}{Invariant}(2);
+ #t23.{core::Set::add}(1){(core::int) → core::bool};
+ #t23.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t24 = null;
- if(!#t24.{core::Object::==}(null))
- #t23.{core::Set::addAll}{Invariant}(#t24{core::Iterable<core::int>});
- #t23.{core::Set::add}{Invariant}(3);
+ if(!(#t24 == null))
+ #t23.{core::Set::addAll}(#t24{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t23.{core::Set::add}(3){(core::int) → core::bool};
} =>#t23;
core::Map<core::int, core::int>? map = null;
core::print( block {
final core::Map<core::int, core::int> #t25 = <core::int, core::int>{};
- #t25.{core::Map::[]=}{Invariant}(1, 1);
- #t25.{core::Map::[]=}{Invariant}(2, 2);
+ #t25.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t25.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t26 = map;
- if(!#t26.{core::Object::==}(null)) {
+ if(!(#t26 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t26{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t27 = :sync-for-iterator.{core::Iterator::current};
- #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
+ #t25.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
- #t25.{core::Map::[]=}{Invariant}(3, 3);
+ #t25.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t25);
core::print( block {
final core::Map<core::int, core::int> #t28 = <core::int, core::int>{};
- #t28.{core::Map::[]=}{Invariant}(1, 1);
- #t28.{core::Map::[]=}{Invariant}(2, 2);
+ #t28.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t28.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t29 = null;
- if(!#t29.{core::Object::==}(null)) {
+ if(!(#t29 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t29{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t30 = :sync-for-iterator.{core::Iterator::current};
- #t28.{core::Map::[]=}{Invariant}(#t30.{core::MapEntry::key}, #t30.{core::MapEntry::value});
+ #t28.{core::Map::[]=}(#t30.{core::MapEntry::key}, #t30.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
- #t28.{core::Map::[]=}{Invariant}(3, 3);
+ #t28.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t28);
core::Map<core::int, core::int> map1 = block {
final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t32 = map;
- if(!#t32.{core::Object::==}(null)) {
+ if(!(#t32 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t32{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t33 = :sync-for-iterator.{core::Iterator::current};
- #t31.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t31.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
} =>#t31;
core::Map<core::int, core::int> map3 = block {
final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
- #t34.{core::Map::[]=}{Invariant}(1, 1);
- #t34.{core::Map::[]=}{Invariant}(2, 2);
+ #t34.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t34.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t35 = map;
- if(!#t35.{core::Object::==}(null)) {
+ if(!(#t35 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t35{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t36 = :sync-for-iterator.{core::Iterator::current};
- #t34.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value});
+ #t34.{core::Map::[]=}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
- #t34.{core::Map::[]=}{Invariant}(3, 3);
+ #t34.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t34;
core::Map<core::int, core::int> map4 = block {
final core::Map<core::int, core::int> #t37 = <core::int, core::int>{};
- #t37.{core::Map::[]=}{Invariant}(1, 1);
- #t37.{core::Map::[]=}{Invariant}(2, 2);
+ #t37.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t37.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t38 = null;
- if(!#t38.{core::Object::==}(null)) {
+ if(!(#t38 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t38{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t39 = :sync-for-iterator.{core::Iterator::current};
- #t37.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
+ #t37.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
- #t37.{core::Map::[]=}{Invariant}(3, 3);
+ #t37.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t37;
}
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect
index df571c2..170e032 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect
@@ -8,135 +8,135 @@
core::print( block {
final core::List<core::int> #t1 = <core::int>[1, 2];
final core::Iterable<core::int>? #t2 = list;
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::int>});
- #t1.{core::List::add}{Invariant}(3);
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t1.{core::List::add}(3){(core::int) → void};
} =>#t1);
core::print( block {
final core::List<core::int> #t3 = <core::int>[1, 2];
final core::Iterable<core::int>? #t4 = null;
- if(!#t4.{core::Object::==}(null))
- #t3.{core::List::addAll}{Invariant}(#t4{core::Iterable<core::int>});
- #t3.{core::List::add}{Invariant}(3);
+ if(!(#t4 == null))
+ #t3.{core::List::addAll}(#t4{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t3.{core::List::add}(3){(core::int) → void};
} =>#t3);
core::List<core::int> list1 = block {
final core::List<core::int> #t5 = <core::int>[];
final core::Iterable<core::int>? #t6 = list;
- if(!#t6.{core::Object::==}(null))
- #t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::int>});
+ if(!(#t6 == null))
+ #t5.{core::List::addAll}(#t6{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t5;
core::List<Never> list2 = block {
final core::List<Never> #t7 = <Never>[];
final core::Iterable<Never>? #t8 = null;
- if(!#t8.{core::Object::==}(null))
- #t7.{core::List::addAll}{Invariant}(#t8{core::Iterable<Never>});
+ if(!(#t8 == null))
+ #t7.{core::List::addAll}(#t8{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t7;
core::List<core::int> list3 = block {
final core::List<core::int> #t9 = <core::int>[1, 2];
final core::Iterable<core::int>? #t10 = list;
- if(!#t10.{core::Object::==}(null))
- #t9.{core::List::addAll}{Invariant}(#t10{core::Iterable<core::int>});
- #t9.{core::List::add}{Invariant}(3);
+ if(!(#t10 == null))
+ #t9.{core::List::addAll}(#t10{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t9.{core::List::add}(3){(core::int) → void};
} =>#t9;
core::List<core::int> list4 = block {
final core::List<core::int> #t11 = <core::int>[1, 2];
final core::Iterable<core::int>? #t12 = null;
- if(!#t12.{core::Object::==}(null))
- #t11.{core::List::addAll}{Invariant}(#t12{core::Iterable<core::int>});
- #t11.{core::List::add}{Invariant}(3);
+ if(!(#t12 == null))
+ #t11.{core::List::addAll}(#t12{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t11.{core::List::add}(3){(core::int) → void};
} =>#t11;
core::Set<core::int>? set = null;
core::print( block {
final core::Set<core::int> #t13 = col::LinkedHashSet::•<core::int>();
- #t13.{core::Set::add}{Invariant}(1);
- #t13.{core::Set::add}{Invariant}(2);
+ #t13.{core::Set::add}(1){(core::int) → core::bool};
+ #t13.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t14 = set;
- if(!#t14.{core::Object::==}(null))
- #t13.{core::Set::addAll}{Invariant}(#t14{core::Iterable<core::int>});
- #t13.{core::Set::add}{Invariant}(3);
+ if(!(#t14 == null))
+ #t13.{core::Set::addAll}(#t14{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t13.{core::Set::add}(3){(core::int) → core::bool};
} =>#t13);
core::print( block {
final core::Set<core::int> #t15 = col::LinkedHashSet::•<core::int>();
- #t15.{core::Set::add}{Invariant}(1);
- #t15.{core::Set::add}{Invariant}(2);
+ #t15.{core::Set::add}(1){(core::int) → core::bool};
+ #t15.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t16 = null;
- if(!#t16.{core::Object::==}(null))
- #t15.{core::Set::addAll}{Invariant}(#t16{core::Iterable<core::int>});
- #t15.{core::Set::add}{Invariant}(3);
+ if(!(#t16 == null))
+ #t15.{core::Set::addAll}(#t16{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t15.{core::Set::add}(3){(core::int) → core::bool};
} =>#t15);
core::Set<core::int> set1 = block {
final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t18 = set;
- if(!#t18.{core::Object::==}(null))
+ if(!(#t18 == null))
for (final dynamic #t19 in #t18{core::Iterable<dynamic>}) {
final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}{Invariant}(#t20);
+ #t17.{core::Set::add}(#t20){(core::int) → core::bool};
}
} =>#t17;
core::Set<core::int> set3 = block {
final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
- #t21.{core::Set::add}{Invariant}(1);
- #t21.{core::Set::add}{Invariant}(2);
+ #t21.{core::Set::add}(1){(core::int) → core::bool};
+ #t21.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t22 = set;
- if(!#t22.{core::Object::==}(null))
- #t21.{core::Set::addAll}{Invariant}(#t22{core::Iterable<core::int>});
- #t21.{core::Set::add}{Invariant}(3);
+ if(!(#t22 == null))
+ #t21.{core::Set::addAll}(#t22{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t21.{core::Set::add}(3){(core::int) → core::bool};
} =>#t21;
core::Set<core::int> set4 = block {
final core::Set<core::int> #t23 = col::LinkedHashSet::•<core::int>();
- #t23.{core::Set::add}{Invariant}(1);
- #t23.{core::Set::add}{Invariant}(2);
+ #t23.{core::Set::add}(1){(core::int) → core::bool};
+ #t23.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t24 = null;
- if(!#t24.{core::Object::==}(null))
- #t23.{core::Set::addAll}{Invariant}(#t24{core::Iterable<core::int>});
- #t23.{core::Set::add}{Invariant}(3);
+ if(!(#t24 == null))
+ #t23.{core::Set::addAll}(#t24{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t23.{core::Set::add}(3){(core::int) → core::bool};
} =>#t23;
core::Map<core::int, core::int>? map = null;
core::print( block {
final core::Map<core::int, core::int> #t25 = <core::int, core::int>{};
- #t25.{core::Map::[]=}{Invariant}(1, 1);
- #t25.{core::Map::[]=}{Invariant}(2, 2);
+ #t25.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t25.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t26 = map;
- if(!#t26.{core::Object::==}(null))
+ if(!(#t26 == null))
for (final core::MapEntry<core::int, core::int> #t27 in #t26{core::Map<core::int, core::int>}.{core::Map::entries})
- #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
- #t25.{core::Map::[]=}{Invariant}(3, 3);
+ #t25.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value}){(core::int, core::int) → void};
+ #t25.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t25);
core::print( block {
final core::Map<core::int, core::int> #t28 = <core::int, core::int>{};
- #t28.{core::Map::[]=}{Invariant}(1, 1);
- #t28.{core::Map::[]=}{Invariant}(2, 2);
+ #t28.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t28.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t29 = null;
- if(!#t29.{core::Object::==}(null))
+ if(!(#t29 == null))
for (final core::MapEntry<core::int, core::int> #t30 in #t29{core::Map<core::int, core::int>}.{core::Map::entries})
- #t28.{core::Map::[]=}{Invariant}(#t30.{core::MapEntry::key}, #t30.{core::MapEntry::value});
- #t28.{core::Map::[]=}{Invariant}(3, 3);
+ #t28.{core::Map::[]=}(#t30.{core::MapEntry::key}, #t30.{core::MapEntry::value}){(core::int, core::int) → void};
+ #t28.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t28);
core::Map<core::int, core::int> map1 = block {
final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t32 = map;
- if(!#t32.{core::Object::==}(null))
+ if(!(#t32 == null))
for (final core::MapEntry<core::int, core::int> #t33 in #t32{core::Map<core::int, core::int>}.{core::Map::entries})
- #t31.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t31.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value}){(core::int, core::int) → void};
} =>#t31;
core::Map<core::int, core::int> map3 = block {
final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
- #t34.{core::Map::[]=}{Invariant}(1, 1);
- #t34.{core::Map::[]=}{Invariant}(2, 2);
+ #t34.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t34.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t35 = map;
- if(!#t35.{core::Object::==}(null))
+ if(!(#t35 == null))
for (final core::MapEntry<core::int, core::int> #t36 in #t35{core::Map<core::int, core::int>}.{core::Map::entries})
- #t34.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value});
- #t34.{core::Map::[]=}{Invariant}(3, 3);
+ #t34.{core::Map::[]=}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value}){(core::int, core::int) → void};
+ #t34.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t34;
core::Map<core::int, core::int> map4 = block {
final core::Map<core::int, core::int> #t37 = <core::int, core::int>{};
- #t37.{core::Map::[]=}{Invariant}(1, 1);
- #t37.{core::Map::[]=}{Invariant}(2, 2);
+ #t37.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t37.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t38 = null;
- if(!#t38.{core::Object::==}(null))
+ if(!(#t38 == null))
for (final core::MapEntry<core::int, core::int> #t39 in #t38{core::Map<core::int, core::int>}.{core::Map::entries})
- #t37.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
- #t37.{core::Map::[]=}{Invariant}(3, 3);
+ #t37.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value}){(core::int, core::int) → void};
+ #t37.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t37;
}
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect
index 675eae5..48b9ee6 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect
@@ -8,160 +8,160 @@
core::print( block {
final core::List<core::int> #t1 = core::_GrowableList::_literal2<core::int>(1, 2);
final core::Iterable<core::int>? #t2 = list;
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::int>});
- #t1.{core::List::add}{Invariant}(3);
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t1.{core::List::add}(3){(core::int) → void};
} =>#t1);
core::print( block {
final core::List<core::int> #t3 = core::_GrowableList::_literal2<core::int>(1, 2);
final core::Iterable<core::int>? #t4 = null;
- if(!#t4.{core::Object::==}(null))
- #t3.{core::List::addAll}{Invariant}(#t4{core::Iterable<core::int>});
- #t3.{core::List::add}{Invariant}(3);
+ if(!(#t4 == null))
+ #t3.{core::List::addAll}(#t4{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t3.{core::List::add}(3){(core::int) → void};
} =>#t3);
core::List<core::int> list1 = block {
final core::List<core::int> #t5 = core::_GrowableList::•<core::int>(0);
final core::Iterable<core::int>? #t6 = list;
- if(!#t6.{core::Object::==}(null))
- #t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::int>});
+ if(!(#t6 == null))
+ #t5.{core::List::addAll}(#t6{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t5;
core::List<Never> list2 = block {
final core::List<Never> #t7 = core::_GrowableList::•<Never>(0);
final core::Iterable<Never>? #t8 = null;
- if(!#t8.{core::Object::==}(null))
- #t7.{core::List::addAll}{Invariant}(#t8{core::Iterable<Never>});
+ if(!(#t8 == null))
+ #t7.{core::List::addAll}(#t8{core::Iterable<Never>}){(core::Iterable<Never>) → void};
} =>#t7;
core::List<core::int> list3 = block {
final core::List<core::int> #t9 = core::_GrowableList::_literal2<core::int>(1, 2);
final core::Iterable<core::int>? #t10 = list;
- if(!#t10.{core::Object::==}(null))
- #t9.{core::List::addAll}{Invariant}(#t10{core::Iterable<core::int>});
- #t9.{core::List::add}{Invariant}(3);
+ if(!(#t10 == null))
+ #t9.{core::List::addAll}(#t10{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t9.{core::List::add}(3){(core::int) → void};
} =>#t9;
core::List<core::int> list4 = block {
final core::List<core::int> #t11 = core::_GrowableList::_literal2<core::int>(1, 2);
final core::Iterable<core::int>? #t12 = null;
- if(!#t12.{core::Object::==}(null))
- #t11.{core::List::addAll}{Invariant}(#t12{core::Iterable<core::int>});
- #t11.{core::List::add}{Invariant}(3);
+ if(!(#t12 == null))
+ #t11.{core::List::addAll}(#t12{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t11.{core::List::add}(3){(core::int) → void};
} =>#t11;
core::Set<core::int>? set = null;
core::print( block {
final core::Set<core::int> #t13 = new col::_CompactLinkedHashSet::•<core::int>();
- #t13.{core::Set::add}{Invariant}(1);
- #t13.{core::Set::add}{Invariant}(2);
+ #t13.{core::Set::add}(1){(core::int) → core::bool};
+ #t13.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t14 = set;
- if(!#t14.{core::Object::==}(null))
- #t13.{core::Set::addAll}{Invariant}(#t14{core::Iterable<core::int>});
- #t13.{core::Set::add}{Invariant}(3);
+ if(!(#t14 == null))
+ #t13.{core::Set::addAll}(#t14{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t13.{core::Set::add}(3){(core::int) → core::bool};
} =>#t13);
core::print( block {
final core::Set<core::int> #t15 = new col::_CompactLinkedHashSet::•<core::int>();
- #t15.{core::Set::add}{Invariant}(1);
- #t15.{core::Set::add}{Invariant}(2);
+ #t15.{core::Set::add}(1){(core::int) → core::bool};
+ #t15.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t16 = null;
- if(!#t16.{core::Object::==}(null))
- #t15.{core::Set::addAll}{Invariant}(#t16{core::Iterable<core::int>});
- #t15.{core::Set::add}{Invariant}(3);
+ if(!(#t16 == null))
+ #t15.{core::Set::addAll}(#t16{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t15.{core::Set::add}(3){(core::int) → core::bool};
} =>#t15);
core::Set<core::int> set1 = block {
final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t18 = set;
- if(!#t18.{core::Object::==}(null)) {
+ if(!(#t18 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t18{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t19 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
- #t17.{core::Set::add}{Invariant}(#t20);
+ #t17.{core::Set::add}(#t20){(core::int) → core::bool};
}
}
}
} =>#t17;
core::Set<core::int> set3 = block {
final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
- #t21.{core::Set::add}{Invariant}(1);
- #t21.{core::Set::add}{Invariant}(2);
+ #t21.{core::Set::add}(1){(core::int) → core::bool};
+ #t21.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t22 = set;
- if(!#t22.{core::Object::==}(null))
- #t21.{core::Set::addAll}{Invariant}(#t22{core::Iterable<core::int>});
- #t21.{core::Set::add}{Invariant}(3);
+ if(!(#t22 == null))
+ #t21.{core::Set::addAll}(#t22{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t21.{core::Set::add}(3){(core::int) → core::bool};
} =>#t21;
core::Set<core::int> set4 = block {
final core::Set<core::int> #t23 = new col::_CompactLinkedHashSet::•<core::int>();
- #t23.{core::Set::add}{Invariant}(1);
- #t23.{core::Set::add}{Invariant}(2);
+ #t23.{core::Set::add}(1){(core::int) → core::bool};
+ #t23.{core::Set::add}(2){(core::int) → core::bool};
final core::Iterable<core::int>? #t24 = null;
- if(!#t24.{core::Object::==}(null))
- #t23.{core::Set::addAll}{Invariant}(#t24{core::Iterable<core::int>});
- #t23.{core::Set::add}{Invariant}(3);
+ if(!(#t24 == null))
+ #t23.{core::Set::addAll}(#t24{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+ #t23.{core::Set::add}(3){(core::int) → core::bool};
} =>#t23;
core::Map<core::int, core::int>? map = null;
core::print( block {
final core::Map<core::int, core::int> #t25 = <core::int, core::int>{};
- #t25.{core::Map::[]=}{Invariant}(1, 1);
- #t25.{core::Map::[]=}{Invariant}(2, 2);
+ #t25.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t25.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t26 = map;
- if(!#t26.{core::Object::==}(null)) {
+ if(!(#t26 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t26{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t27 = :sync-for-iterator.{core::Iterator::current};
- #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
+ #t25.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
- #t25.{core::Map::[]=}{Invariant}(3, 3);
+ #t25.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t25);
core::print( block {
final core::Map<core::int, core::int> #t28 = <core::int, core::int>{};
- #t28.{core::Map::[]=}{Invariant}(1, 1);
- #t28.{core::Map::[]=}{Invariant}(2, 2);
+ #t28.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t28.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t29 = null;
- if(!#t29.{core::Object::==}(null)) {
+ if(!(#t29 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t29{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t30 = :sync-for-iterator.{core::Iterator::current};
- #t28.{core::Map::[]=}{Invariant}(#t30.{core::MapEntry::key}, #t30.{core::MapEntry::value});
+ #t28.{core::Map::[]=}(#t30.{core::MapEntry::key}, #t30.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
- #t28.{core::Map::[]=}{Invariant}(3, 3);
+ #t28.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t28);
core::Map<core::int, core::int> map1 = block {
final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t32 = map;
- if(!#t32.{core::Object::==}(null)) {
+ if(!(#t32 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t32{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t33 = :sync-for-iterator.{core::Iterator::current};
- #t31.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
+ #t31.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
} =>#t31;
core::Map<core::int, core::int> map3 = block {
final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
- #t34.{core::Map::[]=}{Invariant}(1, 1);
- #t34.{core::Map::[]=}{Invariant}(2, 2);
+ #t34.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t34.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t35 = map;
- if(!#t35.{core::Object::==}(null)) {
+ if(!(#t35 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t35{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t36 = :sync-for-iterator.{core::Iterator::current};
- #t34.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value});
+ #t34.{core::Map::[]=}(#t36.{core::MapEntry::key}, #t36.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
- #t34.{core::Map::[]=}{Invariant}(3, 3);
+ #t34.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t34;
core::Map<core::int, core::int> map4 = block {
final core::Map<core::int, core::int> #t37 = <core::int, core::int>{};
- #t37.{core::Map::[]=}{Invariant}(1, 1);
- #t37.{core::Map::[]=}{Invariant}(2, 2);
+ #t37.{core::Map::[]=}(1, 1){(core::int, core::int) → void};
+ #t37.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t38 = null;
- if(!#t38.{core::Object::==}(null)) {
+ if(!(#t38 == null)) {
core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t38{core::Map<core::int, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int, core::int> #t39 = :sync-for-iterator.{core::Iterator::current};
- #t37.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
+ #t37.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value}){(core::int, core::int) → void};
}
}
- #t37.{core::Map::[]=}{Invariant}(3, 3);
+ #t37.{core::Map::[]=}(3, 3){(core::int, core::int) → void};
} =>#t37;
}
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect
index bba165a..9a9a96a 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect
@@ -117,7 +117,7 @@
: super self::A::•()
;
method test() → void {
- let final core::int #t1 = 42 in super.{self::A::[]}(#t1).{core::String::==}(null) ?{core::String} super.{self::A::[]=}(#t1, "bar") : null;
+ let final core::int #t1 = 42 in super.{self::A::[]}(#t1) == null ?{core::String} super.{self::A::[]=}(#t1, "bar") : null;
}
}
extension E on core::String {
@@ -131,61 +131,61 @@
static method E|[](lowered final core::String #this, core::int index) → core::int
return 42;
static method warning(core::String s, core::List<core::String> l, core::Map<core::String, core::int> m) → dynamic {
- let final core::String #t2 = s in #t2.{core::String::==}(null) ?{core::int?} null : #t2.{core::String::length};
- let final core::String #t3 = s in #t3.{core::String::==}(null) ?{core::String} null : block {
- #t3.{core::String::length};
+ let final core::String #t2 = s in #t2 == null ?{core::int?} null : #t2.{core::String::length}{core::int};
+ let final core::String #t3 = s in #t3 == null ?{core::String} null : block {
+ #t3.{core::String::length}{core::int};
} =>#t3;
- let final core::String #t4 = s in #t4.{core::String::==}(null) ?{core::String} "foo" : #t4;
- s.{core::String::==}(null) ?{core::String} s = "foo" : null;
+ let final core::String #t4 = s in #t4 == null ?{core::String} "foo" : #t4;
+ s == null ?{core::String} s = "foo" : null;
block {
final core::List<core::String> #t5 = <core::String>[];
final core::Iterable<core::String>? #t6 = l;
- if(!#t6.{core::Object::==}(null))
- #t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::String>});
+ if(!(#t6 == null))
+ #t5.{core::List::addAll}(#t6{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
} =>#t5;
core::Set<core::String> a = block {
final core::Set<core::String> #t7 = col::LinkedHashSet::•<core::String>();
final core::Iterable<dynamic>? #t8 = l;
- if(!#t8.{core::Object::==}(null))
+ if(!(#t8 == null))
for (final dynamic #t9 in #t8{core::Iterable<dynamic>}) {
final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
- #t7.{core::Set::add}{Invariant}(#t10);
+ #t7.{core::Set::add}(#t10){(core::String) → core::bool};
}
} =>#t7;
block {
final core::Set<core::String> #t11 = col::LinkedHashSet::•<core::String>();
final core::Iterable<core::String>? #t12 = l;
- if(!#t12.{core::Object::==}(null))
- #t11.{core::Set::addAll}{Invariant}(#t12{core::Iterable<core::String>});
+ if(!(#t12 == null))
+ #t11.{core::Set::addAll}(#t12{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
} =>#t11;
core::Map<core::String, core::int> b = block {
final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t14 = m;
- if(!#t14.{core::Object::==}(null))
+ if(!(#t14 == null))
for (final core::MapEntry<core::String, core::int> #t15 in #t14{core::Map<core::String, core::int>}.{core::Map::entries})
- #t13.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t13.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value}){(core::String, core::int) → void};
} =>#t13;
block {
final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t17 = m;
- if(!#t17.{core::Object::==}(null))
+ if(!(#t17 == null))
for (final core::MapEntry<core::String, core::int> #t18 in #t17{core::Map<core::String, core::int>}.{core::Map::entries})
- #t16.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value});
+ #t16.{core::Map::[]=}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value}){(core::String, core::int) → void};
} =>#t16;
s!;
- let final core::String #t19 = s in #t19.{core::String::==}(null) ?{core::String?} null : #t19.{core::String::substring}(0, 0);
- let final core::List<core::String> #t20 = l in #t20.{core::List::==}(null) ?{core::int?} null : #t20.{core::List::length} = 42;
- let final core::List<core::String> #t21 = l in #t21.{core::List::==}(null) ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}.{core::num::+}(42);
- let final core::List<core::String> #t22 = l in #t22.{core::List::==}(null) ?{core::int?} null : #t22.{core::List::length}.{core::num::==}(null) ?{core::int} #t22.{core::List::length} = 42 : null;
- let final core::String #t23 = s in #t23.{core::String::==}(null) ?{core::int?} null : self::E|get#foo(#t23);
- let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25).{core::num::==}(null) ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
- let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27).{core::String::==}(null) ?{core::String} #t26.{core::List::[]=}(#t27, "foo") : null;
- let final core::List<core::String> #t28 = l in #t28.{core::List::length}.{core::num::==}(null) ?{core::int} #t28.{core::List::length} = 42 : null;
- let final core::List<core::String> #t29 = l in #t29.{core::List::==}(null) ?{core::List<core::String>} null : block {
+ let final core::String #t19 = s in #t19 == null ?{core::String?} null : #t19.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
+ let final core::List<core::String> #t20 = l in #t20 == null ?{core::int?} null : #t20.{core::List::length} = 42;
+ let final core::List<core::String> #t21 = l in #t21 == null ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
+ let final core::List<core::String> #t22 = l in #t22 == null ?{core::int?} null : #t22.{core::List::length}{core::int} == null ?{core::int} #t22.{core::List::length} = 42 : null;
+ let final core::String #t23 = s in #t23 == null ?{core::int?} null : self::E|get#foo(#t23);
+ let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25) == null ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
+ let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27){(core::int) → core::String} == null ?{core::String} #t26.{core::List::[]=}(#t27, "foo"){(core::int, core::String) → void} : null;
+ let final core::List<core::String> #t28 = l in #t28.{core::List::length}{core::int} == null ?{core::int} #t28.{core::List::length} = 42 : null;
+ let final core::List<core::String> #t29 = l in #t29 == null ?{core::List<core::String>} null : block {
#t29.{core::List::length} = 42;
} =>#t29;
- let final core::List<core::String> #t30 = l in #t30.{core::List::==}(null) ?{core::List<core::String>} null : block {
- let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}.{core::num::==}(null) ?{core::int} #t31.{core::List::length} = 42 : null;
+ let final core::List<core::String> #t30 = l in #t30 == null ?{core::List<core::String>} null : block {
+ let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}{core::int} == null ?{core::int} #t31.{core::List::length} = 42 : null;
} =>#t30;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect
index d5ce000..c4b4298 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect
@@ -117,7 +117,7 @@
: super self::A::•()
;
method test() → void {
- let final core::int #t1 = 42 in super.{self::A::[]}(#t1).{core::String::==}(null) ?{core::String} super.{self::A::[]=}(#t1, "bar") : null;
+ let final core::int #t1 = 42 in super.{self::A::[]}(#t1) == null ?{core::String} super.{self::A::[]=}(#t1, "bar") : null;
}
}
extension E on core::String {
@@ -131,28 +131,28 @@
static method E|[](lowered final core::String #this, core::int index) → core::int
return 42;
static method warning(core::String s, core::List<core::String> l, core::Map<core::String, core::int> m) → dynamic {
- let final core::String #t2 = s in #t2.{core::String::==}(null) ?{core::int?} null : #t2.{core::String::length};
- let final core::String #t3 = s in #t3.{core::String::==}(null) ?{core::String} null : block {
- #t3.{core::String::length};
+ let final core::String #t2 = s in #t2 == null ?{core::int?} null : #t2.{core::String::length}{core::int};
+ let final core::String #t3 = s in #t3 == null ?{core::String} null : block {
+ #t3.{core::String::length}{core::int};
} =>#t3;
- let final core::String #t4 = s in #t4.{core::String::==}(null) ?{core::String} "foo" : #t4;
- s.{core::String::==}(null) ?{core::String} s = "foo" : null;
+ let final core::String #t4 = s in #t4 == null ?{core::String} "foo" : #t4;
+ s == null ?{core::String} s = "foo" : null;
block {
final core::List<core::String> #t5 = core::_GrowableList::•<core::String>(0);
final core::Iterable<core::String>? #t6 = l;
- if(!#t6.{core::Object::==}(null))
- #t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::String>});
+ if(!(#t6 == null))
+ #t5.{core::List::addAll}(#t6{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
} =>#t5;
core::Set<core::String> a = block {
final core::Set<core::String> #t7 = new col::_CompactLinkedHashSet::•<core::String>();
final core::Iterable<dynamic>? #t8 = l;
- if(!#t8.{core::Object::==}(null)) {
+ if(!(#t8 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t8{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
{
final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
- #t7.{core::Set::add}{Invariant}(#t10);
+ #t7.{core::Set::add}(#t10){(core::String) → core::bool};
}
}
}
@@ -160,45 +160,45 @@
block {
final core::Set<core::String> #t11 = new col::_CompactLinkedHashSet::•<core::String>();
final core::Iterable<core::String>? #t12 = l;
- if(!#t12.{core::Object::==}(null))
- #t11.{core::Set::addAll}{Invariant}(#t12{core::Iterable<core::String>});
+ if(!(#t12 == null))
+ #t11.{core::Set::addAll}(#t12{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
} =>#t11;
core::Map<core::String, core::int> b = block {
final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t14 = m;
- if(!#t14.{core::Object::==}(null)) {
+ if(!(#t14 == null)) {
core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t14{core::Map<core::String, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current};
- #t13.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t13.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value}){(core::String, core::int) → void};
}
}
} =>#t13;
block {
final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t17 = m;
- if(!#t17.{core::Object::==}(null)) {
+ if(!(#t17 == null)) {
core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t17{core::Map<core::String, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String, core::int> #t18 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value});
+ #t16.{core::Map::[]=}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value}){(core::String, core::int) → void};
}
}
} =>#t16;
s!;
- let final core::String #t19 = s in #t19.{core::String::==}(null) ?{core::String?} null : #t19.{core::String::substring}(0, 0);
- let final core::List<core::String> #t20 = l in #t20.{core::List::==}(null) ?{core::int?} null : #t20.{core::List::length} = 42;
- let final core::List<core::String> #t21 = l in #t21.{core::List::==}(null) ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}.{core::num::+}(42);
- let final core::List<core::String> #t22 = l in #t22.{core::List::==}(null) ?{core::int?} null : #t22.{core::List::length}.{core::num::==}(null) ?{core::int} #t22.{core::List::length} = 42 : null;
- let final core::String #t23 = s in #t23.{core::String::==}(null) ?{core::int?} null : self::E|get#foo(#t23);
- let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25).{core::num::==}(null) ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
- let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27).{core::String::==}(null) ?{core::String} #t26.{core::List::[]=}(#t27, "foo") : null;
- let final core::List<core::String> #t28 = l in #t28.{core::List::length}.{core::num::==}(null) ?{core::int} #t28.{core::List::length} = 42 : null;
- let final core::List<core::String> #t29 = l in #t29.{core::List::==}(null) ?{core::List<core::String>} null : block {
+ let final core::String #t19 = s in #t19 == null ?{core::String?} null : #t19.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
+ let final core::List<core::String> #t20 = l in #t20 == null ?{core::int?} null : #t20.{core::List::length} = 42;
+ let final core::List<core::String> #t21 = l in #t21 == null ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
+ let final core::List<core::String> #t22 = l in #t22 == null ?{core::int?} null : #t22.{core::List::length}{core::int} == null ?{core::int} #t22.{core::List::length} = 42 : null;
+ let final core::String #t23 = s in #t23 == null ?{core::int?} null : self::E|get#foo(#t23);
+ let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25) == null ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
+ let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27){(core::int) → core::String} == null ?{core::String} #t26.{core::List::[]=}(#t27, "foo"){(core::int, core::String) → void} : null;
+ let final core::List<core::String> #t28 = l in #t28.{core::List::length}{core::int} == null ?{core::int} #t28.{core::List::length} = 42 : null;
+ let final core::List<core::String> #t29 = l in #t29 == null ?{core::List<core::String>} null : block {
#t29.{core::List::length} = 42;
} =>#t29;
- let final core::List<core::String> #t30 = l in #t30.{core::List::==}(null) ?{core::List<core::String>} null : block {
- let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}.{core::num::==}(null) ?{core::int} #t31.{core::List::length} = 42 : null;
+ let final core::List<core::String> #t30 = l in #t30 == null ?{core::List<core::String>} null : block {
+ let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}{core::int} == null ?{core::int} #t31.{core::List::length} = 42 : null;
} =>#t30;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect
index bba165a..9a9a96a 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect
@@ -117,7 +117,7 @@
: super self::A::•()
;
method test() → void {
- let final core::int #t1 = 42 in super.{self::A::[]}(#t1).{core::String::==}(null) ?{core::String} super.{self::A::[]=}(#t1, "bar") : null;
+ let final core::int #t1 = 42 in super.{self::A::[]}(#t1) == null ?{core::String} super.{self::A::[]=}(#t1, "bar") : null;
}
}
extension E on core::String {
@@ -131,61 +131,61 @@
static method E|[](lowered final core::String #this, core::int index) → core::int
return 42;
static method warning(core::String s, core::List<core::String> l, core::Map<core::String, core::int> m) → dynamic {
- let final core::String #t2 = s in #t2.{core::String::==}(null) ?{core::int?} null : #t2.{core::String::length};
- let final core::String #t3 = s in #t3.{core::String::==}(null) ?{core::String} null : block {
- #t3.{core::String::length};
+ let final core::String #t2 = s in #t2 == null ?{core::int?} null : #t2.{core::String::length}{core::int};
+ let final core::String #t3 = s in #t3 == null ?{core::String} null : block {
+ #t3.{core::String::length}{core::int};
} =>#t3;
- let final core::String #t4 = s in #t4.{core::String::==}(null) ?{core::String} "foo" : #t4;
- s.{core::String::==}(null) ?{core::String} s = "foo" : null;
+ let final core::String #t4 = s in #t4 == null ?{core::String} "foo" : #t4;
+ s == null ?{core::String} s = "foo" : null;
block {
final core::List<core::String> #t5 = <core::String>[];
final core::Iterable<core::String>? #t6 = l;
- if(!#t6.{core::Object::==}(null))
- #t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::String>});
+ if(!(#t6 == null))
+ #t5.{core::List::addAll}(#t6{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
} =>#t5;
core::Set<core::String> a = block {
final core::Set<core::String> #t7 = col::LinkedHashSet::•<core::String>();
final core::Iterable<dynamic>? #t8 = l;
- if(!#t8.{core::Object::==}(null))
+ if(!(#t8 == null))
for (final dynamic #t9 in #t8{core::Iterable<dynamic>}) {
final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
- #t7.{core::Set::add}{Invariant}(#t10);
+ #t7.{core::Set::add}(#t10){(core::String) → core::bool};
}
} =>#t7;
block {
final core::Set<core::String> #t11 = col::LinkedHashSet::•<core::String>();
final core::Iterable<core::String>? #t12 = l;
- if(!#t12.{core::Object::==}(null))
- #t11.{core::Set::addAll}{Invariant}(#t12{core::Iterable<core::String>});
+ if(!(#t12 == null))
+ #t11.{core::Set::addAll}(#t12{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
} =>#t11;
core::Map<core::String, core::int> b = block {
final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t14 = m;
- if(!#t14.{core::Object::==}(null))
+ if(!(#t14 == null))
for (final core::MapEntry<core::String, core::int> #t15 in #t14{core::Map<core::String, core::int>}.{core::Map::entries})
- #t13.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t13.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value}){(core::String, core::int) → void};
} =>#t13;
block {
final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t17 = m;
- if(!#t17.{core::Object::==}(null))
+ if(!(#t17 == null))
for (final core::MapEntry<core::String, core::int> #t18 in #t17{core::Map<core::String, core::int>}.{core::Map::entries})
- #t16.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value});
+ #t16.{core::Map::[]=}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value}){(core::String, core::int) → void};
} =>#t16;
s!;
- let final core::String #t19 = s in #t19.{core::String::==}(null) ?{core::String?} null : #t19.{core::String::substring}(0, 0);
- let final core::List<core::String> #t20 = l in #t20.{core::List::==}(null) ?{core::int?} null : #t20.{core::List::length} = 42;
- let final core::List<core::String> #t21 = l in #t21.{core::List::==}(null) ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}.{core::num::+}(42);
- let final core::List<core::String> #t22 = l in #t22.{core::List::==}(null) ?{core::int?} null : #t22.{core::List::length}.{core::num::==}(null) ?{core::int} #t22.{core::List::length} = 42 : null;
- let final core::String #t23 = s in #t23.{core::String::==}(null) ?{core::int?} null : self::E|get#foo(#t23);
- let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25).{core::num::==}(null) ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
- let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27).{core::String::==}(null) ?{core::String} #t26.{core::List::[]=}(#t27, "foo") : null;
- let final core::List<core::String> #t28 = l in #t28.{core::List::length}.{core::num::==}(null) ?{core::int} #t28.{core::List::length} = 42 : null;
- let final core::List<core::String> #t29 = l in #t29.{core::List::==}(null) ?{core::List<core::String>} null : block {
+ let final core::String #t19 = s in #t19 == null ?{core::String?} null : #t19.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
+ let final core::List<core::String> #t20 = l in #t20 == null ?{core::int?} null : #t20.{core::List::length} = 42;
+ let final core::List<core::String> #t21 = l in #t21 == null ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
+ let final core::List<core::String> #t22 = l in #t22 == null ?{core::int?} null : #t22.{core::List::length}{core::int} == null ?{core::int} #t22.{core::List::length} = 42 : null;
+ let final core::String #t23 = s in #t23 == null ?{core::int?} null : self::E|get#foo(#t23);
+ let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25) == null ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
+ let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27){(core::int) → core::String} == null ?{core::String} #t26.{core::List::[]=}(#t27, "foo"){(core::int, core::String) → void} : null;
+ let final core::List<core::String> #t28 = l in #t28.{core::List::length}{core::int} == null ?{core::int} #t28.{core::List::length} = 42 : null;
+ let final core::List<core::String> #t29 = l in #t29 == null ?{core::List<core::String>} null : block {
#t29.{core::List::length} = 42;
} =>#t29;
- let final core::List<core::String> #t30 = l in #t30.{core::List::==}(null) ?{core::List<core::String>} null : block {
- let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}.{core::num::==}(null) ?{core::int} #t31.{core::List::length} = 42 : null;
+ let final core::List<core::String> #t30 = l in #t30 == null ?{core::List<core::String>} null : block {
+ let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}{core::int} == null ?{core::int} #t31.{core::List::length} = 42 : null;
} =>#t30;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect
index d5ce000..c4b4298 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect
@@ -117,7 +117,7 @@
: super self::A::•()
;
method test() → void {
- let final core::int #t1 = 42 in super.{self::A::[]}(#t1).{core::String::==}(null) ?{core::String} super.{self::A::[]=}(#t1, "bar") : null;
+ let final core::int #t1 = 42 in super.{self::A::[]}(#t1) == null ?{core::String} super.{self::A::[]=}(#t1, "bar") : null;
}
}
extension E on core::String {
@@ -131,28 +131,28 @@
static method E|[](lowered final core::String #this, core::int index) → core::int
return 42;
static method warning(core::String s, core::List<core::String> l, core::Map<core::String, core::int> m) → dynamic {
- let final core::String #t2 = s in #t2.{core::String::==}(null) ?{core::int?} null : #t2.{core::String::length};
- let final core::String #t3 = s in #t3.{core::String::==}(null) ?{core::String} null : block {
- #t3.{core::String::length};
+ let final core::String #t2 = s in #t2 == null ?{core::int?} null : #t2.{core::String::length}{core::int};
+ let final core::String #t3 = s in #t3 == null ?{core::String} null : block {
+ #t3.{core::String::length}{core::int};
} =>#t3;
- let final core::String #t4 = s in #t4.{core::String::==}(null) ?{core::String} "foo" : #t4;
- s.{core::String::==}(null) ?{core::String} s = "foo" : null;
+ let final core::String #t4 = s in #t4 == null ?{core::String} "foo" : #t4;
+ s == null ?{core::String} s = "foo" : null;
block {
final core::List<core::String> #t5 = core::_GrowableList::•<core::String>(0);
final core::Iterable<core::String>? #t6 = l;
- if(!#t6.{core::Object::==}(null))
- #t5.{core::List::addAll}{Invariant}(#t6{core::Iterable<core::String>});
+ if(!(#t6 == null))
+ #t5.{core::List::addAll}(#t6{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
} =>#t5;
core::Set<core::String> a = block {
final core::Set<core::String> #t7 = new col::_CompactLinkedHashSet::•<core::String>();
final core::Iterable<dynamic>? #t8 = l;
- if(!#t8.{core::Object::==}(null)) {
+ if(!(#t8 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t8{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
{
final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
- #t7.{core::Set::add}{Invariant}(#t10);
+ #t7.{core::Set::add}(#t10){(core::String) → core::bool};
}
}
}
@@ -160,45 +160,45 @@
block {
final core::Set<core::String> #t11 = new col::_CompactLinkedHashSet::•<core::String>();
final core::Iterable<core::String>? #t12 = l;
- if(!#t12.{core::Object::==}(null))
- #t11.{core::Set::addAll}{Invariant}(#t12{core::Iterable<core::String>});
+ if(!(#t12 == null))
+ #t11.{core::Set::addAll}(#t12{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
} =>#t11;
core::Map<core::String, core::int> b = block {
final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t14 = m;
- if(!#t14.{core::Object::==}(null)) {
+ if(!(#t14 == null)) {
core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t14{core::Map<core::String, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current};
- #t13.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t13.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value}){(core::String, core::int) → void};
}
}
} =>#t13;
block {
final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t17 = m;
- if(!#t17.{core::Object::==}(null)) {
+ if(!(#t17 == null)) {
core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t17{core::Map<core::String, core::int>}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::String, core::int> #t18 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value});
+ #t16.{core::Map::[]=}(#t18.{core::MapEntry::key}, #t18.{core::MapEntry::value}){(core::String, core::int) → void};
}
}
} =>#t16;
s!;
- let final core::String #t19 = s in #t19.{core::String::==}(null) ?{core::String?} null : #t19.{core::String::substring}(0, 0);
- let final core::List<core::String> #t20 = l in #t20.{core::List::==}(null) ?{core::int?} null : #t20.{core::List::length} = 42;
- let final core::List<core::String> #t21 = l in #t21.{core::List::==}(null) ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}.{core::num::+}(42);
- let final core::List<core::String> #t22 = l in #t22.{core::List::==}(null) ?{core::int?} null : #t22.{core::List::length}.{core::num::==}(null) ?{core::int} #t22.{core::List::length} = 42 : null;
- let final core::String #t23 = s in #t23.{core::String::==}(null) ?{core::int?} null : self::E|get#foo(#t23);
- let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25).{core::num::==}(null) ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
- let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27).{core::String::==}(null) ?{core::String} #t26.{core::List::[]=}(#t27, "foo") : null;
- let final core::List<core::String> #t28 = l in #t28.{core::List::length}.{core::num::==}(null) ?{core::int} #t28.{core::List::length} = 42 : null;
- let final core::List<core::String> #t29 = l in #t29.{core::List::==}(null) ?{core::List<core::String>} null : block {
+ let final core::String #t19 = s in #t19 == null ?{core::String?} null : #t19.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
+ let final core::List<core::String> #t20 = l in #t20 == null ?{core::int?} null : #t20.{core::List::length} = 42;
+ let final core::List<core::String> #t21 = l in #t21 == null ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
+ let final core::List<core::String> #t22 = l in #t22 == null ?{core::int?} null : #t22.{core::List::length}{core::int} == null ?{core::int} #t22.{core::List::length} = 42 : null;
+ let final core::String #t23 = s in #t23 == null ?{core::int?} null : self::E|get#foo(#t23);
+ let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25) == null ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
+ let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27){(core::int) → core::String} == null ?{core::String} #t26.{core::List::[]=}(#t27, "foo"){(core::int, core::String) → void} : null;
+ let final core::List<core::String> #t28 = l in #t28.{core::List::length}{core::int} == null ?{core::int} #t28.{core::List::length} = 42 : null;
+ let final core::List<core::String> #t29 = l in #t29 == null ?{core::List<core::String>} null : block {
#t29.{core::List::length} = 42;
} =>#t29;
- let final core::List<core::String> #t30 = l in #t30.{core::List::==}(null) ?{core::List<core::String>} null : block {
- let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}.{core::num::==}(null) ?{core::int} #t31.{core::List::length} = 42 : null;
+ let final core::List<core::String> #t30 = l in #t30 == null ?{core::List<core::String>} null : block {
+ let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}{core::int} == null ?{core::int} #t31.{core::List::length} = 42 : null;
} =>#t30;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.expect
index 389af44..8698e0d 100644
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.expect
@@ -95,7 +95,7 @@
self::expect(1, self::method4(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) {
throw "Expected ${expected}, actual ${actual}.";
}
}
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.transformed.expect
index 389af44..8698e0d 100644
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.strong.transformed.expect
@@ -95,7 +95,7 @@
self::expect(1, self::method4(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) {
throw "Expected ${expected}, actual ${actual}.";
}
}
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.expect
index 2dcf81c..0106f3c 100644
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.expect
@@ -99,7 +99,7 @@
self::expect(1, self::method4(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) {
throw "Expected ${expected}, actual ${actual}.";
}
}
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.transformed.expect
index 2dcf81c..0106f3c 100644
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.transformed.expect
@@ -99,7 +99,7 @@
self::expect(1, self::method4(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) {
throw "Expected ${expected}, actual ${actual}.";
}
}
diff --git a/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.strong.expect b/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.strong.expect
index d0e258c..530beda 100644
--- a/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.strong.expect
@@ -18,7 +18,7 @@
#L1:
case #C1:
{
- this.{self::A::neverReturn}();
+ this.{self::A::neverReturn}(){() → Never};
}
#L2:
default:
diff --git a/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.strong.transformed.expect
index d0e258c..530beda 100644
--- a/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.strong.transformed.expect
@@ -18,7 +18,7 @@
#L1:
case #C1:
{
- this.{self::A::neverReturn}();
+ this.{self::A::neverReturn}(){() → Never};
}
#L2:
default:
diff --git a/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.expect b/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.expect
index d5183ef..e074f2a 100644
--- a/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.expect
@@ -19,7 +19,7 @@
#L1:
case #C1:
{
- let final Never #t1 = this.{self::A::neverReturn}() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t1 = this.{self::A::neverReturn}(){() → Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
#L2:
default:
diff --git a/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.transformed.expect
index d5183ef..e074f2a 100644
--- a/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.transformed.expect
@@ -19,7 +19,7 @@
#L1:
case #C1:
{
- let final Never #t1 = this.{self::A::neverReturn}() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t1 = this.{self::A::neverReturn}(){() → Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
#L2:
default:
diff --git a/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.strong.expect b/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.strong.expect
index 200bf55..09c6491 100644
--- a/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.strong.expect
@@ -81,8 +81,8 @@
^" in nt as{TypeError,ForNonNullableByDefault} () →? core::int);
}
static method bar<T extends self::C>(self::C c, self::bar::T t) → dynamic {
- self::functionContext(let final self::C #t9 = c in #t9.==(null) ?{() → core::int} null : #t9.{self::C::call});
- self::nullableFunctionContext(let final self::C #t10 = c in #t10.==(null) ?{() → core::int} null : #t10.{self::C::call});
+ self::functionContext(let final self::C #t9 = c in #t9 == null ?{() → core::int} null : #t9.{self::C::call});
+ self::nullableFunctionContext(let final self::C #t10 = c in #t10 == null ?{() → core::int} null : #t10.{self::C::call});
self::functionContext(let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart:27:19: Error: The argument type 'T' can't be assigned to the parameter type 'int Function()'.
functionContext(t); // Shouldn't result in a compile-time error.
^" in t as{TypeError,ForNonNullableByDefault} () → core::int);
diff --git a/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.strong.transformed.expect
index ea7c975..09857e0 100644
--- a/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.strong.transformed.expect
@@ -81,8 +81,8 @@
^" in nt as{TypeError,ForNonNullableByDefault} () →? core::int);
}
static method bar<T extends self::C>(self::C c, self::bar::T t) → dynamic {
- self::functionContext(let final self::C #t10 = c in #t10.==(null) ?{() → core::int} null : #t10.{self::C::call});
- self::nullableFunctionContext(let final self::C #t11 = c in #t11.==(null) ?{() → core::int} null : #t11.{self::C::call});
+ self::functionContext(let final self::C #t10 = c in #t10 == null ?{() → core::int} null : #t10.{self::C::call});
+ self::nullableFunctionContext(let final self::C #t11 = c in #t11 == null ?{() → core::int} null : #t11.{self::C::call});
self::functionContext(let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart:27:19: Error: The argument type 'T' can't be assigned to the parameter type 'int Function()'.
functionContext(t); // Shouldn't result in a compile-time error.
^" in t as{TypeError,ForNonNullableByDefault} () → core::int);
diff --git a/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.expect b/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.expect
index 200bf55..09c6491 100644
--- a/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.expect
@@ -81,8 +81,8 @@
^" in nt as{TypeError,ForNonNullableByDefault} () →? core::int);
}
static method bar<T extends self::C>(self::C c, self::bar::T t) → dynamic {
- self::functionContext(let final self::C #t9 = c in #t9.==(null) ?{() → core::int} null : #t9.{self::C::call});
- self::nullableFunctionContext(let final self::C #t10 = c in #t10.==(null) ?{() → core::int} null : #t10.{self::C::call});
+ self::functionContext(let final self::C #t9 = c in #t9 == null ?{() → core::int} null : #t9.{self::C::call});
+ self::nullableFunctionContext(let final self::C #t10 = c in #t10 == null ?{() → core::int} null : #t10.{self::C::call});
self::functionContext(let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart:27:19: Error: The argument type 'T' can't be assigned to the parameter type 'int Function()'.
functionContext(t); // Shouldn't result in a compile-time error.
^" in t as{TypeError,ForNonNullableByDefault} () → core::int);
diff --git a/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.transformed.expect
index 651b955..9249659 100644
--- a/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.transformed.expect
@@ -81,8 +81,8 @@
^" in nt as{TypeError,ForNonNullableByDefault} () →? core::int);
}
static method bar<T extends self::C>(self::C c, self::bar::T t) → dynamic {
- self::functionContext(let final self::C #t9 = c in #t9.==(null) ?{() → core::int} null : #t9.{self::C::call});
- self::nullableFunctionContext(let final self::C #t10 = c in #t10.==(null) ?{() → core::int} null : #t10.{self::C::call});
+ self::functionContext(let final self::C #t9 = c in #t9 == null ?{() → core::int} null : #t9.{self::C::call});
+ self::nullableFunctionContext(let final self::C #t10 = c in #t10 == null ?{() → core::int} null : #t10.{self::C::call});
self::functionContext(let final Never #t11 = invalid-expression "pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart:27:19: Error: The argument type 'T' can't be assigned to the parameter type 'int Function()'.
functionContext(t); // Shouldn't result in a compile-time error.
^" in t as{TypeError,ForNonNullableByDefault} () → core::int);
diff --git a/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.strong.expect b/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.strong.expect
index 15fcd35..8aa9644 100644
--- a/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.strong.expect
@@ -9,9 +9,9 @@
: super core::Object::•()
;
method qux() → dynamic {
- final self::Foo::T? v = this.{self::Foo::bar} as{TypeError,ForDynamic,ForNonNullableByDefault} self::Foo::T?;
+ final self::Foo::T? v = this.{self::Foo::bar}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::Foo::T?;
if(v is{ForNonNullableByDefault} core::num) {
- this.{self::Foo::baz}.[]=("value", v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::isFinite} ?{core::Object} v{self::Foo::T? & core::num /* '?' & '!' = '!' */} : v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::toString}());
+ this.{self::Foo::baz}{dynamic}{dynamic}.[]=("value", v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::isFinite}{core::bool} ?{core::Object} v{self::Foo::T? & core::num /* '?' & '!' = '!' */} : v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::toString}(){() → core::String});
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.strong.transformed.expect
index 15fcd35..8aa9644 100644
--- a/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.strong.transformed.expect
@@ -9,9 +9,9 @@
: super core::Object::•()
;
method qux() → dynamic {
- final self::Foo::T? v = this.{self::Foo::bar} as{TypeError,ForDynamic,ForNonNullableByDefault} self::Foo::T?;
+ final self::Foo::T? v = this.{self::Foo::bar}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::Foo::T?;
if(v is{ForNonNullableByDefault} core::num) {
- this.{self::Foo::baz}.[]=("value", v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::isFinite} ?{core::Object} v{self::Foo::T? & core::num /* '?' & '!' = '!' */} : v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::toString}());
+ this.{self::Foo::baz}{dynamic}{dynamic}.[]=("value", v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::isFinite}{core::bool} ?{core::Object} v{self::Foo::T? & core::num /* '?' & '!' = '!' */} : v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::toString}(){() → core::String});
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.expect b/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.expect
index 15fcd35..8aa9644 100644
--- a/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.expect
@@ -9,9 +9,9 @@
: super core::Object::•()
;
method qux() → dynamic {
- final self::Foo::T? v = this.{self::Foo::bar} as{TypeError,ForDynamic,ForNonNullableByDefault} self::Foo::T?;
+ final self::Foo::T? v = this.{self::Foo::bar}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::Foo::T?;
if(v is{ForNonNullableByDefault} core::num) {
- this.{self::Foo::baz}.[]=("value", v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::isFinite} ?{core::Object} v{self::Foo::T? & core::num /* '?' & '!' = '!' */} : v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::toString}());
+ this.{self::Foo::baz}{dynamic}{dynamic}.[]=("value", v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::isFinite}{core::bool} ?{core::Object} v{self::Foo::T? & core::num /* '?' & '!' = '!' */} : v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::toString}(){() → core::String});
}
}
}
diff --git a/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.transformed.expect
index 15fcd35..8aa9644 100644
--- a/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.transformed.expect
@@ -9,9 +9,9 @@
: super core::Object::•()
;
method qux() → dynamic {
- final self::Foo::T? v = this.{self::Foo::bar} as{TypeError,ForDynamic,ForNonNullableByDefault} self::Foo::T?;
+ final self::Foo::T? v = this.{self::Foo::bar}{dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::Foo::T?;
if(v is{ForNonNullableByDefault} core::num) {
- this.{self::Foo::baz}.[]=("value", v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::isFinite} ?{core::Object} v{self::Foo::T? & core::num /* '?' & '!' = '!' */} : v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::toString}());
+ this.{self::Foo::baz}{dynamic}{dynamic}.[]=("value", v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::isFinite}{core::bool} ?{core::Object} v{self::Foo::T? & core::num /* '?' & '!' = '!' */} : v{self::Foo::T? & core::num /* '?' & '!' = '!' */}.{core::num::toString}(){() → core::String});
}
}
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.expect
index 847ce35..b07ab07 100644
--- a/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.expect
@@ -23,7 +23,7 @@
}
static method test() → dynamic {
bou::Class<Null>* c = new bou::Class::•<Null>();
- c.{bou::Class::method}<Null>();
+ c.{bou::Class::method}<Null>(){() →* dynamic};
bou::method<Null>();
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.transformed.expect
index 847ce35..b07ab07 100644
--- a/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.transformed.expect
@@ -23,7 +23,7 @@
}
static method test() → dynamic {
bou::Class<Null>* c = new bou::Class::•<Null>();
- c.{bou::Class::method}<Null>();
+ c.{bou::Class::method}<Null>(){() →* dynamic};
bou::method<Null>();
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.expect
index a49b865..92077f0 100644
--- a/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.expect
@@ -13,11 +13,11 @@
class Check extends core::Object /*hasConstConstructor*/ {
final field dynamic _ignored;
const constructor •(dynamic x, dynamic y) → self::Check
- : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0), super core::Object::•()
+ : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0){(core::num) → core::int}, super core::Object::•()
;
}
static method expectEqual(dynamic x, dynamic y) → void {
- if(!x.{core::Object::==}(y)) {
+ if(!(x =={core::Object::==}{(core::Object) → core::bool} y)) {
throw "Arguments were supposed to be identical.";
}
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.outline.expect
index 30aff56..9f97092 100644
--- a/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.outline.expect
@@ -13,7 +13,7 @@
class Check extends core::Object /*hasConstConstructor*/ {
final field dynamic _ignored;
const constructor •(dynamic x, dynamic y) → self::Check
- : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0), super core::Object::•()
+ : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0){(core::num) → core::int}, super core::Object::•()
;
}
static method expectEqual(dynamic x, dynamic y) → void
diff --git a/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.transformed.expect
index a49b865..92077f0 100644
--- a/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.transformed.expect
@@ -13,11 +13,11 @@
class Check extends core::Object /*hasConstConstructor*/ {
final field dynamic _ignored;
const constructor •(dynamic x, dynamic y) → self::Check
- : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0), super core::Object::•()
+ : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0){(core::num) → core::int}, super core::Object::•()
;
}
static method expectEqual(dynamic x, dynamic y) → void {
- if(!x.{core::Object::==}(y)) {
+ if(!(x =={core::Object::==}{(core::Object) → core::bool} y)) {
throw "Arguments were supposed to be identical.";
}
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.expect
index 90ee935..ce1ca58 100644
--- a/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.expect
@@ -11,7 +11,7 @@
self::expect(true, #C2);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.transformed.expect
index d198bb9..806f867 100644
--- a/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.transformed.expect
@@ -11,7 +11,7 @@
self::expect(true, #C2);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.expect
index cd7b899..f32fd42 100644
--- a/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.expect
@@ -61,25 +61,25 @@
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>, #C3, "null is FutureOr<Never>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never?>, #C2, "null is FutureOr<Never?>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>?, #C2, "null is FutureOr<Never>?");
- self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor1(null).field");
- self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor1(null).field");
- self::expect(self::isWeakMode, (#C5).{self::Class::field}, "const Class<List<int>>.constructor1(<Null>[null]).field");
- self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor1(null).field");
- self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor2(null).field");
- self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor2(null).field");
- self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}, (#C10).{self::Class::field}, "Class<Null>.constructor3(null).field");
- self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor4(null).field");
- self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor4(null).field");
- self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor4(null).field");
+ self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor1(null).field");
+ self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor1(null).field");
+ self::expect(self::isWeakMode, (#C5).{self::Class::field}{core::bool}, "const Class<List<int>>.constructor1(<Null>[null]).field");
+ self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor1(null).field");
+ self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor2(null).field");
+ self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor2(null).field");
+ self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool}, (#C10).{self::Class::field}{core::bool}, "Class<Null>.constructor3(null).field");
+ self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor4(null).field");
con::test();
}
static method expect(dynamic expected, dynamic actual, core::String message) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual} for ${message}";
}
@@ -104,14 +104,14 @@
static method test() → dynamic {
self::expect(null is core::int*, #C3, "null is int (opt-out)");
self::expect(null is Null, #C2, "null is Null");
- self::expect(new self::Class::constructor1<core::int*>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor1(null).field (opt-out)");
- self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor1(null).field (opt-out)");
- self::expect(new self::Class::constructor2<core::int*>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor2(null).field (opt-out)");
- self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor2(null).field (opt-out)");
- self::expect(new self::Class::constructor3<core::int*>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor3(null).field (opt-out)");
- self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}, (#C10).{self::Class::field}, "Class<Null>.constructor3(null).field (opt-out)");
- self::expect(new self::Class::constructor4<core::int*>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor4(null).field (opt-out)");
- self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor4(null).field (opt-out)");
+ self::expect(new self::Class::constructor1<core::int*>(null).{self::Class::field}{core::bool*}, (#C4).{self::Class::field}{core::bool*}, "Class<int>.constructor1(null).field (opt-out)");
+ self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool*}, (#C6).{self::Class::field}{core::bool*}, "Class<Null>.constructor1(null).field (opt-out)");
+ self::expect(new self::Class::constructor2<core::int*>(null).{self::Class::field}{core::bool*}, (#C7).{self::Class::field}{core::bool*}, "Class<int>.constructor2(null).field (opt-out)");
+ self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool*}, (#C6).{self::Class::field}{core::bool*}, "Class<Null>.constructor2(null).field (opt-out)");
+ self::expect(new self::Class::constructor3<core::int*>(null).{self::Class::field}{core::bool*}, (#C4).{self::Class::field}{core::bool*}, "Class<int>.constructor3(null).field (opt-out)");
+ self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool*}, (#C10).{self::Class::field}{core::bool*}, "Class<Null>.constructor3(null).field (opt-out)");
+ self::expect(new self::Class::constructor4<core::int*>(null).{self::Class::field}{core::bool*}, (#C7).{self::Class::field}{core::bool*}, "Class<int>.constructor4(null).field (opt-out)");
+ self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool*}, (#C6).{self::Class::field}{core::bool*}, "Class<Null>.constructor4(null).field (opt-out)");
}
constants {
diff --git a/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.transformed.expect
index edf4aad..cb3fea5 100644
--- a/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.transformed.expect
@@ -61,25 +61,25 @@
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>, #C3, "null is FutureOr<Never>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never?>, #C2, "null is FutureOr<Never?>");
self::expect(null is{ForNonNullableByDefault} FutureOr<Never>?, #C2, "null is FutureOr<Never>?");
- self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor1(null).field");
- self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor1(null).field");
- self::expect(self::isWeakMode, (#C5).{self::Class::field}, "const Class<List<int>>.constructor1(<Null>[null]).field");
- self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor1(null).field");
- self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor2(null).field");
- self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}, "new Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor2(null).field");
- self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor2(null).field");
- self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}, (#C9).{self::Class::field}, "Class<int?>.constructor3(null).field");
- self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}, (#C10).{self::Class::field}, "Class<Null>.constructor3(null).field");
- self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor4(null).field");
- self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}, (#C8).{self::Class::field}, "Class<int?>.constructor4(null).field");
- self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor4(null).field");
+ self::expect(new self::Class::constructor1<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor1(null).field");
+ self::expect(true, new self::Class::constructor1<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor1(null).field");
+ self::expect(self::isWeakMode, (#C5).{self::Class::field}{core::bool}, "const Class<List<int>>.constructor1(<Null>[null]).field");
+ self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor1(null).field");
+ self::expect(new self::Class::constructor2<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor2(null).field");
+ self::expect(true, new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, "new Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor2(null).field");
+ self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor2(null).field");
+ self::expect(new self::Class::constructor3<core::int>(null).{self::Class::field}{core::bool}, (#C4).{self::Class::field}{core::bool}, "Class<int>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<core::int?>(null).{self::Class::field}{core::bool}, (#C9).{self::Class::field}{core::bool}, "Class<int?>.constructor3(null).field");
+ self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool}, (#C10).{self::Class::field}{core::bool}, "Class<Null>.constructor3(null).field");
+ self::expect(new self::Class::constructor4<core::int>(null).{self::Class::field}{core::bool}, (#C7).{self::Class::field}{core::bool}, "Class<int>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<core::int?>(null).{self::Class::field}{core::bool}, (#C8).{self::Class::field}{core::bool}, "Class<int?>.constructor4(null).field");
+ self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool}, (#C6).{self::Class::field}{core::bool}, "Class<Null>.constructor4(null).field");
con::test();
}
static method expect(dynamic expected, dynamic actual, core::String message) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual} for ${message}";
}
@@ -104,14 +104,14 @@
static method test() → dynamic {
self::expect(null is core::int*, #C3, "null is int (opt-out)");
self::expect(null is Null, #C2, "null is Null");
- self::expect(new self::Class::constructor1<core::int*>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor1(null).field (opt-out)");
- self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor1(null).field (opt-out)");
- self::expect(new self::Class::constructor2<core::int*>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor2(null).field (opt-out)");
- self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor2(null).field (opt-out)");
- self::expect(new self::Class::constructor3<core::int*>(null).{self::Class::field}, (#C4).{self::Class::field}, "Class<int>.constructor3(null).field (opt-out)");
- self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}, (#C10).{self::Class::field}, "Class<Null>.constructor3(null).field (opt-out)");
- self::expect(new self::Class::constructor4<core::int*>(null).{self::Class::field}, (#C7).{self::Class::field}, "Class<int>.constructor4(null).field (opt-out)");
- self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}, (#C6).{self::Class::field}, "Class<Null>.constructor4(null).field (opt-out)");
+ self::expect(new self::Class::constructor1<core::int*>(null).{self::Class::field}{core::bool*}, (#C4).{self::Class::field}{core::bool*}, "Class<int>.constructor1(null).field (opt-out)");
+ self::expect(new self::Class::constructor1<Null>(null).{self::Class::field}{core::bool*}, (#C6).{self::Class::field}{core::bool*}, "Class<Null>.constructor1(null).field (opt-out)");
+ self::expect(new self::Class::constructor2<core::int*>(null).{self::Class::field}{core::bool*}, (#C7).{self::Class::field}{core::bool*}, "Class<int>.constructor2(null).field (opt-out)");
+ self::expect(new self::Class::constructor2<Null>(null).{self::Class::field}{core::bool*}, (#C6).{self::Class::field}{core::bool*}, "Class<Null>.constructor2(null).field (opt-out)");
+ self::expect(new self::Class::constructor3<core::int*>(null).{self::Class::field}{core::bool*}, (#C4).{self::Class::field}{core::bool*}, "Class<int>.constructor3(null).field (opt-out)");
+ self::expect(new self::Class::constructor3<Null>(null).{self::Class::field}{core::bool*}, (#C10).{self::Class::field}{core::bool*}, "Class<Null>.constructor3(null).field (opt-out)");
+ self::expect(new self::Class::constructor4<core::int*>(null).{self::Class::field}{core::bool*}, (#C7).{self::Class::field}{core::bool*}, "Class<int>.constructor4(null).field (opt-out)");
+ self::expect(new self::Class::constructor4<Null>(null).{self::Class::field}{core::bool*}, (#C6).{self::Class::field}{core::bool*}, "Class<Null>.constructor4(null).field (opt-out)");
}
constants {
diff --git a/pkg/front_end/testcases/nnbd_mixed/constants.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/constants.dart.weak.outline.expect
index 8f7c607..9f91d26 100644
--- a/pkg/front_end/testcases/nnbd_mixed/constants.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/constants.dart.weak.outline.expect
@@ -78,7 +78,7 @@
Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:23:5 -> BoolConstant(true)
Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:25:5 -> BoolConstant(true)
Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:27:5 -> BoolConstant(true)
-Evaluated: StaticGet @ org-dartlang-testcase:///constants_lib.dart:18:12 -> TearOffConstant(identical)
+Evaluated: StaticTearOff @ org-dartlang-testcase:///constants_lib.dart:18:12 -> TearOffConstant(identical)
Evaluated: Instantiation @ org-dartlang-testcase:///constants_lib.dart:19:48 -> PartialInstantiationConstant(id<int*>)
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constants_lib.dart:20:24 -> InstanceConstant(const Class<int*>{Class.field: 0})
Evaluated: ListLiteral @ org-dartlang-testcase:///constants_lib.dart:21:26 -> ListConstant(const <int*>[0])
diff --git a/pkg/front_end/testcases/nnbd_mixed/error_on_recompile_with_no_change/main.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/error_on_recompile_with_no_change/main.dart.weak.expect
index d58f5ba..ccc539a 100644
--- a/pkg/front_end/testcases/nnbd_mixed/error_on_recompile_with_no_change/main.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/error_on_recompile_with_no_change/main.dart.weak.expect
@@ -14,7 +14,7 @@
get renderObject() → mai::Adaptor*
return super.{obj::RenderObject::renderObject} as{TypeError} mai::Adaptor*;
method foo() → void {
- core::print(this.{self::AdaptorElement::renderObject}.{mai::_Adaptor&RenderFoo&LibMixin::constraints}.{obj::FooConstraints::axis});
+ core::print(this.{self::AdaptorElement::renderObject}{mai::Adaptor*}.{mai::_Adaptor&RenderFoo&LibMixin::constraints}{obj::FooConstraints*}.{obj::FooConstraints::axis}{core::String*});
}
abstract member-signature get constraints() → obj::Constraints*; -> obj::RenderObject::constraints
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/nnbd_mixed/error_on_recompile_with_no_change/main.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/error_on_recompile_with_no_change/main.dart.weak.transformed.expect
index 1a886bf..be64d1c 100644
--- a/pkg/front_end/testcases/nnbd_mixed/error_on_recompile_with_no_change/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/error_on_recompile_with_no_change/main.dart.weak.transformed.expect
@@ -14,7 +14,7 @@
get renderObject() → mai::Adaptor*
return super.{obj::RenderObject::renderObject} as{TypeError} mai::Adaptor*;
method foo() → void {
- core::print(this.{self::AdaptorElement::renderObject}.{mai::_Adaptor&RenderFoo&LibMixin::constraints}.{obj::FooConstraints::axis});
+ core::print(this.{self::AdaptorElement::renderObject}{mai::Adaptor*}.{mai::_Adaptor&RenderFoo&LibMixin::constraints}{obj::FooConstraints*}.{obj::FooConstraints::axis}{core::String*});
}
abstract member-signature get constraints() → obj::Constraints*; -> obj::RenderObject::constraints
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.expect
index 0f16923..e60d718 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.expect
@@ -41,13 +41,13 @@
: super self::Class::•()
;
method test() → void {
- this.{self::Class::extendedConcreteMixedInAbstractMethod}();
+ this.{self::Class::extendedConcreteMixedInAbstractMethod}(){() → void};
super.{self::Super::extendedConcreteMixedInAbstractMethod}();
- this.{self::Class::extendedConcreteMixedInConcreteMethod}();
+ this.{self::Class::extendedConcreteMixedInConcreteMethod}(){() → void};
super.{self::Class::extendedConcreteMixedInConcreteMethod}();
- this.{self::Class::extendedConcreteMixedInAbstractImplementedMethod}(0);
+ this.{self::Class::extendedConcreteMixedInAbstractImplementedMethod}(0){(core::int) → void};
super.{self::Class::extendedConcreteMixedInAbstractImplementedMethod}(0);
- this.{self::Class::extendedConcreteMixedInConcreteImplementedMethod}(0);
+ this.{self::Class::extendedConcreteMixedInConcreteImplementedMethod}(0){(core::int) → void};
super.{self::Class::extendedConcreteMixedInConcreteImplementedMethod}(0);
}
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.transformed.expect
index 8f44020..5af8040 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.transformed.expect
@@ -38,13 +38,13 @@
: super self::Class::•()
;
method test() → void {
- this.{self::Class::extendedConcreteMixedInAbstractMethod}();
+ this.{self::Class::extendedConcreteMixedInAbstractMethod}(){() → void};
super.{self::Super::extendedConcreteMixedInAbstractMethod}();
- this.{self::Class::extendedConcreteMixedInConcreteMethod}();
+ this.{self::Class::extendedConcreteMixedInConcreteMethod}(){() → void};
super.{self::Class::extendedConcreteMixedInConcreteMethod}();
- this.{self::Class::extendedConcreteMixedInAbstractImplementedMethod}(0);
+ this.{self::Class::extendedConcreteMixedInAbstractImplementedMethod}(0){(core::int) → void};
super.{self::Class::extendedConcreteMixedInAbstractImplementedMethod}(0);
- this.{self::Class::extendedConcreteMixedInConcreteImplementedMethod}(0);
+ this.{self::Class::extendedConcreteMixedInConcreteImplementedMethod}(0){(core::int) → void};
super.{self::Class::extendedConcreteMixedInConcreteImplementedMethod}(0);
}
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart.weak.expect
index f82e223..d78b587 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart.weak.expect
@@ -106,15 +106,15 @@
;
method test() → dynamic {
core::int i;
- core::int? v1 = this.{self::Class::nullabilityMethod}(null);
+ core::int? v1 = this.{self::Class::nullabilityMethod}(null){(core::int?, {j: core::int?}) → core::int?};
i = super.{in_2::Super::nullabilityMethod}(null);
- i = this.{in_::LegacyClass::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyClass::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_2::Super::optionalArgumentsMethod}(null);
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:21:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_2::Super::optionalArgumentsMethod}(null, null);
- core::int? v2 = this.{self::Class::nullabilityGetter};
+ core::int? v2 = this.{self::Class::nullabilityGetter}{core::int?};
i = super.{in_2::Super::nullabilityGetter};
this.{self::Class::nullabilitySetter} = null;
super.{in_2::Super::nullabilitySetter} = null;
@@ -138,15 +138,15 @@
;
method test() → dynamic {
core::int i;
- this.{in_::LegacyClassQ::nullabilityMethod}(null);
+ this.{in_::LegacyClassQ::nullabilityMethod}(null){(core::int*, {j: core::int*}) →* core::int*};
i = super.{in_2::SuperQ::nullabilityMethod}(null);
- i = this.{in_::LegacyClassQ::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyClassQ::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_2::SuperQ::optionalArgumentsMethod}(null);
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:46:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_2::SuperQ::optionalArgumentsMethod}(null, null);
- i = this.{self::ClassQ::nullabilityGetter};
+ i = this.{self::ClassQ::nullabilityGetter}{core::int};
i = super.{in_2::SuperQ::nullabilityGetter};
this.{self::ClassQ::nullabilitySetter} = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:52:25: Error: The value 'null' can't be assigned to a variable of type 'int' because 'int' is not nullable.
nullabilitySetter = null; // error
@@ -173,15 +173,15 @@
core::int i;
invalid-type v1 = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:63:31: Error: Required named parameter 'j' must be provided.
var v1 = nullabilityMethod(null); // ok
- ^" in this.{in_::_LegacyMixedIn&Object&Super::nullabilityMethod}(null);
+ ^" in this.{in_::_LegacyMixedIn&Object&Super::nullabilityMethod}{<inapplicable>}.(null){(invalid-type) → invalid-type};
i = super.{in_::_LegacyMixedIn&Object&Super::nullabilityMethod}(null);
- i = this.{in_::LegacyMixedIn::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyMixedIn::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_::_LegacyMixedIn&Object&Super::optionalArgumentsMethod}(null);
let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:71:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_::_LegacyMixedIn&Object&Super::optionalArgumentsMethod}(null, null);
- core::int v2 = this.{in_::_LegacyMixedIn&Object&Super::nullabilityGetter};
+ core::int v2 = this.{in_::_LegacyMixedIn&Object&Super::nullabilityGetter}{core::int};
i = super.{in_::_LegacyMixedIn&Object&Super::nullabilityGetter};
this.{self::ClassMixedIn::nullabilitySetter} = null;
super.{in_::_LegacyMixedIn&Object&Super::nullabilitySetter} = null;
@@ -203,15 +203,15 @@
;
method test() → dynamic {
core::int i;
- this.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityMethod}(null);
+ this.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityMethod}(null){(core::int?, {j: core::int?}) →* core::int?};
i = super.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityMethod}(null);
- i = this.{in_::LegacyMixedInQ::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyMixedInQ::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_::_LegacyMixedInQ&Object&SuperQ::optionalArgumentsMethod}(null);
let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:96:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_::_LegacyMixedInQ&Object&SuperQ::optionalArgumentsMethod}(null, null);
- i = this.{self::ClassMixedInQ::nullabilityGetter};
+ i = this.{self::ClassMixedInQ::nullabilityGetter}{core::int};
i = super.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityGetter};
this.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilitySetter} = null;
super.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilitySetter} = null;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart.weak.expect
index ede2515..a532ea2 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart.weak.expect
@@ -84,15 +84,15 @@
;
method test() → dynamic {
core::int i;
- core::int? v1 = this.{self::Class::nullabilityMethod}(null);
+ core::int? v1 = this.{self::Class::nullabilityMethod}(null){(core::int?, {j: core::int?}) → core::int?};
i = super.{in_2::Super::nullabilityMethod}(null);
- i = this.{in_::LegacyClass::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyClass::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_2::Super::optionalArgumentsMethod}(null);
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:21:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_2::Super::optionalArgumentsMethod}(null, null);
- core::int? v2 = this.{self::Class::nullabilityGetter};
+ core::int? v2 = this.{self::Class::nullabilityGetter}{core::int?};
i = super.{in_2::Super::nullabilityGetter};
this.{self::Class::nullabilitySetter} = null;
super.{in_2::Super::nullabilitySetter} = null;
@@ -116,15 +116,15 @@
;
method test() → dynamic {
core::int i;
- this.{in_::LegacyClassQ::nullabilityMethod}(null);
+ this.{in_::LegacyClassQ::nullabilityMethod}(null){(core::int*, {j: core::int*}) →* core::int*};
i = super.{in_2::SuperQ::nullabilityMethod}(null);
- i = this.{in_::LegacyClassQ::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyClassQ::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_2::SuperQ::optionalArgumentsMethod}(null);
let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:46:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_2::SuperQ::optionalArgumentsMethod}(null, null);
- i = this.{self::ClassQ::nullabilityGetter};
+ i = this.{self::ClassQ::nullabilityGetter}{core::int};
i = super.{in_2::SuperQ::nullabilityGetter};
this.{self::ClassQ::nullabilitySetter} = let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:52:25: Error: The value 'null' can't be assigned to a variable of type 'int' because 'int' is not nullable.
nullabilitySetter = null; // error
@@ -149,15 +149,15 @@
;
method test() → dynamic {
core::int i;
- core::int? v1 = this.{self::ClassMixedIn::nullabilityMethod}(null);
+ core::int? v1 = this.{self::ClassMixedIn::nullabilityMethod}(null){(core::int?, {j: core::int?}) → core::int?};
i = super.{in_::_LegacyMixedIn&Object&Super::nullabilityMethod}(null);
- i = this.{in_::LegacyMixedIn::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyMixedIn::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_::_LegacyMixedIn&Object&Super::optionalArgumentsMethod}(null);
let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:71:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_::_LegacyMixedIn&Object&Super::optionalArgumentsMethod}(null, null);
- core::int? v2 = this.{self::ClassMixedIn::nullabilityGetter};
+ core::int? v2 = this.{self::ClassMixedIn::nullabilityGetter}{core::int?};
i = super.{in_::_LegacyMixedIn&Object&Super::nullabilityGetter};
this.{self::ClassMixedIn::nullabilitySetter} = null;
super.{in_::_LegacyMixedIn&Object&Super::nullabilitySetter} = null;
@@ -181,15 +181,15 @@
;
method test() → dynamic {
core::int i;
- this.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityMethod}(null);
+ this.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityMethod}(null){(core::int*, {j: core::int*}) →* core::int*};
i = super.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityMethod}(null);
- i = this.{in_::LegacyMixedInQ::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyMixedInQ::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_::_LegacyMixedInQ&Object&SuperQ::optionalArgumentsMethod}(null);
let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:96:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_::_LegacyMixedInQ&Object&SuperQ::optionalArgumentsMethod}(null, null);
- i = this.{self::ClassMixedInQ::nullabilityGetter};
+ i = this.{self::ClassMixedInQ::nullabilityGetter}{core::int};
i = super.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityGetter};
this.{self::ClassMixedInQ::nullabilitySetter} = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:102:25: Error: The value 'null' can't be assigned to a variable of type 'int' because 'int' is not nullable.
nullabilitySetter = null; // error
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.expect
index 9fdbb48..3e98cba 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.expect
@@ -92,15 +92,15 @@
;
method test() → dynamic {
core::int i;
- core::int? v1 = this.{self::Class::nullabilityMethod}(null);
+ core::int? v1 = this.{self::Class::nullabilityMethod}(null){(core::int?) → core::int?};
i = super.{in_2::Super::nullabilityMethod}(null);
- i = this.{in_::LegacyClass::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyClass::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_2::Super::optionalArgumentsMethod}(null);
let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:21:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_2::Super::optionalArgumentsMethod}(null, null);
- core::int? v2 = this.{self::Class::nullabilityGetter};
+ core::int? v2 = this.{self::Class::nullabilityGetter}{core::int?};
i = super.{in_2::Super::nullabilityGetter};
this.{self::Class::nullabilitySetter} = null;
super.{in_2::Super::nullabilitySetter} = null;
@@ -126,15 +126,15 @@
core::int i;
this.{self::ClassQ::nullabilityMethod}(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:38:23: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
nullabilityMethod(null); // error
- ^" in null as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in null as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
i = super.{in_2::SuperQ::nullabilityMethod}(null);
- i = this.{in_::LegacyClassQ::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyClassQ::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_2::SuperQ::optionalArgumentsMethod}(null);
let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:46:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_2::SuperQ::optionalArgumentsMethod}(null, null);
- i = this.{self::ClassQ::nullabilityGetter};
+ i = this.{self::ClassQ::nullabilityGetter}{core::int};
i = super.{in_2::SuperQ::nullabilityGetter};
this.{self::ClassQ::nullabilitySetter} = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:52:25: Error: The value 'null' can't be assigned to a variable of type 'int' because 'int' is not nullable.
nullabilitySetter = null; // error
@@ -160,15 +160,15 @@
;
method test() → dynamic {
core::int i;
- core::int? v1 = this.{self::ClassMixedIn::nullabilityMethod}(null);
+ core::int? v1 = this.{self::ClassMixedIn::nullabilityMethod}(null){(core::int?) → core::int?};
i = super.{in_::_LegacyMixedIn&Object&Super::nullabilityMethod}(null);
- i = this.{in_::LegacyMixedIn::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyMixedIn::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_::_LegacyMixedIn&Object&Super::optionalArgumentsMethod}(null);
let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:71:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_::_LegacyMixedIn&Object&Super::optionalArgumentsMethod}(null, null);
- core::int? v2 = this.{self::ClassMixedIn::nullabilityGetter};
+ core::int? v2 = this.{self::ClassMixedIn::nullabilityGetter}{core::int?};
i = super.{in_::_LegacyMixedIn&Object&Super::nullabilityGetter};
this.{self::ClassMixedIn::nullabilitySetter} = null;
super.{in_::_LegacyMixedIn&Object&Super::nullabilitySetter} = null;
@@ -194,15 +194,15 @@
core::int i;
this.{self::ClassMixedInQ::nullabilityMethod}(let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:88:23: Error: The value 'null' can't be assigned to the parameter type 'int' because 'int' is not nullable.
nullabilityMethod(null); // error
- ^" in null as{TypeError,ForNonNullableByDefault} core::int);
+ ^" in null as{TypeError,ForNonNullableByDefault} core::int){(core::int) → core::int};
i = super.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityMethod}(null);
- i = this.{in_::LegacyMixedInQ::optionalArgumentsMethod}(null, null);
+ i = this.{in_::LegacyMixedInQ::optionalArgumentsMethod}(null, null){(core::int*, [core::int*]) →* core::int*};
i = super.{in_::_LegacyMixedInQ&Object&SuperQ::optionalArgumentsMethod}(null);
let final Never #t7 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:96:34: Error: Too many positional arguments: 1 allowed, but 2 found.
Try removing the extra positional arguments.
super.optionalArgumentsMethod(null, null); // error
^" in super.{in_::_LegacyMixedInQ&Object&SuperQ::optionalArgumentsMethod}(null, null);
- i = this.{self::ClassMixedInQ::nullabilityGetter};
+ i = this.{self::ClassMixedInQ::nullabilityGetter}{core::int};
i = super.{in_::_LegacyMixedInQ&Object&SuperQ::nullabilityGetter};
this.{self::ClassMixedInQ::nullabilitySetter} = let final Never #t8 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:102:25: Error: The value 'null' can't be assigned to a variable of type 'int' because 'int' is not nullable.
nullabilitySetter = null; // error
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.expect
index 4124088..1604316 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.expect
@@ -204,9 +204,9 @@
return super.{core::Object::noSuchMethod}(invocation);
}
no-such-method-forwarder method mixedInMethod() → core::int
- return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method extendedMethod() → core::int
- return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
abstract class _ClassDeclaresExtends&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/ {
synthetic constructor •() → self::_ClassDeclaresExtends&Super&Mixin
@@ -249,9 +249,9 @@
return super.{core::Object::noSuchMethod}(invocation);
}
no-such-method-forwarder method extendedMethod() → core::int
- return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method mixedInMethod() → core::int
- return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.outline.expect
index 6a58520..a127912 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.outline.expect
@@ -194,9 +194,9 @@
method noSuchMethod(core::Invocation invocation) → dynamic
;
no-such-method-forwarder method mixedInMethod() → core::int
- return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#mixedInMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#mixedInMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method extendedMethod() → core::int
- return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#extendedMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#extendedMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
abstract class _ClassDeclaresExtends&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/ {
synthetic constructor •() → self::_ClassDeclaresExtends&Super&Mixin
@@ -234,9 +234,9 @@
method noSuchMethod(core::Invocation invocation) → dynamic
;
no-such-method-forwarder method extendedMethod() → core::int
- return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#extendedMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#extendedMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method mixedInMethod() → core::int
- return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#mixedInMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#mixedInMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.transformed.expect
index b0ede7c..b9dfa96 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.transformed.expect
@@ -204,9 +204,9 @@
return super.{core::Object::noSuchMethod}(invocation);
}
no-such-method-forwarder method mixedInMethod() → core::int
- return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method extendedMethod() → core::int
- return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
abstract class _ClassDeclaresExtends&Super&Mixin extends self::Super implements self::Mixin /*isAnonymousMixin,isEliminatedMixin*/ {
synthetic constructor •() → self::_ClassDeclaresExtends&Super&Mixin
@@ -249,9 +249,9 @@
return super.{core::Object::noSuchMethod}(invocation);
}
no-such-method-forwarder method extendedMethod() → core::int
- return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method mixedInMethod() → core::int
- return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.expect
index a5e1b1f..73a2b06 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.expect
@@ -61,7 +61,7 @@
}
static method main() → dynamic {
self::Class1* c = new self::Class1::•();
- c.{self::Super::getter}.{opt::B::property};
+ c.{self::Super::getter}{opt::B*}.{opt::B::property}{core::int*};
c.{self::Super::setter} = new opt::B::•();
opt::testInterface2(new opt3::Mixin2::•());
}
@@ -132,7 +132,7 @@
}
static method testInterface2(opt::Interface2 c) → dynamic {
try {
- c.{opt::Interface2::_privateGetter};
+ c.{opt::Interface2::_privateGetter}{opt::A};
throw "Expected NoSuchMethodError";
}
on core::NoSuchMethodError catch(no-exception-var) {
@@ -163,9 +163,9 @@
: super core::Object::•()
;
no-such-method-forwarder get /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateGetter() → opt::A
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} opt::A;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} opt::A;
no-such-method-forwarder set /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateSetter(opt::C c) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(c)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(c)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.outline.expect
index e327d8e..1ec283b 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.outline.expect
@@ -112,9 +112,9 @@
synthetic constructor •() → opt3::Mixin2
;
no-such-method-forwarder get /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateGetter() → opt::A
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} opt::A;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} opt::A;
no-such-method-forwarder set /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateSetter(opt::C c) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(c)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(c)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.transformed.expect
index 007ecd8..f9dd954 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.transformed.expect
@@ -61,7 +61,7 @@
}
static method main() → dynamic {
self::Class1* c = new self::Class1::•();
- c.{self::Super::getter}.{opt::B::property};
+ c.{self::Super::getter}{opt::B*}.{opt::B::property}{core::int*};
c.{self::Super::setter} = new opt::B::•();
opt::testInterface2(new opt3::Mixin2::•());
}
@@ -132,7 +132,7 @@
}
static method testInterface2(opt::Interface2 c) → dynamic {
try {
- c.{opt::Interface2::_privateGetter};
+ c.{opt::Interface2::_privateGetter}{opt::A};
throw "Expected NoSuchMethodError";
}
on core::NoSuchMethodError catch(no-exception-var) {
@@ -163,9 +163,9 @@
: super core::Object::•()
;
no-such-method-forwarder get /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateGetter() → opt::A
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} opt::A;
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} opt::A;
no-such-method-forwarder set /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateSetter(opt::C c) → void
- return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(c)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(c)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.expect
index 0f94026..7914b57 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.expect
@@ -199,34 +199,34 @@
: super self::SuperConcrete::•()
;
no-such-method-forwarder get getter() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
class FromSuperConcreteAbstract extends self::SuperConcrete implements self::SuperAbstract, self::Interface {
synthetic constructor •() → self::FromSuperConcreteAbstract
: super self::SuperConcrete::•()
;
no-such-method-forwarder get getter() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
class MixinAbstract extends core::Object {
synthetic constructor •() → self::MixinAbstract
@@ -260,17 +260,17 @@
: super self::_FromMixinConcrete&Object&MixinConcrete::•()
;
no-such-method-forwarder get getter() → core::int
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
abstract class _FromMixinConcreteAbstract&Object&MixinConcrete = core::Object with self::MixinConcrete /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_FromMixinConcreteAbstract&Object&MixinConcrete
@@ -290,17 +290,17 @@
: super self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::•()
;
no-such-method-forwarder get getter() → core::int
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
class InterfaceAbstract extends core::Object {
synthetic constructor •() → self::InterfaceAbstract
@@ -342,17 +342,17 @@
return null;
}
no-such-method-forwarder get getter() → core::int
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.outline.expect
index 53a32b0..87ecfb3 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.outline.expect
@@ -184,33 +184,33 @@
synthetic constructor •() → self::FromSuperConcrete
;
no-such-method-forwarder get getter() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
}
class FromSuperConcreteAbstract extends self::SuperConcrete implements self::SuperAbstract, self::Interface {
synthetic constructor •() → self::FromSuperConcreteAbstract
;
no-such-method-forwarder get getter() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
}
class MixinAbstract extends core::Object {
synthetic constructor •() → self::MixinAbstract
@@ -239,17 +239,17 @@
synthetic constructor •() → self::FromMixinConcrete
;
no-such-method-forwarder get getter() → core::int
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
}
abstract class _FromMixinConcreteAbstract&Object&MixinConcrete = core::Object with self::MixinConcrete /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_FromMixinConcreteAbstract&Object&MixinConcrete
@@ -268,17 +268,17 @@
synthetic constructor •() → self::FromMixinConcreteAbstract
;
no-such-method-forwarder get getter() → core::int
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
}
class InterfaceAbstract extends core::Object {
synthetic constructor •() → self::InterfaceAbstract
@@ -312,17 +312,17 @@
method noSuchMethod(core::Invocation invocation) → dynamic
;
no-such-method-forwarder get getter() → core::int
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.transformed.expect
index 730cbf4..c4bae58 100644
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.transformed.expect
@@ -199,34 +199,34 @@
: super self::SuperConcrete::•()
;
no-such-method-forwarder get getter() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
class FromSuperConcreteAbstract extends self::SuperConcrete implements self::SuperAbstract, self::Interface {
synthetic constructor •() → self::FromSuperConcreteAbstract
: super self::SuperConcrete::•()
;
no-such-method-forwarder get getter() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
class MixinAbstract extends core::Object {
synthetic constructor •() → self::MixinAbstract
@@ -262,17 +262,17 @@
: super self::_FromMixinConcrete&Object&MixinConcrete::•()
;
no-such-method-forwarder get getter() → core::int
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
abstract class _FromMixinConcreteAbstract&Object&MixinConcrete extends core::Object implements self::MixinConcrete /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_FromMixinConcreteAbstract&Object&MixinConcrete
@@ -294,17 +294,17 @@
: super self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::•()
;
no-such-method-forwarder get getter() → core::int
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
class InterfaceAbstract extends core::Object {
synthetic constructor •() → self::InterfaceAbstract
@@ -346,17 +346,17 @@
return null;
}
no-such-method-forwarder get getter() → core::int
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder get field() → core::int
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder method method() → void
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder get finalField() → core::int
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
no-such-method-forwarder set setter(core::int value) → void
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set field(core::int value) → void
- return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.expect
index c66b3a9..7698d5d 100644
--- a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.expect
@@ -11,7 +11,7 @@
: super core::Object::•()
;
method baz(inf::B* b) → dynamic {
- b.{inf::B::foo}(b.{inf::B::bar}<core::List<core::int*>*>());
+ b.{inf::B::foo}(b.{inf::B::bar}<core::List<core::int*>*>(){() →* core::List<core::int*>*}){(core::List<core::int*>*) →* 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
@@ -37,83 +37,83 @@
core::List<Null>* local1i = <Null>[null];
core::Set<inf::C<dynamic>*>* local2a = block {
final core::Set<inf::C<dynamic>*>* #t1 = col::LinkedHashSet::•<inf::C<dynamic>*>();
- #t1.{core::Set::add}{Invariant}(inf::field1);
- #t1.{core::Set::add}{Invariant}(null);
+ #t1.{core::Set::add}(inf::field1){(inf::C<dynamic>*) →* core::bool*};
+ #t1.{core::Set::add}(null){(inf::C<dynamic>*) →* core::bool*};
} =>#t1;
core::Set<inf::C<dynamic>*>* local2b = block {
final core::Set<inf::C<dynamic>*>* #t2 = col::LinkedHashSet::•<inf::C<dynamic>*>();
- #t2.{core::Set::add}{Invariant}(inf::field2);
- #t2.{core::Set::add}{Invariant}(null);
+ #t2.{core::Set::add}(inf::field2){(inf::C<dynamic>*) →* core::bool*};
+ #t2.{core::Set::add}(null){(inf::C<dynamic>*) →* core::bool*};
} =>#t2;
core::Set<inf::C<core::int*>*>* local2c = block {
final core::Set<inf::C<core::int*>*>* #t3 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t3.{core::Set::add}{Invariant}(inf::field3);
- #t3.{core::Set::add}{Invariant}(null);
+ #t3.{core::Set::add}(inf::field3){(inf::C<core::int*>*) →* core::bool*};
+ #t3.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
} =>#t3;
core::Set<inf::C<core::int*>*>* local2d = block {
final core::Set<inf::C<core::int*>*>* #t4 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t4.{core::Set::add}{Invariant}(inf::field4);
- #t4.{core::Set::add}{Invariant}(null);
+ #t4.{core::Set::add}(inf::field4){(inf::C<core::int*>*) →* core::bool*};
+ #t4.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
} =>#t4;
core::Set<inf::C<core::int*>*>* local2e = block {
final core::Set<inf::C<core::int*>*>* #t5 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t5.{core::Set::add}{Invariant}(inf::field5);
- #t5.{core::Set::add}{Invariant}(null);
+ #t5.{core::Set::add}(inf::field5){(inf::C<core::int*>*) →* core::bool*};
+ #t5.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
} =>#t5;
core::Set<inf::C<core::int*>*>* local2f = block {
final core::Set<inf::C<core::int*>*>* #t6 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t6.{core::Set::add}{Invariant}(inf::field6);
- #t6.{core::Set::add}{Invariant}(null);
+ #t6.{core::Set::add}(inf::field6){(inf::C<core::int*>*) →* core::bool*};
+ #t6.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
} =>#t6;
core::Set<core::int*>* local2g = block {
final core::Set<core::int*>* #t7 = col::LinkedHashSet::•<core::int*>();
- #t7.{core::Set::add}{Invariant}(inf::field7);
- #t7.{core::Set::add}{Invariant}(null);
+ #t7.{core::Set::add}(inf::field7){(core::int*) →* core::bool*};
+ #t7.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t7;
core::Set<core::int*>* local2h = block {
final core::Set<core::int*>* #t8 = col::LinkedHashSet::•<core::int*>();
- #t8.{core::Set::add}{Invariant}(inf::field8);
- #t8.{core::Set::add}{Invariant}(null);
+ #t8.{core::Set::add}(inf::field8){(core::int*) →* core::bool*};
+ #t8.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t8;
core::Set<inf::C<dynamic>*>* local3a = block {
final core::Set<inf::C<dynamic>*>* #t9 = col::LinkedHashSet::•<inf::C<dynamic>*>();
- #t9.{core::Set::add}{Invariant}(null);
- #t9.{core::Set::add}{Invariant}(inf::field1);
+ #t9.{core::Set::add}(null){(inf::C<dynamic>*) →* core::bool*};
+ #t9.{core::Set::add}(inf::field1){(inf::C<dynamic>*) →* core::bool*};
} =>#t9;
core::Set<inf::C<dynamic>*>* local3b = block {
final core::Set<inf::C<dynamic>*>* #t10 = col::LinkedHashSet::•<inf::C<dynamic>*>();
- #t10.{core::Set::add}{Invariant}(null);
- #t10.{core::Set::add}{Invariant}(inf::field2);
+ #t10.{core::Set::add}(null){(inf::C<dynamic>*) →* core::bool*};
+ #t10.{core::Set::add}(inf::field2){(inf::C<dynamic>*) →* core::bool*};
} =>#t10;
core::Set<inf::C<core::int*>*>* local3c = block {
final core::Set<inf::C<core::int*>*>* #t11 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t11.{core::Set::add}{Invariant}(null);
- #t11.{core::Set::add}{Invariant}(inf::field3);
+ #t11.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
+ #t11.{core::Set::add}(inf::field3){(inf::C<core::int*>*) →* core::bool*};
} =>#t11;
core::Set<inf::C<core::int*>*>* local3d = block {
final core::Set<inf::C<core::int*>*>* #t12 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t12.{core::Set::add}{Invariant}(null);
- #t12.{core::Set::add}{Invariant}(inf::field4);
+ #t12.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
+ #t12.{core::Set::add}(inf::field4){(inf::C<core::int*>*) →* core::bool*};
} =>#t12;
core::Set<inf::C<core::int*>*>* local3e = block {
final core::Set<inf::C<core::int*>*>* #t13 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t13.{core::Set::add}{Invariant}(null);
- #t13.{core::Set::add}{Invariant}(inf::field5);
+ #t13.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
+ #t13.{core::Set::add}(inf::field5){(inf::C<core::int*>*) →* core::bool*};
} =>#t13;
core::Set<inf::C<core::int*>*>* local3f = block {
final core::Set<inf::C<core::int*>*>* #t14 = col::LinkedHashSet::•<inf::C<core::int*>*>();
- #t14.{core::Set::add}{Invariant}(null);
- #t14.{core::Set::add}{Invariant}(inf::field6);
+ #t14.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
+ #t14.{core::Set::add}(inf::field6){(inf::C<core::int*>*) →* core::bool*};
} =>#t14;
core::Set<core::int*>* local3g = block {
final core::Set<core::int*>* #t15 = col::LinkedHashSet::•<core::int*>();
- #t15.{core::Set::add}{Invariant}(null);
- #t15.{core::Set::add}{Invariant}(inf::field7);
+ #t15.{core::Set::add}(null){(core::int*) →* core::bool*};
+ #t15.{core::Set::add}(inf::field7){(core::int*) →* core::bool*};
} =>#t15;
core::Set<core::int*>* local3h = block {
final core::Set<core::int*>* #t16 = col::LinkedHashSet::•<core::int*>();
- #t16.{core::Set::add}{Invariant}(null);
- #t16.{core::Set::add}{Invariant}(inf::field8);
+ #t16.{core::Set::add}(null){(core::int*) →* core::bool*};
+ #t16.{core::Set::add}(inf::field8){(core::int*) →* core::bool*};
} =>#t16;
}
@@ -167,82 +167,82 @@
core::List<Null> local1i = <Null>[null];
core::Set<inf::C<dynamic>?> local2a = block {
final core::Set<inf::C<dynamic>?> #t17 = col::LinkedHashSet::•<inf::C<dynamic>?>();
- #t17.{core::Set::add}{Invariant}(inf::field1);
- #t17.{core::Set::add}{Invariant}(null);
+ #t17.{core::Set::add}(inf::field1){(inf::C<dynamic>?) → core::bool};
+ #t17.{core::Set::add}(null){(inf::C<dynamic>?) → core::bool};
} =>#t17;
core::Set<inf::C<dynamic>?> local2b = block {
final core::Set<inf::C<dynamic>?> #t18 = col::LinkedHashSet::•<inf::C<dynamic>?>();
- #t18.{core::Set::add}{Invariant}(inf::field2);
- #t18.{core::Set::add}{Invariant}(null);
+ #t18.{core::Set::add}(inf::field2){(inf::C<dynamic>?) → core::bool};
+ #t18.{core::Set::add}(null){(inf::C<dynamic>?) → core::bool};
} =>#t18;
core::Set<inf::C<core::int>?> local2c = block {
final core::Set<inf::C<core::int>?> #t19 = col::LinkedHashSet::•<inf::C<core::int>?>();
- #t19.{core::Set::add}{Invariant}(inf::field3);
- #t19.{core::Set::add}{Invariant}(null);
+ #t19.{core::Set::add}(inf::field3){(inf::C<core::int>?) → core::bool};
+ #t19.{core::Set::add}(null){(inf::C<core::int>?) → core::bool};
} =>#t19;
core::Set<inf::C<core::int>?> local2d = block {
final core::Set<inf::C<core::int>?> #t20 = col::LinkedHashSet::•<inf::C<core::int>?>();
- #t20.{core::Set::add}{Invariant}(inf::field4);
- #t20.{core::Set::add}{Invariant}(null);
+ #t20.{core::Set::add}(inf::field4){(inf::C<core::int>?) → core::bool};
+ #t20.{core::Set::add}(null){(inf::C<core::int>?) → core::bool};
} =>#t20;
core::Set<inf::C<core::int?>?> local2e = block {
final core::Set<inf::C<core::int?>?> #t21 = col::LinkedHashSet::•<inf::C<core::int?>?>();
- #t21.{core::Set::add}{Invariant}(inf::field5);
- #t21.{core::Set::add}{Invariant}(null);
+ #t21.{core::Set::add}(inf::field5){(inf::C<core::int?>?) → core::bool};
+ #t21.{core::Set::add}(null){(inf::C<core::int?>?) → core::bool};
} =>#t21;
core::Set<inf::C<core::int?>?> local2f = block {
final core::Set<inf::C<core::int?>?> #t22 = col::LinkedHashSet::•<inf::C<core::int?>?>();
- #t22.{core::Set::add}{Invariant}(inf::field6);
- #t22.{core::Set::add}{Invariant}(null);
+ #t22.{core::Set::add}(inf::field6){(inf::C<core::int?>?) → core::bool};
+ #t22.{core::Set::add}(null){(inf::C<core::int?>?) → core::bool};
} =>#t22;
core::Set<core::int?> local2g = block {
final core::Set<core::int?> #t23 = col::LinkedHashSet::•<core::int?>();
- #t23.{core::Set::add}{Invariant}(inf::field7);
- #t23.{core::Set::add}{Invariant}(null);
+ #t23.{core::Set::add}(inf::field7){(core::int?) → core::bool};
+ #t23.{core::Set::add}(null){(core::int?) → core::bool};
} =>#t23;
core::Set<core::int?> local2h = block {
final core::Set<core::int?> #t24 = col::LinkedHashSet::•<core::int?>();
- #t24.{core::Set::add}{Invariant}(inf::field8);
- #t24.{core::Set::add}{Invariant}(null);
+ #t24.{core::Set::add}(inf::field8){(core::int?) → core::bool};
+ #t24.{core::Set::add}(null){(core::int?) → core::bool};
} =>#t24;
core::Set<inf::C<dynamic>?> local3a = block {
final core::Set<inf::C<dynamic>?> #t25 = col::LinkedHashSet::•<inf::C<dynamic>?>();
- #t25.{core::Set::add}{Invariant}(null);
- #t25.{core::Set::add}{Invariant}(inf::field1);
+ #t25.{core::Set::add}(null){(inf::C<dynamic>?) → core::bool};
+ #t25.{core::Set::add}(inf::field1){(inf::C<dynamic>?) → core::bool};
} =>#t25;
core::Set<inf::C<dynamic>?> local3b = block {
final core::Set<inf::C<dynamic>?> #t26 = col::LinkedHashSet::•<inf::C<dynamic>?>();
- #t26.{core::Set::add}{Invariant}(null);
- #t26.{core::Set::add}{Invariant}(inf::field2);
+ #t26.{core::Set::add}(null){(inf::C<dynamic>?) → core::bool};
+ #t26.{core::Set::add}(inf::field2){(inf::C<dynamic>?) → core::bool};
} =>#t26;
core::Set<inf::C<core::int>?> local3c = block {
final core::Set<inf::C<core::int>?> #t27 = col::LinkedHashSet::•<inf::C<core::int>?>();
- #t27.{core::Set::add}{Invariant}(null);
- #t27.{core::Set::add}{Invariant}(inf::field3);
+ #t27.{core::Set::add}(null){(inf::C<core::int>?) → core::bool};
+ #t27.{core::Set::add}(inf::field3){(inf::C<core::int>?) → core::bool};
} =>#t27;
core::Set<inf::C<core::int>?> local3d = block {
final core::Set<inf::C<core::int>?> #t28 = col::LinkedHashSet::•<inf::C<core::int>?>();
- #t28.{core::Set::add}{Invariant}(null);
- #t28.{core::Set::add}{Invariant}(inf::field4);
+ #t28.{core::Set::add}(null){(inf::C<core::int>?) → core::bool};
+ #t28.{core::Set::add}(inf::field4){(inf::C<core::int>?) → core::bool};
} =>#t28;
core::Set<inf::C<core::int?>?> local3e = block {
final core::Set<inf::C<core::int?>?> #t29 = col::LinkedHashSet::•<inf::C<core::int?>?>();
- #t29.{core::Set::add}{Invariant}(null);
- #t29.{core::Set::add}{Invariant}(inf::field5);
+ #t29.{core::Set::add}(null){(inf::C<core::int?>?) → core::bool};
+ #t29.{core::Set::add}(inf::field5){(inf::C<core::int?>?) → core::bool};
} =>#t29;
core::Set<inf::C<core::int?>?> local3f = block {
final core::Set<inf::C<core::int?>?> #t30 = col::LinkedHashSet::•<inf::C<core::int?>?>();
- #t30.{core::Set::add}{Invariant}(null);
- #t30.{core::Set::add}{Invariant}(inf::field6);
+ #t30.{core::Set::add}(null){(inf::C<core::int?>?) → core::bool};
+ #t30.{core::Set::add}(inf::field6){(inf::C<core::int?>?) → core::bool};
} =>#t30;
core::Set<core::int?> local3g = block {
final core::Set<core::int?> #t31 = col::LinkedHashSet::•<core::int?>();
- #t31.{core::Set::add}{Invariant}(null);
- #t31.{core::Set::add}{Invariant}(inf::field7);
+ #t31.{core::Set::add}(null){(core::int?) → core::bool};
+ #t31.{core::Set::add}(inf::field7){(core::int?) → core::bool};
} =>#t31;
core::Set<core::int?> local3h = block {
final core::Set<core::int?> #t32 = col::LinkedHashSet::•<core::int?>();
- #t32.{core::Set::add}{Invariant}(null);
- #t32.{core::Set::add}{Invariant}(inf::field8);
+ #t32.{core::Set::add}(null){(core::int?) → core::bool};
+ #t32.{core::Set::add}(inf::field8){(core::int?) → core::bool};
} =>#t32;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.transformed.expect
index 97b6ea6..3f7b98d 100644
--- a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.transformed.expect
@@ -11,7 +11,7 @@
: super core::Object::•()
;
method baz(inf::B* b) → dynamic {
- b.{inf::B::foo}(b.{inf::B::bar}<core::List<core::int*>*>());
+ b.{inf::B::foo}(b.{inf::B::bar}<core::List<core::int*>*>(){() →* core::List<core::int*>*}){(core::List<core::int*>*) →* 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
@@ -37,83 +37,83 @@
core::List<Null>* local1i = core::_GrowableList::_literal1<Null>(null);
core::Set<inf::C<dynamic>*>* local2a = block {
final core::Set<inf::C<dynamic>*>* #t1 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>*>();
- #t1.{core::Set::add}{Invariant}(inf::field1);
- #t1.{core::Set::add}{Invariant}(null);
+ #t1.{core::Set::add}(inf::field1){(inf::C<dynamic>*) →* core::bool*};
+ #t1.{core::Set::add}(null){(inf::C<dynamic>*) →* core::bool*};
} =>#t1;
core::Set<inf::C<dynamic>*>* local2b = block {
final core::Set<inf::C<dynamic>*>* #t2 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>*>();
- #t2.{core::Set::add}{Invariant}(inf::field2);
- #t2.{core::Set::add}{Invariant}(null);
+ #t2.{core::Set::add}(inf::field2){(inf::C<dynamic>*) →* core::bool*};
+ #t2.{core::Set::add}(null){(inf::C<dynamic>*) →* core::bool*};
} =>#t2;
core::Set<inf::C<core::int*>*>* local2c = block {
final core::Set<inf::C<core::int*>*>* #t3 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t3.{core::Set::add}{Invariant}(inf::field3);
- #t3.{core::Set::add}{Invariant}(null);
+ #t3.{core::Set::add}(inf::field3){(inf::C<core::int*>*) →* core::bool*};
+ #t3.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
} =>#t3;
core::Set<inf::C<core::int*>*>* local2d = block {
final core::Set<inf::C<core::int*>*>* #t4 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t4.{core::Set::add}{Invariant}(inf::field4);
- #t4.{core::Set::add}{Invariant}(null);
+ #t4.{core::Set::add}(inf::field4){(inf::C<core::int*>*) →* core::bool*};
+ #t4.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
} =>#t4;
core::Set<inf::C<core::int*>*>* local2e = block {
final core::Set<inf::C<core::int*>*>* #t5 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t5.{core::Set::add}{Invariant}(inf::field5);
- #t5.{core::Set::add}{Invariant}(null);
+ #t5.{core::Set::add}(inf::field5){(inf::C<core::int*>*) →* core::bool*};
+ #t5.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
} =>#t5;
core::Set<inf::C<core::int*>*>* local2f = block {
final core::Set<inf::C<core::int*>*>* #t6 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t6.{core::Set::add}{Invariant}(inf::field6);
- #t6.{core::Set::add}{Invariant}(null);
+ #t6.{core::Set::add}(inf::field6){(inf::C<core::int*>*) →* core::bool*};
+ #t6.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
} =>#t6;
core::Set<core::int*>* local2g = block {
final core::Set<core::int*>* #t7 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t7.{core::Set::add}{Invariant}(inf::field7);
- #t7.{core::Set::add}{Invariant}(null);
+ #t7.{core::Set::add}(inf::field7){(core::int*) →* core::bool*};
+ #t7.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t7;
core::Set<core::int*>* local2h = block {
final core::Set<core::int*>* #t8 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t8.{core::Set::add}{Invariant}(inf::field8);
- #t8.{core::Set::add}{Invariant}(null);
+ #t8.{core::Set::add}(inf::field8){(core::int*) →* core::bool*};
+ #t8.{core::Set::add}(null){(core::int*) →* core::bool*};
} =>#t8;
core::Set<inf::C<dynamic>*>* local3a = block {
final core::Set<inf::C<dynamic>*>* #t9 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>*>();
- #t9.{core::Set::add}{Invariant}(null);
- #t9.{core::Set::add}{Invariant}(inf::field1);
+ #t9.{core::Set::add}(null){(inf::C<dynamic>*) →* core::bool*};
+ #t9.{core::Set::add}(inf::field1){(inf::C<dynamic>*) →* core::bool*};
} =>#t9;
core::Set<inf::C<dynamic>*>* local3b = block {
final core::Set<inf::C<dynamic>*>* #t10 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>*>();
- #t10.{core::Set::add}{Invariant}(null);
- #t10.{core::Set::add}{Invariant}(inf::field2);
+ #t10.{core::Set::add}(null){(inf::C<dynamic>*) →* core::bool*};
+ #t10.{core::Set::add}(inf::field2){(inf::C<dynamic>*) →* core::bool*};
} =>#t10;
core::Set<inf::C<core::int*>*>* local3c = block {
final core::Set<inf::C<core::int*>*>* #t11 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t11.{core::Set::add}{Invariant}(null);
- #t11.{core::Set::add}{Invariant}(inf::field3);
+ #t11.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
+ #t11.{core::Set::add}(inf::field3){(inf::C<core::int*>*) →* core::bool*};
} =>#t11;
core::Set<inf::C<core::int*>*>* local3d = block {
final core::Set<inf::C<core::int*>*>* #t12 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t12.{core::Set::add}{Invariant}(null);
- #t12.{core::Set::add}{Invariant}(inf::field4);
+ #t12.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
+ #t12.{core::Set::add}(inf::field4){(inf::C<core::int*>*) →* core::bool*};
} =>#t12;
core::Set<inf::C<core::int*>*>* local3e = block {
final core::Set<inf::C<core::int*>*>* #t13 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t13.{core::Set::add}{Invariant}(null);
- #t13.{core::Set::add}{Invariant}(inf::field5);
+ #t13.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
+ #t13.{core::Set::add}(inf::field5){(inf::C<core::int*>*) →* core::bool*};
} =>#t13;
core::Set<inf::C<core::int*>*>* local3f = block {
final core::Set<inf::C<core::int*>*>* #t14 = new col::_CompactLinkedHashSet::•<inf::C<core::int*>*>();
- #t14.{core::Set::add}{Invariant}(null);
- #t14.{core::Set::add}{Invariant}(inf::field6);
+ #t14.{core::Set::add}(null){(inf::C<core::int*>*) →* core::bool*};
+ #t14.{core::Set::add}(inf::field6){(inf::C<core::int*>*) →* core::bool*};
} =>#t14;
core::Set<core::int*>* local3g = block {
final core::Set<core::int*>* #t15 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t15.{core::Set::add}{Invariant}(null);
- #t15.{core::Set::add}{Invariant}(inf::field7);
+ #t15.{core::Set::add}(null){(core::int*) →* core::bool*};
+ #t15.{core::Set::add}(inf::field7){(core::int*) →* core::bool*};
} =>#t15;
core::Set<core::int*>* local3h = block {
final core::Set<core::int*>* #t16 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t16.{core::Set::add}{Invariant}(null);
- #t16.{core::Set::add}{Invariant}(inf::field8);
+ #t16.{core::Set::add}(null){(core::int*) →* core::bool*};
+ #t16.{core::Set::add}(inf::field8){(core::int*) →* core::bool*};
} =>#t16;
}
@@ -167,82 +167,82 @@
core::List<Null> local1i = core::_GrowableList::_literal1<Null>(null);
core::Set<inf::C<dynamic>?> local2a = block {
final core::Set<inf::C<dynamic>?> #t17 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>?>();
- #t17.{core::Set::add}{Invariant}(inf::field1);
- #t17.{core::Set::add}{Invariant}(null);
+ #t17.{core::Set::add}(inf::field1){(inf::C<dynamic>?) → core::bool};
+ #t17.{core::Set::add}(null){(inf::C<dynamic>?) → core::bool};
} =>#t17;
core::Set<inf::C<dynamic>?> local2b = block {
final core::Set<inf::C<dynamic>?> #t18 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>?>();
- #t18.{core::Set::add}{Invariant}(inf::field2);
- #t18.{core::Set::add}{Invariant}(null);
+ #t18.{core::Set::add}(inf::field2){(inf::C<dynamic>?) → core::bool};
+ #t18.{core::Set::add}(null){(inf::C<dynamic>?) → core::bool};
} =>#t18;
core::Set<inf::C<core::int>?> local2c = block {
final core::Set<inf::C<core::int>?> #t19 = new col::_CompactLinkedHashSet::•<inf::C<core::int>?>();
- #t19.{core::Set::add}{Invariant}(inf::field3);
- #t19.{core::Set::add}{Invariant}(null);
+ #t19.{core::Set::add}(inf::field3){(inf::C<core::int>?) → core::bool};
+ #t19.{core::Set::add}(null){(inf::C<core::int>?) → core::bool};
} =>#t19;
core::Set<inf::C<core::int>?> local2d = block {
final core::Set<inf::C<core::int>?> #t20 = new col::_CompactLinkedHashSet::•<inf::C<core::int>?>();
- #t20.{core::Set::add}{Invariant}(inf::field4);
- #t20.{core::Set::add}{Invariant}(null);
+ #t20.{core::Set::add}(inf::field4){(inf::C<core::int>?) → core::bool};
+ #t20.{core::Set::add}(null){(inf::C<core::int>?) → core::bool};
} =>#t20;
core::Set<inf::C<core::int?>?> local2e = block {
final core::Set<inf::C<core::int?>?> #t21 = new col::_CompactLinkedHashSet::•<inf::C<core::int?>?>();
- #t21.{core::Set::add}{Invariant}(inf::field5);
- #t21.{core::Set::add}{Invariant}(null);
+ #t21.{core::Set::add}(inf::field5){(inf::C<core::int?>?) → core::bool};
+ #t21.{core::Set::add}(null){(inf::C<core::int?>?) → core::bool};
} =>#t21;
core::Set<inf::C<core::int?>?> local2f = block {
final core::Set<inf::C<core::int?>?> #t22 = new col::_CompactLinkedHashSet::•<inf::C<core::int?>?>();
- #t22.{core::Set::add}{Invariant}(inf::field6);
- #t22.{core::Set::add}{Invariant}(null);
+ #t22.{core::Set::add}(inf::field6){(inf::C<core::int?>?) → core::bool};
+ #t22.{core::Set::add}(null){(inf::C<core::int?>?) → core::bool};
} =>#t22;
core::Set<core::int?> local2g = block {
final core::Set<core::int?> #t23 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t23.{core::Set::add}{Invariant}(inf::field7);
- #t23.{core::Set::add}{Invariant}(null);
+ #t23.{core::Set::add}(inf::field7){(core::int?) → core::bool};
+ #t23.{core::Set::add}(null){(core::int?) → core::bool};
} =>#t23;
core::Set<core::int?> local2h = block {
final core::Set<core::int?> #t24 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t24.{core::Set::add}{Invariant}(inf::field8);
- #t24.{core::Set::add}{Invariant}(null);
+ #t24.{core::Set::add}(inf::field8){(core::int?) → core::bool};
+ #t24.{core::Set::add}(null){(core::int?) → core::bool};
} =>#t24;
core::Set<inf::C<dynamic>?> local3a = block {
final core::Set<inf::C<dynamic>?> #t25 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>?>();
- #t25.{core::Set::add}{Invariant}(null);
- #t25.{core::Set::add}{Invariant}(inf::field1);
+ #t25.{core::Set::add}(null){(inf::C<dynamic>?) → core::bool};
+ #t25.{core::Set::add}(inf::field1){(inf::C<dynamic>?) → core::bool};
} =>#t25;
core::Set<inf::C<dynamic>?> local3b = block {
final core::Set<inf::C<dynamic>?> #t26 = new col::_CompactLinkedHashSet::•<inf::C<dynamic>?>();
- #t26.{core::Set::add}{Invariant}(null);
- #t26.{core::Set::add}{Invariant}(inf::field2);
+ #t26.{core::Set::add}(null){(inf::C<dynamic>?) → core::bool};
+ #t26.{core::Set::add}(inf::field2){(inf::C<dynamic>?) → core::bool};
} =>#t26;
core::Set<inf::C<core::int>?> local3c = block {
final core::Set<inf::C<core::int>?> #t27 = new col::_CompactLinkedHashSet::•<inf::C<core::int>?>();
- #t27.{core::Set::add}{Invariant}(null);
- #t27.{core::Set::add}{Invariant}(inf::field3);
+ #t27.{core::Set::add}(null){(inf::C<core::int>?) → core::bool};
+ #t27.{core::Set::add}(inf::field3){(inf::C<core::int>?) → core::bool};
} =>#t27;
core::Set<inf::C<core::int>?> local3d = block {
final core::Set<inf::C<core::int>?> #t28 = new col::_CompactLinkedHashSet::•<inf::C<core::int>?>();
- #t28.{core::Set::add}{Invariant}(null);
- #t28.{core::Set::add}{Invariant}(inf::field4);
+ #t28.{core::Set::add}(null){(inf::C<core::int>?) → core::bool};
+ #t28.{core::Set::add}(inf::field4){(inf::C<core::int>?) → core::bool};
} =>#t28;
core::Set<inf::C<core::int?>?> local3e = block {
final core::Set<inf::C<core::int?>?> #t29 = new col::_CompactLinkedHashSet::•<inf::C<core::int?>?>();
- #t29.{core::Set::add}{Invariant}(null);
- #t29.{core::Set::add}{Invariant}(inf::field5);
+ #t29.{core::Set::add}(null){(inf::C<core::int?>?) → core::bool};
+ #t29.{core::Set::add}(inf::field5){(inf::C<core::int?>?) → core::bool};
} =>#t29;
core::Set<inf::C<core::int?>?> local3f = block {
final core::Set<inf::C<core::int?>?> #t30 = new col::_CompactLinkedHashSet::•<inf::C<core::int?>?>();
- #t30.{core::Set::add}{Invariant}(null);
- #t30.{core::Set::add}{Invariant}(inf::field6);
+ #t30.{core::Set::add}(null){(inf::C<core::int?>?) → core::bool};
+ #t30.{core::Set::add}(inf::field6){(inf::C<core::int?>?) → core::bool};
} =>#t30;
core::Set<core::int?> local3g = block {
final core::Set<core::int?> #t31 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t31.{core::Set::add}{Invariant}(null);
- #t31.{core::Set::add}{Invariant}(inf::field7);
+ #t31.{core::Set::add}(null){(core::int?) → core::bool};
+ #t31.{core::Set::add}(inf::field7){(core::int?) → core::bool};
} =>#t31;
core::Set<core::int?> local3h = block {
final core::Set<core::int?> #t32 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t32.{core::Set::add}{Invariant}(null);
- #t32.{core::Set::add}{Invariant}(inf::field8);
+ #t32.{core::Set::add}(null){(core::int?) → core::bool};
+ #t32.{core::Set::add}(inf::field8){(core::int?) → core::bool};
} =>#t32;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.expect
index 615c4e4..facc484 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.expect
@@ -25,11 +25,11 @@
static method main() → void {
iss::foo(() → Null => null);
iss::bar = () → iss::Map<core::String*, core::String*>* => null;
- new self::D::•<core::int*>().{self::D::method}();
+ new self::D::•<core::int*>().{self::D::method}(){() →* iss::C<core::int*>*};
self::findKey(new iss::Map::•<core::String*, core::String*>("foo", "bar"), "bar");
}
static method findKey(iss::Map<core::String*, dynamic>* m, dynamic search) → void {
- core::print(let final core::MapEntry<core::String*, dynamic>* #t1 = m.{iss::Map::entries}.{iss::Iterable::singleWhere}((core::MapEntry<core::String*, dynamic>* entry) → core::bool* => entry.{core::MapEntry::value}.{core::Object::==}(search), orElse: () → Null => null) in #t1.{core::Object::==}(null) ?{core::String*} null : #t1.{core::MapEntry::key});
+ core::print(let final core::MapEntry<core::String*, dynamic>* #t1 = m.{iss::Map::entries}{iss::Iterable<core::MapEntry<core::String*, dynamic>*>*}.{iss::Iterable::singleWhere}((core::MapEntry<core::String*, dynamic>* entry) → core::bool* => entry.{core::MapEntry::value}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} search, orElse: () → Null => null){((core::MapEntry<core::String*, dynamic>*) →* core::bool*, {orElse: () →* core::MapEntry<core::String*, dynamic>*}) →* core::MapEntry<core::String*, dynamic>*} in #t1 == null ?{core::String*} null : #t1.{core::MapEntry::key}{core::String*});
}
library /*isNonNullableByDefault*/;
@@ -39,7 +39,7 @@
class C<X extends core::Object? = dynamic> extends core::Object {
constructor •(() → iss::Map<core::String, core::String> f) → iss::C<iss::C::X%>
: super core::Object::•() {
- core::print(f.{core::Object::runtimeType});
+ core::print(f.{core::Object::runtimeType}{core::Type});
}
}
class Map<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object {
@@ -49,7 +49,7 @@
: iss::Map::key = key, iss::Map::value = value, super core::Object::•()
;
get entries() → iss::Iterable<core::MapEntry<iss::Map::K%, iss::Map::V%>>
- return new iss::Iterable::•<core::MapEntry<iss::Map::K%, iss::Map::V%>>(new core::MapEntry::_<iss::Map::K%, iss::Map::V%>(this.{iss::Map::key}, this.{iss::Map::value}));
+ return new iss::Iterable::•<core::MapEntry<iss::Map::K%, iss::Map::V%>>(new core::MapEntry::_<iss::Map::K%, iss::Map::V%>(this.{iss::Map::key}{iss::Map::K%}, this.{iss::Map::value}{iss::Map::V%}));
}
class Iterable<E extends core::Object? = dynamic> extends core::Object {
final field iss::Iterable::E% element;
@@ -57,19 +57,19 @@
: iss::Iterable::element = element, super core::Object::•()
;
method singleWhere((iss::Iterable::E%) → core::bool test, {generic-covariant-impl () →? iss::Iterable::E% orElse = #C1}) → iss::Iterable::E% {
- if(test.call(this.{iss::Iterable::element})) {
- return this.{iss::Iterable::element};
+ if(test(this.{iss::Iterable::element}{iss::Iterable::E%}){(iss::Iterable::E%) → core::bool}) {
+ return this.{iss::Iterable::element}{iss::Iterable::E%};
}
- if(!orElse.{core::Object::==}(null))
- return orElse{() → iss::Iterable::E%}.call();
+ if(!(orElse == null))
+ return orElse{() → iss::Iterable::E%}(){() → iss::Iterable::E%};
throw "error";
}
}
static method foo(() → iss::Map<core::String, core::String> f) → void {
- core::print(f.{core::Object::runtimeType});
+ core::print(f.{core::Object::runtimeType}{core::Type});
}
static set bar(() → iss::Map<core::String, core::String> f) → void {
- core::print(f.{core::Object::runtimeType});
+ core::print(f.{core::Object::runtimeType}{core::Type});
}
constants {
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.transformed.expect
index 615c4e4..facc484 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.transformed.expect
@@ -25,11 +25,11 @@
static method main() → void {
iss::foo(() → Null => null);
iss::bar = () → iss::Map<core::String*, core::String*>* => null;
- new self::D::•<core::int*>().{self::D::method}();
+ new self::D::•<core::int*>().{self::D::method}(){() →* iss::C<core::int*>*};
self::findKey(new iss::Map::•<core::String*, core::String*>("foo", "bar"), "bar");
}
static method findKey(iss::Map<core::String*, dynamic>* m, dynamic search) → void {
- core::print(let final core::MapEntry<core::String*, dynamic>* #t1 = m.{iss::Map::entries}.{iss::Iterable::singleWhere}((core::MapEntry<core::String*, dynamic>* entry) → core::bool* => entry.{core::MapEntry::value}.{core::Object::==}(search), orElse: () → Null => null) in #t1.{core::Object::==}(null) ?{core::String*} null : #t1.{core::MapEntry::key});
+ core::print(let final core::MapEntry<core::String*, dynamic>* #t1 = m.{iss::Map::entries}{iss::Iterable<core::MapEntry<core::String*, dynamic>*>*}.{iss::Iterable::singleWhere}((core::MapEntry<core::String*, dynamic>* entry) → core::bool* => entry.{core::MapEntry::value}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} search, orElse: () → Null => null){((core::MapEntry<core::String*, dynamic>*) →* core::bool*, {orElse: () →* core::MapEntry<core::String*, dynamic>*}) →* core::MapEntry<core::String*, dynamic>*} in #t1 == null ?{core::String*} null : #t1.{core::MapEntry::key}{core::String*});
}
library /*isNonNullableByDefault*/;
@@ -39,7 +39,7 @@
class C<X extends core::Object? = dynamic> extends core::Object {
constructor •(() → iss::Map<core::String, core::String> f) → iss::C<iss::C::X%>
: super core::Object::•() {
- core::print(f.{core::Object::runtimeType});
+ core::print(f.{core::Object::runtimeType}{core::Type});
}
}
class Map<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object {
@@ -49,7 +49,7 @@
: iss::Map::key = key, iss::Map::value = value, super core::Object::•()
;
get entries() → iss::Iterable<core::MapEntry<iss::Map::K%, iss::Map::V%>>
- return new iss::Iterable::•<core::MapEntry<iss::Map::K%, iss::Map::V%>>(new core::MapEntry::_<iss::Map::K%, iss::Map::V%>(this.{iss::Map::key}, this.{iss::Map::value}));
+ return new iss::Iterable::•<core::MapEntry<iss::Map::K%, iss::Map::V%>>(new core::MapEntry::_<iss::Map::K%, iss::Map::V%>(this.{iss::Map::key}{iss::Map::K%}, this.{iss::Map::value}{iss::Map::V%}));
}
class Iterable<E extends core::Object? = dynamic> extends core::Object {
final field iss::Iterable::E% element;
@@ -57,19 +57,19 @@
: iss::Iterable::element = element, super core::Object::•()
;
method singleWhere((iss::Iterable::E%) → core::bool test, {generic-covariant-impl () →? iss::Iterable::E% orElse = #C1}) → iss::Iterable::E% {
- if(test.call(this.{iss::Iterable::element})) {
- return this.{iss::Iterable::element};
+ if(test(this.{iss::Iterable::element}{iss::Iterable::E%}){(iss::Iterable::E%) → core::bool}) {
+ return this.{iss::Iterable::element}{iss::Iterable::E%};
}
- if(!orElse.{core::Object::==}(null))
- return orElse{() → iss::Iterable::E%}.call();
+ if(!(orElse == null))
+ return orElse{() → iss::Iterable::E%}(){() → iss::Iterable::E%};
throw "error";
}
}
static method foo(() → iss::Map<core::String, core::String> f) → void {
- core::print(f.{core::Object::runtimeType});
+ core::print(f.{core::Object::runtimeType}{core::Type});
}
static set bar(() → iss::Map<core::String, core::String> f) → void {
- core::print(f.{core::Object::runtimeType});
+ core::print(f.{core::Object::runtimeType}{core::Type});
}
constants {
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.expect
index e644ba8..9a56a7d 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.expect
@@ -33,7 +33,7 @@
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A::method}());
+ core::print(new self::C::•().{self::_C&Object&A::method}(){({s: core::String*}) →* core::String*});
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.transformed.expect
index a4b45f2..dbbbaa1 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.transformed.expect
@@ -33,7 +33,7 @@
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A::method}());
+ core::print(new self::C::•().{self::_C&Object&A::method}(){({s: core::String*}) →* core::String*});
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.expect
index 5dfa45a..7ab45bf 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.expect
@@ -33,7 +33,7 @@
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A::method}());
+ core::print(new self::C::•().{self::_C&Object&A::method}(){({s: core::String*}) →* core::String*});
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.transformed.expect
index bee4a10..3948e9a 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.transformed.expect
@@ -33,7 +33,7 @@
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A::method}());
+ core::print(new self::C::•().{self::_C&Object&A::method}(){({s: core::String*}) →* core::String*});
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.expect
index ec08b47..2f375fb 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.expect
@@ -33,7 +33,7 @@
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A::method}());
+ core::print(new self::C::•().{self::_C&Object&A::method}(){({s: core::String*}) →* core::String*});
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.transformed.expect
index c2ee49a..594c0ca 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.transformed.expect
@@ -33,7 +33,7 @@
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A::method}());
+ core::print(new self::C::•().{self::_C&Object&A::method}(){({s: core::String*}) →* core::String*});
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.expect
index bb9ab6c..e5721c4 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.expect
@@ -31,28 +31,28 @@
() → void f;
(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498.dart:11:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
}
method test2() → void {
() → void f;
(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498.dart:17:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
}
}
static method test() → dynamic {
() → void f;
(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498.dart:24:3: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
core::Function foo = () → Null {
() → void f;
(let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498.dart:29:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
};
self::C::test();
- new self::C::•().{self::C::test2}();
+ new self::C::•().{self::C::test2}(){() → void};
}
static method main() → dynamic {}
@@ -67,11 +67,11 @@
;
static method test() → void {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
}
method test2() → void {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::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
@@ -86,11 +86,11 @@
}
static method test() → dynamic {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
core::Function* foo = () → Null {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
};
self2::C::test();
- new self2::C::•().{self2::C::test2}();
+ new self2::C::•().{self2::C::test2}(){() →* void};
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.transformed.expect
index bb9ab6c..e5721c4 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.transformed.expect
@@ -31,28 +31,28 @@
() → void f;
(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498.dart:11:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
}
method test2() → void {
() → void f;
(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498.dart:17:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
}
}
static method test() → dynamic {
() → void f;
(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498.dart:24:3: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
core::Function foo = () → Null {
() → void f;
(let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498.dart:29:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
};
self::C::test();
- new self::C::•().{self::C::test2}();
+ new self::C::•().{self::C::test2}(){() → void};
}
static method main() → dynamic {}
@@ -67,11 +67,11 @@
;
static method test() → void {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
}
method test2() → void {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::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
@@ -86,11 +86,11 @@
}
static method test() → dynamic {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
core::Function* foo = () → Null {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
};
self2::C::test();
- new self2::C::•().{self2::C::test2}();
+ new self2::C::•().{self2::C::test2}(){() →* void};
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.expect
index 5b9f933..4f9e4ba 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.expect
@@ -12,11 +12,11 @@
;
static method test() → void {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
}
method test2() → void {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::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
@@ -31,13 +31,13 @@
}
static method test() → dynamic {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
core::Function* foo = () → Null {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
};
self::C::test();
- new self::C::•().{self::C::test2}();
+ new self::C::•().{self::C::test2}(){() →* void};
}
static method main() → dynamic {
iss::main();
@@ -76,27 +76,27 @@
() → void f;
(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498b_lib.dart:11:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
}
method test2() → void {
() → void f;
(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498b_lib.dart:17:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
}
}
static method test() → dynamic {
() → void f;
(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498b_lib.dart:24:3: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
core::Function foo = () → Null {
() → void f;
(let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498b_lib.dart:29:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
};
iss::C::test();
- new iss::C::•().{iss::C::test2}();
+ new iss::C::•().{iss::C::test2}(){() → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.transformed.expect
index 5b9f933..4f9e4ba 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.transformed.expect
@@ -12,11 +12,11 @@
;
static method test() → void {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
}
method test2() → void {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::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
@@ -31,13 +31,13 @@
}
static method test() → dynamic {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
core::Function* foo = () → Null {
() →* void f;
- f.{core::Object::toString}();
+ f.{core::Object::toString}(){() →* core::String*};
};
self::C::test();
- new self::C::•().{self::C::test2}();
+ new self::C::•().{self::C::test2}(){() →* void};
}
static method main() → dynamic {
iss::main();
@@ -76,27 +76,27 @@
() → void f;
(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498b_lib.dart:11:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
}
method test2() → void {
() → void f;
(let final Never #t2 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498b_lib.dart:17:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
}
}
static method test() → dynamic {
() → void f;
(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498b_lib.dart:24:3: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
core::Function foo = () → Null {
() → void f;
(let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41498b_lib.dart:29:5: Error: Non-nullable variable 'f' must be assigned before it can be used.
f.toString(); // error
- ^" in f).{core::Object::toString}();
+ ^" in f).{core::Object::toString}(){() → core::String};
};
iss::C::test();
- new iss::C::•().{iss::C::test2}();
+ new iss::C::•().{iss::C::test2}(){() → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.expect
index 22d878a..d1b585c 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.expect
@@ -117,13 +117,13 @@
invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:8:6: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
c?..f;
- ^".f;
+ ^"{dynamic}.f;
!(invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:9:7: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
!c?..f;
- ^".f as{TypeError,ForDynamic} core::bool*);
+ ^"{dynamic}.f as{TypeError,ForDynamic} core::bool*);
invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:10:6: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
c?..f!;
- ^".f!;
+ ^"{dynamic}.f!;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.transformed.expect
index 802c2a3..d81d034 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.transformed.expect
@@ -117,13 +117,13 @@
invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:8:6: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
c?..f;
- ^".f;
+ ^"{dynamic}.f;
!(invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:9:7: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
!c?..f;
- ^".f as{TypeError,ForDynamic} core::bool*);
+ ^"{dynamic}.f as{TypeError,ForDynamic} core::bool*);
invalid-expression "pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:10:6: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
c?..f!;
- ^".f!;
+ ^"{dynamic}.f!;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.expect
index c0a3ef7..0be0d4c 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.expect
@@ -17,7 +17,7 @@
self::expect(self::assertLegacySubtyping2a, #C3);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.transformed.expect
index 49fce36..e7f1882 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.transformed.expect
@@ -17,7 +17,7 @@
self::expect(self::assertLegacySubtyping2a, #C3);
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.expect
index f5df90e..cbd12a1 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.expect
@@ -6,7 +6,7 @@
import "org-dartlang-testcase:///issue42003_lib.dart";
static method main() → dynamic {
- let final core::String* #t1 = iss::returnString() in #t1.{core::String::==}(null) ?{core::int?} null : #t1{core::String}.{core::String::length};
+ let final core::String* #t1 = iss::returnString() in #t1 == null ?{core::int?} null : #t1{core::String}.{core::String::length}{core::int};
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.transformed.expect
index f5df90e..cbd12a1 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.transformed.expect
@@ -6,7 +6,7 @@
import "org-dartlang-testcase:///issue42003_lib.dart";
static method main() → dynamic {
- let final core::String* #t1 = iss::returnString() in #t1.{core::String::==}(null) ?{core::int?} null : #t1{core::String}.{core::String::length};
+ let final core::String* #t1 = iss::returnString() in #t1 == null ?{core::int?} null : #t1{core::String}.{core::String::length}{core::int};
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.expect
index 1d99576..10c6848 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.expect
@@ -7,24 +7,24 @@
static method main() → void {
iss::E|m(iss::f());
- iss::E|m((#C1).call());
+ iss::E|m((#C1)(){() →* core::int*});
iss::E|m(iss::p);
iss::Class<dynamic>* c = new iss::Class::•<dynamic>();
- iss::E|m(c.{iss::Class::f}());
- iss::E|m(c.{iss::Class::f}.call());
- iss::E|m(c.{iss::Class::p});
- iss::E|m(c.{iss::Class::[]}(0));
- iss::E|m(c.{iss::Class::unary-}());
- iss::E|m(c.{iss::Class::+}(4));
+ iss::E|m(c.{iss::Class::f}(){() →* core::int*});
+ iss::E|m(c.{iss::Class::f}{() →* core::int*}(){() →* core::int*});
+ iss::E|m(c.{iss::Class::p}{core::int*});
+ iss::E|m(c.{iss::Class::[]}(0){(core::int*) →* core::int*});
+ iss::E|m(c.{iss::Class::unary-}(){() →* core::int*});
+ iss::E|m(c.{iss::Class::+}(4){(core::Object*) →* core::int*});
let final iss::Class<dynamic>* #t1 = c in block {
- iss::E|m(#t1.{iss::Class::p});
- iss::E|m(#t1.{iss::Class::f}());
- iss::E|m(#t1.{iss::Class::[]}(0));
+ iss::E|m(#t1.{iss::Class::p}{core::int*});
+ iss::E|m(#t1.{iss::Class::f}(){() →* core::int*});
+ iss::E|m(#t1.{iss::Class::[]}(0){(core::int*) →* core::int*});
} =>#t1;
let final iss::Class<dynamic>* #t2 = new iss::Class::•<dynamic>() in block {
- iss::E|m(#t2.{iss::Class::p});
- iss::E|m(#t2.{iss::Class::f}());
- iss::E|m(#t2.{iss::Class::[]}(0));
+ iss::E|m(#t2.{iss::Class::p}{core::int*});
+ iss::E|m(#t2.{iss::Class::f}(){() →* core::int*});
+ iss::E|m(#t2.{iss::Class::[]}(0){(core::int*) →* core::int*});
} =>#t2;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.transformed.expect
index 1d99576..10c6848 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.transformed.expect
@@ -7,24 +7,24 @@
static method main() → void {
iss::E|m(iss::f());
- iss::E|m((#C1).call());
+ iss::E|m((#C1)(){() →* core::int*});
iss::E|m(iss::p);
iss::Class<dynamic>* c = new iss::Class::•<dynamic>();
- iss::E|m(c.{iss::Class::f}());
- iss::E|m(c.{iss::Class::f}.call());
- iss::E|m(c.{iss::Class::p});
- iss::E|m(c.{iss::Class::[]}(0));
- iss::E|m(c.{iss::Class::unary-}());
- iss::E|m(c.{iss::Class::+}(4));
+ iss::E|m(c.{iss::Class::f}(){() →* core::int*});
+ iss::E|m(c.{iss::Class::f}{() →* core::int*}(){() →* core::int*});
+ iss::E|m(c.{iss::Class::p}{core::int*});
+ iss::E|m(c.{iss::Class::[]}(0){(core::int*) →* core::int*});
+ iss::E|m(c.{iss::Class::unary-}(){() →* core::int*});
+ iss::E|m(c.{iss::Class::+}(4){(core::Object*) →* core::int*});
let final iss::Class<dynamic>* #t1 = c in block {
- iss::E|m(#t1.{iss::Class::p});
- iss::E|m(#t1.{iss::Class::f}());
- iss::E|m(#t1.{iss::Class::[]}(0));
+ iss::E|m(#t1.{iss::Class::p}{core::int*});
+ iss::E|m(#t1.{iss::Class::f}(){() →* core::int*});
+ iss::E|m(#t1.{iss::Class::[]}(0){(core::int*) →* core::int*});
} =>#t1;
let final iss::Class<dynamic>* #t2 = new iss::Class::•<dynamic>() in block {
- iss::E|m(#t2.{iss::Class::p});
- iss::E|m(#t2.{iss::Class::f}());
- iss::E|m(#t2.{iss::Class::[]}(0));
+ iss::E|m(#t2.{iss::Class::p}{core::int*});
+ iss::E|m(#t2.{iss::Class::f}(){() →* core::int*});
+ iss::E|m(#t2.{iss::Class::[]}(0){(core::int*) →* core::int*});
} =>#t2;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.expect
index 39658bf..3d387ff 100644
--- a/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.expect
@@ -81,7 +81,7 @@
abstract class RenderObjectWithChildMixin<ChildType extends mai::RenderObject> extends mai::RenderObject /*isMixinDeclaration*/ {
generic-covariant-impl field mai::RenderObjectWithChildMixin::ChildType? _child = null;
get child() → mai::RenderObjectWithChildMixin::ChildType?
- return this.{mai::RenderObjectWithChildMixin::_child};
+ return this.{mai::RenderObjectWithChildMixin::_child}{mai::RenderObjectWithChildMixin::ChildType?};
}
abstract class _RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin<T extends mai::RenderBox> extends core::Object implements mai::RenderBox, mai::RenderObjectWithChildMixin<mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin::T> /*isAnonymousMixin*/ {
synthetic constructor •() → mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin<mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin::T>
@@ -91,7 +91,7 @@
abstract class RenderProxyBoxMixin<T extends mai::RenderBox> extends mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin<mai::RenderProxyBoxMixin::T> /*isMixinDeclaration*/ {
@#C2
method hitTestChildren(mai::BoxHitTestResult result, {required mai::Offset position = #C1}) → core::bool {
- return let final core::bool? #t1 = let final mai::RenderProxyBoxMixin::T? #t2 = this.{mai::RenderObjectWithChildMixin::child} in #t2.{core::Object::==}(null) ?{core::bool?} null : #t2{mai::RenderProxyBoxMixin::T}.{mai::RenderBox::hitTest}(result, position: position) in #t1.{core::Object::==}(null) ?{core::bool} false : #t1{core::bool};
+ return let final core::bool? #t1 = let final mai::RenderProxyBoxMixin::T? #t2 = this.{mai::RenderObjectWithChildMixin::child}{mai::RenderProxyBoxMixin::T?} in #t2 == null ?{core::bool?} null : #t2{mai::RenderProxyBoxMixin::T}.{mai::RenderBox::hitTest}(result, position: position){(mai::BoxHitTestResult, {required position: mai::Offset}) → core::bool} in #t1 == null ?{core::bool} false : #t1{core::bool};
}
}
abstract class _RenderProxyBox&RenderBox&RenderObjectWithChildMixin extends mai::RenderBox implements mai::RenderObjectWithChildMixin<mai::RenderBox> /*isAnonymousMixin,isEliminatedMixin*/ {
@@ -100,7 +100,7 @@
: super mai::RenderBox::•()
;
get child() → mai::RenderBox?
- return this.{mai::RenderObjectWithChildMixin::_child};
+ return this.{mai::RenderObjectWithChildMixin::_child}{mai::RenderBox?};
}
abstract class _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin extends mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin implements mai::RenderProxyBoxMixin<mai::RenderBox> /*isAnonymousMixin,isEliminatedMixin*/ {
synthetic constructor •() → mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin
@@ -108,7 +108,7 @@
;
@#C2
method hitTestChildren(mai::BoxHitTestResult result, {required mai::Offset position = #C1}) → core::bool {
- return let final core::bool? #t3 = let final mai::RenderBox? #t4 = this.{mai::RenderObjectWithChildMixin::child} in #t4.{core::Object::==}(null) ?{core::bool?} null : #t4{mai::RenderBox}.{mai::RenderBox::hitTest}(result, position: position) in #t3.{core::Object::==}(null) ?{core::bool} false : #t3{core::bool};
+ return let final core::bool? #t3 = let final mai::RenderBox? #t4 = this.{mai::RenderObjectWithChildMixin::child}{mai::RenderBox?} in #t4 == null ?{core::bool?} null : #t4{mai::RenderBox}.{mai::RenderBox::hitTest}(result, position: position){(mai::BoxHitTestResult, {required position: mai::Offset}) → core::bool} in #t3 == null ?{core::bool} false : #t3{core::bool};
}
}
class RenderProxyBox extends mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin {
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.transformed.expect
index d142fe2..03d4e82 100644
--- a/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
;
@#C1
method /* from org-dartlang-testcase:///main_lib.dart */ hitTestChildren(mai::BoxHitTestResult result, {required mai::Offset position = #C2}) → core::bool {
- return let final core::bool? #t1 = let final mai::RenderBox? #t2 = this.{mai::RenderObjectWithChildMixin::child} in #t2.{core::Object::==}(null) ?{core::bool?} null : #t2{mai::RenderBox}.{mai::RenderBox::hitTest}(result, position: position) in #t1.{core::Object::==}(null) ?{core::bool} false : #t1{core::bool};
+ return let final core::bool? #t1 = let final mai::RenderBox? #t2 = this.{mai::RenderObjectWithChildMixin::child}{mai::RenderBox?} in #t2 == null ?{core::bool?} null : #t2{mai::RenderBox}.{mai::RenderBox::hitTest}(result, position: position){(mai::BoxHitTestResult, {required position: mai::Offset}) → core::bool} in #t1 == null ?{core::bool} false : #t1{core::bool};
}
}
abstract class _RenderAnimatedOpacity&RenderProxyBox&RenderProxyBoxMixin&RenderAnimatedOpacityMixin extends self::_RenderAnimatedOpacity&RenderProxyBox&RenderProxyBoxMixin implements self::RenderAnimatedOpacityMixin<mai::RenderBox> /*isAnonymousMixin,isEliminatedMixin*/ {
@@ -83,7 +83,7 @@
abstract class RenderObjectWithChildMixin<ChildType extends mai::RenderObject> extends mai::RenderObject /*isMixinDeclaration*/ {
generic-covariant-impl field mai::RenderObjectWithChildMixin::ChildType? _child = null;
get child() → mai::RenderObjectWithChildMixin::ChildType?
- return this.{mai::RenderObjectWithChildMixin::_child};
+ return this.{mai::RenderObjectWithChildMixin::_child}{mai::RenderObjectWithChildMixin::ChildType?};
}
abstract class _RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin<T extends mai::RenderBox> extends core::Object implements mai::RenderBox, mai::RenderObjectWithChildMixin<mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin::T> /*isAnonymousMixin*/ {
synthetic constructor •() → mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin<mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin::T>
@@ -93,7 +93,7 @@
abstract class RenderProxyBoxMixin<T extends mai::RenderBox> extends mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin<mai::RenderProxyBoxMixin::T> /*isMixinDeclaration*/ {
@#C1
method hitTestChildren(mai::BoxHitTestResult result, {required mai::Offset position = #C2}) → core::bool {
- return let final core::bool? #t3 = let final mai::RenderProxyBoxMixin::T? #t4 = this.{mai::RenderObjectWithChildMixin::child} in #t4.{core::Object::==}(null) ?{core::bool?} null : #t4{mai::RenderProxyBoxMixin::T}.{mai::RenderBox::hitTest}(result, position: position) in #t3.{core::Object::==}(null) ?{core::bool} false : #t3{core::bool};
+ return let final core::bool? #t3 = let final mai::RenderProxyBoxMixin::T? #t4 = this.{mai::RenderObjectWithChildMixin::child}{mai::RenderProxyBoxMixin::T?} in #t4 == null ?{core::bool?} null : #t4{mai::RenderProxyBoxMixin::T}.{mai::RenderBox::hitTest}(result, position: position){(mai::BoxHitTestResult, {required position: mai::Offset}) → core::bool} in #t3 == null ?{core::bool} false : #t3{core::bool};
}
}
abstract class _RenderProxyBox&RenderBox&RenderObjectWithChildMixin extends mai::RenderBox implements mai::RenderObjectWithChildMixin<mai::RenderBox> /*isAnonymousMixin,isEliminatedMixin*/ {
@@ -102,7 +102,7 @@
: super mai::RenderBox::•()
;
get child() → mai::RenderBox?
- return this.{mai::RenderObjectWithChildMixin::_child};
+ return this.{mai::RenderObjectWithChildMixin::_child}{mai::RenderBox?};
}
abstract class _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin extends mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin implements mai::RenderProxyBoxMixin<mai::RenderBox> /*isAnonymousMixin,isEliminatedMixin*/ {
synthetic constructor •() → mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin
@@ -110,7 +110,7 @@
;
@#C1
method hitTestChildren(mai::BoxHitTestResult result, {required mai::Offset position = #C2}) → core::bool {
- return let final core::bool? #t5 = let final mai::RenderBox? #t6 = this.{mai::RenderObjectWithChildMixin::child} in #t6.{core::Object::==}(null) ?{core::bool?} null : #t6{mai::RenderBox}.{mai::RenderBox::hitTest}(result, position: position) in #t5.{core::Object::==}(null) ?{core::bool} false : #t5{core::bool};
+ return let final core::bool? #t5 = let final mai::RenderBox? #t6 = this.{mai::RenderObjectWithChildMixin::child}{mai::RenderBox?} in #t6 == null ?{core::bool?} null : #t6{mai::RenderBox}.{mai::RenderBox::hitTest}(result, position: position){(mai::BoxHitTestResult, {required position: mai::Offset}) → core::bool} in #t5 == null ?{core::bool} false : #t5{core::bool};
}
}
class RenderProxyBox extends mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin {
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.expect
index e73124e..9f5295d 100644
--- a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.expect
@@ -28,7 +28,7 @@
;
}
static method main() → dynamic {
- core::print(new self::Class::•().{self::_Class&Object&Mixin::method}(null));
+ core::print(new self::Class::•().{self::_Class&Object&Mixin::method}(null){(core::int*) →* core::int*});
}
library /*isNonNullableByDefault*/;
@@ -40,5 +40,5 @@
: super core::Object::•()
;
method method(core::int? i) → core::int
- return let final core::int? #t1 = i in #t1.{core::num::==}(null) ?{core::int} 0 : #t1{core::int};
+ return let final core::int? #t1 = i in #t1 == null ?{core::int} 0 : #t1{core::int};
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.transformed.expect
index bfe469f..598ea2c 100644
--- a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•()
;
method /*isNonNullableByDefault, from org-dartlang-testcase:///mixin_from_opt_in_lib.dart */ method(core::int? i) → core::int
- return let final core::int? #t1 = i in #t1.{core::num::==}(null) ?{core::int} 0 : #t1{core::int};
+ return let final core::int? #t1 = i in #t1 == null ?{core::int} 0 : #t1{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
@@ -28,7 +28,7 @@
;
}
static method main() → dynamic {
- core::print(new self::Class::•().{self::_Class&Object&Mixin::method}(null));
+ core::print(new self::Class::•().{self::_Class&Object&Mixin::method}(null){(core::int*) →* core::int*});
}
library /*isNonNullableByDefault*/;
@@ -40,5 +40,5 @@
: super core::Object::•()
;
method method(core::int? i) → core::int
- return let final core::int? #t2 = i in #t2.{core::num::==}(null) ?{core::int} 0 : #t2{core::int};
+ return let final core::int? #t2 = i in #t2 == null ?{core::int} 0 : #t2{core::int};
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.expect
index a039b1e..d267d60 100644
--- a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.expect
@@ -19,7 +19,7 @@
;
}
static method main() → dynamic {
- core::print(new self::Class::•().{self::_Class&Object&Mixin::method}(null));
+ core::print(new self::Class::•().{self::_Class&Object&Mixin::method}(null){(core::int*) → core::int*});
}
library;
@@ -31,7 +31,7 @@
: super core::Object::•()
;
method method(core::int* i) → core::int*
- return let final core::int* #t1 = i in #t1.{core::num::==}(null) ?{core::int*} 0 : #t1;
+ return let final core::int* #t1 = i in #t1 == null ?{core::int*} 0 : #t1;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.transformed.expect
index 9471fb0..2124a43 100644
--- a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
: super core::Object::•()
;
method /*isLegacy, from org-dartlang-testcase:///mixin_from_opt_out_lib.dart */ method(core::int* i) → core::int*
- return let final core::int* #t1 = i in #t1.{core::num::==}(null) ?{core::int*} 0 : #t1;
+ return let final core::int* #t1 = i in #t1 == null ?{core::int*} 0 : #t1;
abstract member-signature operator /*isLegacy*/ ==(dynamic other) → core::bool*; -> core::Object::==
}
class Class extends self::_Class&Object&Mixin {
@@ -19,7 +19,7 @@
;
}
static method main() → dynamic {
- core::print(new self::Class::•().{self::_Class&Object&Mixin::method}(null));
+ core::print(new self::Class::•().{self::_Class&Object&Mixin::method}(null){(core::int*) → core::int*});
}
library;
@@ -31,7 +31,7 @@
: super core::Object::•()
;
method method(core::int* i) → core::int*
- return let final core::int* #t2 = i in #t2.{core::num::==}(null) ?{core::int*} 0 : #t2;
+ return let final core::int* #t2 = i in #t2 == null ?{core::int*} 0 : #t2;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
diff --git a/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.expect
index c929e9f..ffde2b7 100644
--- a/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.expect
@@ -26,59 +26,59 @@
: super self::Mock::•()
;
no-such-method-forwarder get date() → core::DateTime*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::DateTime*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::DateTime*;
no-such-method-forwarder set date(core::DateTime* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get expires() → core::DateTime*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::DateTime*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::DateTime*;
no-such-method-forwarder set expires(core::DateTime* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get ifModifiedSince() → core::DateTime*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::DateTime*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::DateTime*;
no-such-method-forwarder set ifModifiedSince(core::DateTime* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get host() → core::String*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::String*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder set host(core::String* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get port() → core::int*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set port(core::int* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get contentType() → _ht::ContentType*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} _ht::ContentType*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} _ht::ContentType*;
no-such-method-forwarder set contentType(_ht::ContentType* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get contentLength() → core::int*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set contentLength(core::int* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get persistentConnection() → core::bool*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C18, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C18, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
no-such-method-forwarder set persistentConnection(core::bool* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C19, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C19, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get chunkedTransferEncoding() → core::bool*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C20, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C20, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
no-such-method-forwarder set chunkedTransferEncoding(core::bool* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C21, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C21, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder operator [](core::String* name) → core::List<core::String*>*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C22, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::List<core::String*>*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C22, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::List<core::String*>*;
no-such-method-forwarder method value(core::String* name) → core::String*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C23, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::String*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C23, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder method add(core::String* name, core::Object* value, {core::bool* preserveHeaderCase = #C24}) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C25, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C26: preserveHeaderCase})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C25, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C26: preserveHeaderCase}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method set(core::String* name, core::Object* value, {core::bool* preserveHeaderCase = #C24}) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C27, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C26: preserveHeaderCase})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C27, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C26: preserveHeaderCase}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method remove(core::String* name, core::Object* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C28, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C28, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method removeAll(core::String* name) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C29, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C29, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method forEach((core::String*, core::List<core::String*>*) →* void action) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C30, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C30, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method noFolding(core::String* name) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C31, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C31, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/_http/http.dart */ clear() → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C32, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C32, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.outline.expect
index e9f1bbe..c139fe9 100644
--- a/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.outline.expect
@@ -24,59 +24,59 @@
synthetic constructor •() → self::MockHttpHeaders*
;
no-such-method-forwarder get date() → core::DateTime*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#date, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::DateTime*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#date, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::DateTime*;
no-such-method-forwarder set date(core::DateTime* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#date=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#date=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get expires() → core::DateTime*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#expires, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::DateTime*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#expires, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::DateTime*;
no-such-method-forwarder set expires(core::DateTime* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#expires=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#expires=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get ifModifiedSince() → core::DateTime*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#ifModifiedSince, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::DateTime*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#ifModifiedSince, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::DateTime*;
no-such-method-forwarder set ifModifiedSince(core::DateTime* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#ifModifiedSince=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#ifModifiedSince=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get host() → core::String*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#host, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::String*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#host, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder set host(core::String* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#host=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#host=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get port() → core::int*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#port, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#port, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set port(core::int* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#port=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#port=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get contentType() → _ht::ContentType*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentType, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} _ht::ContentType*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentType, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} _ht::ContentType*;
no-such-method-forwarder set contentType(_ht::ContentType* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentType=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentType=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get contentLength() → core::int*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentLength, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentLength, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set contentLength(core::int* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentLength=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentLength=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get persistentConnection() → core::bool*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#persistentConnection, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#persistentConnection, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
no-such-method-forwarder set persistentConnection(core::bool* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#persistentConnection=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#persistentConnection=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get chunkedTransferEncoding() → core::bool*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#chunkedTransferEncoding, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#chunkedTransferEncoding, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
no-such-method-forwarder set chunkedTransferEncoding(core::bool* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#chunkedTransferEncoding=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#chunkedTransferEncoding=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder operator [](core::String* name) → core::List<core::String*>*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#[], 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::List<core::String*>*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#[], 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::List<core::String*>*;
no-such-method-forwarder method value(core::String* name) → core::String*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#value, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::String*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#value, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder method add(core::String* name, core::Object* value, {core::bool* preserveHeaderCase}) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#add, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#preserveHeaderCase: preserveHeaderCase})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#add, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#preserveHeaderCase: preserveHeaderCase}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method set(core::String* name, core::Object* value, {core::bool* preserveHeaderCase}) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#set, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#preserveHeaderCase: preserveHeaderCase})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#set, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#preserveHeaderCase: preserveHeaderCase}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method remove(core::String* name, core::Object* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#remove, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#remove, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method removeAll(core::String* name) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#removeAll, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#removeAll, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method forEach((core::String*, core::List<core::String*>*) →* void action) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#forEach, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#forEach, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method noFolding(core::String* name) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#noFolding, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#noFolding, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/_http/http.dart */ clear() → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#clear, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#clear, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.transformed.expect
index e26b189..a1fdb15 100644
--- a/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.transformed.expect
@@ -26,59 +26,59 @@
: super self::Mock::•()
;
no-such-method-forwarder get date() → core::DateTime*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::DateTime*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::DateTime*;
no-such-method-forwarder set date(core::DateTime* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get expires() → core::DateTime*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::DateTime*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::DateTime*;
no-such-method-forwarder set expires(core::DateTime* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get ifModifiedSince() → core::DateTime*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::DateTime*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::DateTime*;
no-such-method-forwarder set ifModifiedSince(core::DateTime* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get host() → core::String*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::String*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder set host(core::String* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get port() → core::int*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set port(core::int* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get contentType() → _ht::ContentType*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} _ht::ContentType*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} _ht::ContentType*;
no-such-method-forwarder set contentType(_ht::ContentType* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get contentLength() → core::int*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set contentLength(core::int* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get persistentConnection() → core::bool*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C18, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C18, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
no-such-method-forwarder set persistentConnection(core::bool* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C19, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C19, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder get chunkedTransferEncoding() → core::bool*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C20, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C20, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
no-such-method-forwarder set chunkedTransferEncoding(core::bool* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C21, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C21, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder operator [](core::String* name) → core::List<core::String*>*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C22, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(name)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::List<core::String*>*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C22, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(name)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::List<core::String*>*;
no-such-method-forwarder method value(core::String* name) → core::String*
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C23, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(name)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::String*;
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C23, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(name)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder method add(core::String* name, core::Object* value, {core::bool* preserveHeaderCase = #C24}) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C25, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(name, value)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C26: preserveHeaderCase})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C25, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(name, value)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C26: preserveHeaderCase}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method set(core::String* name, core::Object* value, {core::bool* preserveHeaderCase = #C24}) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C27, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(name, value)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C26: preserveHeaderCase})));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C27, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(name, value)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C26: preserveHeaderCase}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method remove(core::String* name, core::Object* value) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C28, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(name, value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C28, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(name, value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method removeAll(core::String* name) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C29, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(name)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C29, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(name)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method forEach((core::String*, core::List<core::String*>*) →* void action) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C30, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C30, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(action)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method noFolding(core::String* name) → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C31, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(name)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C31, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(name)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/_http/http.dart */ clear() → void
- return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C32, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#C32, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.expect
index 2617678..3a15eee 100644
--- a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.expect
@@ -137,7 +137,7 @@
}
static method throws(() →* void f) → dynamic {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.transformed.expect
index fbb85cb..bf7f391 100644
--- a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.transformed.expect
@@ -137,7 +137,7 @@
}
static method throws(() →* void f) → dynamic {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.expect
index 8bb4374..f6eb3c3 100644
--- a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.expect
@@ -54,8 +54,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- if(!new self::C::•().{self::C::l}.{self::late::g}.{core::num::==}(1))
+ if(!(new self::C::•().{self::C::l}{self::late*}.{self::late::g}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 1))
throw "Expected 1";
- if(!new self::C::•().{self::C::r}.{self::required::g}.{core::num::==}(2))
+ if(!(new self::C::•().{self::C::r}{self::required*}.{self::required::g}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2))
throw "Expected 2";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.transformed.expect
index 8bb4374..f6eb3c3 100644
--- a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.transformed.expect
@@ -54,8 +54,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- if(!new self::C::•().{self::C::l}.{self::late::g}.{core::num::==}(1))
+ if(!(new self::C::•().{self::C::l}{self::late*}.{self::late::g}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 1))
throw "Expected 1";
- if(!new self::C::•().{self::C::r}.{self::required::g}.{core::num::==}(2))
+ if(!(new self::C::•().{self::C::r}{self::required*}.{self::required::g}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2))
throw "Expected 2";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.expect
index 8bb4374..f6eb3c3 100644
--- a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.expect
@@ -54,8 +54,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- if(!new self::C::•().{self::C::l}.{self::late::g}.{core::num::==}(1))
+ if(!(new self::C::•().{self::C::l}{self::late*}.{self::late::g}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 1))
throw "Expected 1";
- if(!new self::C::•().{self::C::r}.{self::required::g}.{core::num::==}(2))
+ if(!(new self::C::•().{self::C::r}{self::required*}.{self::required::g}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2))
throw "Expected 2";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.transformed.expect
index 8bb4374..f6eb3c3 100644
--- a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.transformed.expect
@@ -54,8 +54,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- if(!new self::C::•().{self::C::l}.{self::late::g}.{core::num::==}(1))
+ if(!(new self::C::•().{self::C::l}{self::late*}.{self::late::g}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 1))
throw "Expected 1";
- if(!new self::C::•().{self::C::r}.{self::required::g}.{core::num::==}(2))
+ if(!(new self::C::•().{self::C::r}{self::required*}.{self::required::g}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2))
throw "Expected 2";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.expect
index 2794947..9e9eb03 100644
--- a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.expect
@@ -8,16 +8,16 @@
: super core::Object::•()
;
method method() → self::Class*
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class*};
operator [](self::Class* key) → self::Class*
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class*};
operator []=(self::Class* key, self::Class* value) → void {
this.{self::Class::field} = value;
}
operator +(core::int* value) → self::Class*
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class*};
operator unary-() → self::Class*
- return this.{self::Class::field};
+ return this.{self::Class::field}{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
@@ -36,123 +36,123 @@
self::ifNull(null);
}
static method propertyAccess(self::Class* c) → void {
- let final self::Class* #t1 = c in #t1.{self::Class::==}(null) ?{self::Class*} null : #t1.{self::Class::field};
- let final self::Class* #t2 = c in #t2.{self::Class::==}(null) ?{self::Class*} null : #t2.{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t3 = c in #t3.{self::Class::==}(null) ?{self::Class*} null : #t3.{self::Class::field} = new self::Class::•();
- let final self::Class* #t4 = c in #t4.{self::Class::==}(null) ?{self::Class*} null : #t4.{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t5 = c in #t5.{self::Class::==}(null) ?{self::Class*} null : #t5.{self::Class::field}).{self::Class::field});
- let final self::Class* #t6 = let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{self::Class*} null : #t7.{self::Class::field} in #t6.{self::Class::==}(null) ?{self::Class*} null : #t6.{self::Class::field};
- self::throws(() → self::Class* => let final self::Class* #t8 = (let final self::Class* #t9 = c in #t9.{self::Class::==}(null) ?{self::Class*} null : #t9.{self::Class::field}).{self::Class::field} in #t8.{self::Class::==}(null) ?{self::Class*} null : #t8.{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t10 = c in #t10.{self::Class::==}(null) ?{self::Class*} null : #t10.{self::Class::field}).{self::Class::field} = new self::Class::•());
- let final self::Class* #t11 = let final self::Class* #t12 = c in #t12.{self::Class::==}(null) ?{self::Class*} null : #t12.{self::Class::field} in #t11.{self::Class::==}(null) ?{self::Class*} null : #t11.{self::Class::field} = new self::Class::•();
- self::throws(() → self::Class* => let final self::Class* #t13 = (let final self::Class* #t14 = c in #t14.{self::Class::==}(null) ?{self::Class*} null : #t14.{self::Class::field}).{self::Class::field} in #t13.{self::Class::==}(null) ?{self::Class*} null : #t13.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t15 = c in #t15.{self::Class::==}(null) ?{self::Class*} null : #t15.{self::Class::field}).{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t16 = c in #t16.{self::Class::==}(null) ?{self::Class*} null : #t16.{self::Class::field} = new self::Class::•()).{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t17 = c in #t17.{self::Class::==}(null) ?{self::Class*} null : #t17.{self::Class::method}()).{self::Class::field});
- self::throws(() → self::Class* => c = (let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{self::Class*} null : #t18.{self::Class::field}).{self::Class::field} = new self::Class::•());
- c = let final self::Class* #t19 = let final self::Class* #t20 = c in #t20.{self::Class::==}(null) ?{self::Class*} null : #t20.{self::Class::field} in #t19.{self::Class::==}(null) ?{self::Class*} null : #t19.{self::Class::field} = new self::Class::•();
- self::throws(() → self::Class* => c = let final self::Class* #t21 = (let final self::Class* #t22 = c in #t22.{self::Class::==}(null) ?{self::Class*} null : #t22.{self::Class::field}).{self::Class::field} in #t21.{self::Class::==}(null) ?{self::Class*} null : #t21.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t23 = c in #t23.{self::Class::==}(null) ?{self::Class*} null : #t23.{self::Class::field}).{self::Class::method}());
- let final self::Class* #t24 = c in #t24.{self::Class::==}(null) ?{self::Class*} null : #t24.{self::Class::field} = new self::Class::•().{self::Class::field};
- c = let final self::Class* #t25 = c in #t25.{self::Class::==}(null) ?{self::Class*} null : #t25.{self::Class::field} = new self::Class::•().{self::Class::field};
- let final self::Class* #t26 = c in #t26.{self::Class::==}(null) ?{self::Class*} null : #t26.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t27 = c in #t27.{self::Class::==}(null) ?{self::Class*} null : #t27.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
- let final self::Class* #t28 = c in #t28.{self::Class::==}(null) ?{self::Class*} null : #t28.{self::Class::field} = new self::Class::•().{self::Class::method}();
- c = let final self::Class* #t29 = c in #t29.{self::Class::==}(null) ?{self::Class*} null : #t29.{self::Class::field} = new self::Class::•().{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t30 = c in #t30.{self::Class::==}(null) ?{self::Class*} null : #t30.{self::Class::method}()).{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t31 = c in #t31.{self::Class::==}(null) ?{self::Class*} null : #t31.{self::Class::method}()).{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t32 = c in #t32.{self::Class::==}(null) ?{self::Class*} null : #t32.{self::Class::method}()).{self::Class::method}());
- self::throws(() → self::Class* => (let final self::Class* #t33 = c in #t33.{self::Class::==}(null) ?{self::Class*} null : #t33.{self::Class::field}).{self::Class::field}.{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t34 = c in #t34.{self::Class::==}(null) ?{self::Class*} null : #t34.{self::Class::field}).{self::Class::field}.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => c = (let final self::Class* #t35 = c in #t35.{self::Class::==}(null) ?{self::Class*} null : #t35.{self::Class::field}).{self::Class::field}.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t36 = c in #t36.{self::Class::==}(null) ?{self::Class*} null : #t36.{self::Class::field}).{self::Class::field}.{self::Class::method}());
- let final self::Class* #t37 = c in #t37.{self::Class::==}(null) ?{self::Class*} null : #t37.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::field};
- c = let final self::Class* #t38 = c in #t38.{self::Class::==}(null) ?{self::Class*} null : #t38.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::field};
- let final self::Class* #t39 = c in #t39.{self::Class::==}(null) ?{self::Class*} null : #t39.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t40 = c in #t40.{self::Class::==}(null) ?{self::Class*} null : #t40.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::field} = new self::Class::•();
- let final self::Class* #t41 = c in #t41.{self::Class::==}(null) ?{self::Class*} null : #t41.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::method}();
- c = let final self::Class* #t42 = c in #t42.{self::Class::==}(null) ?{self::Class*} null : #t42.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t43 = c in #t43.{self::Class::==}(null) ?{self::Class*} null : #t43.{self::Class::method}()).{self::Class::field}.{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t44 = c in #t44.{self::Class::==}(null) ?{self::Class*} null : #t44.{self::Class::method}()).{self::Class::field}.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t45 = c in #t45.{self::Class::==}(null) ?{self::Class*} null : #t45.{self::Class::method}()).{self::Class::field}.{self::Class::method}());
- self::throws(() → self::Class* => (let final self::Class* #t46 = c in #t46.{self::Class::==}(null) ?{self::Class*} null : #t46.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::field});
- self::throws(() → self::Class* => c = (let final self::Class* #t47 = c in #t47.{self::Class::==}(null) ?{self::Class*} null : #t47.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t48 = c in #t48.{self::Class::==}(null) ?{self::Class*} null : #t48.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => c = (let final self::Class* #t49 = c in #t49.{self::Class::==}(null) ?{self::Class*} null : #t49.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t50 = c in #t50.{self::Class::==}(null) ?{self::Class*} null : #t50.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::method}());
- self::throws(() → self::Class* => c = (let final self::Class* #t51 = c in #t51.{self::Class::==}(null) ?{self::Class*} null : #t51.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::method}());
- let final self::Class* #t52 = c in #t52.{self::Class::==}(null) ?{self::Class*} null : #t52.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field};
- c = let final self::Class* #t53 = c in #t53.{self::Class::==}(null) ?{self::Class*} null : #t53.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field};
- let final self::Class* #t54 = c in #t54.{self::Class::==}(null) ?{self::Class*} null : #t54.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t55 = c in #t55.{self::Class::==}(null) ?{self::Class*} null : #t55.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
- let final self::Class* #t56 = c in #t56.{self::Class::==}(null) ?{self::Class*} null : #t56.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::method}();
- c = let final self::Class* #t57 = c in #t57.{self::Class::==}(null) ?{self::Class*} null : #t57.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t58 = c in #t58.{self::Class::==}(null) ?{self::Class*} null : #t58.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::field});
- self::throws(() → self::Class* => c = (let final self::Class* #t59 = c in #t59.{self::Class::==}(null) ?{self::Class*} null : #t59.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t60 = c in #t60.{self::Class::==}(null) ?{self::Class*} null : #t60.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => c = (let final self::Class* #t61 = c in #t61.{self::Class::==}(null) ?{self::Class*} null : #t61.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{self::Class*} null : #t62.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::method}());
- self::throws(() → self::Class* => c = (let final self::Class* #t63 = c in #t63.{self::Class::==}(null) ?{self::Class*} null : #t63.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::method}());
- self::throws(() → self::Class* => (let final self::Class* #t64 = c in #t64.{self::Class::==}(null) ?{self::Class*} null : #t64.{self::Class::field}).{self::Class::method}().{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t65 = c in #t65.{self::Class::==}(null) ?{self::Class*} null : #t65.{self::Class::field}).{self::Class::method}().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => c = (let final self::Class* #t66 = c in #t66.{self::Class::==}(null) ?{self::Class*} null : #t66.{self::Class::field}).{self::Class::method}().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t67 = c in #t67.{self::Class::==}(null) ?{self::Class*} null : #t67.{self::Class::field}).{self::Class::method}().{self::Class::method}());
- let final self::Class* #t68 = c in #t68.{self::Class::==}(null) ?{self::Class*} null : #t68.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::field};
- c = let final self::Class* #t69 = c in #t69.{self::Class::==}(null) ?{self::Class*} null : #t69.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::field};
- let final self::Class* #t70 = c in #t70.{self::Class::==}(null) ?{self::Class*} null : #t70.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t71 = c in #t71.{self::Class::==}(null) ?{self::Class*} null : #t71.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::field} = new self::Class::•();
- let final self::Class* #t72 = c in #t72.{self::Class::==}(null) ?{self::Class*} null : #t72.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::method}();
- c = let final self::Class* #t73 = c in #t73.{self::Class::==}(null) ?{self::Class*} null : #t73.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t74 = c in #t74.{self::Class::==}(null) ?{self::Class*} null : #t74.{self::Class::method}()).{self::Class::method}().{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t75 = c in #t75.{self::Class::==}(null) ?{self::Class*} null : #t75.{self::Class::method}()).{self::Class::method}().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t76 = c in #t76.{self::Class::==}(null) ?{self::Class*} null : #t76.{self::Class::method}()).{self::Class::method}().{self::Class::method}());
- let final self::Class* #t77 = let final self::Class* #t78 = c in #t78.{self::Class::==}(null) ?{self::Class*} null : #t78.{self::Class::method}() in #t77.{self::Class::==}(null) ?{self::Class*} null : #t77.{self::Class::method}();
+ let final self::Class* #t1 = c in #t1 == null ?{self::Class*} null : #t1.{self::Class::field}{self::Class*};
+ let final self::Class* #t2 = c in #t2 == null ?{self::Class*} null : #t2.{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t3 = c in #t3 == null ?{self::Class*} null : #t3.{self::Class::field} = new self::Class::•();
+ let final self::Class* #t4 = c in #t4 == null ?{self::Class*} null : #t4.{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t5 = c in #t5 == null ?{self::Class*} null : #t5.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*});
+ let final self::Class* #t6 = let final self::Class* #t7 = c in #t7 == null ?{self::Class*} null : #t7.{self::Class::field}{self::Class*} in #t6 == null ?{self::Class*} null : #t6.{self::Class::field}{self::Class*};
+ self::throws(() → self::Class* => let final self::Class* #t8 = (let final self::Class* #t9 = c in #t9 == null ?{self::Class*} null : #t9.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*} in #t8 == null ?{self::Class*} null : #t8.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t10 = c in #t10 == null ?{self::Class*} null : #t10.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•());
+ let final self::Class* #t11 = let final self::Class* #t12 = c in #t12 == null ?{self::Class*} null : #t12.{self::Class::field}{self::Class*} in #t11 == null ?{self::Class*} null : #t11.{self::Class::field} = new self::Class::•();
+ self::throws(() → self::Class* => let final self::Class* #t13 = (let final self::Class* #t14 = c in #t14 == null ?{self::Class*} null : #t14.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*} in #t13 == null ?{self::Class*} null : #t13.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t15 = c in #t15 == null ?{self::Class*} null : #t15.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t16 = c in #t16 == null ?{self::Class*} null : #t16.{self::Class::field} = new self::Class::•()).{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t17 = c in #t17 == null ?{self::Class*} null : #t17.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t18 = c in #t18 == null ?{self::Class*} null : #t18.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•());
+ c = let final self::Class* #t19 = let final self::Class* #t20 = c in #t20 == null ?{self::Class*} null : #t20.{self::Class::field}{self::Class*} in #t19 == null ?{self::Class*} null : #t19.{self::Class::field} = new self::Class::•();
+ self::throws(() → self::Class* => c = let final self::Class* #t21 = (let final self::Class* #t22 = c in #t22 == null ?{self::Class*} null : #t22.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*} in #t21 == null ?{self::Class*} null : #t21.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t23 = c in #t23 == null ?{self::Class*} null : #t23.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t24 = c in #t24 == null ?{self::Class*} null : #t24.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*};
+ c = let final self::Class* #t25 = c in #t25 == null ?{self::Class*} null : #t25.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*};
+ let final self::Class* #t26 = c in #t26 == null ?{self::Class*} null : #t26.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t27 = c in #t27 == null ?{self::Class*} null : #t27.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
+ let final self::Class* #t28 = c in #t28 == null ?{self::Class*} null : #t28.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*};
+ c = let final self::Class* #t29 = c in #t29 == null ?{self::Class*} null : #t29.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t30 = c in #t30 == null ?{self::Class*} null : #t30.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t31 = c in #t31 == null ?{self::Class*} null : #t31.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t32 = c in #t32 == null ?{self::Class*} null : #t32.{self::Class::method}(){() →* self::Class*}).{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t33 = c in #t33 == null ?{self::Class*} null : #t33.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t34 = c in #t34 == null ?{self::Class*} null : #t34.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => c = (let final self::Class* #t35 = c in #t35 == null ?{self::Class*} null : #t35.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t36 = c in #t36 == null ?{self::Class*} null : #t36.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*}.{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t37 = c in #t37 == null ?{self::Class*} null : #t37.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::field}{self::Class*};
+ c = let final self::Class* #t38 = c in #t38 == null ?{self::Class*} null : #t38.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::field}{self::Class*};
+ let final self::Class* #t39 = c in #t39 == null ?{self::Class*} null : #t39.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t40 = c in #t40 == null ?{self::Class*} null : #t40.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•();
+ let final self::Class* #t41 = c in #t41 == null ?{self::Class*} null : #t41.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::method}(){() →* self::Class*};
+ c = let final self::Class* #t42 = c in #t42 == null ?{self::Class*} null : #t42.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t43 = c in #t43 == null ?{self::Class*} null : #t43.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t44 = c in #t44 == null ?{self::Class*} null : #t44.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t45 = c in #t45 == null ?{self::Class*} null : #t45.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*}.{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t46 = c in #t46 == null ?{self::Class*} null : #t46.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t47 = c in #t47 == null ?{self::Class*} null : #t47.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t48 = c in #t48 == null ?{self::Class*} null : #t48.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => c = (let final self::Class* #t49 = c in #t49 == null ?{self::Class*} null : #t49.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t50 = c in #t50 == null ?{self::Class*} null : #t50.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t51 = c in #t51 == null ?{self::Class*} null : #t51.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t52 = c in #t52 == null ?{self::Class*} null : #t52.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*};
+ c = let final self::Class* #t53 = c in #t53 == null ?{self::Class*} null : #t53.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*};
+ let final self::Class* #t54 = c in #t54 == null ?{self::Class*} null : #t54.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t55 = c in #t55 == null ?{self::Class*} null : #t55.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
+ let final self::Class* #t56 = c in #t56 == null ?{self::Class*} null : #t56.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*};
+ c = let final self::Class* #t57 = c in #t57 == null ?{self::Class*} null : #t57.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t58 = c in #t58 == null ?{self::Class*} null : #t58.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t59 = c in #t59 == null ?{self::Class*} null : #t59.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t60 = c in #t60 == null ?{self::Class*} null : #t60.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => c = (let final self::Class* #t61 = c in #t61 == null ?{self::Class*} null : #t61.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t62 = c in #t62 == null ?{self::Class*} null : #t62.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t63 = c in #t63 == null ?{self::Class*} null : #t63.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t64 = c in #t64 == null ?{self::Class*} null : #t64.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t65 = c in #t65 == null ?{self::Class*} null : #t65.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => c = (let final self::Class* #t66 = c in #t66 == null ?{self::Class*} null : #t66.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t67 = c in #t67 == null ?{self::Class*} null : #t67.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t68 = c in #t68 == null ?{self::Class*} null : #t68.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::field}{self::Class*};
+ c = let final self::Class* #t69 = c in #t69 == null ?{self::Class*} null : #t69.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::field}{self::Class*};
+ let final self::Class* #t70 = c in #t70 == null ?{self::Class*} null : #t70.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t71 = c in #t71 == null ?{self::Class*} null : #t71.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•();
+ let final self::Class* #t72 = c in #t72 == null ?{self::Class*} null : #t72.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::method}(){() →* self::Class*};
+ c = let final self::Class* #t73 = c in #t73 == null ?{self::Class*} null : #t73.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t74 = c in #t74 == null ?{self::Class*} null : #t74.{self::Class::method}(){() →* self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t75 = c in #t75 == null ?{self::Class*} null : #t75.{self::Class::method}(){() →* self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t76 = c in #t76 == null ?{self::Class*} null : #t76.{self::Class::method}(){() →* self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t77 = let final self::Class* #t78 = c in #t78 == null ?{self::Class*} null : #t78.{self::Class::method}(){() →* self::Class*} in #t77 == null ?{self::Class*} null : #t77.{self::Class::method}(){() →* self::Class*};
}
static method indexAccess(self::Class* c) → void {
- self::throws(() → self::Class* => (let final self::Class* #t79 = c in #t79.{self::Class::==}(null) ?{self::Class*} null : #t79.{self::Class::field}).{self::Class::[]}(c));
- self::throws(() → self::Class* => let final self::Class* #t80 = let final self::Class* #t81 = c in #t81.{self::Class::==}(null) ?{self::Class*} null : #t81.{self::Class::field} in let final self::Class* #t82 = c in let final self::Class* #t83 = new self::Class::•() in let final void #t84 = #t80.{self::Class::[]=}(#t82, #t83) in #t83);
- self::throws(() → self::Class* => c = let final self::Class* #t85 = let final self::Class* #t86 = c in #t86.{self::Class::==}(null) ?{self::Class*} null : #t86.{self::Class::field} in let final self::Class* #t87 = c in let final self::Class* #t88 = new self::Class::•() in let final void #t89 = #t85.{self::Class::[]=}(#t87, #t88) in #t88);
- self::throws(() → self::Class* => (let final self::Class* #t90 = c in #t90.{self::Class::==}(null) ?{self::Class*} null : #t90.{self::Class::field}).{self::Class::[]}(c).{self::Class::method}());
- self::throws(() → self::Class* => let final self::Class* #t91 = let final self::Class* #t92 = c in #t92.{self::Class::==}(null) ?{self::Class*} null : #t92.{self::Class::field} in let final self::Class* #t93 = c in let final self::Class* #t94 = #t91.{self::Class::[]}(#t93).{self::Class::+}(0) in let final void #t95 = #t91.{self::Class::[]=}(#t93, #t94) in #t94);
- self::throws(() → self::Class* => c = let final self::Class* #t96 = let final self::Class* #t97 = c in #t97.{self::Class::==}(null) ?{self::Class*} null : #t97.{self::Class::field} in let final self::Class* #t98 = c in let final self::Class* #t99 = #t96.{self::Class::[]}(#t98).{self::Class::+}(0) in let final void #t100 = #t96.{self::Class::[]=}(#t98, #t99) in #t99);
- self::throws(() → self::Class* => let final self::Class* #t101 = let final self::Class* #t102 = c in #t102.{self::Class::==}(null) ?{self::Class*} null : #t102.{self::Class::field} in let final self::Class* #t103 = c in let final self::Class* #t104 = #t101.{self::Class::[]}(#t103) in let final void #t105 = #t101.{self::Class::[]=}(#t103, #t104.{self::Class::+}(1)) in #t104);
- self::throws(() → self::Class* => c = let final self::Class* #t106 = let final self::Class* #t107 = c in #t107.{self::Class::==}(null) ?{self::Class*} null : #t107.{self::Class::field} in let final self::Class* #t108 = c in let final self::Class* #t109 = #t106.{self::Class::[]}(#t108) in let final void #t110 = #t106.{self::Class::[]=}(#t108, #t109.{self::Class::+}(1)) in #t109);
- self::throws(() → self::Class* => let final self::Class* #t111 = let final self::Class* #t112 = c in #t112.{self::Class::==}(null) ?{self::Class*} null : #t112.{self::Class::field} in let final self::Class* #t113 = c in let final self::Class* #t114 = #t111.{self::Class::[]}(#t113).{self::Class::+}(1) in let final void #t115 = #t111.{self::Class::[]=}(#t113, #t114) in #t114);
- self::throws(() → self::Class* => c = let final self::Class* #t116 = let final self::Class* #t117 = c in #t117.{self::Class::==}(null) ?{self::Class*} null : #t117.{self::Class::field} in let final self::Class* #t118 = c in let final self::Class* #t119 = #t116.{self::Class::[]}(#t118).{self::Class::+}(1) in let final void #t120 = #t116.{self::Class::[]=}(#t118, #t119) in #t119);
- self::throws(() → self::Class* => (let final self::Class* #t121 = c in #t121.{self::Class::==}(null) ?{self::Class*} null : #t121.{self::Class::field}).{self::Class::[]}(c).{self::Class::[]}(c));
- self::throws(() → self::Class* => let final self::Class* #t122 = (let final self::Class* #t123 = c in #t123.{self::Class::==}(null) ?{self::Class*} null : #t123.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t124 = c in let final self::Class* #t125 = new self::Class::•() in let final void #t126 = #t122.{self::Class::[]=}(#t124, #t125) in #t125);
- self::throws(() → self::Class* => c = let final self::Class* #t127 = (let final self::Class* #t128 = c in #t128.{self::Class::==}(null) ?{self::Class*} null : #t128.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t129 = c in let final self::Class* #t130 = new self::Class::•() in let final void #t131 = #t127.{self::Class::[]=}(#t129, #t130) in #t130);
- self::throws(() → self::Class* => (let final self::Class* #t132 = c in #t132.{self::Class::==}(null) ?{self::Class*} null : #t132.{self::Class::field}).{self::Class::[]}(c).{self::Class::[]}(c).{self::Class::method}());
- self::throws(() → self::Class* => let final self::Class* #t133 = (let final self::Class* #t134 = c in #t134.{self::Class::==}(null) ?{self::Class*} null : #t134.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t135 = c in let final self::Class* #t136 = #t133.{self::Class::[]}(#t135).{self::Class::+}(0) in let final void #t137 = #t133.{self::Class::[]=}(#t135, #t136) in #t136);
- self::throws(() → self::Class* => c = let final self::Class* #t138 = (let final self::Class* #t139 = c in #t139.{self::Class::==}(null) ?{self::Class*} null : #t139.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t140 = c in let final self::Class* #t141 = #t138.{self::Class::[]}(#t140).{self::Class::+}(0) in let final void #t142 = #t138.{self::Class::[]=}(#t140, #t141) in #t141);
- self::throws(() → self::Class* => let final self::Class* #t143 = (let final self::Class* #t144 = c in #t144.{self::Class::==}(null) ?{self::Class*} null : #t144.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t145 = c in let final self::Class* #t146 = #t143.{self::Class::[]}(#t145) in let final void #t147 = #t143.{self::Class::[]=}(#t145, #t146.{self::Class::+}(1)) in #t146);
- self::throws(() → self::Class* => c = let final self::Class* #t148 = (let final self::Class* #t149 = c in #t149.{self::Class::==}(null) ?{self::Class*} null : #t149.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t150 = c in let final self::Class* #t151 = #t148.{self::Class::[]}(#t150) in let final void #t152 = #t148.{self::Class::[]=}(#t150, #t151.{self::Class::+}(1)) in #t151);
- self::throws(() → self::Class* => let final self::Class* #t153 = (let final self::Class* #t154 = c in #t154.{self::Class::==}(null) ?{self::Class*} null : #t154.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t155 = c in let final self::Class* #t156 = #t153.{self::Class::[]}(#t155).{self::Class::+}(1) in let final void #t157 = #t153.{self::Class::[]=}(#t155, #t156) in #t156);
- self::throws(() → self::Class* => c = let final self::Class* #t158 = (let final self::Class* #t159 = c in #t159.{self::Class::==}(null) ?{self::Class*} null : #t159.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t160 = c in let final self::Class* #t161 = #t158.{self::Class::[]}(#t160).{self::Class::+}(1) in let final void #t162 = #t158.{self::Class::[]=}(#t160, #t161) in #t161);
+ self::throws(() → self::Class* => (let final self::Class* #t79 = c in #t79 == null ?{self::Class*} null : #t79.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*});
+ self::throws(() → self::Class* => let final self::Class* #t80 = let final self::Class* #t81 = c in #t81 == null ?{self::Class*} null : #t81.{self::Class::field}{self::Class*} in let final self::Class* #t82 = c in let final self::Class* #t83 = new self::Class::•() in let final void #t84 = #t80.{self::Class::[]=}(#t82, #t83){(self::Class*, self::Class*) →* void} in #t83);
+ self::throws(() → self::Class* => c = let final self::Class* #t85 = let final self::Class* #t86 = c in #t86 == null ?{self::Class*} null : #t86.{self::Class::field}{self::Class*} in let final self::Class* #t87 = c in let final self::Class* #t88 = new self::Class::•() in let final void #t89 = #t85.{self::Class::[]=}(#t87, #t88){(self::Class*, self::Class*) →* void} in #t88);
+ self::throws(() → self::Class* => (let final self::Class* #t90 = c in #t90 == null ?{self::Class*} null : #t90.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*}.{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => let final self::Class* #t91 = let final self::Class* #t92 = c in #t92 == null ?{self::Class*} null : #t92.{self::Class::field}{self::Class*} in let final self::Class* #t93 = c in let final self::Class* #t94 = #t91.{self::Class::[]}(#t93){(self::Class*) →* self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t95 = #t91.{self::Class::[]=}(#t93, #t94){(self::Class*, self::Class*) →* void} in #t94);
+ self::throws(() → self::Class* => c = let final self::Class* #t96 = let final self::Class* #t97 = c in #t97 == null ?{self::Class*} null : #t97.{self::Class::field}{self::Class*} in let final self::Class* #t98 = c in let final self::Class* #t99 = #t96.{self::Class::[]}(#t98){(self::Class*) →* self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t100 = #t96.{self::Class::[]=}(#t98, #t99){(self::Class*, self::Class*) →* void} in #t99);
+ self::throws(() → self::Class* => let final self::Class* #t101 = let final self::Class* #t102 = c in #t102 == null ?{self::Class*} null : #t102.{self::Class::field}{self::Class*} in let final self::Class* #t103 = c in let final self::Class* #t104 = #t101.{self::Class::[]}(#t103){(self::Class*) →* self::Class*} in let final void #t105 = #t101.{self::Class::[]=}(#t103, #t104.{self::Class::+}(1){(core::int*) →* self::Class*}){(self::Class*, self::Class*) →* void} in #t104);
+ self::throws(() → self::Class* => c = let final self::Class* #t106 = let final self::Class* #t107 = c in #t107 == null ?{self::Class*} null : #t107.{self::Class::field}{self::Class*} in let final self::Class* #t108 = c in let final self::Class* #t109 = #t106.{self::Class::[]}(#t108){(self::Class*) →* self::Class*} in let final void #t110 = #t106.{self::Class::[]=}(#t108, #t109.{self::Class::+}(1){(core::int*) →* self::Class*}){(self::Class*, self::Class*) →* void} in #t109);
+ self::throws(() → self::Class* => let final self::Class* #t111 = let final self::Class* #t112 = c in #t112 == null ?{self::Class*} null : #t112.{self::Class::field}{self::Class*} in let final self::Class* #t113 = c in let final self::Class* #t114 = #t111.{self::Class::[]}(#t113){(self::Class*) →* self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t115 = #t111.{self::Class::[]=}(#t113, #t114){(self::Class*, self::Class*) →* void} in #t114);
+ self::throws(() → self::Class* => c = let final self::Class* #t116 = let final self::Class* #t117 = c in #t117 == null ?{self::Class*} null : #t117.{self::Class::field}{self::Class*} in let final self::Class* #t118 = c in let final self::Class* #t119 = #t116.{self::Class::[]}(#t118){(self::Class*) →* self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t120 = #t116.{self::Class::[]=}(#t118, #t119){(self::Class*, self::Class*) →* void} in #t119);
+ self::throws(() → self::Class* => (let final self::Class* #t121 = c in #t121 == null ?{self::Class*} null : #t121.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*}.{self::Class::[]}(c){(self::Class*) →* self::Class*});
+ self::throws(() → self::Class* => let final self::Class* #t122 = (let final self::Class* #t123 = c in #t123 == null ?{self::Class*} null : #t123.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t124 = c in let final self::Class* #t125 = new self::Class::•() in let final void #t126 = #t122.{self::Class::[]=}(#t124, #t125){(self::Class*, self::Class*) →* void} in #t125);
+ self::throws(() → self::Class* => c = let final self::Class* #t127 = (let final self::Class* #t128 = c in #t128 == null ?{self::Class*} null : #t128.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t129 = c in let final self::Class* #t130 = new self::Class::•() in let final void #t131 = #t127.{self::Class::[]=}(#t129, #t130){(self::Class*, self::Class*) →* void} in #t130);
+ self::throws(() → self::Class* => (let final self::Class* #t132 = c in #t132 == null ?{self::Class*} null : #t132.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*}.{self::Class::[]}(c){(self::Class*) →* self::Class*}.{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => let final self::Class* #t133 = (let final self::Class* #t134 = c in #t134 == null ?{self::Class*} null : #t134.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t135 = c in let final self::Class* #t136 = #t133.{self::Class::[]}(#t135){(self::Class*) →* self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t137 = #t133.{self::Class::[]=}(#t135, #t136){(self::Class*, self::Class*) →* void} in #t136);
+ self::throws(() → self::Class* => c = let final self::Class* #t138 = (let final self::Class* #t139 = c in #t139 == null ?{self::Class*} null : #t139.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t140 = c in let final self::Class* #t141 = #t138.{self::Class::[]}(#t140){(self::Class*) →* self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t142 = #t138.{self::Class::[]=}(#t140, #t141){(self::Class*, self::Class*) →* void} in #t141);
+ self::throws(() → self::Class* => let final self::Class* #t143 = (let final self::Class* #t144 = c in #t144 == null ?{self::Class*} null : #t144.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t145 = c in let final self::Class* #t146 = #t143.{self::Class::[]}(#t145){(self::Class*) →* self::Class*} in let final void #t147 = #t143.{self::Class::[]=}(#t145, #t146.{self::Class::+}(1){(core::int*) →* self::Class*}){(self::Class*, self::Class*) →* void} in #t146);
+ self::throws(() → self::Class* => c = let final self::Class* #t148 = (let final self::Class* #t149 = c in #t149 == null ?{self::Class*} null : #t149.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t150 = c in let final self::Class* #t151 = #t148.{self::Class::[]}(#t150){(self::Class*) →* self::Class*} in let final void #t152 = #t148.{self::Class::[]=}(#t150, #t151.{self::Class::+}(1){(core::int*) →* self::Class*}){(self::Class*, self::Class*) →* void} in #t151);
+ self::throws(() → self::Class* => let final self::Class* #t153 = (let final self::Class* #t154 = c in #t154 == null ?{self::Class*} null : #t154.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t155 = c in let final self::Class* #t156 = #t153.{self::Class::[]}(#t155){(self::Class*) →* self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t157 = #t153.{self::Class::[]=}(#t155, #t156){(self::Class*, self::Class*) →* void} in #t156);
+ self::throws(() → self::Class* => c = let final self::Class* #t158 = (let final self::Class* #t159 = c in #t159 == null ?{self::Class*} null : #t159.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t160 = c in let final self::Class* #t161 = #t158.{self::Class::[]}(#t160){(self::Class*) →* self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t162 = #t158.{self::Class::[]=}(#t160, #t161){(self::Class*, self::Class*) →* void} in #t161);
}
static method operatorAccess(self::Class* c) → void {
- self::throws(() → self::Class* => (let final self::Class* #t163 = c in #t163.{self::Class::==}(null) ?{self::Class*} null : #t163.{self::Class::field}).{self::Class::+}(0));
- self::throws(() → self::Class* => (let final self::Class* #t164 = c in #t164.{self::Class::==}(null) ?{self::Class*} null : #t164.{self::Class::field}).{self::Class::unary-}());
- let final self::Class* #t165 = c in #t165.{self::Class::==}(null) ?{self::Class*} null : #t165.{self::Class::field} = #t165.{self::Class::field}.{self::Class::+}(0);
- c = let final self::Class* #t166 = c in #t166.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t167 = #t166.{self::Class::field}.{self::Class::+}(0) in let final void #t168 = #t166.{self::Class::field} = #t167 in #t167;
- self::throws(() → self::Class* => let final self::Class* #t169 = let final self::Class* #t170 = c in #t170.{self::Class::==}(null) ?{self::Class*} null : #t170.{self::Class::field} in #t169.{self::Class::field} = #t169.{self::Class::field}.{self::Class::+}(0));
- self::throws(() → self::Class* => c = let final self::Class* #t171 = let final self::Class* #t172 = c in #t172.{self::Class::==}(null) ?{self::Class*} null : #t172.{self::Class::field} in #t171.{self::Class::field} = #t171.{self::Class::field}.{self::Class::+}(0));
- let final self::Class* #t173 = c in #t173.{self::Class::==}(null) ?{self::Class*} null : #t173.{self::Class::field} = #t173.{self::Class::field}.{self::Class::+}(1);
- c = let final self::Class* #t174 = c in #t174.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t175 = #t174.{self::Class::field} in let final void #t176 = #t174.{self::Class::field} = #t175.{self::Class::+}(1) in #t175;
- let final self::Class* #t177 = c in #t177.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t178 = #t177.{self::Class::field}.{self::Class::+}(1) in let final void #t179 = #t177.{self::Class::field} = #t178 in #t178;
- c = let final self::Class* #t180 = c in #t180.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t181 = #t180.{self::Class::field}.{self::Class::+}(1) in let final void #t182 = #t180.{self::Class::field} = #t181 in #t181;
+ self::throws(() → self::Class* => (let final self::Class* #t163 = c in #t163 == null ?{self::Class*} null : #t163.{self::Class::field}{self::Class*}).{self::Class::+}(0){(core::int*) →* self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t164 = c in #t164 == null ?{self::Class*} null : #t164.{self::Class::field}{self::Class*}).{self::Class::unary-}(){() →* self::Class*});
+ let final self::Class* #t165 = c in #t165 == null ?{self::Class*} null : #t165.{self::Class::field} = #t165.{self::Class::field}{self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*};
+ c = let final self::Class* #t166 = c in #t166 == null ?{self::Class*} null : let final self::Class* #t167 = #t166.{self::Class::field}{self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t168 = #t166.{self::Class::field} = #t167 in #t167;
+ self::throws(() → self::Class* => let final self::Class* #t169 = let final self::Class* #t170 = c in #t170 == null ?{self::Class*} null : #t170.{self::Class::field}{self::Class*} in #t169.{self::Class::field} = #t169.{self::Class::field}{self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*});
+ self::throws(() → self::Class* => c = let final self::Class* #t171 = let final self::Class* #t172 = c in #t172 == null ?{self::Class*} null : #t172.{self::Class::field}{self::Class*} in #t171.{self::Class::field} = #t171.{self::Class::field}{self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*});
+ let final self::Class* #t173 = c in #t173 == null ?{self::Class*} null : #t173.{self::Class::field} = #t173.{self::Class::field}{self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*};
+ c = let final self::Class* #t174 = c in #t174 == null ?{self::Class*} null : let final self::Class* #t175 = #t174.{self::Class::field}{self::Class*} in let final void #t176 = #t174.{self::Class::field} = #t175.{self::Class::+}(1){(core::int*) →* self::Class*} in #t175;
+ let final self::Class* #t177 = c in #t177 == null ?{self::Class*} null : let final self::Class* #t178 = #t177.{self::Class::field}{self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t179 = #t177.{self::Class::field} = #t178 in #t178;
+ c = let final self::Class* #t180 = c in #t180 == null ?{self::Class*} null : let final self::Class* #t181 = #t180.{self::Class::field}{self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t182 = #t180.{self::Class::field} = #t181 in #t181;
}
static method ifNull(self::Class* c) → void {
- let final self::Class* #t183 = c in #t183.{self::Class::==}(null) ?{self::Class*} null : #t183.{self::Class::field}.{self::Class::==}(null) ?{self::Class*} #t183.{self::Class::field} = c : null;
- c = let final self::Class* #t184 = c in #t184.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t185 = #t184.{self::Class::field} in #t185.{self::Class::==}(null) ?{self::Class*} #t184.{self::Class::field} = c : #t185;
- self::throws(() → self::Class* => let final self::Class* #t186 = let final self::Class* #t187 = c in #t187.{self::Class::==}(null) ?{self::Class*} null : #t187.{self::Class::field} in let final self::Class* #t188 = #t186.{self::Class::field} in #t188.{self::Class::==}(null) ?{self::Class*} #t186.{self::Class::field} = c : #t188);
- self::throws(() → self::Class* => c = let final self::Class* #t189 = let final self::Class* #t190 = c in #t190.{self::Class::==}(null) ?{self::Class*} null : #t190.{self::Class::field} in let final self::Class* #t191 = #t189.{self::Class::field} in #t191.{self::Class::==}(null) ?{self::Class*} #t189.{self::Class::field} = c : #t191);
- self::throws(() → self::Class* => let final self::Class* #t192 = let final self::Class* #t193 = c in #t193.{self::Class::==}(null) ?{self::Class*} null : #t193.{self::Class::field} in let final self::Class* #t194 = c in let final self::Class* #t195 = #t192.{self::Class::[]}(#t194) in #t195.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t196 = c in let final void #t197 = #t192.{self::Class::[]=}(#t194, #t196) in #t196 : #t195);
- self::throws(() → self::Class* => c = let final self::Class* #t198 = let final self::Class* #t199 = c in #t199.{self::Class::==}(null) ?{self::Class*} null : #t199.{self::Class::field} in let final self::Class* #t200 = c in let final self::Class* #t201 = #t198.{self::Class::[]}(#t200) in #t201.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t202 = c in let final void #t203 = #t198.{self::Class::[]=}(#t200, #t202) in #t202 : #t201);
+ let final self::Class* #t183 = c in #t183 == null ?{self::Class*} null : #t183.{self::Class::field}{self::Class*} == null ?{self::Class*} #t183.{self::Class::field} = c : null;
+ c = let final self::Class* #t184 = c in #t184 == null ?{self::Class*} null : let final self::Class* #t185 = #t184.{self::Class::field}{self::Class*} in #t185 == null ?{self::Class*} #t184.{self::Class::field} = c : #t185;
+ self::throws(() → self::Class* => let final self::Class* #t186 = let final self::Class* #t187 = c in #t187 == null ?{self::Class*} null : #t187.{self::Class::field}{self::Class*} in let final self::Class* #t188 = #t186.{self::Class::field}{self::Class*} in #t188 == null ?{self::Class*} #t186.{self::Class::field} = c : #t188);
+ self::throws(() → self::Class* => c = let final self::Class* #t189 = let final self::Class* #t190 = c in #t190 == null ?{self::Class*} null : #t190.{self::Class::field}{self::Class*} in let final self::Class* #t191 = #t189.{self::Class::field}{self::Class*} in #t191 == null ?{self::Class*} #t189.{self::Class::field} = c : #t191);
+ self::throws(() → self::Class* => let final self::Class* #t192 = let final self::Class* #t193 = c in #t193 == null ?{self::Class*} null : #t193.{self::Class::field}{self::Class*} in let final self::Class* #t194 = c in let final self::Class* #t195 = #t192.{self::Class::[]}(#t194){(self::Class*) →* self::Class*} in #t195 == null ?{self::Class*} let final self::Class* #t196 = c in let final void #t197 = #t192.{self::Class::[]=}(#t194, #t196){(self::Class*, self::Class*) →* void} in #t196 : #t195);
+ self::throws(() → self::Class* => c = let final self::Class* #t198 = let final self::Class* #t199 = c in #t199 == null ?{self::Class*} null : #t199.{self::Class::field}{self::Class*} in let final self::Class* #t200 = c in let final self::Class* #t201 = #t198.{self::Class::[]}(#t200){(self::Class*) →* self::Class*} in #t201 == null ?{self::Class*} let final self::Class* #t202 = c in let final void #t203 = #t198.{self::Class::[]=}(#t200, #t202){(self::Class*, self::Class*) →* void} in #t202 : #t201);
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.transformed.expect
index 2794947..9e9eb03 100644
--- a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.transformed.expect
@@ -8,16 +8,16 @@
: super core::Object::•()
;
method method() → self::Class*
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class*};
operator [](self::Class* key) → self::Class*
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class*};
operator []=(self::Class* key, self::Class* value) → void {
this.{self::Class::field} = value;
}
operator +(core::int* value) → self::Class*
- return this.{self::Class::field};
+ return this.{self::Class::field}{self::Class*};
operator unary-() → self::Class*
- return this.{self::Class::field};
+ return this.{self::Class::field}{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
@@ -36,123 +36,123 @@
self::ifNull(null);
}
static method propertyAccess(self::Class* c) → void {
- let final self::Class* #t1 = c in #t1.{self::Class::==}(null) ?{self::Class*} null : #t1.{self::Class::field};
- let final self::Class* #t2 = c in #t2.{self::Class::==}(null) ?{self::Class*} null : #t2.{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t3 = c in #t3.{self::Class::==}(null) ?{self::Class*} null : #t3.{self::Class::field} = new self::Class::•();
- let final self::Class* #t4 = c in #t4.{self::Class::==}(null) ?{self::Class*} null : #t4.{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t5 = c in #t5.{self::Class::==}(null) ?{self::Class*} null : #t5.{self::Class::field}).{self::Class::field});
- let final self::Class* #t6 = let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{self::Class*} null : #t7.{self::Class::field} in #t6.{self::Class::==}(null) ?{self::Class*} null : #t6.{self::Class::field};
- self::throws(() → self::Class* => let final self::Class* #t8 = (let final self::Class* #t9 = c in #t9.{self::Class::==}(null) ?{self::Class*} null : #t9.{self::Class::field}).{self::Class::field} in #t8.{self::Class::==}(null) ?{self::Class*} null : #t8.{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t10 = c in #t10.{self::Class::==}(null) ?{self::Class*} null : #t10.{self::Class::field}).{self::Class::field} = new self::Class::•());
- let final self::Class* #t11 = let final self::Class* #t12 = c in #t12.{self::Class::==}(null) ?{self::Class*} null : #t12.{self::Class::field} in #t11.{self::Class::==}(null) ?{self::Class*} null : #t11.{self::Class::field} = new self::Class::•();
- self::throws(() → self::Class* => let final self::Class* #t13 = (let final self::Class* #t14 = c in #t14.{self::Class::==}(null) ?{self::Class*} null : #t14.{self::Class::field}).{self::Class::field} in #t13.{self::Class::==}(null) ?{self::Class*} null : #t13.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t15 = c in #t15.{self::Class::==}(null) ?{self::Class*} null : #t15.{self::Class::field}).{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t16 = c in #t16.{self::Class::==}(null) ?{self::Class*} null : #t16.{self::Class::field} = new self::Class::•()).{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t17 = c in #t17.{self::Class::==}(null) ?{self::Class*} null : #t17.{self::Class::method}()).{self::Class::field});
- self::throws(() → self::Class* => c = (let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{self::Class*} null : #t18.{self::Class::field}).{self::Class::field} = new self::Class::•());
- c = let final self::Class* #t19 = let final self::Class* #t20 = c in #t20.{self::Class::==}(null) ?{self::Class*} null : #t20.{self::Class::field} in #t19.{self::Class::==}(null) ?{self::Class*} null : #t19.{self::Class::field} = new self::Class::•();
- self::throws(() → self::Class* => c = let final self::Class* #t21 = (let final self::Class* #t22 = c in #t22.{self::Class::==}(null) ?{self::Class*} null : #t22.{self::Class::field}).{self::Class::field} in #t21.{self::Class::==}(null) ?{self::Class*} null : #t21.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t23 = c in #t23.{self::Class::==}(null) ?{self::Class*} null : #t23.{self::Class::field}).{self::Class::method}());
- let final self::Class* #t24 = c in #t24.{self::Class::==}(null) ?{self::Class*} null : #t24.{self::Class::field} = new self::Class::•().{self::Class::field};
- c = let final self::Class* #t25 = c in #t25.{self::Class::==}(null) ?{self::Class*} null : #t25.{self::Class::field} = new self::Class::•().{self::Class::field};
- let final self::Class* #t26 = c in #t26.{self::Class::==}(null) ?{self::Class*} null : #t26.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t27 = c in #t27.{self::Class::==}(null) ?{self::Class*} null : #t27.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
- let final self::Class* #t28 = c in #t28.{self::Class::==}(null) ?{self::Class*} null : #t28.{self::Class::field} = new self::Class::•().{self::Class::method}();
- c = let final self::Class* #t29 = c in #t29.{self::Class::==}(null) ?{self::Class*} null : #t29.{self::Class::field} = new self::Class::•().{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t30 = c in #t30.{self::Class::==}(null) ?{self::Class*} null : #t30.{self::Class::method}()).{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t31 = c in #t31.{self::Class::==}(null) ?{self::Class*} null : #t31.{self::Class::method}()).{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t32 = c in #t32.{self::Class::==}(null) ?{self::Class*} null : #t32.{self::Class::method}()).{self::Class::method}());
- self::throws(() → self::Class* => (let final self::Class* #t33 = c in #t33.{self::Class::==}(null) ?{self::Class*} null : #t33.{self::Class::field}).{self::Class::field}.{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t34 = c in #t34.{self::Class::==}(null) ?{self::Class*} null : #t34.{self::Class::field}).{self::Class::field}.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => c = (let final self::Class* #t35 = c in #t35.{self::Class::==}(null) ?{self::Class*} null : #t35.{self::Class::field}).{self::Class::field}.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t36 = c in #t36.{self::Class::==}(null) ?{self::Class*} null : #t36.{self::Class::field}).{self::Class::field}.{self::Class::method}());
- let final self::Class* #t37 = c in #t37.{self::Class::==}(null) ?{self::Class*} null : #t37.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::field};
- c = let final self::Class* #t38 = c in #t38.{self::Class::==}(null) ?{self::Class*} null : #t38.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::field};
- let final self::Class* #t39 = c in #t39.{self::Class::==}(null) ?{self::Class*} null : #t39.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t40 = c in #t40.{self::Class::==}(null) ?{self::Class*} null : #t40.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::field} = new self::Class::•();
- let final self::Class* #t41 = c in #t41.{self::Class::==}(null) ?{self::Class*} null : #t41.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::method}();
- c = let final self::Class* #t42 = c in #t42.{self::Class::==}(null) ?{self::Class*} null : #t42.{self::Class::field} = new self::Class::•().{self::Class::field}.{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t43 = c in #t43.{self::Class::==}(null) ?{self::Class*} null : #t43.{self::Class::method}()).{self::Class::field}.{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t44 = c in #t44.{self::Class::==}(null) ?{self::Class*} null : #t44.{self::Class::method}()).{self::Class::field}.{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t45 = c in #t45.{self::Class::==}(null) ?{self::Class*} null : #t45.{self::Class::method}()).{self::Class::field}.{self::Class::method}());
- self::throws(() → self::Class* => (let final self::Class* #t46 = c in #t46.{self::Class::==}(null) ?{self::Class*} null : #t46.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::field});
- self::throws(() → self::Class* => c = (let final self::Class* #t47 = c in #t47.{self::Class::==}(null) ?{self::Class*} null : #t47.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t48 = c in #t48.{self::Class::==}(null) ?{self::Class*} null : #t48.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => c = (let final self::Class* #t49 = c in #t49.{self::Class::==}(null) ?{self::Class*} null : #t49.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t50 = c in #t50.{self::Class::==}(null) ?{self::Class*} null : #t50.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::method}());
- self::throws(() → self::Class* => c = (let final self::Class* #t51 = c in #t51.{self::Class::==}(null) ?{self::Class*} null : #t51.{self::Class::field}).{self::Class::field} = new self::Class::•().{self::Class::method}());
- let final self::Class* #t52 = c in #t52.{self::Class::==}(null) ?{self::Class*} null : #t52.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field};
- c = let final self::Class* #t53 = c in #t53.{self::Class::==}(null) ?{self::Class*} null : #t53.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field};
- let final self::Class* #t54 = c in #t54.{self::Class::==}(null) ?{self::Class*} null : #t54.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t55 = c in #t55.{self::Class::==}(null) ?{self::Class*} null : #t55.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
- let final self::Class* #t56 = c in #t56.{self::Class::==}(null) ?{self::Class*} null : #t56.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::method}();
- c = let final self::Class* #t57 = c in #t57.{self::Class::==}(null) ?{self::Class*} null : #t57.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t58 = c in #t58.{self::Class::==}(null) ?{self::Class*} null : #t58.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::field});
- self::throws(() → self::Class* => c = (let final self::Class* #t59 = c in #t59.{self::Class::==}(null) ?{self::Class*} null : #t59.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t60 = c in #t60.{self::Class::==}(null) ?{self::Class*} null : #t60.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => c = (let final self::Class* #t61 = c in #t61.{self::Class::==}(null) ?{self::Class*} null : #t61.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{self::Class*} null : #t62.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::method}());
- self::throws(() → self::Class* => c = (let final self::Class* #t63 = c in #t63.{self::Class::==}(null) ?{self::Class*} null : #t63.{self::Class::method}()).{self::Class::field} = new self::Class::•().{self::Class::method}());
- self::throws(() → self::Class* => (let final self::Class* #t64 = c in #t64.{self::Class::==}(null) ?{self::Class*} null : #t64.{self::Class::field}).{self::Class::method}().{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t65 = c in #t65.{self::Class::==}(null) ?{self::Class*} null : #t65.{self::Class::field}).{self::Class::method}().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => c = (let final self::Class* #t66 = c in #t66.{self::Class::==}(null) ?{self::Class*} null : #t66.{self::Class::field}).{self::Class::method}().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t67 = c in #t67.{self::Class::==}(null) ?{self::Class*} null : #t67.{self::Class::field}).{self::Class::method}().{self::Class::method}());
- let final self::Class* #t68 = c in #t68.{self::Class::==}(null) ?{self::Class*} null : #t68.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::field};
- c = let final self::Class* #t69 = c in #t69.{self::Class::==}(null) ?{self::Class*} null : #t69.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::field};
- let final self::Class* #t70 = c in #t70.{self::Class::==}(null) ?{self::Class*} null : #t70.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::field} = new self::Class::•();
- c = let final self::Class* #t71 = c in #t71.{self::Class::==}(null) ?{self::Class*} null : #t71.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::field} = new self::Class::•();
- let final self::Class* #t72 = c in #t72.{self::Class::==}(null) ?{self::Class*} null : #t72.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::method}();
- c = let final self::Class* #t73 = c in #t73.{self::Class::==}(null) ?{self::Class*} null : #t73.{self::Class::field} = new self::Class::•().{self::Class::method}().{self::Class::method}();
- self::throws(() → self::Class* => (let final self::Class* #t74 = c in #t74.{self::Class::==}(null) ?{self::Class*} null : #t74.{self::Class::method}()).{self::Class::method}().{self::Class::field});
- self::throws(() → self::Class* => (let final self::Class* #t75 = c in #t75.{self::Class::==}(null) ?{self::Class*} null : #t75.{self::Class::method}()).{self::Class::method}().{self::Class::field} = new self::Class::•());
- self::throws(() → self::Class* => (let final self::Class* #t76 = c in #t76.{self::Class::==}(null) ?{self::Class*} null : #t76.{self::Class::method}()).{self::Class::method}().{self::Class::method}());
- let final self::Class* #t77 = let final self::Class* #t78 = c in #t78.{self::Class::==}(null) ?{self::Class*} null : #t78.{self::Class::method}() in #t77.{self::Class::==}(null) ?{self::Class*} null : #t77.{self::Class::method}();
+ let final self::Class* #t1 = c in #t1 == null ?{self::Class*} null : #t1.{self::Class::field}{self::Class*};
+ let final self::Class* #t2 = c in #t2 == null ?{self::Class*} null : #t2.{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t3 = c in #t3 == null ?{self::Class*} null : #t3.{self::Class::field} = new self::Class::•();
+ let final self::Class* #t4 = c in #t4 == null ?{self::Class*} null : #t4.{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t5 = c in #t5 == null ?{self::Class*} null : #t5.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*});
+ let final self::Class* #t6 = let final self::Class* #t7 = c in #t7 == null ?{self::Class*} null : #t7.{self::Class::field}{self::Class*} in #t6 == null ?{self::Class*} null : #t6.{self::Class::field}{self::Class*};
+ self::throws(() → self::Class* => let final self::Class* #t8 = (let final self::Class* #t9 = c in #t9 == null ?{self::Class*} null : #t9.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*} in #t8 == null ?{self::Class*} null : #t8.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t10 = c in #t10 == null ?{self::Class*} null : #t10.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•());
+ let final self::Class* #t11 = let final self::Class* #t12 = c in #t12 == null ?{self::Class*} null : #t12.{self::Class::field}{self::Class*} in #t11 == null ?{self::Class*} null : #t11.{self::Class::field} = new self::Class::•();
+ self::throws(() → self::Class* => let final self::Class* #t13 = (let final self::Class* #t14 = c in #t14 == null ?{self::Class*} null : #t14.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*} in #t13 == null ?{self::Class*} null : #t13.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t15 = c in #t15 == null ?{self::Class*} null : #t15.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t16 = c in #t16 == null ?{self::Class*} null : #t16.{self::Class::field} = new self::Class::•()).{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t17 = c in #t17 == null ?{self::Class*} null : #t17.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t18 = c in #t18 == null ?{self::Class*} null : #t18.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•());
+ c = let final self::Class* #t19 = let final self::Class* #t20 = c in #t20 == null ?{self::Class*} null : #t20.{self::Class::field}{self::Class*} in #t19 == null ?{self::Class*} null : #t19.{self::Class::field} = new self::Class::•();
+ self::throws(() → self::Class* => c = let final self::Class* #t21 = (let final self::Class* #t22 = c in #t22 == null ?{self::Class*} null : #t22.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*} in #t21 == null ?{self::Class*} null : #t21.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t23 = c in #t23 == null ?{self::Class*} null : #t23.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t24 = c in #t24 == null ?{self::Class*} null : #t24.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*};
+ c = let final self::Class* #t25 = c in #t25 == null ?{self::Class*} null : #t25.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*};
+ let final self::Class* #t26 = c in #t26 == null ?{self::Class*} null : #t26.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t27 = c in #t27 == null ?{self::Class*} null : #t27.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
+ let final self::Class* #t28 = c in #t28 == null ?{self::Class*} null : #t28.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*};
+ c = let final self::Class* #t29 = c in #t29 == null ?{self::Class*} null : #t29.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t30 = c in #t30 == null ?{self::Class*} null : #t30.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t31 = c in #t31 == null ?{self::Class*} null : #t31.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t32 = c in #t32 == null ?{self::Class*} null : #t32.{self::Class::method}(){() →* self::Class*}).{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t33 = c in #t33 == null ?{self::Class*} null : #t33.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t34 = c in #t34 == null ?{self::Class*} null : #t34.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => c = (let final self::Class* #t35 = c in #t35 == null ?{self::Class*} null : #t35.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t36 = c in #t36 == null ?{self::Class*} null : #t36.{self::Class::field}{self::Class*}).{self::Class::field}{self::Class*}.{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t37 = c in #t37 == null ?{self::Class*} null : #t37.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::field}{self::Class*};
+ c = let final self::Class* #t38 = c in #t38 == null ?{self::Class*} null : #t38.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::field}{self::Class*};
+ let final self::Class* #t39 = c in #t39 == null ?{self::Class*} null : #t39.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t40 = c in #t40 == null ?{self::Class*} null : #t40.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•();
+ let final self::Class* #t41 = c in #t41 == null ?{self::Class*} null : #t41.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::method}(){() →* self::Class*};
+ c = let final self::Class* #t42 = c in #t42 == null ?{self::Class*} null : #t42.{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*}.{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t43 = c in #t43 == null ?{self::Class*} null : #t43.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t44 = c in #t44 == null ?{self::Class*} null : #t44.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t45 = c in #t45 == null ?{self::Class*} null : #t45.{self::Class::method}(){() →* self::Class*}).{self::Class::field}{self::Class*}.{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t46 = c in #t46 == null ?{self::Class*} null : #t46.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t47 = c in #t47 == null ?{self::Class*} null : #t47.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t48 = c in #t48 == null ?{self::Class*} null : #t48.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => c = (let final self::Class* #t49 = c in #t49 == null ?{self::Class*} null : #t49.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t50 = c in #t50 == null ?{self::Class*} null : #t50.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t51 = c in #t51 == null ?{self::Class*} null : #t51.{self::Class::field}{self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t52 = c in #t52 == null ?{self::Class*} null : #t52.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*};
+ c = let final self::Class* #t53 = c in #t53 == null ?{self::Class*} null : #t53.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*};
+ let final self::Class* #t54 = c in #t54 == null ?{self::Class*} null : #t54.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t55 = c in #t55 == null ?{self::Class*} null : #t55.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•();
+ let final self::Class* #t56 = c in #t56 == null ?{self::Class*} null : #t56.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*};
+ c = let final self::Class* #t57 = c in #t57 == null ?{self::Class*} null : #t57.{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t58 = c in #t58 == null ?{self::Class*} null : #t58.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t59 = c in #t59 == null ?{self::Class*} null : #t59.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t60 = c in #t60 == null ?{self::Class*} null : #t60.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => c = (let final self::Class* #t61 = c in #t61 == null ?{self::Class*} null : #t61.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t62 = c in #t62 == null ?{self::Class*} null : #t62.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => c = (let final self::Class* #t63 = c in #t63 == null ?{self::Class*} null : #t63.{self::Class::method}(){() →* self::Class*}).{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t64 = c in #t64 == null ?{self::Class*} null : #t64.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t65 = c in #t65 == null ?{self::Class*} null : #t65.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => c = (let final self::Class* #t66 = c in #t66 == null ?{self::Class*} null : #t66.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t67 = c in #t67 == null ?{self::Class*} null : #t67.{self::Class::field}{self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t68 = c in #t68 == null ?{self::Class*} null : #t68.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::field}{self::Class*};
+ c = let final self::Class* #t69 = c in #t69 == null ?{self::Class*} null : #t69.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::field}{self::Class*};
+ let final self::Class* #t70 = c in #t70 == null ?{self::Class*} null : #t70.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•();
+ c = let final self::Class* #t71 = c in #t71 == null ?{self::Class*} null : #t71.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•();
+ let final self::Class* #t72 = c in #t72 == null ?{self::Class*} null : #t72.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::method}(){() →* self::Class*};
+ c = let final self::Class* #t73 = c in #t73 == null ?{self::Class*} null : #t73.{self::Class::field} = new self::Class::•().{self::Class::method}(){() →* self::Class*}.{self::Class::method}(){() →* self::Class*};
+ self::throws(() → self::Class* => (let final self::Class* #t74 = c in #t74 == null ?{self::Class*} null : #t74.{self::Class::method}(){() →* self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field}{self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t75 = c in #t75 == null ?{self::Class*} null : #t75.{self::Class::method}(){() →* self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::field} = new self::Class::•());
+ self::throws(() → self::Class* => (let final self::Class* #t76 = c in #t76 == null ?{self::Class*} null : #t76.{self::Class::method}(){() →* self::Class*}).{self::Class::method}(){() →* self::Class*}.{self::Class::method}(){() →* self::Class*});
+ let final self::Class* #t77 = let final self::Class* #t78 = c in #t78 == null ?{self::Class*} null : #t78.{self::Class::method}(){() →* self::Class*} in #t77 == null ?{self::Class*} null : #t77.{self::Class::method}(){() →* self::Class*};
}
static method indexAccess(self::Class* c) → void {
- self::throws(() → self::Class* => (let final self::Class* #t79 = c in #t79.{self::Class::==}(null) ?{self::Class*} null : #t79.{self::Class::field}).{self::Class::[]}(c));
- self::throws(() → self::Class* => let final self::Class* #t80 = let final self::Class* #t81 = c in #t81.{self::Class::==}(null) ?{self::Class*} null : #t81.{self::Class::field} in let final self::Class* #t82 = c in let final self::Class* #t83 = new self::Class::•() in let final void #t84 = #t80.{self::Class::[]=}(#t82, #t83) in #t83);
- self::throws(() → self::Class* => c = let final self::Class* #t85 = let final self::Class* #t86 = c in #t86.{self::Class::==}(null) ?{self::Class*} null : #t86.{self::Class::field} in let final self::Class* #t87 = c in let final self::Class* #t88 = new self::Class::•() in let final void #t89 = #t85.{self::Class::[]=}(#t87, #t88) in #t88);
- self::throws(() → self::Class* => (let final self::Class* #t90 = c in #t90.{self::Class::==}(null) ?{self::Class*} null : #t90.{self::Class::field}).{self::Class::[]}(c).{self::Class::method}());
- self::throws(() → self::Class* => let final self::Class* #t91 = let final self::Class* #t92 = c in #t92.{self::Class::==}(null) ?{self::Class*} null : #t92.{self::Class::field} in let final self::Class* #t93 = c in let final self::Class* #t94 = #t91.{self::Class::[]}(#t93).{self::Class::+}(0) in let final void #t95 = #t91.{self::Class::[]=}(#t93, #t94) in #t94);
- self::throws(() → self::Class* => c = let final self::Class* #t96 = let final self::Class* #t97 = c in #t97.{self::Class::==}(null) ?{self::Class*} null : #t97.{self::Class::field} in let final self::Class* #t98 = c in let final self::Class* #t99 = #t96.{self::Class::[]}(#t98).{self::Class::+}(0) in let final void #t100 = #t96.{self::Class::[]=}(#t98, #t99) in #t99);
- self::throws(() → self::Class* => let final self::Class* #t101 = let final self::Class* #t102 = c in #t102.{self::Class::==}(null) ?{self::Class*} null : #t102.{self::Class::field} in let final self::Class* #t103 = c in let final self::Class* #t104 = #t101.{self::Class::[]}(#t103) in let final void #t105 = #t101.{self::Class::[]=}(#t103, #t104.{self::Class::+}(1)) in #t104);
- self::throws(() → self::Class* => c = let final self::Class* #t106 = let final self::Class* #t107 = c in #t107.{self::Class::==}(null) ?{self::Class*} null : #t107.{self::Class::field} in let final self::Class* #t108 = c in let final self::Class* #t109 = #t106.{self::Class::[]}(#t108) in let final void #t110 = #t106.{self::Class::[]=}(#t108, #t109.{self::Class::+}(1)) in #t109);
- self::throws(() → self::Class* => let final self::Class* #t111 = let final self::Class* #t112 = c in #t112.{self::Class::==}(null) ?{self::Class*} null : #t112.{self::Class::field} in let final self::Class* #t113 = c in let final self::Class* #t114 = #t111.{self::Class::[]}(#t113).{self::Class::+}(1) in let final void #t115 = #t111.{self::Class::[]=}(#t113, #t114) in #t114);
- self::throws(() → self::Class* => c = let final self::Class* #t116 = let final self::Class* #t117 = c in #t117.{self::Class::==}(null) ?{self::Class*} null : #t117.{self::Class::field} in let final self::Class* #t118 = c in let final self::Class* #t119 = #t116.{self::Class::[]}(#t118).{self::Class::+}(1) in let final void #t120 = #t116.{self::Class::[]=}(#t118, #t119) in #t119);
- self::throws(() → self::Class* => (let final self::Class* #t121 = c in #t121.{self::Class::==}(null) ?{self::Class*} null : #t121.{self::Class::field}).{self::Class::[]}(c).{self::Class::[]}(c));
- self::throws(() → self::Class* => let final self::Class* #t122 = (let final self::Class* #t123 = c in #t123.{self::Class::==}(null) ?{self::Class*} null : #t123.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t124 = c in let final self::Class* #t125 = new self::Class::•() in let final void #t126 = #t122.{self::Class::[]=}(#t124, #t125) in #t125);
- self::throws(() → self::Class* => c = let final self::Class* #t127 = (let final self::Class* #t128 = c in #t128.{self::Class::==}(null) ?{self::Class*} null : #t128.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t129 = c in let final self::Class* #t130 = new self::Class::•() in let final void #t131 = #t127.{self::Class::[]=}(#t129, #t130) in #t130);
- self::throws(() → self::Class* => (let final self::Class* #t132 = c in #t132.{self::Class::==}(null) ?{self::Class*} null : #t132.{self::Class::field}).{self::Class::[]}(c).{self::Class::[]}(c).{self::Class::method}());
- self::throws(() → self::Class* => let final self::Class* #t133 = (let final self::Class* #t134 = c in #t134.{self::Class::==}(null) ?{self::Class*} null : #t134.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t135 = c in let final self::Class* #t136 = #t133.{self::Class::[]}(#t135).{self::Class::+}(0) in let final void #t137 = #t133.{self::Class::[]=}(#t135, #t136) in #t136);
- self::throws(() → self::Class* => c = let final self::Class* #t138 = (let final self::Class* #t139 = c in #t139.{self::Class::==}(null) ?{self::Class*} null : #t139.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t140 = c in let final self::Class* #t141 = #t138.{self::Class::[]}(#t140).{self::Class::+}(0) in let final void #t142 = #t138.{self::Class::[]=}(#t140, #t141) in #t141);
- self::throws(() → self::Class* => let final self::Class* #t143 = (let final self::Class* #t144 = c in #t144.{self::Class::==}(null) ?{self::Class*} null : #t144.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t145 = c in let final self::Class* #t146 = #t143.{self::Class::[]}(#t145) in let final void #t147 = #t143.{self::Class::[]=}(#t145, #t146.{self::Class::+}(1)) in #t146);
- self::throws(() → self::Class* => c = let final self::Class* #t148 = (let final self::Class* #t149 = c in #t149.{self::Class::==}(null) ?{self::Class*} null : #t149.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t150 = c in let final self::Class* #t151 = #t148.{self::Class::[]}(#t150) in let final void #t152 = #t148.{self::Class::[]=}(#t150, #t151.{self::Class::+}(1)) in #t151);
- self::throws(() → self::Class* => let final self::Class* #t153 = (let final self::Class* #t154 = c in #t154.{self::Class::==}(null) ?{self::Class*} null : #t154.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t155 = c in let final self::Class* #t156 = #t153.{self::Class::[]}(#t155).{self::Class::+}(1) in let final void #t157 = #t153.{self::Class::[]=}(#t155, #t156) in #t156);
- self::throws(() → self::Class* => c = let final self::Class* #t158 = (let final self::Class* #t159 = c in #t159.{self::Class::==}(null) ?{self::Class*} null : #t159.{self::Class::field}).{self::Class::[]}(c) in let final self::Class* #t160 = c in let final self::Class* #t161 = #t158.{self::Class::[]}(#t160).{self::Class::+}(1) in let final void #t162 = #t158.{self::Class::[]=}(#t160, #t161) in #t161);
+ self::throws(() → self::Class* => (let final self::Class* #t79 = c in #t79 == null ?{self::Class*} null : #t79.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*});
+ self::throws(() → self::Class* => let final self::Class* #t80 = let final self::Class* #t81 = c in #t81 == null ?{self::Class*} null : #t81.{self::Class::field}{self::Class*} in let final self::Class* #t82 = c in let final self::Class* #t83 = new self::Class::•() in let final void #t84 = #t80.{self::Class::[]=}(#t82, #t83){(self::Class*, self::Class*) →* void} in #t83);
+ self::throws(() → self::Class* => c = let final self::Class* #t85 = let final self::Class* #t86 = c in #t86 == null ?{self::Class*} null : #t86.{self::Class::field}{self::Class*} in let final self::Class* #t87 = c in let final self::Class* #t88 = new self::Class::•() in let final void #t89 = #t85.{self::Class::[]=}(#t87, #t88){(self::Class*, self::Class*) →* void} in #t88);
+ self::throws(() → self::Class* => (let final self::Class* #t90 = c in #t90 == null ?{self::Class*} null : #t90.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*}.{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => let final self::Class* #t91 = let final self::Class* #t92 = c in #t92 == null ?{self::Class*} null : #t92.{self::Class::field}{self::Class*} in let final self::Class* #t93 = c in let final self::Class* #t94 = #t91.{self::Class::[]}(#t93){(self::Class*) →* self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t95 = #t91.{self::Class::[]=}(#t93, #t94){(self::Class*, self::Class*) →* void} in #t94);
+ self::throws(() → self::Class* => c = let final self::Class* #t96 = let final self::Class* #t97 = c in #t97 == null ?{self::Class*} null : #t97.{self::Class::field}{self::Class*} in let final self::Class* #t98 = c in let final self::Class* #t99 = #t96.{self::Class::[]}(#t98){(self::Class*) →* self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t100 = #t96.{self::Class::[]=}(#t98, #t99){(self::Class*, self::Class*) →* void} in #t99);
+ self::throws(() → self::Class* => let final self::Class* #t101 = let final self::Class* #t102 = c in #t102 == null ?{self::Class*} null : #t102.{self::Class::field}{self::Class*} in let final self::Class* #t103 = c in let final self::Class* #t104 = #t101.{self::Class::[]}(#t103){(self::Class*) →* self::Class*} in let final void #t105 = #t101.{self::Class::[]=}(#t103, #t104.{self::Class::+}(1){(core::int*) →* self::Class*}){(self::Class*, self::Class*) →* void} in #t104);
+ self::throws(() → self::Class* => c = let final self::Class* #t106 = let final self::Class* #t107 = c in #t107 == null ?{self::Class*} null : #t107.{self::Class::field}{self::Class*} in let final self::Class* #t108 = c in let final self::Class* #t109 = #t106.{self::Class::[]}(#t108){(self::Class*) →* self::Class*} in let final void #t110 = #t106.{self::Class::[]=}(#t108, #t109.{self::Class::+}(1){(core::int*) →* self::Class*}){(self::Class*, self::Class*) →* void} in #t109);
+ self::throws(() → self::Class* => let final self::Class* #t111 = let final self::Class* #t112 = c in #t112 == null ?{self::Class*} null : #t112.{self::Class::field}{self::Class*} in let final self::Class* #t113 = c in let final self::Class* #t114 = #t111.{self::Class::[]}(#t113){(self::Class*) →* self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t115 = #t111.{self::Class::[]=}(#t113, #t114){(self::Class*, self::Class*) →* void} in #t114);
+ self::throws(() → self::Class* => c = let final self::Class* #t116 = let final self::Class* #t117 = c in #t117 == null ?{self::Class*} null : #t117.{self::Class::field}{self::Class*} in let final self::Class* #t118 = c in let final self::Class* #t119 = #t116.{self::Class::[]}(#t118){(self::Class*) →* self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t120 = #t116.{self::Class::[]=}(#t118, #t119){(self::Class*, self::Class*) →* void} in #t119);
+ self::throws(() → self::Class* => (let final self::Class* #t121 = c in #t121 == null ?{self::Class*} null : #t121.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*}.{self::Class::[]}(c){(self::Class*) →* self::Class*});
+ self::throws(() → self::Class* => let final self::Class* #t122 = (let final self::Class* #t123 = c in #t123 == null ?{self::Class*} null : #t123.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t124 = c in let final self::Class* #t125 = new self::Class::•() in let final void #t126 = #t122.{self::Class::[]=}(#t124, #t125){(self::Class*, self::Class*) →* void} in #t125);
+ self::throws(() → self::Class* => c = let final self::Class* #t127 = (let final self::Class* #t128 = c in #t128 == null ?{self::Class*} null : #t128.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t129 = c in let final self::Class* #t130 = new self::Class::•() in let final void #t131 = #t127.{self::Class::[]=}(#t129, #t130){(self::Class*, self::Class*) →* void} in #t130);
+ self::throws(() → self::Class* => (let final self::Class* #t132 = c in #t132 == null ?{self::Class*} null : #t132.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*}.{self::Class::[]}(c){(self::Class*) →* self::Class*}.{self::Class::method}(){() →* self::Class*});
+ self::throws(() → self::Class* => let final self::Class* #t133 = (let final self::Class* #t134 = c in #t134 == null ?{self::Class*} null : #t134.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t135 = c in let final self::Class* #t136 = #t133.{self::Class::[]}(#t135){(self::Class*) →* self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t137 = #t133.{self::Class::[]=}(#t135, #t136){(self::Class*, self::Class*) →* void} in #t136);
+ self::throws(() → self::Class* => c = let final self::Class* #t138 = (let final self::Class* #t139 = c in #t139 == null ?{self::Class*} null : #t139.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t140 = c in let final self::Class* #t141 = #t138.{self::Class::[]}(#t140){(self::Class*) →* self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t142 = #t138.{self::Class::[]=}(#t140, #t141){(self::Class*, self::Class*) →* void} in #t141);
+ self::throws(() → self::Class* => let final self::Class* #t143 = (let final self::Class* #t144 = c in #t144 == null ?{self::Class*} null : #t144.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t145 = c in let final self::Class* #t146 = #t143.{self::Class::[]}(#t145){(self::Class*) →* self::Class*} in let final void #t147 = #t143.{self::Class::[]=}(#t145, #t146.{self::Class::+}(1){(core::int*) →* self::Class*}){(self::Class*, self::Class*) →* void} in #t146);
+ self::throws(() → self::Class* => c = let final self::Class* #t148 = (let final self::Class* #t149 = c in #t149 == null ?{self::Class*} null : #t149.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t150 = c in let final self::Class* #t151 = #t148.{self::Class::[]}(#t150){(self::Class*) →* self::Class*} in let final void #t152 = #t148.{self::Class::[]=}(#t150, #t151.{self::Class::+}(1){(core::int*) →* self::Class*}){(self::Class*, self::Class*) →* void} in #t151);
+ self::throws(() → self::Class* => let final self::Class* #t153 = (let final self::Class* #t154 = c in #t154 == null ?{self::Class*} null : #t154.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t155 = c in let final self::Class* #t156 = #t153.{self::Class::[]}(#t155){(self::Class*) →* self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t157 = #t153.{self::Class::[]=}(#t155, #t156){(self::Class*, self::Class*) →* void} in #t156);
+ self::throws(() → self::Class* => c = let final self::Class* #t158 = (let final self::Class* #t159 = c in #t159 == null ?{self::Class*} null : #t159.{self::Class::field}{self::Class*}).{self::Class::[]}(c){(self::Class*) →* self::Class*} in let final self::Class* #t160 = c in let final self::Class* #t161 = #t158.{self::Class::[]}(#t160){(self::Class*) →* self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t162 = #t158.{self::Class::[]=}(#t160, #t161){(self::Class*, self::Class*) →* void} in #t161);
}
static method operatorAccess(self::Class* c) → void {
- self::throws(() → self::Class* => (let final self::Class* #t163 = c in #t163.{self::Class::==}(null) ?{self::Class*} null : #t163.{self::Class::field}).{self::Class::+}(0));
- self::throws(() → self::Class* => (let final self::Class* #t164 = c in #t164.{self::Class::==}(null) ?{self::Class*} null : #t164.{self::Class::field}).{self::Class::unary-}());
- let final self::Class* #t165 = c in #t165.{self::Class::==}(null) ?{self::Class*} null : #t165.{self::Class::field} = #t165.{self::Class::field}.{self::Class::+}(0);
- c = let final self::Class* #t166 = c in #t166.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t167 = #t166.{self::Class::field}.{self::Class::+}(0) in let final void #t168 = #t166.{self::Class::field} = #t167 in #t167;
- self::throws(() → self::Class* => let final self::Class* #t169 = let final self::Class* #t170 = c in #t170.{self::Class::==}(null) ?{self::Class*} null : #t170.{self::Class::field} in #t169.{self::Class::field} = #t169.{self::Class::field}.{self::Class::+}(0));
- self::throws(() → self::Class* => c = let final self::Class* #t171 = let final self::Class* #t172 = c in #t172.{self::Class::==}(null) ?{self::Class*} null : #t172.{self::Class::field} in #t171.{self::Class::field} = #t171.{self::Class::field}.{self::Class::+}(0));
- let final self::Class* #t173 = c in #t173.{self::Class::==}(null) ?{self::Class*} null : #t173.{self::Class::field} = #t173.{self::Class::field}.{self::Class::+}(1);
- c = let final self::Class* #t174 = c in #t174.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t175 = #t174.{self::Class::field} in let final void #t176 = #t174.{self::Class::field} = #t175.{self::Class::+}(1) in #t175;
- let final self::Class* #t177 = c in #t177.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t178 = #t177.{self::Class::field}.{self::Class::+}(1) in let final void #t179 = #t177.{self::Class::field} = #t178 in #t178;
- c = let final self::Class* #t180 = c in #t180.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t181 = #t180.{self::Class::field}.{self::Class::+}(1) in let final void #t182 = #t180.{self::Class::field} = #t181 in #t181;
+ self::throws(() → self::Class* => (let final self::Class* #t163 = c in #t163 == null ?{self::Class*} null : #t163.{self::Class::field}{self::Class*}).{self::Class::+}(0){(core::int*) →* self::Class*});
+ self::throws(() → self::Class* => (let final self::Class* #t164 = c in #t164 == null ?{self::Class*} null : #t164.{self::Class::field}{self::Class*}).{self::Class::unary-}(){() →* self::Class*});
+ let final self::Class* #t165 = c in #t165 == null ?{self::Class*} null : #t165.{self::Class::field} = #t165.{self::Class::field}{self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*};
+ c = let final self::Class* #t166 = c in #t166 == null ?{self::Class*} null : let final self::Class* #t167 = #t166.{self::Class::field}{self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*} in let final void #t168 = #t166.{self::Class::field} = #t167 in #t167;
+ self::throws(() → self::Class* => let final self::Class* #t169 = let final self::Class* #t170 = c in #t170 == null ?{self::Class*} null : #t170.{self::Class::field}{self::Class*} in #t169.{self::Class::field} = #t169.{self::Class::field}{self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*});
+ self::throws(() → self::Class* => c = let final self::Class* #t171 = let final self::Class* #t172 = c in #t172 == null ?{self::Class*} null : #t172.{self::Class::field}{self::Class*} in #t171.{self::Class::field} = #t171.{self::Class::field}{self::Class*}.{self::Class::+}(0){(core::int*) →* self::Class*});
+ let final self::Class* #t173 = c in #t173 == null ?{self::Class*} null : #t173.{self::Class::field} = #t173.{self::Class::field}{self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*};
+ c = let final self::Class* #t174 = c in #t174 == null ?{self::Class*} null : let final self::Class* #t175 = #t174.{self::Class::field}{self::Class*} in let final void #t176 = #t174.{self::Class::field} = #t175.{self::Class::+}(1){(core::int*) →* self::Class*} in #t175;
+ let final self::Class* #t177 = c in #t177 == null ?{self::Class*} null : let final self::Class* #t178 = #t177.{self::Class::field}{self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t179 = #t177.{self::Class::field} = #t178 in #t178;
+ c = let final self::Class* #t180 = c in #t180 == null ?{self::Class*} null : let final self::Class* #t181 = #t180.{self::Class::field}{self::Class*}.{self::Class::+}(1){(core::int*) →* self::Class*} in let final void #t182 = #t180.{self::Class::field} = #t181 in #t181;
}
static method ifNull(self::Class* c) → void {
- let final self::Class* #t183 = c in #t183.{self::Class::==}(null) ?{self::Class*} null : #t183.{self::Class::field}.{self::Class::==}(null) ?{self::Class*} #t183.{self::Class::field} = c : null;
- c = let final self::Class* #t184 = c in #t184.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t185 = #t184.{self::Class::field} in #t185.{self::Class::==}(null) ?{self::Class*} #t184.{self::Class::field} = c : #t185;
- self::throws(() → self::Class* => let final self::Class* #t186 = let final self::Class* #t187 = c in #t187.{self::Class::==}(null) ?{self::Class*} null : #t187.{self::Class::field} in let final self::Class* #t188 = #t186.{self::Class::field} in #t188.{self::Class::==}(null) ?{self::Class*} #t186.{self::Class::field} = c : #t188);
- self::throws(() → self::Class* => c = let final self::Class* #t189 = let final self::Class* #t190 = c in #t190.{self::Class::==}(null) ?{self::Class*} null : #t190.{self::Class::field} in let final self::Class* #t191 = #t189.{self::Class::field} in #t191.{self::Class::==}(null) ?{self::Class*} #t189.{self::Class::field} = c : #t191);
- self::throws(() → self::Class* => let final self::Class* #t192 = let final self::Class* #t193 = c in #t193.{self::Class::==}(null) ?{self::Class*} null : #t193.{self::Class::field} in let final self::Class* #t194 = c in let final self::Class* #t195 = #t192.{self::Class::[]}(#t194) in #t195.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t196 = c in let final void #t197 = #t192.{self::Class::[]=}(#t194, #t196) in #t196 : #t195);
- self::throws(() → self::Class* => c = let final self::Class* #t198 = let final self::Class* #t199 = c in #t199.{self::Class::==}(null) ?{self::Class*} null : #t199.{self::Class::field} in let final self::Class* #t200 = c in let final self::Class* #t201 = #t198.{self::Class::[]}(#t200) in #t201.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t202 = c in let final void #t203 = #t198.{self::Class::[]=}(#t200, #t202) in #t202 : #t201);
+ let final self::Class* #t183 = c in #t183 == null ?{self::Class*} null : #t183.{self::Class::field}{self::Class*} == null ?{self::Class*} #t183.{self::Class::field} = c : null;
+ c = let final self::Class* #t184 = c in #t184 == null ?{self::Class*} null : let final self::Class* #t185 = #t184.{self::Class::field}{self::Class*} in #t185 == null ?{self::Class*} #t184.{self::Class::field} = c : #t185;
+ self::throws(() → self::Class* => let final self::Class* #t186 = let final self::Class* #t187 = c in #t187 == null ?{self::Class*} null : #t187.{self::Class::field}{self::Class*} in let final self::Class* #t188 = #t186.{self::Class::field}{self::Class*} in #t188 == null ?{self::Class*} #t186.{self::Class::field} = c : #t188);
+ self::throws(() → self::Class* => c = let final self::Class* #t189 = let final self::Class* #t190 = c in #t190 == null ?{self::Class*} null : #t190.{self::Class::field}{self::Class*} in let final self::Class* #t191 = #t189.{self::Class::field}{self::Class*} in #t191 == null ?{self::Class*} #t189.{self::Class::field} = c : #t191);
+ self::throws(() → self::Class* => let final self::Class* #t192 = let final self::Class* #t193 = c in #t193 == null ?{self::Class*} null : #t193.{self::Class::field}{self::Class*} in let final self::Class* #t194 = c in let final self::Class* #t195 = #t192.{self::Class::[]}(#t194){(self::Class*) →* self::Class*} in #t195 == null ?{self::Class*} let final self::Class* #t196 = c in let final void #t197 = #t192.{self::Class::[]=}(#t194, #t196){(self::Class*, self::Class*) →* void} in #t196 : #t195);
+ self::throws(() → self::Class* => c = let final self::Class* #t198 = let final self::Class* #t199 = c in #t199 == null ?{self::Class*} null : #t199.{self::Class::field}{self::Class*} in let final self::Class* #t200 = c in let final self::Class* #t201 = #t198.{self::Class::[]}(#t200){(self::Class*) →* self::Class*} in #t201 == null ?{self::Class*} let final self::Class* #t202 = c in let final void #t203 = #t198.{self::Class::[]=}(#t200, #t202){(self::Class*, self::Class*) →* void} in #t202 : #t201);
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.expect
index a622905..f8fa444 100644
--- a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.expect
@@ -29,7 +29,7 @@
set field = self::Extension|set#field;
}
static method Extension|get#field(lowered final self::Class* #this) → self::Class*
- return #this.{self::Class::_field};
+ return #this.{self::Class::_field}{self::Class*};
static method Extension|set#field(lowered final self::Class* #this, self::Class* value) → void {
#this.{self::Class::_field} = value;
}
@@ -53,125 +53,125 @@
self::ifNull(null);
}
static method propertyAccess(self::Class* c) → void {
- let final self::Class* #t1 = c in #t1.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t1);
- let final self::Class* #t2 = c in #t2.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t2, new self::Class::•());
- c = let final self::Class* #t3 = c in #t3.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t4 = new self::Class::•() in let final void #t5 = self::Extension|set#field(#t3, #t4) in #t4;
- let final self::Class* #t6 = c in #t6.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t6);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t7)));
- let final self::Class* #t8 = let final self::Class* #t9 = c in #t9.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t9) in #t8.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t8);
- self::throws(() → self::Class* => let final self::Class* #t10 = self::Extension|get#field(let final self::Class* #t11 = c in #t11.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t11)) in #t10.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t10));
- self::throws(() → self::Class* => let final self::Class* #t12 = new self::Class::•() in let final void #t13 = self::Extension|set#field(let final self::Class* #t14 = c in #t14.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t14), #t12) in #t12);
- let final self::Class* #t15 = let final self::Class* #t16 = c in #t16.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t16) in #t15.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t15, new self::Class::•());
- self::throws(() → self::Class* => let final self::Class* #t17 = self::Extension|get#field(let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t18)) in #t17.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t19 = new self::Class::•() in let final void #t20 = self::Extension|set#field(#t17, #t19) in #t19);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t21 = c in #t21.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t21)));
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t22 = c in #t22.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t23 = new self::Class::•() in let final void #t24 = self::Extension|set#field(#t22, #t23) in #t23));
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t25 = c in #t25.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t25)));
- self::throws(() → self::Class* => c = let final self::Class* #t26 = new self::Class::•() in let final void #t27 = self::Extension|set#field(let final self::Class* #t28 = c in #t28.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t28), #t26) in #t26);
- c = let final self::Class* #t29 = let final self::Class* #t30 = c in #t30.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t30) in #t29.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t31 = new self::Class::•() in let final void #t32 = self::Extension|set#field(#t29, #t31) in #t31;
- self::throws(() → self::Class* => c = let final self::Class* #t33 = self::Extension|get#field(let final self::Class* #t34 = c in #t34.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t34)) in #t33.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t35 = new self::Class::•() in let final void #t36 = self::Extension|set#field(#t33, #t35) in #t35);
- self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t37 = c in #t37.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t37)));
- let final self::Class* #t38 = c in #t38.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t38, self::Extension|get#field(new self::Class::•()));
- c = let final self::Class* #t39 = c in #t39.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t40 = self::Extension|get#field(new self::Class::•()) in let final void #t41 = self::Extension|set#field(#t39, #t40) in #t40;
- let final self::Class* #t42 = c in #t42.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t42, let final self::Class* #t43 = new self::Class::•() in let final void #t44 = self::Extension|set#field(new self::Class::•(), #t43) in #t43);
- c = let final self::Class* #t45 = c in #t45.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t46 = let final self::Class* #t47 = new self::Class::•() in let final void #t48 = self::Extension|set#field(new self::Class::•(), #t47) in #t47 in let final void #t49 = self::Extension|set#field(#t45, #t46) in #t46;
- let final self::Class* #t50 = c in #t50.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t50, self::Extension|method(new self::Class::•()));
- c = let final self::Class* #t51 = c in #t51.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t52 = self::Extension|method(new self::Class::•()) in let final void #t53 = self::Extension|set#field(#t51, #t52) in #t52;
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t54 = c in #t54.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t54)));
- self::throws(() → self::Class* => let final self::Class* #t55 = new self::Class::•() in let final void #t56 = self::Extension|set#field(let final self::Class* #t57 = c in #t57.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t57), #t55) in #t55);
- self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t58 = c in #t58.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t58)));
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t59 = c in #t59.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t59))));
- self::throws(() → self::Class* => let final self::Class* #t60 = new self::Class::•() in let final void #t61 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t62)), #t60) in #t60);
- self::throws(() → self::Class* => c = let final self::Class* #t63 = new self::Class::•() in let final void #t64 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t65 = c in #t65.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t65)), #t63) in #t63);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t66 = c in #t66.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t66))));
- let final self::Class* #t67 = c in #t67.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t67, self::Extension|get#field(self::Extension|get#field(new self::Class::•())));
- c = let final self::Class* #t68 = c in #t68.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t69 = self::Extension|get#field(self::Extension|get#field(new self::Class::•())) in let final void #t70 = self::Extension|set#field(#t68, #t69) in #t69;
- let final self::Class* #t71 = c in #t71.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t71, let final self::Class* #t72 = new self::Class::•() in let final void #t73 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t72) in #t72);
- c = let final self::Class* #t74 = c in #t74.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t75 = let final self::Class* #t76 = new self::Class::•() in let final void #t77 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t76) in #t76 in let final void #t78 = self::Extension|set#field(#t74, #t75) in #t75;
- let final self::Class* #t79 = c in #t79.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t79, self::Extension|method(self::Extension|get#field(new self::Class::•())));
- c = let final self::Class* #t80 = c in #t80.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t81 = self::Extension|method(self::Extension|get#field(new self::Class::•())) in let final void #t82 = self::Extension|set#field(#t80, #t81) in #t81;
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t83 = c in #t83.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t83))));
- self::throws(() → self::Class* => let final self::Class* #t84 = new self::Class::•() in let final void #t85 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t86 = c in #t86.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t86)), #t84) in #t84);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t87 = c in #t87.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t87))));
- self::throws(() → self::Class* => let final self::Class* #t88 = self::Extension|get#field(new self::Class::•()) in let final void #t89 = self::Extension|set#field(let final self::Class* #t90 = c in #t90.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t90), #t88) in #t88);
- self::throws(() → self::Class* => c = let final self::Class* #t91 = self::Extension|get#field(new self::Class::•()) in let final void #t92 = self::Extension|set#field(let final self::Class* #t93 = c in #t93.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t93), #t91) in #t91);
- self::throws(() → self::Class* => let final self::Class* #t94 = let final self::Class* #t95 = new self::Class::•() in let final void #t96 = self::Extension|set#field(new self::Class::•(), #t95) in #t95 in let final void #t97 = self::Extension|set#field(let final self::Class* #t98 = c in #t98.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t98), #t94) in #t94);
- self::throws(() → self::Class* => c = let final self::Class* #t99 = let final self::Class* #t100 = new self::Class::•() in let final void #t101 = self::Extension|set#field(new self::Class::•(), #t100) in #t100 in let final void #t102 = self::Extension|set#field(let final self::Class* #t103 = c in #t103.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t103), #t99) in #t99);
- self::throws(() → self::Class* => let final self::Class* #t104 = self::Extension|method(new self::Class::•()) in let final void #t105 = self::Extension|set#field(let final self::Class* #t106 = c in #t106.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t106), #t104) in #t104);
- self::throws(() → self::Class* => c = let final self::Class* #t107 = self::Extension|method(new self::Class::•()) in let final void #t108 = self::Extension|set#field(let final self::Class* #t109 = c in #t109.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t109), #t107) in #t107);
- let final self::Class* #t110 = c in #t110.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t110, let final self::Class* #t111 = self::Extension|get#field(new self::Class::•()) in let final void #t112 = self::Extension|set#field(new self::Class::•(), #t111) in #t111);
- c = let final self::Class* #t113 = c in #t113.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t114 = let final self::Class* #t115 = self::Extension|get#field(new self::Class::•()) in let final void #t116 = self::Extension|set#field(new self::Class::•(), #t115) in #t115 in let final void #t117 = self::Extension|set#field(#t113, #t114) in #t114;
- let final self::Class* #t118 = c in #t118.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t118, let final self::Class* #t119 = let final self::Class* #t120 = new self::Class::•() in let final void #t121 = self::Extension|set#field(new self::Class::•(), #t120) in #t120 in let final void #t122 = self::Extension|set#field(new self::Class::•(), #t119) in #t119);
- c = let final self::Class* #t123 = c in #t123.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t124 = let final self::Class* #t125 = let final self::Class* #t126 = new self::Class::•() in let final void #t127 = self::Extension|set#field(new self::Class::•(), #t126) in #t126 in let final void #t128 = self::Extension|set#field(new self::Class::•(), #t125) in #t125 in let final void #t129 = self::Extension|set#field(#t123, #t124) in #t124;
- let final self::Class* #t130 = c in #t130.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t130, let final self::Class* #t131 = self::Extension|method(new self::Class::•()) in let final void #t132 = self::Extension|set#field(new self::Class::•(), #t131) in #t131);
- c = let final self::Class* #t133 = c in #t133.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t134 = let final self::Class* #t135 = self::Extension|method(new self::Class::•()) in let final void #t136 = self::Extension|set#field(new self::Class::•(), #t135) in #t135 in let final void #t137 = self::Extension|set#field(#t133, #t134) in #t134;
- self::throws(() → self::Class* => let final self::Class* #t138 = self::Extension|get#field(new self::Class::•()) in let final void #t139 = self::Extension|set#field(let final self::Class* #t140 = c in #t140.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t140), #t138) in #t138);
- self::throws(() → self::Class* => c = let final self::Class* #t141 = self::Extension|get#field(new self::Class::•()) in let final void #t142 = self::Extension|set#field(let final self::Class* #t143 = c in #t143.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t143), #t141) in #t141);
- self::throws(() → self::Class* => let final self::Class* #t144 = let final self::Class* #t145 = new self::Class::•() in let final void #t146 = self::Extension|set#field(new self::Class::•(), #t145) in #t145 in let final void #t147 = self::Extension|set#field(let final self::Class* #t148 = c in #t148.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t148), #t144) in #t144);
- self::throws(() → self::Class* => c = let final self::Class* #t149 = let final self::Class* #t150 = new self::Class::•() in let final void #t151 = self::Extension|set#field(new self::Class::•(), #t150) in #t150 in let final void #t152 = self::Extension|set#field(let final self::Class* #t153 = c in #t153.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t153), #t149) in #t149);
- self::throws(() → self::Class* => let final self::Class* #t154 = self::Extension|method(new self::Class::•()) in let final void #t155 = self::Extension|set#field(let final self::Class* #t156 = c in #t156.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t156), #t154) in #t154);
- self::throws(() → self::Class* => c = let final self::Class* #t157 = self::Extension|method(new self::Class::•()) in let final void #t158 = self::Extension|set#field(let final self::Class* #t159 = c in #t159.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t159), #t157) in #t157);
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t160 = c in #t160.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t160))));
- self::throws(() → self::Class* => let final self::Class* #t161 = new self::Class::•() in let final void #t162 = self::Extension|set#field(self::Extension|method(let final self::Class* #t163 = c in #t163.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t163)), #t161) in #t161);
- self::throws(() → self::Class* => c = let final self::Class* #t164 = new self::Class::•() in let final void #t165 = self::Extension|set#field(self::Extension|method(let final self::Class* #t166 = c in #t166.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t166)), #t164) in #t164);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t167 = c in #t167.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t167))));
- let final self::Class* #t168 = c in #t168.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t168, self::Extension|get#field(self::Extension|method(new self::Class::•())));
- c = let final self::Class* #t169 = c in #t169.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t170 = self::Extension|get#field(self::Extension|method(new self::Class::•())) in let final void #t171 = self::Extension|set#field(#t169, #t170) in #t170;
- let final self::Class* #t172 = c in #t172.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t172, let final self::Class* #t173 = new self::Class::•() in let final void #t174 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t173) in #t173);
- c = let final self::Class* #t175 = c in #t175.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t176 = let final self::Class* #t177 = new self::Class::•() in let final void #t178 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t177) in #t177 in let final void #t179 = self::Extension|set#field(#t175, #t176) in #t176;
- let final self::Class* #t180 = c in #t180.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t180, self::Extension|method(self::Extension|method(new self::Class::•())));
- c = let final self::Class* #t181 = c in #t181.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t182 = self::Extension|method(self::Extension|method(new self::Class::•())) in let final void #t183 = self::Extension|set#field(#t181, #t182) in #t182;
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t184 = c in #t184.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t184))));
- self::throws(() → self::Class* => let final self::Class* #t185 = new self::Class::•() in let final void #t186 = self::Extension|set#field(self::Extension|method(let final self::Class* #t187 = c in #t187.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t187)), #t185) in #t185);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t188 = c in #t188.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t188))));
- let final self::Class* #t189 = let final self::Class* #t190 = c in #t190.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t190) in #t189.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t189);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t191 = c in #t191.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t191)));
- let final self::Class* #t192 = let final self::Class* #t193 = c in #t193.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t193) in #t192.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t192);
+ let final self::Class* #t1 = c in #t1 == null ?{self::Class*} null : self::Extension|get#field(#t1);
+ let final self::Class* #t2 = c in #t2 == null ?{self::Class*} null : self::Extension|set#field(#t2, new self::Class::•());
+ c = let final self::Class* #t3 = c in #t3 == null ?{self::Class*} null : let final self::Class* #t4 = new self::Class::•() in let final void #t5 = self::Extension|set#field(#t3, #t4) in #t4;
+ let final self::Class* #t6 = c in #t6 == null ?{self::Class*} null : self::Extension|method(#t6);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t7 = c in #t7 == null ?{self::Class*} null : self::Extension|get#field(#t7)));
+ let final self::Class* #t8 = let final self::Class* #t9 = c in #t9 == null ?{self::Class*} null : self::Extension|get#field(#t9) in #t8 == null ?{self::Class*} null : self::Extension|get#field(#t8);
+ self::throws(() → self::Class* => let final self::Class* #t10 = self::Extension|get#field(let final self::Class* #t11 = c in #t11 == null ?{self::Class*} null : self::Extension|get#field(#t11)) in #t10 == null ?{self::Class*} null : self::Extension|get#field(#t10));
+ self::throws(() → self::Class* => let final self::Class* #t12 = new self::Class::•() in let final void #t13 = self::Extension|set#field(let final self::Class* #t14 = c in #t14 == null ?{self::Class*} null : self::Extension|get#field(#t14), #t12) in #t12);
+ let final self::Class* #t15 = let final self::Class* #t16 = c in #t16 == null ?{self::Class*} null : self::Extension|get#field(#t16) in #t15 == null ?{self::Class*} null : self::Extension|set#field(#t15, new self::Class::•());
+ self::throws(() → self::Class* => let final self::Class* #t17 = self::Extension|get#field(let final self::Class* #t18 = c in #t18 == null ?{self::Class*} null : self::Extension|get#field(#t18)) in #t17 == null ?{self::Class*} null : let final self::Class* #t19 = new self::Class::•() in let final void #t20 = self::Extension|set#field(#t17, #t19) in #t19);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t21 = c in #t21 == null ?{self::Class*} null : self::Extension|get#field(#t21)));
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t22 = c in #t22 == null ?{self::Class*} null : let final self::Class* #t23 = new self::Class::•() in let final void #t24 = self::Extension|set#field(#t22, #t23) in #t23));
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t25 = c in #t25 == null ?{self::Class*} null : self::Extension|method(#t25)));
+ self::throws(() → self::Class* => c = let final self::Class* #t26 = new self::Class::•() in let final void #t27 = self::Extension|set#field(let final self::Class* #t28 = c in #t28 == null ?{self::Class*} null : self::Extension|get#field(#t28), #t26) in #t26);
+ c = let final self::Class* #t29 = let final self::Class* #t30 = c in #t30 == null ?{self::Class*} null : self::Extension|get#field(#t30) in #t29 == null ?{self::Class*} null : let final self::Class* #t31 = new self::Class::•() in let final void #t32 = self::Extension|set#field(#t29, #t31) in #t31;
+ self::throws(() → self::Class* => c = let final self::Class* #t33 = self::Extension|get#field(let final self::Class* #t34 = c in #t34 == null ?{self::Class*} null : self::Extension|get#field(#t34)) in #t33 == null ?{self::Class*} null : let final self::Class* #t35 = new self::Class::•() in let final void #t36 = self::Extension|set#field(#t33, #t35) in #t35);
+ self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t37 = c in #t37 == null ?{self::Class*} null : self::Extension|get#field(#t37)));
+ let final self::Class* #t38 = c in #t38 == null ?{self::Class*} null : self::Extension|set#field(#t38, self::Extension|get#field(new self::Class::•()));
+ c = let final self::Class* #t39 = c in #t39 == null ?{self::Class*} null : let final self::Class* #t40 = self::Extension|get#field(new self::Class::•()) in let final void #t41 = self::Extension|set#field(#t39, #t40) in #t40;
+ let final self::Class* #t42 = c in #t42 == null ?{self::Class*} null : self::Extension|set#field(#t42, let final self::Class* #t43 = new self::Class::•() in let final void #t44 = self::Extension|set#field(new self::Class::•(), #t43) in #t43);
+ c = let final self::Class* #t45 = c in #t45 == null ?{self::Class*} null : let final self::Class* #t46 = let final self::Class* #t47 = new self::Class::•() in let final void #t48 = self::Extension|set#field(new self::Class::•(), #t47) in #t47 in let final void #t49 = self::Extension|set#field(#t45, #t46) in #t46;
+ let final self::Class* #t50 = c in #t50 == null ?{self::Class*} null : self::Extension|set#field(#t50, self::Extension|method(new self::Class::•()));
+ c = let final self::Class* #t51 = c in #t51 == null ?{self::Class*} null : let final self::Class* #t52 = self::Extension|method(new self::Class::•()) in let final void #t53 = self::Extension|set#field(#t51, #t52) in #t52;
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t54 = c in #t54 == null ?{self::Class*} null : self::Extension|method(#t54)));
+ self::throws(() → self::Class* => let final self::Class* #t55 = new self::Class::•() in let final void #t56 = self::Extension|set#field(let final self::Class* #t57 = c in #t57 == null ?{self::Class*} null : self::Extension|method(#t57), #t55) in #t55);
+ self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t58 = c in #t58 == null ?{self::Class*} null : self::Extension|method(#t58)));
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t59 = c in #t59 == null ?{self::Class*} null : self::Extension|get#field(#t59))));
+ self::throws(() → self::Class* => let final self::Class* #t60 = new self::Class::•() in let final void #t61 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t62 = c in #t62 == null ?{self::Class*} null : self::Extension|get#field(#t62)), #t60) in #t60);
+ self::throws(() → self::Class* => c = let final self::Class* #t63 = new self::Class::•() in let final void #t64 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t65 = c in #t65 == null ?{self::Class*} null : self::Extension|get#field(#t65)), #t63) in #t63);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t66 = c in #t66 == null ?{self::Class*} null : self::Extension|get#field(#t66))));
+ let final self::Class* #t67 = c in #t67 == null ?{self::Class*} null : self::Extension|set#field(#t67, self::Extension|get#field(self::Extension|get#field(new self::Class::•())));
+ c = let final self::Class* #t68 = c in #t68 == null ?{self::Class*} null : let final self::Class* #t69 = self::Extension|get#field(self::Extension|get#field(new self::Class::•())) in let final void #t70 = self::Extension|set#field(#t68, #t69) in #t69;
+ let final self::Class* #t71 = c in #t71 == null ?{self::Class*} null : self::Extension|set#field(#t71, let final self::Class* #t72 = new self::Class::•() in let final void #t73 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t72) in #t72);
+ c = let final self::Class* #t74 = c in #t74 == null ?{self::Class*} null : let final self::Class* #t75 = let final self::Class* #t76 = new self::Class::•() in let final void #t77 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t76) in #t76 in let final void #t78 = self::Extension|set#field(#t74, #t75) in #t75;
+ let final self::Class* #t79 = c in #t79 == null ?{self::Class*} null : self::Extension|set#field(#t79, self::Extension|method(self::Extension|get#field(new self::Class::•())));
+ c = let final self::Class* #t80 = c in #t80 == null ?{self::Class*} null : let final self::Class* #t81 = self::Extension|method(self::Extension|get#field(new self::Class::•())) in let final void #t82 = self::Extension|set#field(#t80, #t81) in #t81;
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t83 = c in #t83 == null ?{self::Class*} null : self::Extension|method(#t83))));
+ self::throws(() → self::Class* => let final self::Class* #t84 = new self::Class::•() in let final void #t85 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t86 = c in #t86 == null ?{self::Class*} null : self::Extension|method(#t86)), #t84) in #t84);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t87 = c in #t87 == null ?{self::Class*} null : self::Extension|method(#t87))));
+ self::throws(() → self::Class* => let final self::Class* #t88 = self::Extension|get#field(new self::Class::•()) in let final void #t89 = self::Extension|set#field(let final self::Class* #t90 = c in #t90 == null ?{self::Class*} null : self::Extension|get#field(#t90), #t88) in #t88);
+ self::throws(() → self::Class* => c = let final self::Class* #t91 = self::Extension|get#field(new self::Class::•()) in let final void #t92 = self::Extension|set#field(let final self::Class* #t93 = c in #t93 == null ?{self::Class*} null : self::Extension|get#field(#t93), #t91) in #t91);
+ self::throws(() → self::Class* => let final self::Class* #t94 = let final self::Class* #t95 = new self::Class::•() in let final void #t96 = self::Extension|set#field(new self::Class::•(), #t95) in #t95 in let final void #t97 = self::Extension|set#field(let final self::Class* #t98 = c in #t98 == null ?{self::Class*} null : self::Extension|get#field(#t98), #t94) in #t94);
+ self::throws(() → self::Class* => c = let final self::Class* #t99 = let final self::Class* #t100 = new self::Class::•() in let final void #t101 = self::Extension|set#field(new self::Class::•(), #t100) in #t100 in let final void #t102 = self::Extension|set#field(let final self::Class* #t103 = c in #t103 == null ?{self::Class*} null : self::Extension|get#field(#t103), #t99) in #t99);
+ self::throws(() → self::Class* => let final self::Class* #t104 = self::Extension|method(new self::Class::•()) in let final void #t105 = self::Extension|set#field(let final self::Class* #t106 = c in #t106 == null ?{self::Class*} null : self::Extension|get#field(#t106), #t104) in #t104);
+ self::throws(() → self::Class* => c = let final self::Class* #t107 = self::Extension|method(new self::Class::•()) in let final void #t108 = self::Extension|set#field(let final self::Class* #t109 = c in #t109 == null ?{self::Class*} null : self::Extension|get#field(#t109), #t107) in #t107);
+ let final self::Class* #t110 = c in #t110 == null ?{self::Class*} null : self::Extension|set#field(#t110, let final self::Class* #t111 = self::Extension|get#field(new self::Class::•()) in let final void #t112 = self::Extension|set#field(new self::Class::•(), #t111) in #t111);
+ c = let final self::Class* #t113 = c in #t113 == null ?{self::Class*} null : let final self::Class* #t114 = let final self::Class* #t115 = self::Extension|get#field(new self::Class::•()) in let final void #t116 = self::Extension|set#field(new self::Class::•(), #t115) in #t115 in let final void #t117 = self::Extension|set#field(#t113, #t114) in #t114;
+ let final self::Class* #t118 = c in #t118 == null ?{self::Class*} null : self::Extension|set#field(#t118, let final self::Class* #t119 = let final self::Class* #t120 = new self::Class::•() in let final void #t121 = self::Extension|set#field(new self::Class::•(), #t120) in #t120 in let final void #t122 = self::Extension|set#field(new self::Class::•(), #t119) in #t119);
+ c = let final self::Class* #t123 = c in #t123 == null ?{self::Class*} null : let final self::Class* #t124 = let final self::Class* #t125 = let final self::Class* #t126 = new self::Class::•() in let final void #t127 = self::Extension|set#field(new self::Class::•(), #t126) in #t126 in let final void #t128 = self::Extension|set#field(new self::Class::•(), #t125) in #t125 in let final void #t129 = self::Extension|set#field(#t123, #t124) in #t124;
+ let final self::Class* #t130 = c in #t130 == null ?{self::Class*} null : self::Extension|set#field(#t130, let final self::Class* #t131 = self::Extension|method(new self::Class::•()) in let final void #t132 = self::Extension|set#field(new self::Class::•(), #t131) in #t131);
+ c = let final self::Class* #t133 = c in #t133 == null ?{self::Class*} null : let final self::Class* #t134 = let final self::Class* #t135 = self::Extension|method(new self::Class::•()) in let final void #t136 = self::Extension|set#field(new self::Class::•(), #t135) in #t135 in let final void #t137 = self::Extension|set#field(#t133, #t134) in #t134;
+ self::throws(() → self::Class* => let final self::Class* #t138 = self::Extension|get#field(new self::Class::•()) in let final void #t139 = self::Extension|set#field(let final self::Class* #t140 = c in #t140 == null ?{self::Class*} null : self::Extension|method(#t140), #t138) in #t138);
+ self::throws(() → self::Class* => c = let final self::Class* #t141 = self::Extension|get#field(new self::Class::•()) in let final void #t142 = self::Extension|set#field(let final self::Class* #t143 = c in #t143 == null ?{self::Class*} null : self::Extension|method(#t143), #t141) in #t141);
+ self::throws(() → self::Class* => let final self::Class* #t144 = let final self::Class* #t145 = new self::Class::•() in let final void #t146 = self::Extension|set#field(new self::Class::•(), #t145) in #t145 in let final void #t147 = self::Extension|set#field(let final self::Class* #t148 = c in #t148 == null ?{self::Class*} null : self::Extension|method(#t148), #t144) in #t144);
+ self::throws(() → self::Class* => c = let final self::Class* #t149 = let final self::Class* #t150 = new self::Class::•() in let final void #t151 = self::Extension|set#field(new self::Class::•(), #t150) in #t150 in let final void #t152 = self::Extension|set#field(let final self::Class* #t153 = c in #t153 == null ?{self::Class*} null : self::Extension|method(#t153), #t149) in #t149);
+ self::throws(() → self::Class* => let final self::Class* #t154 = self::Extension|method(new self::Class::•()) in let final void #t155 = self::Extension|set#field(let final self::Class* #t156 = c in #t156 == null ?{self::Class*} null : self::Extension|method(#t156), #t154) in #t154);
+ self::throws(() → self::Class* => c = let final self::Class* #t157 = self::Extension|method(new self::Class::•()) in let final void #t158 = self::Extension|set#field(let final self::Class* #t159 = c in #t159 == null ?{self::Class*} null : self::Extension|method(#t159), #t157) in #t157);
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t160 = c in #t160 == null ?{self::Class*} null : self::Extension|get#field(#t160))));
+ self::throws(() → self::Class* => let final self::Class* #t161 = new self::Class::•() in let final void #t162 = self::Extension|set#field(self::Extension|method(let final self::Class* #t163 = c in #t163 == null ?{self::Class*} null : self::Extension|get#field(#t163)), #t161) in #t161);
+ self::throws(() → self::Class* => c = let final self::Class* #t164 = new self::Class::•() in let final void #t165 = self::Extension|set#field(self::Extension|method(let final self::Class* #t166 = c in #t166 == null ?{self::Class*} null : self::Extension|get#field(#t166)), #t164) in #t164);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t167 = c in #t167 == null ?{self::Class*} null : self::Extension|get#field(#t167))));
+ let final self::Class* #t168 = c in #t168 == null ?{self::Class*} null : self::Extension|set#field(#t168, self::Extension|get#field(self::Extension|method(new self::Class::•())));
+ c = let final self::Class* #t169 = c in #t169 == null ?{self::Class*} null : let final self::Class* #t170 = self::Extension|get#field(self::Extension|method(new self::Class::•())) in let final void #t171 = self::Extension|set#field(#t169, #t170) in #t170;
+ let final self::Class* #t172 = c in #t172 == null ?{self::Class*} null : self::Extension|set#field(#t172, let final self::Class* #t173 = new self::Class::•() in let final void #t174 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t173) in #t173);
+ c = let final self::Class* #t175 = c in #t175 == null ?{self::Class*} null : let final self::Class* #t176 = let final self::Class* #t177 = new self::Class::•() in let final void #t178 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t177) in #t177 in let final void #t179 = self::Extension|set#field(#t175, #t176) in #t176;
+ let final self::Class* #t180 = c in #t180 == null ?{self::Class*} null : self::Extension|set#field(#t180, self::Extension|method(self::Extension|method(new self::Class::•())));
+ c = let final self::Class* #t181 = c in #t181 == null ?{self::Class*} null : let final self::Class* #t182 = self::Extension|method(self::Extension|method(new self::Class::•())) in let final void #t183 = self::Extension|set#field(#t181, #t182) in #t182;
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t184 = c in #t184 == null ?{self::Class*} null : self::Extension|method(#t184))));
+ self::throws(() → self::Class* => let final self::Class* #t185 = new self::Class::•() in let final void #t186 = self::Extension|set#field(self::Extension|method(let final self::Class* #t187 = c in #t187 == null ?{self::Class*} null : self::Extension|method(#t187)), #t185) in #t185);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t188 = c in #t188 == null ?{self::Class*} null : self::Extension|method(#t188))));
+ let final self::Class* #t189 = let final self::Class* #t190 = c in #t190 == null ?{self::Class*} null : self::Extension|method(#t190) in #t189 == null ?{self::Class*} null : self::Extension|method(#t189);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t191 = c in #t191 == null ?{self::Class*} null : self::Extension|get#field(#t191)));
+ let final self::Class* #t192 = let final self::Class* #t193 = c in #t193 == null ?{self::Class*} null : self::Extension|get#field(#t193) in #t192 == null ?{self::Class*} null : self::Extension|get#field(#t192);
}
static method indexAccess(self::Class* c) → void {
- self::throws(() → self::Class* => self::Extension|[](let final self::Class* #t194 = c in #t194.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t194), c));
- self::throws(() → self::Class* => let final self::Class* #t195 = let final self::Class* #t196 = c in #t196.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t196) in let final self::Class* #t197 = c in let final self::Class* #t198 = new self::Class::•() in let final void #t199 = self::Extension|[]=(#t195, #t197, #t198) in #t198);
- self::throws(() → self::Class* => c = let final self::Class* #t200 = let final self::Class* #t201 = c in #t201.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t201) in let final self::Class* #t202 = c in let final self::Class* #t203 = new self::Class::•() in let final void #t204 = self::Extension|[]=(#t200, #t202, #t203) in #t203);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|[](let final self::Class* #t205 = c in #t205.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t205), c)));
- self::throws(() → self::Class* => let final self::Class* #t206 = let final self::Class* #t207 = c in #t207.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t207) in let final self::Class* #t208 = c in let final self::Class* #t209 = self::Extension|+(self::Extension|[](#t206, #t208), 0) in let final void #t210 = self::Extension|[]=(#t206, #t208, #t209) in #t209);
- self::throws(() → self::Class* => c = let final self::Class* #t211 = let final self::Class* #t212 = c in #t212.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t212) in let final self::Class* #t213 = c in let final self::Class* #t214 = self::Extension|+(self::Extension|[](#t211, #t213), 0) in let final void #t215 = self::Extension|[]=(#t211, #t213, #t214) in #t214);
- self::throws(() → self::Class* => let final self::Class* #t216 = let final self::Class* #t217 = c in #t217.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t217) in let final self::Class* #t218 = c in let final self::Class* #t219 = self::Extension|[](#t216, #t218) in let final void #t220 = self::Extension|[]=(#t216, #t218, self::Extension|+(#t219, 1)) in #t219);
- self::throws(() → self::Class* => c = let final self::Class* #t221 = let final self::Class* #t222 = c in #t222.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t222) in let final self::Class* #t223 = c in let final self::Class* #t224 = self::Extension|[](#t221, #t223) in let final void #t225 = self::Extension|[]=(#t221, #t223, self::Extension|+(#t224, 1)) in #t224);
- self::throws(() → self::Class* => let final self::Class* #t226 = let final self::Class* #t227 = c in #t227.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t227) in let final self::Class* #t228 = c in let final self::Class* #t229 = self::Extension|+(self::Extension|[](#t226, #t228), 1) in let final void #t230 = self::Extension|[]=(#t226, #t228, #t229) in #t229);
- self::throws(() → self::Class* => c = let final self::Class* #t231 = let final self::Class* #t232 = c in #t232.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t232) in let final self::Class* #t233 = c in let final self::Class* #t234 = self::Extension|+(self::Extension|[](#t231, #t233), 1) in let final void #t235 = self::Extension|[]=(#t231, #t233, #t234) in #t234);
- self::throws(() → self::Class* => self::Extension|[](self::Extension|[](let final self::Class* #t236 = c in #t236.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t236), c), c));
- self::throws(() → self::Class* => let final self::Class* #t237 = self::Extension|[](let final self::Class* #t238 = c in #t238.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t238), c) in let final self::Class* #t239 = c in let final self::Class* #t240 = new self::Class::•() in let final void #t241 = self::Extension|[]=(#t237, #t239, #t240) in #t240);
- self::throws(() → self::Class* => c = let final self::Class* #t242 = self::Extension|[](let final self::Class* #t243 = c in #t243.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t243), c) in let final self::Class* #t244 = c in let final self::Class* #t245 = new self::Class::•() in let final void #t246 = self::Extension|[]=(#t242, #t244, #t245) in #t245);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|[](self::Extension|[](let final self::Class* #t247 = c in #t247.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t247), c), c)));
- self::throws(() → self::Class* => let final self::Class* #t248 = self::Extension|[](let final self::Class* #t249 = c in #t249.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t249), c) in let final self::Class* #t250 = c in let final self::Class* #t251 = self::Extension|+(self::Extension|[](#t248, #t250), 0) in let final void #t252 = self::Extension|[]=(#t248, #t250, #t251) in #t251);
- self::throws(() → self::Class* => c = let final self::Class* #t253 = self::Extension|[](let final self::Class* #t254 = c in #t254.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t254), c) in let final self::Class* #t255 = c in let final self::Class* #t256 = self::Extension|+(self::Extension|[](#t253, #t255), 0) in let final void #t257 = self::Extension|[]=(#t253, #t255, #t256) in #t256);
- self::throws(() → self::Class* => let final self::Class* #t258 = self::Extension|[](let final self::Class* #t259 = c in #t259.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t259), c) in let final self::Class* #t260 = c in let final self::Class* #t261 = self::Extension|[](#t258, #t260) in let final void #t262 = self::Extension|[]=(#t258, #t260, self::Extension|+(#t261, 1)) in #t261);
- self::throws(() → self::Class* => c = let final self::Class* #t263 = self::Extension|[](let final self::Class* #t264 = c in #t264.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t264), c) in let final self::Class* #t265 = c in let final self::Class* #t266 = self::Extension|[](#t263, #t265) in let final void #t267 = self::Extension|[]=(#t263, #t265, self::Extension|+(#t266, 1)) in #t266);
- self::throws(() → self::Class* => let final self::Class* #t268 = self::Extension|[](let final self::Class* #t269 = c in #t269.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t269), c) in let final self::Class* #t270 = c in let final self::Class* #t271 = self::Extension|+(self::Extension|[](#t268, #t270), 1) in let final void #t272 = self::Extension|[]=(#t268, #t270, #t271) in #t271);
- self::throws(() → self::Class* => c = let final self::Class* #t273 = self::Extension|[](let final self::Class* #t274 = c in #t274.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t274), c) in let final self::Class* #t275 = c in let final self::Class* #t276 = self::Extension|+(self::Extension|[](#t273, #t275), 1) in let final void #t277 = self::Extension|[]=(#t273, #t275, #t276) in #t276);
+ self::throws(() → self::Class* => self::Extension|[](let final self::Class* #t194 = c in #t194 == null ?{self::Class*} null : self::Extension|get#field(#t194), c));
+ self::throws(() → self::Class* => let final self::Class* #t195 = let final self::Class* #t196 = c in #t196 == null ?{self::Class*} null : self::Extension|get#field(#t196) in let final self::Class* #t197 = c in let final self::Class* #t198 = new self::Class::•() in let final void #t199 = self::Extension|[]=(#t195, #t197, #t198) in #t198);
+ self::throws(() → self::Class* => c = let final self::Class* #t200 = let final self::Class* #t201 = c in #t201 == null ?{self::Class*} null : self::Extension|get#field(#t201) in let final self::Class* #t202 = c in let final self::Class* #t203 = new self::Class::•() in let final void #t204 = self::Extension|[]=(#t200, #t202, #t203) in #t203);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|[](let final self::Class* #t205 = c in #t205 == null ?{self::Class*} null : self::Extension|get#field(#t205), c)));
+ self::throws(() → self::Class* => let final self::Class* #t206 = let final self::Class* #t207 = c in #t207 == null ?{self::Class*} null : self::Extension|get#field(#t207) in let final self::Class* #t208 = c in let final self::Class* #t209 = self::Extension|+(self::Extension|[](#t206, #t208), 0) in let final void #t210 = self::Extension|[]=(#t206, #t208, #t209) in #t209);
+ self::throws(() → self::Class* => c = let final self::Class* #t211 = let final self::Class* #t212 = c in #t212 == null ?{self::Class*} null : self::Extension|get#field(#t212) in let final self::Class* #t213 = c in let final self::Class* #t214 = self::Extension|+(self::Extension|[](#t211, #t213), 0) in let final void #t215 = self::Extension|[]=(#t211, #t213, #t214) in #t214);
+ self::throws(() → self::Class* => let final self::Class* #t216 = let final self::Class* #t217 = c in #t217 == null ?{self::Class*} null : self::Extension|get#field(#t217) in let final self::Class* #t218 = c in let final self::Class* #t219 = self::Extension|[](#t216, #t218) in let final void #t220 = self::Extension|[]=(#t216, #t218, self::Extension|+(#t219, 1)) in #t219);
+ self::throws(() → self::Class* => c = let final self::Class* #t221 = let final self::Class* #t222 = c in #t222 == null ?{self::Class*} null : self::Extension|get#field(#t222) in let final self::Class* #t223 = c in let final self::Class* #t224 = self::Extension|[](#t221, #t223) in let final void #t225 = self::Extension|[]=(#t221, #t223, self::Extension|+(#t224, 1)) in #t224);
+ self::throws(() → self::Class* => let final self::Class* #t226 = let final self::Class* #t227 = c in #t227 == null ?{self::Class*} null : self::Extension|get#field(#t227) in let final self::Class* #t228 = c in let final self::Class* #t229 = self::Extension|+(self::Extension|[](#t226, #t228), 1) in let final void #t230 = self::Extension|[]=(#t226, #t228, #t229) in #t229);
+ self::throws(() → self::Class* => c = let final self::Class* #t231 = let final self::Class* #t232 = c in #t232 == null ?{self::Class*} null : self::Extension|get#field(#t232) in let final self::Class* #t233 = c in let final self::Class* #t234 = self::Extension|+(self::Extension|[](#t231, #t233), 1) in let final void #t235 = self::Extension|[]=(#t231, #t233, #t234) in #t234);
+ self::throws(() → self::Class* => self::Extension|[](self::Extension|[](let final self::Class* #t236 = c in #t236 == null ?{self::Class*} null : self::Extension|get#field(#t236), c), c));
+ self::throws(() → self::Class* => let final self::Class* #t237 = self::Extension|[](let final self::Class* #t238 = c in #t238 == null ?{self::Class*} null : self::Extension|get#field(#t238), c) in let final self::Class* #t239 = c in let final self::Class* #t240 = new self::Class::•() in let final void #t241 = self::Extension|[]=(#t237, #t239, #t240) in #t240);
+ self::throws(() → self::Class* => c = let final self::Class* #t242 = self::Extension|[](let final self::Class* #t243 = c in #t243 == null ?{self::Class*} null : self::Extension|get#field(#t243), c) in let final self::Class* #t244 = c in let final self::Class* #t245 = new self::Class::•() in let final void #t246 = self::Extension|[]=(#t242, #t244, #t245) in #t245);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|[](self::Extension|[](let final self::Class* #t247 = c in #t247 == null ?{self::Class*} null : self::Extension|get#field(#t247), c), c)));
+ self::throws(() → self::Class* => let final self::Class* #t248 = self::Extension|[](let final self::Class* #t249 = c in #t249 == null ?{self::Class*} null : self::Extension|get#field(#t249), c) in let final self::Class* #t250 = c in let final self::Class* #t251 = self::Extension|+(self::Extension|[](#t248, #t250), 0) in let final void #t252 = self::Extension|[]=(#t248, #t250, #t251) in #t251);
+ self::throws(() → self::Class* => c = let final self::Class* #t253 = self::Extension|[](let final self::Class* #t254 = c in #t254 == null ?{self::Class*} null : self::Extension|get#field(#t254), c) in let final self::Class* #t255 = c in let final self::Class* #t256 = self::Extension|+(self::Extension|[](#t253, #t255), 0) in let final void #t257 = self::Extension|[]=(#t253, #t255, #t256) in #t256);
+ self::throws(() → self::Class* => let final self::Class* #t258 = self::Extension|[](let final self::Class* #t259 = c in #t259 == null ?{self::Class*} null : self::Extension|get#field(#t259), c) in let final self::Class* #t260 = c in let final self::Class* #t261 = self::Extension|[](#t258, #t260) in let final void #t262 = self::Extension|[]=(#t258, #t260, self::Extension|+(#t261, 1)) in #t261);
+ self::throws(() → self::Class* => c = let final self::Class* #t263 = self::Extension|[](let final self::Class* #t264 = c in #t264 == null ?{self::Class*} null : self::Extension|get#field(#t264), c) in let final self::Class* #t265 = c in let final self::Class* #t266 = self::Extension|[](#t263, #t265) in let final void #t267 = self::Extension|[]=(#t263, #t265, self::Extension|+(#t266, 1)) in #t266);
+ self::throws(() → self::Class* => let final self::Class* #t268 = self::Extension|[](let final self::Class* #t269 = c in #t269 == null ?{self::Class*} null : self::Extension|get#field(#t269), c) in let final self::Class* #t270 = c in let final self::Class* #t271 = self::Extension|+(self::Extension|[](#t268, #t270), 1) in let final void #t272 = self::Extension|[]=(#t268, #t270, #t271) in #t271);
+ self::throws(() → self::Class* => c = let final self::Class* #t273 = self::Extension|[](let final self::Class* #t274 = c in #t274 == null ?{self::Class*} null : self::Extension|get#field(#t274), c) in let final self::Class* #t275 = c in let final self::Class* #t276 = self::Extension|+(self::Extension|[](#t273, #t275), 1) in let final void #t277 = self::Extension|[]=(#t273, #t275, #t276) in #t276);
}
static method operatorAccess(self::Class* c) → void {
- self::throws(() → self::Class* => self::Extension|+(let final self::Class* #t278 = c in #t278.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t278), 0));
- self::throws(() → self::Class* => self::Extension|unary-(let final self::Class* #t279 = c in #t279.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t279)));
- let final self::Class* #t280 = c in #t280.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t280, self::Extension|+(self::Extension|get#field(#t280), 0));
- c = let final self::Class* #t281 = c in #t281.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t282 = self::Extension|+(self::Extension|get#field(#t281), 0) in let final void #t283 = self::Extension|set#field(#t281, #t282) in #t282;
- self::throws(() → self::Class* => let final self::Class* #t284 = let final self::Class* #t285 = c in #t285.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t285) in let final self::Class* #t286 = self::Extension|+(self::Extension|get#field(#t284), 0) in let final void #t287 = self::Extension|set#field(#t284, #t286) in #t286);
- self::throws(() → self::Class* => c = let final self::Class* #t288 = let final self::Class* #t289 = c in #t289.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t289) in let final self::Class* #t290 = self::Extension|+(self::Extension|get#field(#t288), 0) in let final void #t291 = self::Extension|set#field(#t288, #t290) in #t290);
- let final self::Class* #t292 = c in #t292.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t292, self::Extension|+(self::Extension|get#field(#t292), 1));
- c = let final self::Class* #t293 = c in #t293.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t294 = self::Extension|get#field(#t293) in let final self::Class* #t295 = let final self::Class* #t296 = self::Extension|+(#t294, 1) in let final void #t297 = self::Extension|set#field(#t293, #t296) in #t296 in #t294;
- let final self::Class* #t298 = c in #t298.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t299 = self::Extension|+(self::Extension|get#field(#t298), 1) in let final void #t300 = self::Extension|set#field(#t298, #t299) in #t299;
- c = let final self::Class* #t301 = c in #t301.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t302 = self::Extension|+(self::Extension|get#field(#t301), 1) in let final void #t303 = self::Extension|set#field(#t301, #t302) in #t302;
+ self::throws(() → self::Class* => self::Extension|+(let final self::Class* #t278 = c in #t278 == null ?{self::Class*} null : self::Extension|get#field(#t278), 0));
+ self::throws(() → self::Class* => self::Extension|unary-(let final self::Class* #t279 = c in #t279 == null ?{self::Class*} null : self::Extension|get#field(#t279)));
+ let final self::Class* #t280 = c in #t280 == null ?{self::Class*} null : self::Extension|set#field(#t280, self::Extension|+(self::Extension|get#field(#t280), 0));
+ c = let final self::Class* #t281 = c in #t281 == null ?{self::Class*} null : let final self::Class* #t282 = self::Extension|+(self::Extension|get#field(#t281), 0) in let final void #t283 = self::Extension|set#field(#t281, #t282) in #t282;
+ self::throws(() → self::Class* => let final self::Class* #t284 = let final self::Class* #t285 = c in #t285 == null ?{self::Class*} null : self::Extension|get#field(#t285) in let final self::Class* #t286 = self::Extension|+(self::Extension|get#field(#t284), 0) in let final void #t287 = self::Extension|set#field(#t284, #t286) in #t286);
+ self::throws(() → self::Class* => c = let final self::Class* #t288 = let final self::Class* #t289 = c in #t289 == null ?{self::Class*} null : self::Extension|get#field(#t289) in let final self::Class* #t290 = self::Extension|+(self::Extension|get#field(#t288), 0) in let final void #t291 = self::Extension|set#field(#t288, #t290) in #t290);
+ let final self::Class* #t292 = c in #t292 == null ?{self::Class*} null : self::Extension|set#field(#t292, self::Extension|+(self::Extension|get#field(#t292), 1));
+ c = let final self::Class* #t293 = c in #t293 == null ?{self::Class*} null : let final self::Class* #t294 = self::Extension|get#field(#t293) in let final self::Class* #t295 = let final self::Class* #t296 = self::Extension|+(#t294, 1) in let final void #t297 = self::Extension|set#field(#t293, #t296) in #t296 in #t294;
+ let final self::Class* #t298 = c in #t298 == null ?{self::Class*} null : let final self::Class* #t299 = self::Extension|+(self::Extension|get#field(#t298), 1) in let final void #t300 = self::Extension|set#field(#t298, #t299) in #t299;
+ c = let final self::Class* #t301 = c in #t301 == null ?{self::Class*} null : let final self::Class* #t302 = self::Extension|+(self::Extension|get#field(#t301), 1) in let final void #t303 = self::Extension|set#field(#t301, #t302) in #t302;
}
static method ifNull(self::Class* c) → void {
- let final self::Class* #t304 = c in #t304.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t304).{self::Class::==}(null) ?{self::Class*} self::Extension|set#field(#t304, c) : null;
- c = let final self::Class* #t305 = c in #t305.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t306 = self::Extension|get#field(#t305) in #t306.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t307 = c in let final void #t308 = self::Extension|set#field(#t305, #t307) in #t307 : #t306;
- self::throws(() → self::Class* => let final self::Class* #t309 = let final self::Class* #t310 = c in #t310.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t310) in let final self::Class* #t311 = self::Extension|get#field(#t309) in #t311.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t312 = c in let final void #t313 = self::Extension|set#field(#t309, #t312) in #t312 : #t311);
- self::throws(() → self::Class* => c = let final self::Class* #t314 = let final self::Class* #t315 = c in #t315.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t315) in let final self::Class* #t316 = self::Extension|get#field(#t314) in #t316.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t317 = c in let final void #t318 = self::Extension|set#field(#t314, #t317) in #t317 : #t316);
- self::throws(() → self::Class* => let final self::Class* #t319 = let final self::Class* #t320 = c in #t320.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t320) in let final self::Class* #t321 = c in let final self::Class* #t322 = self::Extension|[](#t319, #t321) in #t322.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t323 = c in let final void #t324 = self::Extension|[]=(#t319, #t321, #t323) in #t323 : #t322);
- self::throws(() → self::Class* => c = let final self::Class* #t325 = let final self::Class* #t326 = c in #t326.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t326) in let final self::Class* #t327 = c in let final self::Class* #t328 = self::Extension|[](#t325, #t327) in #t328.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t329 = c in let final void #t330 = self::Extension|[]=(#t325, #t327, #t329) in #t329 : #t328);
+ let final self::Class* #t304 = c in #t304 == null ?{self::Class*} null : self::Extension|get#field(#t304) == null ?{self::Class*} self::Extension|set#field(#t304, c) : null;
+ c = let final self::Class* #t305 = c in #t305 == null ?{self::Class*} null : let final self::Class* #t306 = self::Extension|get#field(#t305) in #t306 == null ?{self::Class*} let final self::Class* #t307 = c in let final void #t308 = self::Extension|set#field(#t305, #t307) in #t307 : #t306;
+ self::throws(() → self::Class* => let final self::Class* #t309 = let final self::Class* #t310 = c in #t310 == null ?{self::Class*} null : self::Extension|get#field(#t310) in let final self::Class* #t311 = self::Extension|get#field(#t309) in #t311 == null ?{self::Class*} let final self::Class* #t312 = c in let final void #t313 = self::Extension|set#field(#t309, #t312) in #t312 : #t311);
+ self::throws(() → self::Class* => c = let final self::Class* #t314 = let final self::Class* #t315 = c in #t315 == null ?{self::Class*} null : self::Extension|get#field(#t315) in let final self::Class* #t316 = self::Extension|get#field(#t314) in #t316 == null ?{self::Class*} let final self::Class* #t317 = c in let final void #t318 = self::Extension|set#field(#t314, #t317) in #t317 : #t316);
+ self::throws(() → self::Class* => let final self::Class* #t319 = let final self::Class* #t320 = c in #t320 == null ?{self::Class*} null : self::Extension|get#field(#t320) in let final self::Class* #t321 = c in let final self::Class* #t322 = self::Extension|[](#t319, #t321) in #t322 == null ?{self::Class*} let final self::Class* #t323 = c in let final void #t324 = self::Extension|[]=(#t319, #t321, #t323) in #t323 : #t322);
+ self::throws(() → self::Class* => c = let final self::Class* #t325 = let final self::Class* #t326 = c in #t326 == null ?{self::Class*} null : self::Extension|get#field(#t326) in let final self::Class* #t327 = c in let final self::Class* #t328 = self::Extension|[](#t325, #t327) in #t328 == null ?{self::Class*} let final self::Class* #t329 = c in let final void #t330 = self::Extension|[]=(#t325, #t327, #t329) in #t329 : #t328);
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.transformed.expect
index a622905..f8fa444 100644
--- a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.transformed.expect
@@ -29,7 +29,7 @@
set field = self::Extension|set#field;
}
static method Extension|get#field(lowered final self::Class* #this) → self::Class*
- return #this.{self::Class::_field};
+ return #this.{self::Class::_field}{self::Class*};
static method Extension|set#field(lowered final self::Class* #this, self::Class* value) → void {
#this.{self::Class::_field} = value;
}
@@ -53,125 +53,125 @@
self::ifNull(null);
}
static method propertyAccess(self::Class* c) → void {
- let final self::Class* #t1 = c in #t1.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t1);
- let final self::Class* #t2 = c in #t2.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t2, new self::Class::•());
- c = let final self::Class* #t3 = c in #t3.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t4 = new self::Class::•() in let final void #t5 = self::Extension|set#field(#t3, #t4) in #t4;
- let final self::Class* #t6 = c in #t6.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t6);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t7)));
- let final self::Class* #t8 = let final self::Class* #t9 = c in #t9.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t9) in #t8.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t8);
- self::throws(() → self::Class* => let final self::Class* #t10 = self::Extension|get#field(let final self::Class* #t11 = c in #t11.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t11)) in #t10.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t10));
- self::throws(() → self::Class* => let final self::Class* #t12 = new self::Class::•() in let final void #t13 = self::Extension|set#field(let final self::Class* #t14 = c in #t14.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t14), #t12) in #t12);
- let final self::Class* #t15 = let final self::Class* #t16 = c in #t16.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t16) in #t15.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t15, new self::Class::•());
- self::throws(() → self::Class* => let final self::Class* #t17 = self::Extension|get#field(let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t18)) in #t17.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t19 = new self::Class::•() in let final void #t20 = self::Extension|set#field(#t17, #t19) in #t19);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t21 = c in #t21.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t21)));
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t22 = c in #t22.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t23 = new self::Class::•() in let final void #t24 = self::Extension|set#field(#t22, #t23) in #t23));
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t25 = c in #t25.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t25)));
- self::throws(() → self::Class* => c = let final self::Class* #t26 = new self::Class::•() in let final void #t27 = self::Extension|set#field(let final self::Class* #t28 = c in #t28.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t28), #t26) in #t26);
- c = let final self::Class* #t29 = let final self::Class* #t30 = c in #t30.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t30) in #t29.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t31 = new self::Class::•() in let final void #t32 = self::Extension|set#field(#t29, #t31) in #t31;
- self::throws(() → self::Class* => c = let final self::Class* #t33 = self::Extension|get#field(let final self::Class* #t34 = c in #t34.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t34)) in #t33.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t35 = new self::Class::•() in let final void #t36 = self::Extension|set#field(#t33, #t35) in #t35);
- self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t37 = c in #t37.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t37)));
- let final self::Class* #t38 = c in #t38.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t38, self::Extension|get#field(new self::Class::•()));
- c = let final self::Class* #t39 = c in #t39.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t40 = self::Extension|get#field(new self::Class::•()) in let final void #t41 = self::Extension|set#field(#t39, #t40) in #t40;
- let final self::Class* #t42 = c in #t42.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t42, let final self::Class* #t43 = new self::Class::•() in let final void #t44 = self::Extension|set#field(new self::Class::•(), #t43) in #t43);
- c = let final self::Class* #t45 = c in #t45.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t46 = let final self::Class* #t47 = new self::Class::•() in let final void #t48 = self::Extension|set#field(new self::Class::•(), #t47) in #t47 in let final void #t49 = self::Extension|set#field(#t45, #t46) in #t46;
- let final self::Class* #t50 = c in #t50.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t50, self::Extension|method(new self::Class::•()));
- c = let final self::Class* #t51 = c in #t51.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t52 = self::Extension|method(new self::Class::•()) in let final void #t53 = self::Extension|set#field(#t51, #t52) in #t52;
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t54 = c in #t54.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t54)));
- self::throws(() → self::Class* => let final self::Class* #t55 = new self::Class::•() in let final void #t56 = self::Extension|set#field(let final self::Class* #t57 = c in #t57.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t57), #t55) in #t55);
- self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t58 = c in #t58.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t58)));
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t59 = c in #t59.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t59))));
- self::throws(() → self::Class* => let final self::Class* #t60 = new self::Class::•() in let final void #t61 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t62)), #t60) in #t60);
- self::throws(() → self::Class* => c = let final self::Class* #t63 = new self::Class::•() in let final void #t64 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t65 = c in #t65.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t65)), #t63) in #t63);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t66 = c in #t66.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t66))));
- let final self::Class* #t67 = c in #t67.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t67, self::Extension|get#field(self::Extension|get#field(new self::Class::•())));
- c = let final self::Class* #t68 = c in #t68.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t69 = self::Extension|get#field(self::Extension|get#field(new self::Class::•())) in let final void #t70 = self::Extension|set#field(#t68, #t69) in #t69;
- let final self::Class* #t71 = c in #t71.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t71, let final self::Class* #t72 = new self::Class::•() in let final void #t73 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t72) in #t72);
- c = let final self::Class* #t74 = c in #t74.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t75 = let final self::Class* #t76 = new self::Class::•() in let final void #t77 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t76) in #t76 in let final void #t78 = self::Extension|set#field(#t74, #t75) in #t75;
- let final self::Class* #t79 = c in #t79.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t79, self::Extension|method(self::Extension|get#field(new self::Class::•())));
- c = let final self::Class* #t80 = c in #t80.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t81 = self::Extension|method(self::Extension|get#field(new self::Class::•())) in let final void #t82 = self::Extension|set#field(#t80, #t81) in #t81;
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t83 = c in #t83.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t83))));
- self::throws(() → self::Class* => let final self::Class* #t84 = new self::Class::•() in let final void #t85 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t86 = c in #t86.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t86)), #t84) in #t84);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t87 = c in #t87.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t87))));
- self::throws(() → self::Class* => let final self::Class* #t88 = self::Extension|get#field(new self::Class::•()) in let final void #t89 = self::Extension|set#field(let final self::Class* #t90 = c in #t90.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t90), #t88) in #t88);
- self::throws(() → self::Class* => c = let final self::Class* #t91 = self::Extension|get#field(new self::Class::•()) in let final void #t92 = self::Extension|set#field(let final self::Class* #t93 = c in #t93.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t93), #t91) in #t91);
- self::throws(() → self::Class* => let final self::Class* #t94 = let final self::Class* #t95 = new self::Class::•() in let final void #t96 = self::Extension|set#field(new self::Class::•(), #t95) in #t95 in let final void #t97 = self::Extension|set#field(let final self::Class* #t98 = c in #t98.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t98), #t94) in #t94);
- self::throws(() → self::Class* => c = let final self::Class* #t99 = let final self::Class* #t100 = new self::Class::•() in let final void #t101 = self::Extension|set#field(new self::Class::•(), #t100) in #t100 in let final void #t102 = self::Extension|set#field(let final self::Class* #t103 = c in #t103.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t103), #t99) in #t99);
- self::throws(() → self::Class* => let final self::Class* #t104 = self::Extension|method(new self::Class::•()) in let final void #t105 = self::Extension|set#field(let final self::Class* #t106 = c in #t106.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t106), #t104) in #t104);
- self::throws(() → self::Class* => c = let final self::Class* #t107 = self::Extension|method(new self::Class::•()) in let final void #t108 = self::Extension|set#field(let final self::Class* #t109 = c in #t109.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t109), #t107) in #t107);
- let final self::Class* #t110 = c in #t110.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t110, let final self::Class* #t111 = self::Extension|get#field(new self::Class::•()) in let final void #t112 = self::Extension|set#field(new self::Class::•(), #t111) in #t111);
- c = let final self::Class* #t113 = c in #t113.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t114 = let final self::Class* #t115 = self::Extension|get#field(new self::Class::•()) in let final void #t116 = self::Extension|set#field(new self::Class::•(), #t115) in #t115 in let final void #t117 = self::Extension|set#field(#t113, #t114) in #t114;
- let final self::Class* #t118 = c in #t118.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t118, let final self::Class* #t119 = let final self::Class* #t120 = new self::Class::•() in let final void #t121 = self::Extension|set#field(new self::Class::•(), #t120) in #t120 in let final void #t122 = self::Extension|set#field(new self::Class::•(), #t119) in #t119);
- c = let final self::Class* #t123 = c in #t123.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t124 = let final self::Class* #t125 = let final self::Class* #t126 = new self::Class::•() in let final void #t127 = self::Extension|set#field(new self::Class::•(), #t126) in #t126 in let final void #t128 = self::Extension|set#field(new self::Class::•(), #t125) in #t125 in let final void #t129 = self::Extension|set#field(#t123, #t124) in #t124;
- let final self::Class* #t130 = c in #t130.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t130, let final self::Class* #t131 = self::Extension|method(new self::Class::•()) in let final void #t132 = self::Extension|set#field(new self::Class::•(), #t131) in #t131);
- c = let final self::Class* #t133 = c in #t133.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t134 = let final self::Class* #t135 = self::Extension|method(new self::Class::•()) in let final void #t136 = self::Extension|set#field(new self::Class::•(), #t135) in #t135 in let final void #t137 = self::Extension|set#field(#t133, #t134) in #t134;
- self::throws(() → self::Class* => let final self::Class* #t138 = self::Extension|get#field(new self::Class::•()) in let final void #t139 = self::Extension|set#field(let final self::Class* #t140 = c in #t140.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t140), #t138) in #t138);
- self::throws(() → self::Class* => c = let final self::Class* #t141 = self::Extension|get#field(new self::Class::•()) in let final void #t142 = self::Extension|set#field(let final self::Class* #t143 = c in #t143.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t143), #t141) in #t141);
- self::throws(() → self::Class* => let final self::Class* #t144 = let final self::Class* #t145 = new self::Class::•() in let final void #t146 = self::Extension|set#field(new self::Class::•(), #t145) in #t145 in let final void #t147 = self::Extension|set#field(let final self::Class* #t148 = c in #t148.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t148), #t144) in #t144);
- self::throws(() → self::Class* => c = let final self::Class* #t149 = let final self::Class* #t150 = new self::Class::•() in let final void #t151 = self::Extension|set#field(new self::Class::•(), #t150) in #t150 in let final void #t152 = self::Extension|set#field(let final self::Class* #t153 = c in #t153.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t153), #t149) in #t149);
- self::throws(() → self::Class* => let final self::Class* #t154 = self::Extension|method(new self::Class::•()) in let final void #t155 = self::Extension|set#field(let final self::Class* #t156 = c in #t156.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t156), #t154) in #t154);
- self::throws(() → self::Class* => c = let final self::Class* #t157 = self::Extension|method(new self::Class::•()) in let final void #t158 = self::Extension|set#field(let final self::Class* #t159 = c in #t159.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t159), #t157) in #t157);
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t160 = c in #t160.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t160))));
- self::throws(() → self::Class* => let final self::Class* #t161 = new self::Class::•() in let final void #t162 = self::Extension|set#field(self::Extension|method(let final self::Class* #t163 = c in #t163.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t163)), #t161) in #t161);
- self::throws(() → self::Class* => c = let final self::Class* #t164 = new self::Class::•() in let final void #t165 = self::Extension|set#field(self::Extension|method(let final self::Class* #t166 = c in #t166.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t166)), #t164) in #t164);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t167 = c in #t167.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t167))));
- let final self::Class* #t168 = c in #t168.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t168, self::Extension|get#field(self::Extension|method(new self::Class::•())));
- c = let final self::Class* #t169 = c in #t169.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t170 = self::Extension|get#field(self::Extension|method(new self::Class::•())) in let final void #t171 = self::Extension|set#field(#t169, #t170) in #t170;
- let final self::Class* #t172 = c in #t172.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t172, let final self::Class* #t173 = new self::Class::•() in let final void #t174 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t173) in #t173);
- c = let final self::Class* #t175 = c in #t175.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t176 = let final self::Class* #t177 = new self::Class::•() in let final void #t178 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t177) in #t177 in let final void #t179 = self::Extension|set#field(#t175, #t176) in #t176;
- let final self::Class* #t180 = c in #t180.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t180, self::Extension|method(self::Extension|method(new self::Class::•())));
- c = let final self::Class* #t181 = c in #t181.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t182 = self::Extension|method(self::Extension|method(new self::Class::•())) in let final void #t183 = self::Extension|set#field(#t181, #t182) in #t182;
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t184 = c in #t184.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t184))));
- self::throws(() → self::Class* => let final self::Class* #t185 = new self::Class::•() in let final void #t186 = self::Extension|set#field(self::Extension|method(let final self::Class* #t187 = c in #t187.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t187)), #t185) in #t185);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t188 = c in #t188.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t188))));
- let final self::Class* #t189 = let final self::Class* #t190 = c in #t190.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t190) in #t189.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t189);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t191 = c in #t191.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t191)));
- let final self::Class* #t192 = let final self::Class* #t193 = c in #t193.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t193) in #t192.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t192);
+ let final self::Class* #t1 = c in #t1 == null ?{self::Class*} null : self::Extension|get#field(#t1);
+ let final self::Class* #t2 = c in #t2 == null ?{self::Class*} null : self::Extension|set#field(#t2, new self::Class::•());
+ c = let final self::Class* #t3 = c in #t3 == null ?{self::Class*} null : let final self::Class* #t4 = new self::Class::•() in let final void #t5 = self::Extension|set#field(#t3, #t4) in #t4;
+ let final self::Class* #t6 = c in #t6 == null ?{self::Class*} null : self::Extension|method(#t6);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t7 = c in #t7 == null ?{self::Class*} null : self::Extension|get#field(#t7)));
+ let final self::Class* #t8 = let final self::Class* #t9 = c in #t9 == null ?{self::Class*} null : self::Extension|get#field(#t9) in #t8 == null ?{self::Class*} null : self::Extension|get#field(#t8);
+ self::throws(() → self::Class* => let final self::Class* #t10 = self::Extension|get#field(let final self::Class* #t11 = c in #t11 == null ?{self::Class*} null : self::Extension|get#field(#t11)) in #t10 == null ?{self::Class*} null : self::Extension|get#field(#t10));
+ self::throws(() → self::Class* => let final self::Class* #t12 = new self::Class::•() in let final void #t13 = self::Extension|set#field(let final self::Class* #t14 = c in #t14 == null ?{self::Class*} null : self::Extension|get#field(#t14), #t12) in #t12);
+ let final self::Class* #t15 = let final self::Class* #t16 = c in #t16 == null ?{self::Class*} null : self::Extension|get#field(#t16) in #t15 == null ?{self::Class*} null : self::Extension|set#field(#t15, new self::Class::•());
+ self::throws(() → self::Class* => let final self::Class* #t17 = self::Extension|get#field(let final self::Class* #t18 = c in #t18 == null ?{self::Class*} null : self::Extension|get#field(#t18)) in #t17 == null ?{self::Class*} null : let final self::Class* #t19 = new self::Class::•() in let final void #t20 = self::Extension|set#field(#t17, #t19) in #t19);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t21 = c in #t21 == null ?{self::Class*} null : self::Extension|get#field(#t21)));
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t22 = c in #t22 == null ?{self::Class*} null : let final self::Class* #t23 = new self::Class::•() in let final void #t24 = self::Extension|set#field(#t22, #t23) in #t23));
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t25 = c in #t25 == null ?{self::Class*} null : self::Extension|method(#t25)));
+ self::throws(() → self::Class* => c = let final self::Class* #t26 = new self::Class::•() in let final void #t27 = self::Extension|set#field(let final self::Class* #t28 = c in #t28 == null ?{self::Class*} null : self::Extension|get#field(#t28), #t26) in #t26);
+ c = let final self::Class* #t29 = let final self::Class* #t30 = c in #t30 == null ?{self::Class*} null : self::Extension|get#field(#t30) in #t29 == null ?{self::Class*} null : let final self::Class* #t31 = new self::Class::•() in let final void #t32 = self::Extension|set#field(#t29, #t31) in #t31;
+ self::throws(() → self::Class* => c = let final self::Class* #t33 = self::Extension|get#field(let final self::Class* #t34 = c in #t34 == null ?{self::Class*} null : self::Extension|get#field(#t34)) in #t33 == null ?{self::Class*} null : let final self::Class* #t35 = new self::Class::•() in let final void #t36 = self::Extension|set#field(#t33, #t35) in #t35);
+ self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t37 = c in #t37 == null ?{self::Class*} null : self::Extension|get#field(#t37)));
+ let final self::Class* #t38 = c in #t38 == null ?{self::Class*} null : self::Extension|set#field(#t38, self::Extension|get#field(new self::Class::•()));
+ c = let final self::Class* #t39 = c in #t39 == null ?{self::Class*} null : let final self::Class* #t40 = self::Extension|get#field(new self::Class::•()) in let final void #t41 = self::Extension|set#field(#t39, #t40) in #t40;
+ let final self::Class* #t42 = c in #t42 == null ?{self::Class*} null : self::Extension|set#field(#t42, let final self::Class* #t43 = new self::Class::•() in let final void #t44 = self::Extension|set#field(new self::Class::•(), #t43) in #t43);
+ c = let final self::Class* #t45 = c in #t45 == null ?{self::Class*} null : let final self::Class* #t46 = let final self::Class* #t47 = new self::Class::•() in let final void #t48 = self::Extension|set#field(new self::Class::•(), #t47) in #t47 in let final void #t49 = self::Extension|set#field(#t45, #t46) in #t46;
+ let final self::Class* #t50 = c in #t50 == null ?{self::Class*} null : self::Extension|set#field(#t50, self::Extension|method(new self::Class::•()));
+ c = let final self::Class* #t51 = c in #t51 == null ?{self::Class*} null : let final self::Class* #t52 = self::Extension|method(new self::Class::•()) in let final void #t53 = self::Extension|set#field(#t51, #t52) in #t52;
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t54 = c in #t54 == null ?{self::Class*} null : self::Extension|method(#t54)));
+ self::throws(() → self::Class* => let final self::Class* #t55 = new self::Class::•() in let final void #t56 = self::Extension|set#field(let final self::Class* #t57 = c in #t57 == null ?{self::Class*} null : self::Extension|method(#t57), #t55) in #t55);
+ self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t58 = c in #t58 == null ?{self::Class*} null : self::Extension|method(#t58)));
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t59 = c in #t59 == null ?{self::Class*} null : self::Extension|get#field(#t59))));
+ self::throws(() → self::Class* => let final self::Class* #t60 = new self::Class::•() in let final void #t61 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t62 = c in #t62 == null ?{self::Class*} null : self::Extension|get#field(#t62)), #t60) in #t60);
+ self::throws(() → self::Class* => c = let final self::Class* #t63 = new self::Class::•() in let final void #t64 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t65 = c in #t65 == null ?{self::Class*} null : self::Extension|get#field(#t65)), #t63) in #t63);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t66 = c in #t66 == null ?{self::Class*} null : self::Extension|get#field(#t66))));
+ let final self::Class* #t67 = c in #t67 == null ?{self::Class*} null : self::Extension|set#field(#t67, self::Extension|get#field(self::Extension|get#field(new self::Class::•())));
+ c = let final self::Class* #t68 = c in #t68 == null ?{self::Class*} null : let final self::Class* #t69 = self::Extension|get#field(self::Extension|get#field(new self::Class::•())) in let final void #t70 = self::Extension|set#field(#t68, #t69) in #t69;
+ let final self::Class* #t71 = c in #t71 == null ?{self::Class*} null : self::Extension|set#field(#t71, let final self::Class* #t72 = new self::Class::•() in let final void #t73 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t72) in #t72);
+ c = let final self::Class* #t74 = c in #t74 == null ?{self::Class*} null : let final self::Class* #t75 = let final self::Class* #t76 = new self::Class::•() in let final void #t77 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t76) in #t76 in let final void #t78 = self::Extension|set#field(#t74, #t75) in #t75;
+ let final self::Class* #t79 = c in #t79 == null ?{self::Class*} null : self::Extension|set#field(#t79, self::Extension|method(self::Extension|get#field(new self::Class::•())));
+ c = let final self::Class* #t80 = c in #t80 == null ?{self::Class*} null : let final self::Class* #t81 = self::Extension|method(self::Extension|get#field(new self::Class::•())) in let final void #t82 = self::Extension|set#field(#t80, #t81) in #t81;
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t83 = c in #t83 == null ?{self::Class*} null : self::Extension|method(#t83))));
+ self::throws(() → self::Class* => let final self::Class* #t84 = new self::Class::•() in let final void #t85 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t86 = c in #t86 == null ?{self::Class*} null : self::Extension|method(#t86)), #t84) in #t84);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t87 = c in #t87 == null ?{self::Class*} null : self::Extension|method(#t87))));
+ self::throws(() → self::Class* => let final self::Class* #t88 = self::Extension|get#field(new self::Class::•()) in let final void #t89 = self::Extension|set#field(let final self::Class* #t90 = c in #t90 == null ?{self::Class*} null : self::Extension|get#field(#t90), #t88) in #t88);
+ self::throws(() → self::Class* => c = let final self::Class* #t91 = self::Extension|get#field(new self::Class::•()) in let final void #t92 = self::Extension|set#field(let final self::Class* #t93 = c in #t93 == null ?{self::Class*} null : self::Extension|get#field(#t93), #t91) in #t91);
+ self::throws(() → self::Class* => let final self::Class* #t94 = let final self::Class* #t95 = new self::Class::•() in let final void #t96 = self::Extension|set#field(new self::Class::•(), #t95) in #t95 in let final void #t97 = self::Extension|set#field(let final self::Class* #t98 = c in #t98 == null ?{self::Class*} null : self::Extension|get#field(#t98), #t94) in #t94);
+ self::throws(() → self::Class* => c = let final self::Class* #t99 = let final self::Class* #t100 = new self::Class::•() in let final void #t101 = self::Extension|set#field(new self::Class::•(), #t100) in #t100 in let final void #t102 = self::Extension|set#field(let final self::Class* #t103 = c in #t103 == null ?{self::Class*} null : self::Extension|get#field(#t103), #t99) in #t99);
+ self::throws(() → self::Class* => let final self::Class* #t104 = self::Extension|method(new self::Class::•()) in let final void #t105 = self::Extension|set#field(let final self::Class* #t106 = c in #t106 == null ?{self::Class*} null : self::Extension|get#field(#t106), #t104) in #t104);
+ self::throws(() → self::Class* => c = let final self::Class* #t107 = self::Extension|method(new self::Class::•()) in let final void #t108 = self::Extension|set#field(let final self::Class* #t109 = c in #t109 == null ?{self::Class*} null : self::Extension|get#field(#t109), #t107) in #t107);
+ let final self::Class* #t110 = c in #t110 == null ?{self::Class*} null : self::Extension|set#field(#t110, let final self::Class* #t111 = self::Extension|get#field(new self::Class::•()) in let final void #t112 = self::Extension|set#field(new self::Class::•(), #t111) in #t111);
+ c = let final self::Class* #t113 = c in #t113 == null ?{self::Class*} null : let final self::Class* #t114 = let final self::Class* #t115 = self::Extension|get#field(new self::Class::•()) in let final void #t116 = self::Extension|set#field(new self::Class::•(), #t115) in #t115 in let final void #t117 = self::Extension|set#field(#t113, #t114) in #t114;
+ let final self::Class* #t118 = c in #t118 == null ?{self::Class*} null : self::Extension|set#field(#t118, let final self::Class* #t119 = let final self::Class* #t120 = new self::Class::•() in let final void #t121 = self::Extension|set#field(new self::Class::•(), #t120) in #t120 in let final void #t122 = self::Extension|set#field(new self::Class::•(), #t119) in #t119);
+ c = let final self::Class* #t123 = c in #t123 == null ?{self::Class*} null : let final self::Class* #t124 = let final self::Class* #t125 = let final self::Class* #t126 = new self::Class::•() in let final void #t127 = self::Extension|set#field(new self::Class::•(), #t126) in #t126 in let final void #t128 = self::Extension|set#field(new self::Class::•(), #t125) in #t125 in let final void #t129 = self::Extension|set#field(#t123, #t124) in #t124;
+ let final self::Class* #t130 = c in #t130 == null ?{self::Class*} null : self::Extension|set#field(#t130, let final self::Class* #t131 = self::Extension|method(new self::Class::•()) in let final void #t132 = self::Extension|set#field(new self::Class::•(), #t131) in #t131);
+ c = let final self::Class* #t133 = c in #t133 == null ?{self::Class*} null : let final self::Class* #t134 = let final self::Class* #t135 = self::Extension|method(new self::Class::•()) in let final void #t136 = self::Extension|set#field(new self::Class::•(), #t135) in #t135 in let final void #t137 = self::Extension|set#field(#t133, #t134) in #t134;
+ self::throws(() → self::Class* => let final self::Class* #t138 = self::Extension|get#field(new self::Class::•()) in let final void #t139 = self::Extension|set#field(let final self::Class* #t140 = c in #t140 == null ?{self::Class*} null : self::Extension|method(#t140), #t138) in #t138);
+ self::throws(() → self::Class* => c = let final self::Class* #t141 = self::Extension|get#field(new self::Class::•()) in let final void #t142 = self::Extension|set#field(let final self::Class* #t143 = c in #t143 == null ?{self::Class*} null : self::Extension|method(#t143), #t141) in #t141);
+ self::throws(() → self::Class* => let final self::Class* #t144 = let final self::Class* #t145 = new self::Class::•() in let final void #t146 = self::Extension|set#field(new self::Class::•(), #t145) in #t145 in let final void #t147 = self::Extension|set#field(let final self::Class* #t148 = c in #t148 == null ?{self::Class*} null : self::Extension|method(#t148), #t144) in #t144);
+ self::throws(() → self::Class* => c = let final self::Class* #t149 = let final self::Class* #t150 = new self::Class::•() in let final void #t151 = self::Extension|set#field(new self::Class::•(), #t150) in #t150 in let final void #t152 = self::Extension|set#field(let final self::Class* #t153 = c in #t153 == null ?{self::Class*} null : self::Extension|method(#t153), #t149) in #t149);
+ self::throws(() → self::Class* => let final self::Class* #t154 = self::Extension|method(new self::Class::•()) in let final void #t155 = self::Extension|set#field(let final self::Class* #t156 = c in #t156 == null ?{self::Class*} null : self::Extension|method(#t156), #t154) in #t154);
+ self::throws(() → self::Class* => c = let final self::Class* #t157 = self::Extension|method(new self::Class::•()) in let final void #t158 = self::Extension|set#field(let final self::Class* #t159 = c in #t159 == null ?{self::Class*} null : self::Extension|method(#t159), #t157) in #t157);
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t160 = c in #t160 == null ?{self::Class*} null : self::Extension|get#field(#t160))));
+ self::throws(() → self::Class* => let final self::Class* #t161 = new self::Class::•() in let final void #t162 = self::Extension|set#field(self::Extension|method(let final self::Class* #t163 = c in #t163 == null ?{self::Class*} null : self::Extension|get#field(#t163)), #t161) in #t161);
+ self::throws(() → self::Class* => c = let final self::Class* #t164 = new self::Class::•() in let final void #t165 = self::Extension|set#field(self::Extension|method(let final self::Class* #t166 = c in #t166 == null ?{self::Class*} null : self::Extension|get#field(#t166)), #t164) in #t164);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t167 = c in #t167 == null ?{self::Class*} null : self::Extension|get#field(#t167))));
+ let final self::Class* #t168 = c in #t168 == null ?{self::Class*} null : self::Extension|set#field(#t168, self::Extension|get#field(self::Extension|method(new self::Class::•())));
+ c = let final self::Class* #t169 = c in #t169 == null ?{self::Class*} null : let final self::Class* #t170 = self::Extension|get#field(self::Extension|method(new self::Class::•())) in let final void #t171 = self::Extension|set#field(#t169, #t170) in #t170;
+ let final self::Class* #t172 = c in #t172 == null ?{self::Class*} null : self::Extension|set#field(#t172, let final self::Class* #t173 = new self::Class::•() in let final void #t174 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t173) in #t173);
+ c = let final self::Class* #t175 = c in #t175 == null ?{self::Class*} null : let final self::Class* #t176 = let final self::Class* #t177 = new self::Class::•() in let final void #t178 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t177) in #t177 in let final void #t179 = self::Extension|set#field(#t175, #t176) in #t176;
+ let final self::Class* #t180 = c in #t180 == null ?{self::Class*} null : self::Extension|set#field(#t180, self::Extension|method(self::Extension|method(new self::Class::•())));
+ c = let final self::Class* #t181 = c in #t181 == null ?{self::Class*} null : let final self::Class* #t182 = self::Extension|method(self::Extension|method(new self::Class::•())) in let final void #t183 = self::Extension|set#field(#t181, #t182) in #t182;
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t184 = c in #t184 == null ?{self::Class*} null : self::Extension|method(#t184))));
+ self::throws(() → self::Class* => let final self::Class* #t185 = new self::Class::•() in let final void #t186 = self::Extension|set#field(self::Extension|method(let final self::Class* #t187 = c in #t187 == null ?{self::Class*} null : self::Extension|method(#t187)), #t185) in #t185);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t188 = c in #t188 == null ?{self::Class*} null : self::Extension|method(#t188))));
+ let final self::Class* #t189 = let final self::Class* #t190 = c in #t190 == null ?{self::Class*} null : self::Extension|method(#t190) in #t189 == null ?{self::Class*} null : self::Extension|method(#t189);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t191 = c in #t191 == null ?{self::Class*} null : self::Extension|get#field(#t191)));
+ let final self::Class* #t192 = let final self::Class* #t193 = c in #t193 == null ?{self::Class*} null : self::Extension|get#field(#t193) in #t192 == null ?{self::Class*} null : self::Extension|get#field(#t192);
}
static method indexAccess(self::Class* c) → void {
- self::throws(() → self::Class* => self::Extension|[](let final self::Class* #t194 = c in #t194.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t194), c));
- self::throws(() → self::Class* => let final self::Class* #t195 = let final self::Class* #t196 = c in #t196.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t196) in let final self::Class* #t197 = c in let final self::Class* #t198 = new self::Class::•() in let final void #t199 = self::Extension|[]=(#t195, #t197, #t198) in #t198);
- self::throws(() → self::Class* => c = let final self::Class* #t200 = let final self::Class* #t201 = c in #t201.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t201) in let final self::Class* #t202 = c in let final self::Class* #t203 = new self::Class::•() in let final void #t204 = self::Extension|[]=(#t200, #t202, #t203) in #t203);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|[](let final self::Class* #t205 = c in #t205.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t205), c)));
- self::throws(() → self::Class* => let final self::Class* #t206 = let final self::Class* #t207 = c in #t207.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t207) in let final self::Class* #t208 = c in let final self::Class* #t209 = self::Extension|+(self::Extension|[](#t206, #t208), 0) in let final void #t210 = self::Extension|[]=(#t206, #t208, #t209) in #t209);
- self::throws(() → self::Class* => c = let final self::Class* #t211 = let final self::Class* #t212 = c in #t212.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t212) in let final self::Class* #t213 = c in let final self::Class* #t214 = self::Extension|+(self::Extension|[](#t211, #t213), 0) in let final void #t215 = self::Extension|[]=(#t211, #t213, #t214) in #t214);
- self::throws(() → self::Class* => let final self::Class* #t216 = let final self::Class* #t217 = c in #t217.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t217) in let final self::Class* #t218 = c in let final self::Class* #t219 = self::Extension|[](#t216, #t218) in let final void #t220 = self::Extension|[]=(#t216, #t218, self::Extension|+(#t219, 1)) in #t219);
- self::throws(() → self::Class* => c = let final self::Class* #t221 = let final self::Class* #t222 = c in #t222.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t222) in let final self::Class* #t223 = c in let final self::Class* #t224 = self::Extension|[](#t221, #t223) in let final void #t225 = self::Extension|[]=(#t221, #t223, self::Extension|+(#t224, 1)) in #t224);
- self::throws(() → self::Class* => let final self::Class* #t226 = let final self::Class* #t227 = c in #t227.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t227) in let final self::Class* #t228 = c in let final self::Class* #t229 = self::Extension|+(self::Extension|[](#t226, #t228), 1) in let final void #t230 = self::Extension|[]=(#t226, #t228, #t229) in #t229);
- self::throws(() → self::Class* => c = let final self::Class* #t231 = let final self::Class* #t232 = c in #t232.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t232) in let final self::Class* #t233 = c in let final self::Class* #t234 = self::Extension|+(self::Extension|[](#t231, #t233), 1) in let final void #t235 = self::Extension|[]=(#t231, #t233, #t234) in #t234);
- self::throws(() → self::Class* => self::Extension|[](self::Extension|[](let final self::Class* #t236 = c in #t236.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t236), c), c));
- self::throws(() → self::Class* => let final self::Class* #t237 = self::Extension|[](let final self::Class* #t238 = c in #t238.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t238), c) in let final self::Class* #t239 = c in let final self::Class* #t240 = new self::Class::•() in let final void #t241 = self::Extension|[]=(#t237, #t239, #t240) in #t240);
- self::throws(() → self::Class* => c = let final self::Class* #t242 = self::Extension|[](let final self::Class* #t243 = c in #t243.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t243), c) in let final self::Class* #t244 = c in let final self::Class* #t245 = new self::Class::•() in let final void #t246 = self::Extension|[]=(#t242, #t244, #t245) in #t245);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|[](self::Extension|[](let final self::Class* #t247 = c in #t247.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t247), c), c)));
- self::throws(() → self::Class* => let final self::Class* #t248 = self::Extension|[](let final self::Class* #t249 = c in #t249.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t249), c) in let final self::Class* #t250 = c in let final self::Class* #t251 = self::Extension|+(self::Extension|[](#t248, #t250), 0) in let final void #t252 = self::Extension|[]=(#t248, #t250, #t251) in #t251);
- self::throws(() → self::Class* => c = let final self::Class* #t253 = self::Extension|[](let final self::Class* #t254 = c in #t254.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t254), c) in let final self::Class* #t255 = c in let final self::Class* #t256 = self::Extension|+(self::Extension|[](#t253, #t255), 0) in let final void #t257 = self::Extension|[]=(#t253, #t255, #t256) in #t256);
- self::throws(() → self::Class* => let final self::Class* #t258 = self::Extension|[](let final self::Class* #t259 = c in #t259.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t259), c) in let final self::Class* #t260 = c in let final self::Class* #t261 = self::Extension|[](#t258, #t260) in let final void #t262 = self::Extension|[]=(#t258, #t260, self::Extension|+(#t261, 1)) in #t261);
- self::throws(() → self::Class* => c = let final self::Class* #t263 = self::Extension|[](let final self::Class* #t264 = c in #t264.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t264), c) in let final self::Class* #t265 = c in let final self::Class* #t266 = self::Extension|[](#t263, #t265) in let final void #t267 = self::Extension|[]=(#t263, #t265, self::Extension|+(#t266, 1)) in #t266);
- self::throws(() → self::Class* => let final self::Class* #t268 = self::Extension|[](let final self::Class* #t269 = c in #t269.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t269), c) in let final self::Class* #t270 = c in let final self::Class* #t271 = self::Extension|+(self::Extension|[](#t268, #t270), 1) in let final void #t272 = self::Extension|[]=(#t268, #t270, #t271) in #t271);
- self::throws(() → self::Class* => c = let final self::Class* #t273 = self::Extension|[](let final self::Class* #t274 = c in #t274.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t274), c) in let final self::Class* #t275 = c in let final self::Class* #t276 = self::Extension|+(self::Extension|[](#t273, #t275), 1) in let final void #t277 = self::Extension|[]=(#t273, #t275, #t276) in #t276);
+ self::throws(() → self::Class* => self::Extension|[](let final self::Class* #t194 = c in #t194 == null ?{self::Class*} null : self::Extension|get#field(#t194), c));
+ self::throws(() → self::Class* => let final self::Class* #t195 = let final self::Class* #t196 = c in #t196 == null ?{self::Class*} null : self::Extension|get#field(#t196) in let final self::Class* #t197 = c in let final self::Class* #t198 = new self::Class::•() in let final void #t199 = self::Extension|[]=(#t195, #t197, #t198) in #t198);
+ self::throws(() → self::Class* => c = let final self::Class* #t200 = let final self::Class* #t201 = c in #t201 == null ?{self::Class*} null : self::Extension|get#field(#t201) in let final self::Class* #t202 = c in let final self::Class* #t203 = new self::Class::•() in let final void #t204 = self::Extension|[]=(#t200, #t202, #t203) in #t203);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|[](let final self::Class* #t205 = c in #t205 == null ?{self::Class*} null : self::Extension|get#field(#t205), c)));
+ self::throws(() → self::Class* => let final self::Class* #t206 = let final self::Class* #t207 = c in #t207 == null ?{self::Class*} null : self::Extension|get#field(#t207) in let final self::Class* #t208 = c in let final self::Class* #t209 = self::Extension|+(self::Extension|[](#t206, #t208), 0) in let final void #t210 = self::Extension|[]=(#t206, #t208, #t209) in #t209);
+ self::throws(() → self::Class* => c = let final self::Class* #t211 = let final self::Class* #t212 = c in #t212 == null ?{self::Class*} null : self::Extension|get#field(#t212) in let final self::Class* #t213 = c in let final self::Class* #t214 = self::Extension|+(self::Extension|[](#t211, #t213), 0) in let final void #t215 = self::Extension|[]=(#t211, #t213, #t214) in #t214);
+ self::throws(() → self::Class* => let final self::Class* #t216 = let final self::Class* #t217 = c in #t217 == null ?{self::Class*} null : self::Extension|get#field(#t217) in let final self::Class* #t218 = c in let final self::Class* #t219 = self::Extension|[](#t216, #t218) in let final void #t220 = self::Extension|[]=(#t216, #t218, self::Extension|+(#t219, 1)) in #t219);
+ self::throws(() → self::Class* => c = let final self::Class* #t221 = let final self::Class* #t222 = c in #t222 == null ?{self::Class*} null : self::Extension|get#field(#t222) in let final self::Class* #t223 = c in let final self::Class* #t224 = self::Extension|[](#t221, #t223) in let final void #t225 = self::Extension|[]=(#t221, #t223, self::Extension|+(#t224, 1)) in #t224);
+ self::throws(() → self::Class* => let final self::Class* #t226 = let final self::Class* #t227 = c in #t227 == null ?{self::Class*} null : self::Extension|get#field(#t227) in let final self::Class* #t228 = c in let final self::Class* #t229 = self::Extension|+(self::Extension|[](#t226, #t228), 1) in let final void #t230 = self::Extension|[]=(#t226, #t228, #t229) in #t229);
+ self::throws(() → self::Class* => c = let final self::Class* #t231 = let final self::Class* #t232 = c in #t232 == null ?{self::Class*} null : self::Extension|get#field(#t232) in let final self::Class* #t233 = c in let final self::Class* #t234 = self::Extension|+(self::Extension|[](#t231, #t233), 1) in let final void #t235 = self::Extension|[]=(#t231, #t233, #t234) in #t234);
+ self::throws(() → self::Class* => self::Extension|[](self::Extension|[](let final self::Class* #t236 = c in #t236 == null ?{self::Class*} null : self::Extension|get#field(#t236), c), c));
+ self::throws(() → self::Class* => let final self::Class* #t237 = self::Extension|[](let final self::Class* #t238 = c in #t238 == null ?{self::Class*} null : self::Extension|get#field(#t238), c) in let final self::Class* #t239 = c in let final self::Class* #t240 = new self::Class::•() in let final void #t241 = self::Extension|[]=(#t237, #t239, #t240) in #t240);
+ self::throws(() → self::Class* => c = let final self::Class* #t242 = self::Extension|[](let final self::Class* #t243 = c in #t243 == null ?{self::Class*} null : self::Extension|get#field(#t243), c) in let final self::Class* #t244 = c in let final self::Class* #t245 = new self::Class::•() in let final void #t246 = self::Extension|[]=(#t242, #t244, #t245) in #t245);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|[](self::Extension|[](let final self::Class* #t247 = c in #t247 == null ?{self::Class*} null : self::Extension|get#field(#t247), c), c)));
+ self::throws(() → self::Class* => let final self::Class* #t248 = self::Extension|[](let final self::Class* #t249 = c in #t249 == null ?{self::Class*} null : self::Extension|get#field(#t249), c) in let final self::Class* #t250 = c in let final self::Class* #t251 = self::Extension|+(self::Extension|[](#t248, #t250), 0) in let final void #t252 = self::Extension|[]=(#t248, #t250, #t251) in #t251);
+ self::throws(() → self::Class* => c = let final self::Class* #t253 = self::Extension|[](let final self::Class* #t254 = c in #t254 == null ?{self::Class*} null : self::Extension|get#field(#t254), c) in let final self::Class* #t255 = c in let final self::Class* #t256 = self::Extension|+(self::Extension|[](#t253, #t255), 0) in let final void #t257 = self::Extension|[]=(#t253, #t255, #t256) in #t256);
+ self::throws(() → self::Class* => let final self::Class* #t258 = self::Extension|[](let final self::Class* #t259 = c in #t259 == null ?{self::Class*} null : self::Extension|get#field(#t259), c) in let final self::Class* #t260 = c in let final self::Class* #t261 = self::Extension|[](#t258, #t260) in let final void #t262 = self::Extension|[]=(#t258, #t260, self::Extension|+(#t261, 1)) in #t261);
+ self::throws(() → self::Class* => c = let final self::Class* #t263 = self::Extension|[](let final self::Class* #t264 = c in #t264 == null ?{self::Class*} null : self::Extension|get#field(#t264), c) in let final self::Class* #t265 = c in let final self::Class* #t266 = self::Extension|[](#t263, #t265) in let final void #t267 = self::Extension|[]=(#t263, #t265, self::Extension|+(#t266, 1)) in #t266);
+ self::throws(() → self::Class* => let final self::Class* #t268 = self::Extension|[](let final self::Class* #t269 = c in #t269 == null ?{self::Class*} null : self::Extension|get#field(#t269), c) in let final self::Class* #t270 = c in let final self::Class* #t271 = self::Extension|+(self::Extension|[](#t268, #t270), 1) in let final void #t272 = self::Extension|[]=(#t268, #t270, #t271) in #t271);
+ self::throws(() → self::Class* => c = let final self::Class* #t273 = self::Extension|[](let final self::Class* #t274 = c in #t274 == null ?{self::Class*} null : self::Extension|get#field(#t274), c) in let final self::Class* #t275 = c in let final self::Class* #t276 = self::Extension|+(self::Extension|[](#t273, #t275), 1) in let final void #t277 = self::Extension|[]=(#t273, #t275, #t276) in #t276);
}
static method operatorAccess(self::Class* c) → void {
- self::throws(() → self::Class* => self::Extension|+(let final self::Class* #t278 = c in #t278.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t278), 0));
- self::throws(() → self::Class* => self::Extension|unary-(let final self::Class* #t279 = c in #t279.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t279)));
- let final self::Class* #t280 = c in #t280.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t280, self::Extension|+(self::Extension|get#field(#t280), 0));
- c = let final self::Class* #t281 = c in #t281.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t282 = self::Extension|+(self::Extension|get#field(#t281), 0) in let final void #t283 = self::Extension|set#field(#t281, #t282) in #t282;
- self::throws(() → self::Class* => let final self::Class* #t284 = let final self::Class* #t285 = c in #t285.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t285) in let final self::Class* #t286 = self::Extension|+(self::Extension|get#field(#t284), 0) in let final void #t287 = self::Extension|set#field(#t284, #t286) in #t286);
- self::throws(() → self::Class* => c = let final self::Class* #t288 = let final self::Class* #t289 = c in #t289.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t289) in let final self::Class* #t290 = self::Extension|+(self::Extension|get#field(#t288), 0) in let final void #t291 = self::Extension|set#field(#t288, #t290) in #t290);
- let final self::Class* #t292 = c in #t292.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t292, self::Extension|+(self::Extension|get#field(#t292), 1));
- c = let final self::Class* #t293 = c in #t293.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t294 = self::Extension|get#field(#t293) in let final self::Class* #t295 = let final self::Class* #t296 = self::Extension|+(#t294, 1) in let final void #t297 = self::Extension|set#field(#t293, #t296) in #t296 in #t294;
- let final self::Class* #t298 = c in #t298.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t299 = self::Extension|+(self::Extension|get#field(#t298), 1) in let final void #t300 = self::Extension|set#field(#t298, #t299) in #t299;
- c = let final self::Class* #t301 = c in #t301.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t302 = self::Extension|+(self::Extension|get#field(#t301), 1) in let final void #t303 = self::Extension|set#field(#t301, #t302) in #t302;
+ self::throws(() → self::Class* => self::Extension|+(let final self::Class* #t278 = c in #t278 == null ?{self::Class*} null : self::Extension|get#field(#t278), 0));
+ self::throws(() → self::Class* => self::Extension|unary-(let final self::Class* #t279 = c in #t279 == null ?{self::Class*} null : self::Extension|get#field(#t279)));
+ let final self::Class* #t280 = c in #t280 == null ?{self::Class*} null : self::Extension|set#field(#t280, self::Extension|+(self::Extension|get#field(#t280), 0));
+ c = let final self::Class* #t281 = c in #t281 == null ?{self::Class*} null : let final self::Class* #t282 = self::Extension|+(self::Extension|get#field(#t281), 0) in let final void #t283 = self::Extension|set#field(#t281, #t282) in #t282;
+ self::throws(() → self::Class* => let final self::Class* #t284 = let final self::Class* #t285 = c in #t285 == null ?{self::Class*} null : self::Extension|get#field(#t285) in let final self::Class* #t286 = self::Extension|+(self::Extension|get#field(#t284), 0) in let final void #t287 = self::Extension|set#field(#t284, #t286) in #t286);
+ self::throws(() → self::Class* => c = let final self::Class* #t288 = let final self::Class* #t289 = c in #t289 == null ?{self::Class*} null : self::Extension|get#field(#t289) in let final self::Class* #t290 = self::Extension|+(self::Extension|get#field(#t288), 0) in let final void #t291 = self::Extension|set#field(#t288, #t290) in #t290);
+ let final self::Class* #t292 = c in #t292 == null ?{self::Class*} null : self::Extension|set#field(#t292, self::Extension|+(self::Extension|get#field(#t292), 1));
+ c = let final self::Class* #t293 = c in #t293 == null ?{self::Class*} null : let final self::Class* #t294 = self::Extension|get#field(#t293) in let final self::Class* #t295 = let final self::Class* #t296 = self::Extension|+(#t294, 1) in let final void #t297 = self::Extension|set#field(#t293, #t296) in #t296 in #t294;
+ let final self::Class* #t298 = c in #t298 == null ?{self::Class*} null : let final self::Class* #t299 = self::Extension|+(self::Extension|get#field(#t298), 1) in let final void #t300 = self::Extension|set#field(#t298, #t299) in #t299;
+ c = let final self::Class* #t301 = c in #t301 == null ?{self::Class*} null : let final self::Class* #t302 = self::Extension|+(self::Extension|get#field(#t301), 1) in let final void #t303 = self::Extension|set#field(#t301, #t302) in #t302;
}
static method ifNull(self::Class* c) → void {
- let final self::Class* #t304 = c in #t304.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t304).{self::Class::==}(null) ?{self::Class*} self::Extension|set#field(#t304, c) : null;
- c = let final self::Class* #t305 = c in #t305.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t306 = self::Extension|get#field(#t305) in #t306.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t307 = c in let final void #t308 = self::Extension|set#field(#t305, #t307) in #t307 : #t306;
- self::throws(() → self::Class* => let final self::Class* #t309 = let final self::Class* #t310 = c in #t310.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t310) in let final self::Class* #t311 = self::Extension|get#field(#t309) in #t311.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t312 = c in let final void #t313 = self::Extension|set#field(#t309, #t312) in #t312 : #t311);
- self::throws(() → self::Class* => c = let final self::Class* #t314 = let final self::Class* #t315 = c in #t315.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t315) in let final self::Class* #t316 = self::Extension|get#field(#t314) in #t316.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t317 = c in let final void #t318 = self::Extension|set#field(#t314, #t317) in #t317 : #t316);
- self::throws(() → self::Class* => let final self::Class* #t319 = let final self::Class* #t320 = c in #t320.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t320) in let final self::Class* #t321 = c in let final self::Class* #t322 = self::Extension|[](#t319, #t321) in #t322.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t323 = c in let final void #t324 = self::Extension|[]=(#t319, #t321, #t323) in #t323 : #t322);
- self::throws(() → self::Class* => c = let final self::Class* #t325 = let final self::Class* #t326 = c in #t326.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t326) in let final self::Class* #t327 = c in let final self::Class* #t328 = self::Extension|[](#t325, #t327) in #t328.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t329 = c in let final void #t330 = self::Extension|[]=(#t325, #t327, #t329) in #t329 : #t328);
+ let final self::Class* #t304 = c in #t304 == null ?{self::Class*} null : self::Extension|get#field(#t304) == null ?{self::Class*} self::Extension|set#field(#t304, c) : null;
+ c = let final self::Class* #t305 = c in #t305 == null ?{self::Class*} null : let final self::Class* #t306 = self::Extension|get#field(#t305) in #t306 == null ?{self::Class*} let final self::Class* #t307 = c in let final void #t308 = self::Extension|set#field(#t305, #t307) in #t307 : #t306;
+ self::throws(() → self::Class* => let final self::Class* #t309 = let final self::Class* #t310 = c in #t310 == null ?{self::Class*} null : self::Extension|get#field(#t310) in let final self::Class* #t311 = self::Extension|get#field(#t309) in #t311 == null ?{self::Class*} let final self::Class* #t312 = c in let final void #t313 = self::Extension|set#field(#t309, #t312) in #t312 : #t311);
+ self::throws(() → self::Class* => c = let final self::Class* #t314 = let final self::Class* #t315 = c in #t315 == null ?{self::Class*} null : self::Extension|get#field(#t315) in let final self::Class* #t316 = self::Extension|get#field(#t314) in #t316 == null ?{self::Class*} let final self::Class* #t317 = c in let final void #t318 = self::Extension|set#field(#t314, #t317) in #t317 : #t316);
+ self::throws(() → self::Class* => let final self::Class* #t319 = let final self::Class* #t320 = c in #t320 == null ?{self::Class*} null : self::Extension|get#field(#t320) in let final self::Class* #t321 = c in let final self::Class* #t322 = self::Extension|[](#t319, #t321) in #t322 == null ?{self::Class*} let final self::Class* #t323 = c in let final void #t324 = self::Extension|[]=(#t319, #t321, #t323) in #t323 : #t322);
+ self::throws(() → self::Class* => c = let final self::Class* #t325 = let final self::Class* #t326 = c in #t326 == null ?{self::Class*} null : self::Extension|get#field(#t326) in let final self::Class* #t327 = c in let final self::Class* #t328 = self::Extension|[](#t325, #t327) in #t328 == null ?{self::Class*} let final self::Class* #t329 = c in let final void #t330 = self::Extension|[]=(#t325, #t327, #t329) in #t329 : #t328);
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.expect
index 6b754ec..ce52b2a 100644
--- a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.expect
@@ -29,7 +29,7 @@
set field = self::Extension|set#field;
}
static method Extension|get#field(lowered final self::Class* #this) → self::Class*
- return #this.{self::Class::_field};
+ return #this.{self::Class::_field}{self::Class*};
static method Extension|set#field(lowered final self::Class* #this, self::Class* value) → void {
#this.{self::Class::_field} = value;
}
@@ -53,123 +53,123 @@
self::ifNull(null);
}
static method propertyAccess(self::Class* c) → void {
- let final self::Class* #t1 = c in #t1.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t1);
- let final self::Class* #t2 = c in #t2.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t2, new self::Class::•());
- c = let final self::Class* #t3 = c in #t3.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t4 = new self::Class::•() in let final void #t5 = self::Extension|set#field(#t3, #t4) in #t4;
- let final self::Class* #t6 = c in #t6.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t6);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t7)));
- let final self::Class* #t8 = let final self::Class* #t9 = c in #t9.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t9) in #t8.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t8);
- self::throws(() → self::Class* => let final self::Class* #t10 = self::Extension|get#field(let final self::Class* #t11 = c in #t11.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t11)) in #t10.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t10));
- self::throws(() → self::Class* => let final self::Class* #t12 = new self::Class::•() in let final void #t13 = self::Extension|set#field(let final self::Class* #t14 = c in #t14.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t14), #t12) in #t12);
- let final self::Class* #t15 = let final self::Class* #t16 = c in #t16.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t16) in #t15.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t15, new self::Class::•());
- self::throws(() → self::Class* => let final self::Class* #t17 = self::Extension|get#field(let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t18)) in #t17.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t19 = new self::Class::•() in let final void #t20 = self::Extension|set#field(#t17, #t19) in #t19);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t21 = c in #t21.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t21)));
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t22 = c in #t22.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t23 = new self::Class::•() in let final void #t24 = self::Extension|set#field(#t22, #t23) in #t23));
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t25 = c in #t25.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t25)));
- self::throws(() → self::Class* => c = let final self::Class* #t26 = new self::Class::•() in let final void #t27 = self::Extension|set#field(let final self::Class* #t28 = c in #t28.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t28), #t26) in #t26);
- c = let final self::Class* #t29 = let final self::Class* #t30 = c in #t30.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t30) in #t29.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t31 = new self::Class::•() in let final void #t32 = self::Extension|set#field(#t29, #t31) in #t31;
- self::throws(() → self::Class* => c = let final self::Class* #t33 = self::Extension|get#field(let final self::Class* #t34 = c in #t34.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t34)) in #t33.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t35 = new self::Class::•() in let final void #t36 = self::Extension|set#field(#t33, #t35) in #t35);
- self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t37 = c in #t37.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t37)));
- let final self::Class* #t38 = c in #t38.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t38, self::Extension|get#field(new self::Class::•()));
- c = let final self::Class* #t39 = c in #t39.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t40 = self::Extension|get#field(new self::Class::•()) in let final void #t41 = self::Extension|set#field(#t39, #t40) in #t40;
- let final self::Class* #t42 = c in #t42.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t42, let final self::Class* #t43 = new self::Class::•() in let final void #t44 = self::Extension|set#field(new self::Class::•(), #t43) in #t43);
- c = let final self::Class* #t45 = c in #t45.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t46 = let final self::Class* #t47 = new self::Class::•() in let final void #t48 = self::Extension|set#field(new self::Class::•(), #t47) in #t47 in let final void #t49 = self::Extension|set#field(#t45, #t46) in #t46;
- let final self::Class* #t50 = c in #t50.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t50, self::Extension|method(new self::Class::•()));
- c = let final self::Class* #t51 = c in #t51.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t52 = self::Extension|method(new self::Class::•()) in let final void #t53 = self::Extension|set#field(#t51, #t52) in #t52;
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t54 = c in #t54.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t54)));
- self::throws(() → self::Class* => let final self::Class* #t55 = new self::Class::•() in let final void #t56 = self::Extension|set#field(let final self::Class* #t57 = c in #t57.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t57), #t55) in #t55);
- self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t58 = c in #t58.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t58)));
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t59 = c in #t59.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t59))));
- self::throws(() → self::Class* => let final self::Class* #t60 = new self::Class::•() in let final void #t61 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t62)), #t60) in #t60);
- self::throws(() → self::Class* => c = let final self::Class* #t63 = new self::Class::•() in let final void #t64 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t65 = c in #t65.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t65)), #t63) in #t63);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t66 = c in #t66.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t66))));
- let final self::Class* #t67 = c in #t67.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t67, self::Extension|get#field(self::Extension|get#field(new self::Class::•())));
- c = let final self::Class* #t68 = c in #t68.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t69 = self::Extension|get#field(self::Extension|get#field(new self::Class::•())) in let final void #t70 = self::Extension|set#field(#t68, #t69) in #t69;
- let final self::Class* #t71 = c in #t71.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t71, let final self::Class* #t72 = new self::Class::•() in let final void #t73 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t72) in #t72);
- c = let final self::Class* #t74 = c in #t74.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t75 = let final self::Class* #t76 = new self::Class::•() in let final void #t77 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t76) in #t76 in let final void #t78 = self::Extension|set#field(#t74, #t75) in #t75;
- let final self::Class* #t79 = c in #t79.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t79, self::Extension|method(self::Extension|get#field(new self::Class::•())));
- c = let final self::Class* #t80 = c in #t80.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t81 = self::Extension|method(self::Extension|get#field(new self::Class::•())) in let final void #t82 = self::Extension|set#field(#t80, #t81) in #t81;
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t83 = c in #t83.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t83))));
- self::throws(() → self::Class* => let final self::Class* #t84 = new self::Class::•() in let final void #t85 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t86 = c in #t86.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t86)), #t84) in #t84);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t87 = c in #t87.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t87))));
- self::throws(() → self::Class* => let final self::Class* #t88 = self::Extension|get#field(new self::Class::•()) in let final void #t89 = self::Extension|set#field(let final self::Class* #t90 = c in #t90.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t90), #t88) in #t88);
- self::throws(() → self::Class* => c = let final self::Class* #t91 = self::Extension|get#field(new self::Class::•()) in let final void #t92 = self::Extension|set#field(let final self::Class* #t93 = c in #t93.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t93), #t91) in #t91);
- self::throws(() → self::Class* => let final self::Class* #t94 = let final self::Class* #t95 = new self::Class::•() in let final void #t96 = self::Extension|set#field(new self::Class::•(), #t95) in #t95 in let final void #t97 = self::Extension|set#field(let final self::Class* #t98 = c in #t98.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t98), #t94) in #t94);
- self::throws(() → self::Class* => c = let final self::Class* #t99 = let final self::Class* #t100 = new self::Class::•() in let final void #t101 = self::Extension|set#field(new self::Class::•(), #t100) in #t100 in let final void #t102 = self::Extension|set#field(let final self::Class* #t103 = c in #t103.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t103), #t99) in #t99);
- self::throws(() → self::Class* => let final self::Class* #t104 = self::Extension|method(new self::Class::•()) in let final void #t105 = self::Extension|set#field(let final self::Class* #t106 = c in #t106.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t106), #t104) in #t104);
- self::throws(() → self::Class* => c = let final self::Class* #t107 = self::Extension|method(new self::Class::•()) in let final void #t108 = self::Extension|set#field(let final self::Class* #t109 = c in #t109.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t109), #t107) in #t107);
- let final self::Class* #t110 = c in #t110.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t110, let final self::Class* #t111 = self::Extension|get#field(new self::Class::•()) in let final void #t112 = self::Extension|set#field(new self::Class::•(), #t111) in #t111);
- c = let final self::Class* #t113 = c in #t113.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t114 = let final self::Class* #t115 = self::Extension|get#field(new self::Class::•()) in let final void #t116 = self::Extension|set#field(new self::Class::•(), #t115) in #t115 in let final void #t117 = self::Extension|set#field(#t113, #t114) in #t114;
- let final self::Class* #t118 = c in #t118.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t118, let final self::Class* #t119 = let final self::Class* #t120 = new self::Class::•() in let final void #t121 = self::Extension|set#field(new self::Class::•(), #t120) in #t120 in let final void #t122 = self::Extension|set#field(new self::Class::•(), #t119) in #t119);
- c = let final self::Class* #t123 = c in #t123.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t124 = let final self::Class* #t125 = let final self::Class* #t126 = new self::Class::•() in let final void #t127 = self::Extension|set#field(new self::Class::•(), #t126) in #t126 in let final void #t128 = self::Extension|set#field(new self::Class::•(), #t125) in #t125 in let final void #t129 = self::Extension|set#field(#t123, #t124) in #t124;
- let final self::Class* #t130 = c in #t130.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t130, let final self::Class* #t131 = self::Extension|method(new self::Class::•()) in let final void #t132 = self::Extension|set#field(new self::Class::•(), #t131) in #t131);
- c = let final self::Class* #t133 = c in #t133.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t134 = let final self::Class* #t135 = self::Extension|method(new self::Class::•()) in let final void #t136 = self::Extension|set#field(new self::Class::•(), #t135) in #t135 in let final void #t137 = self::Extension|set#field(#t133, #t134) in #t134;
- self::throws(() → self::Class* => let final self::Class* #t138 = self::Extension|get#field(new self::Class::•()) in let final void #t139 = self::Extension|set#field(let final self::Class* #t140 = c in #t140.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t140), #t138) in #t138);
- self::throws(() → self::Class* => c = let final self::Class* #t141 = self::Extension|get#field(new self::Class::•()) in let final void #t142 = self::Extension|set#field(let final self::Class* #t143 = c in #t143.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t143), #t141) in #t141);
- self::throws(() → self::Class* => let final self::Class* #t144 = let final self::Class* #t145 = new self::Class::•() in let final void #t146 = self::Extension|set#field(new self::Class::•(), #t145) in #t145 in let final void #t147 = self::Extension|set#field(let final self::Class* #t148 = c in #t148.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t148), #t144) in #t144);
- self::throws(() → self::Class* => c = let final self::Class* #t149 = let final self::Class* #t150 = new self::Class::•() in let final void #t151 = self::Extension|set#field(new self::Class::•(), #t150) in #t150 in let final void #t152 = self::Extension|set#field(let final self::Class* #t153 = c in #t153.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t153), #t149) in #t149);
- self::throws(() → self::Class* => let final self::Class* #t154 = self::Extension|method(new self::Class::•()) in let final void #t155 = self::Extension|set#field(let final self::Class* #t156 = c in #t156.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t156), #t154) in #t154);
- self::throws(() → self::Class* => c = let final self::Class* #t157 = self::Extension|method(new self::Class::•()) in let final void #t158 = self::Extension|set#field(let final self::Class* #t159 = c in #t159.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t159), #t157) in #t157);
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t160 = c in #t160.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t160))));
- self::throws(() → self::Class* => let final self::Class* #t161 = new self::Class::•() in let final void #t162 = self::Extension|set#field(self::Extension|method(let final self::Class* #t163 = c in #t163.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t163)), #t161) in #t161);
- self::throws(() → self::Class* => c = let final self::Class* #t164 = new self::Class::•() in let final void #t165 = self::Extension|set#field(self::Extension|method(let final self::Class* #t166 = c in #t166.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t166)), #t164) in #t164);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t167 = c in #t167.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t167))));
- let final self::Class* #t168 = c in #t168.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t168, self::Extension|get#field(self::Extension|method(new self::Class::•())));
- c = let final self::Class* #t169 = c in #t169.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t170 = self::Extension|get#field(self::Extension|method(new self::Class::•())) in let final void #t171 = self::Extension|set#field(#t169, #t170) in #t170;
- let final self::Class* #t172 = c in #t172.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t172, let final self::Class* #t173 = new self::Class::•() in let final void #t174 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t173) in #t173);
- c = let final self::Class* #t175 = c in #t175.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t176 = let final self::Class* #t177 = new self::Class::•() in let final void #t178 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t177) in #t177 in let final void #t179 = self::Extension|set#field(#t175, #t176) in #t176;
- let final self::Class* #t180 = c in #t180.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t180, self::Extension|method(self::Extension|method(new self::Class::•())));
- c = let final self::Class* #t181 = c in #t181.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t182 = self::Extension|method(self::Extension|method(new self::Class::•())) in let final void #t183 = self::Extension|set#field(#t181, #t182) in #t182;
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t184 = c in #t184.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t184))));
- self::throws(() → self::Class* => let final self::Class* #t185 = new self::Class::•() in let final void #t186 = self::Extension|set#field(self::Extension|method(let final self::Class* #t187 = c in #t187.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t187)), #t185) in #t185);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t188 = c in #t188.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t188))));
- let final self::Class* #t189 = let final self::Class* #t190 = c in #t190.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t190) in #t189.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t189);
+ let final self::Class* #t1 = c in #t1 == null ?{self::Class*} null : self::Extension|get#field(#t1);
+ let final self::Class* #t2 = c in #t2 == null ?{self::Class*} null : self::Extension|set#field(#t2, new self::Class::•());
+ c = let final self::Class* #t3 = c in #t3 == null ?{self::Class*} null : let final self::Class* #t4 = new self::Class::•() in let final void #t5 = self::Extension|set#field(#t3, #t4) in #t4;
+ let final self::Class* #t6 = c in #t6 == null ?{self::Class*} null : self::Extension|method(#t6);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t7 = c in #t7 == null ?{self::Class*} null : self::Extension|get#field(#t7)));
+ let final self::Class* #t8 = let final self::Class* #t9 = c in #t9 == null ?{self::Class*} null : self::Extension|get#field(#t9) in #t8 == null ?{self::Class*} null : self::Extension|get#field(#t8);
+ self::throws(() → self::Class* => let final self::Class* #t10 = self::Extension|get#field(let final self::Class* #t11 = c in #t11 == null ?{self::Class*} null : self::Extension|get#field(#t11)) in #t10 == null ?{self::Class*} null : self::Extension|get#field(#t10));
+ self::throws(() → self::Class* => let final self::Class* #t12 = new self::Class::•() in let final void #t13 = self::Extension|set#field(let final self::Class* #t14 = c in #t14 == null ?{self::Class*} null : self::Extension|get#field(#t14), #t12) in #t12);
+ let final self::Class* #t15 = let final self::Class* #t16 = c in #t16 == null ?{self::Class*} null : self::Extension|get#field(#t16) in #t15 == null ?{self::Class*} null : self::Extension|set#field(#t15, new self::Class::•());
+ self::throws(() → self::Class* => let final self::Class* #t17 = self::Extension|get#field(let final self::Class* #t18 = c in #t18 == null ?{self::Class*} null : self::Extension|get#field(#t18)) in #t17 == null ?{self::Class*} null : let final self::Class* #t19 = new self::Class::•() in let final void #t20 = self::Extension|set#field(#t17, #t19) in #t19);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t21 = c in #t21 == null ?{self::Class*} null : self::Extension|get#field(#t21)));
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t22 = c in #t22 == null ?{self::Class*} null : let final self::Class* #t23 = new self::Class::•() in let final void #t24 = self::Extension|set#field(#t22, #t23) in #t23));
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t25 = c in #t25 == null ?{self::Class*} null : self::Extension|method(#t25)));
+ self::throws(() → self::Class* => c = let final self::Class* #t26 = new self::Class::•() in let final void #t27 = self::Extension|set#field(let final self::Class* #t28 = c in #t28 == null ?{self::Class*} null : self::Extension|get#field(#t28), #t26) in #t26);
+ c = let final self::Class* #t29 = let final self::Class* #t30 = c in #t30 == null ?{self::Class*} null : self::Extension|get#field(#t30) in #t29 == null ?{self::Class*} null : let final self::Class* #t31 = new self::Class::•() in let final void #t32 = self::Extension|set#field(#t29, #t31) in #t31;
+ self::throws(() → self::Class* => c = let final self::Class* #t33 = self::Extension|get#field(let final self::Class* #t34 = c in #t34 == null ?{self::Class*} null : self::Extension|get#field(#t34)) in #t33 == null ?{self::Class*} null : let final self::Class* #t35 = new self::Class::•() in let final void #t36 = self::Extension|set#field(#t33, #t35) in #t35);
+ self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t37 = c in #t37 == null ?{self::Class*} null : self::Extension|get#field(#t37)));
+ let final self::Class* #t38 = c in #t38 == null ?{self::Class*} null : self::Extension|set#field(#t38, self::Extension|get#field(new self::Class::•()));
+ c = let final self::Class* #t39 = c in #t39 == null ?{self::Class*} null : let final self::Class* #t40 = self::Extension|get#field(new self::Class::•()) in let final void #t41 = self::Extension|set#field(#t39, #t40) in #t40;
+ let final self::Class* #t42 = c in #t42 == null ?{self::Class*} null : self::Extension|set#field(#t42, let final self::Class* #t43 = new self::Class::•() in let final void #t44 = self::Extension|set#field(new self::Class::•(), #t43) in #t43);
+ c = let final self::Class* #t45 = c in #t45 == null ?{self::Class*} null : let final self::Class* #t46 = let final self::Class* #t47 = new self::Class::•() in let final void #t48 = self::Extension|set#field(new self::Class::•(), #t47) in #t47 in let final void #t49 = self::Extension|set#field(#t45, #t46) in #t46;
+ let final self::Class* #t50 = c in #t50 == null ?{self::Class*} null : self::Extension|set#field(#t50, self::Extension|method(new self::Class::•()));
+ c = let final self::Class* #t51 = c in #t51 == null ?{self::Class*} null : let final self::Class* #t52 = self::Extension|method(new self::Class::•()) in let final void #t53 = self::Extension|set#field(#t51, #t52) in #t52;
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t54 = c in #t54 == null ?{self::Class*} null : self::Extension|method(#t54)));
+ self::throws(() → self::Class* => let final self::Class* #t55 = new self::Class::•() in let final void #t56 = self::Extension|set#field(let final self::Class* #t57 = c in #t57 == null ?{self::Class*} null : self::Extension|method(#t57), #t55) in #t55);
+ self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t58 = c in #t58 == null ?{self::Class*} null : self::Extension|method(#t58)));
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t59 = c in #t59 == null ?{self::Class*} null : self::Extension|get#field(#t59))));
+ self::throws(() → self::Class* => let final self::Class* #t60 = new self::Class::•() in let final void #t61 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t62 = c in #t62 == null ?{self::Class*} null : self::Extension|get#field(#t62)), #t60) in #t60);
+ self::throws(() → self::Class* => c = let final self::Class* #t63 = new self::Class::•() in let final void #t64 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t65 = c in #t65 == null ?{self::Class*} null : self::Extension|get#field(#t65)), #t63) in #t63);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t66 = c in #t66 == null ?{self::Class*} null : self::Extension|get#field(#t66))));
+ let final self::Class* #t67 = c in #t67 == null ?{self::Class*} null : self::Extension|set#field(#t67, self::Extension|get#field(self::Extension|get#field(new self::Class::•())));
+ c = let final self::Class* #t68 = c in #t68 == null ?{self::Class*} null : let final self::Class* #t69 = self::Extension|get#field(self::Extension|get#field(new self::Class::•())) in let final void #t70 = self::Extension|set#field(#t68, #t69) in #t69;
+ let final self::Class* #t71 = c in #t71 == null ?{self::Class*} null : self::Extension|set#field(#t71, let final self::Class* #t72 = new self::Class::•() in let final void #t73 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t72) in #t72);
+ c = let final self::Class* #t74 = c in #t74 == null ?{self::Class*} null : let final self::Class* #t75 = let final self::Class* #t76 = new self::Class::•() in let final void #t77 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t76) in #t76 in let final void #t78 = self::Extension|set#field(#t74, #t75) in #t75;
+ let final self::Class* #t79 = c in #t79 == null ?{self::Class*} null : self::Extension|set#field(#t79, self::Extension|method(self::Extension|get#field(new self::Class::•())));
+ c = let final self::Class* #t80 = c in #t80 == null ?{self::Class*} null : let final self::Class* #t81 = self::Extension|method(self::Extension|get#field(new self::Class::•())) in let final void #t82 = self::Extension|set#field(#t80, #t81) in #t81;
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t83 = c in #t83 == null ?{self::Class*} null : self::Extension|method(#t83))));
+ self::throws(() → self::Class* => let final self::Class* #t84 = new self::Class::•() in let final void #t85 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t86 = c in #t86 == null ?{self::Class*} null : self::Extension|method(#t86)), #t84) in #t84);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t87 = c in #t87 == null ?{self::Class*} null : self::Extension|method(#t87))));
+ self::throws(() → self::Class* => let final self::Class* #t88 = self::Extension|get#field(new self::Class::•()) in let final void #t89 = self::Extension|set#field(let final self::Class* #t90 = c in #t90 == null ?{self::Class*} null : self::Extension|get#field(#t90), #t88) in #t88);
+ self::throws(() → self::Class* => c = let final self::Class* #t91 = self::Extension|get#field(new self::Class::•()) in let final void #t92 = self::Extension|set#field(let final self::Class* #t93 = c in #t93 == null ?{self::Class*} null : self::Extension|get#field(#t93), #t91) in #t91);
+ self::throws(() → self::Class* => let final self::Class* #t94 = let final self::Class* #t95 = new self::Class::•() in let final void #t96 = self::Extension|set#field(new self::Class::•(), #t95) in #t95 in let final void #t97 = self::Extension|set#field(let final self::Class* #t98 = c in #t98 == null ?{self::Class*} null : self::Extension|get#field(#t98), #t94) in #t94);
+ self::throws(() → self::Class* => c = let final self::Class* #t99 = let final self::Class* #t100 = new self::Class::•() in let final void #t101 = self::Extension|set#field(new self::Class::•(), #t100) in #t100 in let final void #t102 = self::Extension|set#field(let final self::Class* #t103 = c in #t103 == null ?{self::Class*} null : self::Extension|get#field(#t103), #t99) in #t99);
+ self::throws(() → self::Class* => let final self::Class* #t104 = self::Extension|method(new self::Class::•()) in let final void #t105 = self::Extension|set#field(let final self::Class* #t106 = c in #t106 == null ?{self::Class*} null : self::Extension|get#field(#t106), #t104) in #t104);
+ self::throws(() → self::Class* => c = let final self::Class* #t107 = self::Extension|method(new self::Class::•()) in let final void #t108 = self::Extension|set#field(let final self::Class* #t109 = c in #t109 == null ?{self::Class*} null : self::Extension|get#field(#t109), #t107) in #t107);
+ let final self::Class* #t110 = c in #t110 == null ?{self::Class*} null : self::Extension|set#field(#t110, let final self::Class* #t111 = self::Extension|get#field(new self::Class::•()) in let final void #t112 = self::Extension|set#field(new self::Class::•(), #t111) in #t111);
+ c = let final self::Class* #t113 = c in #t113 == null ?{self::Class*} null : let final self::Class* #t114 = let final self::Class* #t115 = self::Extension|get#field(new self::Class::•()) in let final void #t116 = self::Extension|set#field(new self::Class::•(), #t115) in #t115 in let final void #t117 = self::Extension|set#field(#t113, #t114) in #t114;
+ let final self::Class* #t118 = c in #t118 == null ?{self::Class*} null : self::Extension|set#field(#t118, let final self::Class* #t119 = let final self::Class* #t120 = new self::Class::•() in let final void #t121 = self::Extension|set#field(new self::Class::•(), #t120) in #t120 in let final void #t122 = self::Extension|set#field(new self::Class::•(), #t119) in #t119);
+ c = let final self::Class* #t123 = c in #t123 == null ?{self::Class*} null : let final self::Class* #t124 = let final self::Class* #t125 = let final self::Class* #t126 = new self::Class::•() in let final void #t127 = self::Extension|set#field(new self::Class::•(), #t126) in #t126 in let final void #t128 = self::Extension|set#field(new self::Class::•(), #t125) in #t125 in let final void #t129 = self::Extension|set#field(#t123, #t124) in #t124;
+ let final self::Class* #t130 = c in #t130 == null ?{self::Class*} null : self::Extension|set#field(#t130, let final self::Class* #t131 = self::Extension|method(new self::Class::•()) in let final void #t132 = self::Extension|set#field(new self::Class::•(), #t131) in #t131);
+ c = let final self::Class* #t133 = c in #t133 == null ?{self::Class*} null : let final self::Class* #t134 = let final self::Class* #t135 = self::Extension|method(new self::Class::•()) in let final void #t136 = self::Extension|set#field(new self::Class::•(), #t135) in #t135 in let final void #t137 = self::Extension|set#field(#t133, #t134) in #t134;
+ self::throws(() → self::Class* => let final self::Class* #t138 = self::Extension|get#field(new self::Class::•()) in let final void #t139 = self::Extension|set#field(let final self::Class* #t140 = c in #t140 == null ?{self::Class*} null : self::Extension|method(#t140), #t138) in #t138);
+ self::throws(() → self::Class* => c = let final self::Class* #t141 = self::Extension|get#field(new self::Class::•()) in let final void #t142 = self::Extension|set#field(let final self::Class* #t143 = c in #t143 == null ?{self::Class*} null : self::Extension|method(#t143), #t141) in #t141);
+ self::throws(() → self::Class* => let final self::Class* #t144 = let final self::Class* #t145 = new self::Class::•() in let final void #t146 = self::Extension|set#field(new self::Class::•(), #t145) in #t145 in let final void #t147 = self::Extension|set#field(let final self::Class* #t148 = c in #t148 == null ?{self::Class*} null : self::Extension|method(#t148), #t144) in #t144);
+ self::throws(() → self::Class* => c = let final self::Class* #t149 = let final self::Class* #t150 = new self::Class::•() in let final void #t151 = self::Extension|set#field(new self::Class::•(), #t150) in #t150 in let final void #t152 = self::Extension|set#field(let final self::Class* #t153 = c in #t153 == null ?{self::Class*} null : self::Extension|method(#t153), #t149) in #t149);
+ self::throws(() → self::Class* => let final self::Class* #t154 = self::Extension|method(new self::Class::•()) in let final void #t155 = self::Extension|set#field(let final self::Class* #t156 = c in #t156 == null ?{self::Class*} null : self::Extension|method(#t156), #t154) in #t154);
+ self::throws(() → self::Class* => c = let final self::Class* #t157 = self::Extension|method(new self::Class::•()) in let final void #t158 = self::Extension|set#field(let final self::Class* #t159 = c in #t159 == null ?{self::Class*} null : self::Extension|method(#t159), #t157) in #t157);
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t160 = c in #t160 == null ?{self::Class*} null : self::Extension|get#field(#t160))));
+ self::throws(() → self::Class* => let final self::Class* #t161 = new self::Class::•() in let final void #t162 = self::Extension|set#field(self::Extension|method(let final self::Class* #t163 = c in #t163 == null ?{self::Class*} null : self::Extension|get#field(#t163)), #t161) in #t161);
+ self::throws(() → self::Class* => c = let final self::Class* #t164 = new self::Class::•() in let final void #t165 = self::Extension|set#field(self::Extension|method(let final self::Class* #t166 = c in #t166 == null ?{self::Class*} null : self::Extension|get#field(#t166)), #t164) in #t164);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t167 = c in #t167 == null ?{self::Class*} null : self::Extension|get#field(#t167))));
+ let final self::Class* #t168 = c in #t168 == null ?{self::Class*} null : self::Extension|set#field(#t168, self::Extension|get#field(self::Extension|method(new self::Class::•())));
+ c = let final self::Class* #t169 = c in #t169 == null ?{self::Class*} null : let final self::Class* #t170 = self::Extension|get#field(self::Extension|method(new self::Class::•())) in let final void #t171 = self::Extension|set#field(#t169, #t170) in #t170;
+ let final self::Class* #t172 = c in #t172 == null ?{self::Class*} null : self::Extension|set#field(#t172, let final self::Class* #t173 = new self::Class::•() in let final void #t174 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t173) in #t173);
+ c = let final self::Class* #t175 = c in #t175 == null ?{self::Class*} null : let final self::Class* #t176 = let final self::Class* #t177 = new self::Class::•() in let final void #t178 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t177) in #t177 in let final void #t179 = self::Extension|set#field(#t175, #t176) in #t176;
+ let final self::Class* #t180 = c in #t180 == null ?{self::Class*} null : self::Extension|set#field(#t180, self::Extension|method(self::Extension|method(new self::Class::•())));
+ c = let final self::Class* #t181 = c in #t181 == null ?{self::Class*} null : let final self::Class* #t182 = self::Extension|method(self::Extension|method(new self::Class::•())) in let final void #t183 = self::Extension|set#field(#t181, #t182) in #t182;
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t184 = c in #t184 == null ?{self::Class*} null : self::Extension|method(#t184))));
+ self::throws(() → self::Class* => let final self::Class* #t185 = new self::Class::•() in let final void #t186 = self::Extension|set#field(self::Extension|method(let final self::Class* #t187 = c in #t187 == null ?{self::Class*} null : self::Extension|method(#t187)), #t185) in #t185);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t188 = c in #t188 == null ?{self::Class*} null : self::Extension|method(#t188))));
+ let final self::Class* #t189 = let final self::Class* #t190 = c in #t190 == null ?{self::Class*} null : self::Extension|method(#t190) in #t189 == null ?{self::Class*} null : self::Extension|method(#t189);
}
static method indexAccess(self::Class* c) → void {
- self::throws(() → self::Class* => self::Extension|[](let final self::Class* #t191 = c in #t191.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t191), c));
- self::throws(() → self::Class* => let final self::Class* #t192 = let final self::Class* #t193 = c in #t193.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t193) in let final self::Class* #t194 = c in let final self::Class* #t195 = new self::Class::•() in let final void #t196 = self::Extension|[]=(#t192, #t194, #t195) in #t195);
- self::throws(() → self::Class* => c = let final self::Class* #t197 = let final self::Class* #t198 = c in #t198.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t198) in let final self::Class* #t199 = c in let final self::Class* #t200 = new self::Class::•() in let final void #t201 = self::Extension|[]=(#t197, #t199, #t200) in #t200);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|[](let final self::Class* #t202 = c in #t202.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t202), c)));
- self::throws(() → self::Class* => let final self::Class* #t203 = let final self::Class* #t204 = c in #t204.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t204) in let final self::Class* #t205 = c in let final self::Class* #t206 = self::Extension|+(self::Extension|[](#t203, #t205), 0) in let final void #t207 = self::Extension|[]=(#t203, #t205, #t206) in #t206);
- self::throws(() → self::Class* => c = let final self::Class* #t208 = let final self::Class* #t209 = c in #t209.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t209) in let final self::Class* #t210 = c in let final self::Class* #t211 = self::Extension|+(self::Extension|[](#t208, #t210), 0) in let final void #t212 = self::Extension|[]=(#t208, #t210, #t211) in #t211);
- self::throws(() → self::Class* => let final self::Class* #t213 = let final self::Class* #t214 = c in #t214.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t214) in let final self::Class* #t215 = c in let final self::Class* #t216 = self::Extension|[](#t213, #t215) in let final void #t217 = self::Extension|[]=(#t213, #t215, self::Extension|+(#t216, 1)) in #t216);
- self::throws(() → self::Class* => c = let final self::Class* #t218 = let final self::Class* #t219 = c in #t219.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t219) in let final self::Class* #t220 = c in let final self::Class* #t221 = self::Extension|[](#t218, #t220) in let final void #t222 = self::Extension|[]=(#t218, #t220, self::Extension|+(#t221, 1)) in #t221);
- self::throws(() → self::Class* => let final self::Class* #t223 = let final self::Class* #t224 = c in #t224.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t224) in let final self::Class* #t225 = c in let final self::Class* #t226 = self::Extension|+(self::Extension|[](#t223, #t225), 1) in let final void #t227 = self::Extension|[]=(#t223, #t225, #t226) in #t226);
- self::throws(() → self::Class* => c = let final self::Class* #t228 = let final self::Class* #t229 = c in #t229.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t229) in let final self::Class* #t230 = c in let final self::Class* #t231 = self::Extension|+(self::Extension|[](#t228, #t230), 1) in let final void #t232 = self::Extension|[]=(#t228, #t230, #t231) in #t231);
- self::throws(() → self::Class* => self::Extension|[](self::Extension|[](let final self::Class* #t233 = c in #t233.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t233), c), c));
- self::throws(() → self::Class* => let final self::Class* #t234 = self::Extension|[](let final self::Class* #t235 = c in #t235.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t235), c) in let final self::Class* #t236 = c in let final self::Class* #t237 = new self::Class::•() in let final void #t238 = self::Extension|[]=(#t234, #t236, #t237) in #t237);
- self::throws(() → self::Class* => c = let final self::Class* #t239 = self::Extension|[](let final self::Class* #t240 = c in #t240.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t240), c) in let final self::Class* #t241 = c in let final self::Class* #t242 = new self::Class::•() in let final void #t243 = self::Extension|[]=(#t239, #t241, #t242) in #t242);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|[](self::Extension|[](let final self::Class* #t244 = c in #t244.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t244), c), c)));
- self::throws(() → self::Class* => let final self::Class* #t245 = self::Extension|[](let final self::Class* #t246 = c in #t246.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t246), c) in let final self::Class* #t247 = c in let final self::Class* #t248 = self::Extension|+(self::Extension|[](#t245, #t247), 0) in let final void #t249 = self::Extension|[]=(#t245, #t247, #t248) in #t248);
- self::throws(() → self::Class* => c = let final self::Class* #t250 = self::Extension|[](let final self::Class* #t251 = c in #t251.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t251), c) in let final self::Class* #t252 = c in let final self::Class* #t253 = self::Extension|+(self::Extension|[](#t250, #t252), 0) in let final void #t254 = self::Extension|[]=(#t250, #t252, #t253) in #t253);
- self::throws(() → self::Class* => let final self::Class* #t255 = self::Extension|[](let final self::Class* #t256 = c in #t256.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t256), c) in let final self::Class* #t257 = c in let final self::Class* #t258 = self::Extension|[](#t255, #t257) in let final void #t259 = self::Extension|[]=(#t255, #t257, self::Extension|+(#t258, 1)) in #t258);
- self::throws(() → self::Class* => c = let final self::Class* #t260 = self::Extension|[](let final self::Class* #t261 = c in #t261.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t261), c) in let final self::Class* #t262 = c in let final self::Class* #t263 = self::Extension|[](#t260, #t262) in let final void #t264 = self::Extension|[]=(#t260, #t262, self::Extension|+(#t263, 1)) in #t263);
- self::throws(() → self::Class* => let final self::Class* #t265 = self::Extension|[](let final self::Class* #t266 = c in #t266.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t266), c) in let final self::Class* #t267 = c in let final self::Class* #t268 = self::Extension|+(self::Extension|[](#t265, #t267), 1) in let final void #t269 = self::Extension|[]=(#t265, #t267, #t268) in #t268);
- self::throws(() → self::Class* => c = let final self::Class* #t270 = self::Extension|[](let final self::Class* #t271 = c in #t271.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t271), c) in let final self::Class* #t272 = c in let final self::Class* #t273 = self::Extension|+(self::Extension|[](#t270, #t272), 1) in let final void #t274 = self::Extension|[]=(#t270, #t272, #t273) in #t273);
+ self::throws(() → self::Class* => self::Extension|[](let final self::Class* #t191 = c in #t191 == null ?{self::Class*} null : self::Extension|get#field(#t191), c));
+ self::throws(() → self::Class* => let final self::Class* #t192 = let final self::Class* #t193 = c in #t193 == null ?{self::Class*} null : self::Extension|get#field(#t193) in let final self::Class* #t194 = c in let final self::Class* #t195 = new self::Class::•() in let final void #t196 = self::Extension|[]=(#t192, #t194, #t195) in #t195);
+ self::throws(() → self::Class* => c = let final self::Class* #t197 = let final self::Class* #t198 = c in #t198 == null ?{self::Class*} null : self::Extension|get#field(#t198) in let final self::Class* #t199 = c in let final self::Class* #t200 = new self::Class::•() in let final void #t201 = self::Extension|[]=(#t197, #t199, #t200) in #t200);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|[](let final self::Class* #t202 = c in #t202 == null ?{self::Class*} null : self::Extension|get#field(#t202), c)));
+ self::throws(() → self::Class* => let final self::Class* #t203 = let final self::Class* #t204 = c in #t204 == null ?{self::Class*} null : self::Extension|get#field(#t204) in let final self::Class* #t205 = c in let final self::Class* #t206 = self::Extension|+(self::Extension|[](#t203, #t205), 0) in let final void #t207 = self::Extension|[]=(#t203, #t205, #t206) in #t206);
+ self::throws(() → self::Class* => c = let final self::Class* #t208 = let final self::Class* #t209 = c in #t209 == null ?{self::Class*} null : self::Extension|get#field(#t209) in let final self::Class* #t210 = c in let final self::Class* #t211 = self::Extension|+(self::Extension|[](#t208, #t210), 0) in let final void #t212 = self::Extension|[]=(#t208, #t210, #t211) in #t211);
+ self::throws(() → self::Class* => let final self::Class* #t213 = let final self::Class* #t214 = c in #t214 == null ?{self::Class*} null : self::Extension|get#field(#t214) in let final self::Class* #t215 = c in let final self::Class* #t216 = self::Extension|[](#t213, #t215) in let final void #t217 = self::Extension|[]=(#t213, #t215, self::Extension|+(#t216, 1)) in #t216);
+ self::throws(() → self::Class* => c = let final self::Class* #t218 = let final self::Class* #t219 = c in #t219 == null ?{self::Class*} null : self::Extension|get#field(#t219) in let final self::Class* #t220 = c in let final self::Class* #t221 = self::Extension|[](#t218, #t220) in let final void #t222 = self::Extension|[]=(#t218, #t220, self::Extension|+(#t221, 1)) in #t221);
+ self::throws(() → self::Class* => let final self::Class* #t223 = let final self::Class* #t224 = c in #t224 == null ?{self::Class*} null : self::Extension|get#field(#t224) in let final self::Class* #t225 = c in let final self::Class* #t226 = self::Extension|+(self::Extension|[](#t223, #t225), 1) in let final void #t227 = self::Extension|[]=(#t223, #t225, #t226) in #t226);
+ self::throws(() → self::Class* => c = let final self::Class* #t228 = let final self::Class* #t229 = c in #t229 == null ?{self::Class*} null : self::Extension|get#field(#t229) in let final self::Class* #t230 = c in let final self::Class* #t231 = self::Extension|+(self::Extension|[](#t228, #t230), 1) in let final void #t232 = self::Extension|[]=(#t228, #t230, #t231) in #t231);
+ self::throws(() → self::Class* => self::Extension|[](self::Extension|[](let final self::Class* #t233 = c in #t233 == null ?{self::Class*} null : self::Extension|get#field(#t233), c), c));
+ self::throws(() → self::Class* => let final self::Class* #t234 = self::Extension|[](let final self::Class* #t235 = c in #t235 == null ?{self::Class*} null : self::Extension|get#field(#t235), c) in let final self::Class* #t236 = c in let final self::Class* #t237 = new self::Class::•() in let final void #t238 = self::Extension|[]=(#t234, #t236, #t237) in #t237);
+ self::throws(() → self::Class* => c = let final self::Class* #t239 = self::Extension|[](let final self::Class* #t240 = c in #t240 == null ?{self::Class*} null : self::Extension|get#field(#t240), c) in let final self::Class* #t241 = c in let final self::Class* #t242 = new self::Class::•() in let final void #t243 = self::Extension|[]=(#t239, #t241, #t242) in #t242);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|[](self::Extension|[](let final self::Class* #t244 = c in #t244 == null ?{self::Class*} null : self::Extension|get#field(#t244), c), c)));
+ self::throws(() → self::Class* => let final self::Class* #t245 = self::Extension|[](let final self::Class* #t246 = c in #t246 == null ?{self::Class*} null : self::Extension|get#field(#t246), c) in let final self::Class* #t247 = c in let final self::Class* #t248 = self::Extension|+(self::Extension|[](#t245, #t247), 0) in let final void #t249 = self::Extension|[]=(#t245, #t247, #t248) in #t248);
+ self::throws(() → self::Class* => c = let final self::Class* #t250 = self::Extension|[](let final self::Class* #t251 = c in #t251 == null ?{self::Class*} null : self::Extension|get#field(#t251), c) in let final self::Class* #t252 = c in let final self::Class* #t253 = self::Extension|+(self::Extension|[](#t250, #t252), 0) in let final void #t254 = self::Extension|[]=(#t250, #t252, #t253) in #t253);
+ self::throws(() → self::Class* => let final self::Class* #t255 = self::Extension|[](let final self::Class* #t256 = c in #t256 == null ?{self::Class*} null : self::Extension|get#field(#t256), c) in let final self::Class* #t257 = c in let final self::Class* #t258 = self::Extension|[](#t255, #t257) in let final void #t259 = self::Extension|[]=(#t255, #t257, self::Extension|+(#t258, 1)) in #t258);
+ self::throws(() → self::Class* => c = let final self::Class* #t260 = self::Extension|[](let final self::Class* #t261 = c in #t261 == null ?{self::Class*} null : self::Extension|get#field(#t261), c) in let final self::Class* #t262 = c in let final self::Class* #t263 = self::Extension|[](#t260, #t262) in let final void #t264 = self::Extension|[]=(#t260, #t262, self::Extension|+(#t263, 1)) in #t263);
+ self::throws(() → self::Class* => let final self::Class* #t265 = self::Extension|[](let final self::Class* #t266 = c in #t266 == null ?{self::Class*} null : self::Extension|get#field(#t266), c) in let final self::Class* #t267 = c in let final self::Class* #t268 = self::Extension|+(self::Extension|[](#t265, #t267), 1) in let final void #t269 = self::Extension|[]=(#t265, #t267, #t268) in #t268);
+ self::throws(() → self::Class* => c = let final self::Class* #t270 = self::Extension|[](let final self::Class* #t271 = c in #t271 == null ?{self::Class*} null : self::Extension|get#field(#t271), c) in let final self::Class* #t272 = c in let final self::Class* #t273 = self::Extension|+(self::Extension|[](#t270, #t272), 1) in let final void #t274 = self::Extension|[]=(#t270, #t272, #t273) in #t273);
}
static method operatorAccess(self::Class* c) → void {
- self::throws(() → self::Class* => self::Extension|+(let final self::Class* #t275 = c in #t275.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t275), 0));
- self::throws(() → self::Class* => self::Extension|unary-(let final self::Class* #t276 = c in #t276.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t276)));
- let final self::Class* #t277 = c in #t277.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t277, self::Extension|+(self::Extension|get#field(#t277), 0));
- c = let final self::Class* #t278 = c in #t278.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t279 = self::Extension|+(self::Extension|get#field(#t278), 0) in let final void #t280 = self::Extension|set#field(#t278, #t279) in #t279;
- self::throws(() → self::Class* => let final self::Class* #t281 = let final self::Class* #t282 = c in #t282.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t282) in let final self::Class* #t283 = self::Extension|+(self::Extension|get#field(#t281), 0) in let final void #t284 = self::Extension|set#field(#t281, #t283) in #t283);
- self::throws(() → self::Class* => c = let final self::Class* #t285 = let final self::Class* #t286 = c in #t286.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t286) in let final self::Class* #t287 = self::Extension|+(self::Extension|get#field(#t285), 0) in let final void #t288 = self::Extension|set#field(#t285, #t287) in #t287);
- let final self::Class* #t289 = c in #t289.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t289, self::Extension|+(self::Extension|get#field(#t289), 1));
- c = let final self::Class* #t290 = c in #t290.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t291 = self::Extension|get#field(#t290) in let final void #t292 = self::Extension|set#field(#t290, self::Extension|+(#t291, 1)) in #t291;
- let final self::Class* #t293 = c in #t293.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t294 = self::Extension|+(self::Extension|get#field(#t293), 1) in let final void #t295 = self::Extension|set#field(#t293, #t294) in #t294;
- c = let final self::Class* #t296 = c in #t296.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t297 = self::Extension|+(self::Extension|get#field(#t296), 1) in let final void #t298 = self::Extension|set#field(#t296, #t297) in #t297;
+ self::throws(() → self::Class* => self::Extension|+(let final self::Class* #t275 = c in #t275 == null ?{self::Class*} null : self::Extension|get#field(#t275), 0));
+ self::throws(() → self::Class* => self::Extension|unary-(let final self::Class* #t276 = c in #t276 == null ?{self::Class*} null : self::Extension|get#field(#t276)));
+ let final self::Class* #t277 = c in #t277 == null ?{self::Class*} null : self::Extension|set#field(#t277, self::Extension|+(self::Extension|get#field(#t277), 0));
+ c = let final self::Class* #t278 = c in #t278 == null ?{self::Class*} null : let final self::Class* #t279 = self::Extension|+(self::Extension|get#field(#t278), 0) in let final void #t280 = self::Extension|set#field(#t278, #t279) in #t279;
+ self::throws(() → self::Class* => let final self::Class* #t281 = let final self::Class* #t282 = c in #t282 == null ?{self::Class*} null : self::Extension|get#field(#t282) in let final self::Class* #t283 = self::Extension|+(self::Extension|get#field(#t281), 0) in let final void #t284 = self::Extension|set#field(#t281, #t283) in #t283);
+ self::throws(() → self::Class* => c = let final self::Class* #t285 = let final self::Class* #t286 = c in #t286 == null ?{self::Class*} null : self::Extension|get#field(#t286) in let final self::Class* #t287 = self::Extension|+(self::Extension|get#field(#t285), 0) in let final void #t288 = self::Extension|set#field(#t285, #t287) in #t287);
+ let final self::Class* #t289 = c in #t289 == null ?{self::Class*} null : self::Extension|set#field(#t289, self::Extension|+(self::Extension|get#field(#t289), 1));
+ c = let final self::Class* #t290 = c in #t290 == null ?{self::Class*} null : let final self::Class* #t291 = self::Extension|get#field(#t290) in let final void #t292 = self::Extension|set#field(#t290, self::Extension|+(#t291, 1)) in #t291;
+ let final self::Class* #t293 = c in #t293 == null ?{self::Class*} null : let final self::Class* #t294 = self::Extension|+(self::Extension|get#field(#t293), 1) in let final void #t295 = self::Extension|set#field(#t293, #t294) in #t294;
+ c = let final self::Class* #t296 = c in #t296 == null ?{self::Class*} null : let final self::Class* #t297 = self::Extension|+(self::Extension|get#field(#t296), 1) in let final void #t298 = self::Extension|set#field(#t296, #t297) in #t297;
}
static method ifNull(self::Class* c) → void {
- let final self::Class* #t299 = c in #t299.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t299).{self::Class::==}(null) ?{self::Class*} self::Extension|set#field(#t299, c) : null;
- c = let final self::Class* #t300 = c in #t300.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t301 = self::Extension|get#field(#t300) in #t301.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t302 = c in let final void #t303 = self::Extension|set#field(#t300, #t302) in #t302 : #t301;
- self::throws(() → self::Class* => let final self::Class* #t304 = let final self::Class* #t305 = c in #t305.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t305) in let final self::Class* #t306 = self::Extension|get#field(#t304) in #t306.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t307 = c in let final void #t308 = self::Extension|set#field(#t304, #t307) in #t307 : #t306);
- self::throws(() → self::Class* => c = let final self::Class* #t309 = let final self::Class* #t310 = c in #t310.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t310) in let final self::Class* #t311 = self::Extension|get#field(#t309) in #t311.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t312 = c in let final void #t313 = self::Extension|set#field(#t309, #t312) in #t312 : #t311);
- self::throws(() → self::Class* => let final self::Class* #t314 = let final self::Class* #t315 = c in #t315.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t315) in let final self::Class* #t316 = c in let final self::Class* #t317 = self::Extension|[](#t314, #t316) in #t317.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t318 = c in let final void #t319 = self::Extension|[]=(#t314, #t316, #t318) in #t318 : #t317);
- self::throws(() → self::Class* => c = let final self::Class* #t320 = let final self::Class* #t321 = c in #t321.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t321) in let final self::Class* #t322 = c in let final self::Class* #t323 = self::Extension|[](#t320, #t322) in #t323.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t324 = c in let final void #t325 = self::Extension|[]=(#t320, #t322, #t324) in #t324 : #t323);
+ let final self::Class* #t299 = c in #t299 == null ?{self::Class*} null : self::Extension|get#field(#t299) == null ?{self::Class*} self::Extension|set#field(#t299, c) : null;
+ c = let final self::Class* #t300 = c in #t300 == null ?{self::Class*} null : let final self::Class* #t301 = self::Extension|get#field(#t300) in #t301 == null ?{self::Class*} let final self::Class* #t302 = c in let final void #t303 = self::Extension|set#field(#t300, #t302) in #t302 : #t301;
+ self::throws(() → self::Class* => let final self::Class* #t304 = let final self::Class* #t305 = c in #t305 == null ?{self::Class*} null : self::Extension|get#field(#t305) in let final self::Class* #t306 = self::Extension|get#field(#t304) in #t306 == null ?{self::Class*} let final self::Class* #t307 = c in let final void #t308 = self::Extension|set#field(#t304, #t307) in #t307 : #t306);
+ self::throws(() → self::Class* => c = let final self::Class* #t309 = let final self::Class* #t310 = c in #t310 == null ?{self::Class*} null : self::Extension|get#field(#t310) in let final self::Class* #t311 = self::Extension|get#field(#t309) in #t311 == null ?{self::Class*} let final self::Class* #t312 = c in let final void #t313 = self::Extension|set#field(#t309, #t312) in #t312 : #t311);
+ self::throws(() → self::Class* => let final self::Class* #t314 = let final self::Class* #t315 = c in #t315 == null ?{self::Class*} null : self::Extension|get#field(#t315) in let final self::Class* #t316 = c in let final self::Class* #t317 = self::Extension|[](#t314, #t316) in #t317 == null ?{self::Class*} let final self::Class* #t318 = c in let final void #t319 = self::Extension|[]=(#t314, #t316, #t318) in #t318 : #t317);
+ self::throws(() → self::Class* => c = let final self::Class* #t320 = let final self::Class* #t321 = c in #t321 == null ?{self::Class*} null : self::Extension|get#field(#t321) in let final self::Class* #t322 = c in let final self::Class* #t323 = self::Extension|[](#t320, #t322) in #t323 == null ?{self::Class*} let final self::Class* #t324 = c in let final void #t325 = self::Extension|[]=(#t320, #t322, #t324) in #t324 : #t323);
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.transformed.expect
index 6b754ec..ce52b2a 100644
--- a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.transformed.expect
@@ -29,7 +29,7 @@
set field = self::Extension|set#field;
}
static method Extension|get#field(lowered final self::Class* #this) → self::Class*
- return #this.{self::Class::_field};
+ return #this.{self::Class::_field}{self::Class*};
static method Extension|set#field(lowered final self::Class* #this, self::Class* value) → void {
#this.{self::Class::_field} = value;
}
@@ -53,123 +53,123 @@
self::ifNull(null);
}
static method propertyAccess(self::Class* c) → void {
- let final self::Class* #t1 = c in #t1.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t1);
- let final self::Class* #t2 = c in #t2.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t2, new self::Class::•());
- c = let final self::Class* #t3 = c in #t3.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t4 = new self::Class::•() in let final void #t5 = self::Extension|set#field(#t3, #t4) in #t4;
- let final self::Class* #t6 = c in #t6.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t6);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t7 = c in #t7.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t7)));
- let final self::Class* #t8 = let final self::Class* #t9 = c in #t9.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t9) in #t8.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t8);
- self::throws(() → self::Class* => let final self::Class* #t10 = self::Extension|get#field(let final self::Class* #t11 = c in #t11.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t11)) in #t10.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t10));
- self::throws(() → self::Class* => let final self::Class* #t12 = new self::Class::•() in let final void #t13 = self::Extension|set#field(let final self::Class* #t14 = c in #t14.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t14), #t12) in #t12);
- let final self::Class* #t15 = let final self::Class* #t16 = c in #t16.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t16) in #t15.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t15, new self::Class::•());
- self::throws(() → self::Class* => let final self::Class* #t17 = self::Extension|get#field(let final self::Class* #t18 = c in #t18.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t18)) in #t17.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t19 = new self::Class::•() in let final void #t20 = self::Extension|set#field(#t17, #t19) in #t19);
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t21 = c in #t21.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t21)));
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t22 = c in #t22.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t23 = new self::Class::•() in let final void #t24 = self::Extension|set#field(#t22, #t23) in #t23));
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t25 = c in #t25.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t25)));
- self::throws(() → self::Class* => c = let final self::Class* #t26 = new self::Class::•() in let final void #t27 = self::Extension|set#field(let final self::Class* #t28 = c in #t28.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t28), #t26) in #t26);
- c = let final self::Class* #t29 = let final self::Class* #t30 = c in #t30.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t30) in #t29.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t31 = new self::Class::•() in let final void #t32 = self::Extension|set#field(#t29, #t31) in #t31;
- self::throws(() → self::Class* => c = let final self::Class* #t33 = self::Extension|get#field(let final self::Class* #t34 = c in #t34.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t34)) in #t33.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t35 = new self::Class::•() in let final void #t36 = self::Extension|set#field(#t33, #t35) in #t35);
- self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t37 = c in #t37.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t37)));
- let final self::Class* #t38 = c in #t38.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t38, self::Extension|get#field(new self::Class::•()));
- c = let final self::Class* #t39 = c in #t39.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t40 = self::Extension|get#field(new self::Class::•()) in let final void #t41 = self::Extension|set#field(#t39, #t40) in #t40;
- let final self::Class* #t42 = c in #t42.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t42, let final self::Class* #t43 = new self::Class::•() in let final void #t44 = self::Extension|set#field(new self::Class::•(), #t43) in #t43);
- c = let final self::Class* #t45 = c in #t45.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t46 = let final self::Class* #t47 = new self::Class::•() in let final void #t48 = self::Extension|set#field(new self::Class::•(), #t47) in #t47 in let final void #t49 = self::Extension|set#field(#t45, #t46) in #t46;
- let final self::Class* #t50 = c in #t50.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t50, self::Extension|method(new self::Class::•()));
- c = let final self::Class* #t51 = c in #t51.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t52 = self::Extension|method(new self::Class::•()) in let final void #t53 = self::Extension|set#field(#t51, #t52) in #t52;
- self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t54 = c in #t54.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t54)));
- self::throws(() → self::Class* => let final self::Class* #t55 = new self::Class::•() in let final void #t56 = self::Extension|set#field(let final self::Class* #t57 = c in #t57.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t57), #t55) in #t55);
- self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t58 = c in #t58.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t58)));
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t59 = c in #t59.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t59))));
- self::throws(() → self::Class* => let final self::Class* #t60 = new self::Class::•() in let final void #t61 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t62 = c in #t62.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t62)), #t60) in #t60);
- self::throws(() → self::Class* => c = let final self::Class* #t63 = new self::Class::•() in let final void #t64 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t65 = c in #t65.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t65)), #t63) in #t63);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t66 = c in #t66.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t66))));
- let final self::Class* #t67 = c in #t67.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t67, self::Extension|get#field(self::Extension|get#field(new self::Class::•())));
- c = let final self::Class* #t68 = c in #t68.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t69 = self::Extension|get#field(self::Extension|get#field(new self::Class::•())) in let final void #t70 = self::Extension|set#field(#t68, #t69) in #t69;
- let final self::Class* #t71 = c in #t71.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t71, let final self::Class* #t72 = new self::Class::•() in let final void #t73 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t72) in #t72);
- c = let final self::Class* #t74 = c in #t74.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t75 = let final self::Class* #t76 = new self::Class::•() in let final void #t77 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t76) in #t76 in let final void #t78 = self::Extension|set#field(#t74, #t75) in #t75;
- let final self::Class* #t79 = c in #t79.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t79, self::Extension|method(self::Extension|get#field(new self::Class::•())));
- c = let final self::Class* #t80 = c in #t80.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t81 = self::Extension|method(self::Extension|get#field(new self::Class::•())) in let final void #t82 = self::Extension|set#field(#t80, #t81) in #t81;
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t83 = c in #t83.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t83))));
- self::throws(() → self::Class* => let final self::Class* #t84 = new self::Class::•() in let final void #t85 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t86 = c in #t86.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t86)), #t84) in #t84);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t87 = c in #t87.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t87))));
- self::throws(() → self::Class* => let final self::Class* #t88 = self::Extension|get#field(new self::Class::•()) in let final void #t89 = self::Extension|set#field(let final self::Class* #t90 = c in #t90.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t90), #t88) in #t88);
- self::throws(() → self::Class* => c = let final self::Class* #t91 = self::Extension|get#field(new self::Class::•()) in let final void #t92 = self::Extension|set#field(let final self::Class* #t93 = c in #t93.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t93), #t91) in #t91);
- self::throws(() → self::Class* => let final self::Class* #t94 = let final self::Class* #t95 = new self::Class::•() in let final void #t96 = self::Extension|set#field(new self::Class::•(), #t95) in #t95 in let final void #t97 = self::Extension|set#field(let final self::Class* #t98 = c in #t98.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t98), #t94) in #t94);
- self::throws(() → self::Class* => c = let final self::Class* #t99 = let final self::Class* #t100 = new self::Class::•() in let final void #t101 = self::Extension|set#field(new self::Class::•(), #t100) in #t100 in let final void #t102 = self::Extension|set#field(let final self::Class* #t103 = c in #t103.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t103), #t99) in #t99);
- self::throws(() → self::Class* => let final self::Class* #t104 = self::Extension|method(new self::Class::•()) in let final void #t105 = self::Extension|set#field(let final self::Class* #t106 = c in #t106.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t106), #t104) in #t104);
- self::throws(() → self::Class* => c = let final self::Class* #t107 = self::Extension|method(new self::Class::•()) in let final void #t108 = self::Extension|set#field(let final self::Class* #t109 = c in #t109.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t109), #t107) in #t107);
- let final self::Class* #t110 = c in #t110.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t110, let final self::Class* #t111 = self::Extension|get#field(new self::Class::•()) in let final void #t112 = self::Extension|set#field(new self::Class::•(), #t111) in #t111);
- c = let final self::Class* #t113 = c in #t113.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t114 = let final self::Class* #t115 = self::Extension|get#field(new self::Class::•()) in let final void #t116 = self::Extension|set#field(new self::Class::•(), #t115) in #t115 in let final void #t117 = self::Extension|set#field(#t113, #t114) in #t114;
- let final self::Class* #t118 = c in #t118.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t118, let final self::Class* #t119 = let final self::Class* #t120 = new self::Class::•() in let final void #t121 = self::Extension|set#field(new self::Class::•(), #t120) in #t120 in let final void #t122 = self::Extension|set#field(new self::Class::•(), #t119) in #t119);
- c = let final self::Class* #t123 = c in #t123.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t124 = let final self::Class* #t125 = let final self::Class* #t126 = new self::Class::•() in let final void #t127 = self::Extension|set#field(new self::Class::•(), #t126) in #t126 in let final void #t128 = self::Extension|set#field(new self::Class::•(), #t125) in #t125 in let final void #t129 = self::Extension|set#field(#t123, #t124) in #t124;
- let final self::Class* #t130 = c in #t130.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t130, let final self::Class* #t131 = self::Extension|method(new self::Class::•()) in let final void #t132 = self::Extension|set#field(new self::Class::•(), #t131) in #t131);
- c = let final self::Class* #t133 = c in #t133.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t134 = let final self::Class* #t135 = self::Extension|method(new self::Class::•()) in let final void #t136 = self::Extension|set#field(new self::Class::•(), #t135) in #t135 in let final void #t137 = self::Extension|set#field(#t133, #t134) in #t134;
- self::throws(() → self::Class* => let final self::Class* #t138 = self::Extension|get#field(new self::Class::•()) in let final void #t139 = self::Extension|set#field(let final self::Class* #t140 = c in #t140.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t140), #t138) in #t138);
- self::throws(() → self::Class* => c = let final self::Class* #t141 = self::Extension|get#field(new self::Class::•()) in let final void #t142 = self::Extension|set#field(let final self::Class* #t143 = c in #t143.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t143), #t141) in #t141);
- self::throws(() → self::Class* => let final self::Class* #t144 = let final self::Class* #t145 = new self::Class::•() in let final void #t146 = self::Extension|set#field(new self::Class::•(), #t145) in #t145 in let final void #t147 = self::Extension|set#field(let final self::Class* #t148 = c in #t148.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t148), #t144) in #t144);
- self::throws(() → self::Class* => c = let final self::Class* #t149 = let final self::Class* #t150 = new self::Class::•() in let final void #t151 = self::Extension|set#field(new self::Class::•(), #t150) in #t150 in let final void #t152 = self::Extension|set#field(let final self::Class* #t153 = c in #t153.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t153), #t149) in #t149);
- self::throws(() → self::Class* => let final self::Class* #t154 = self::Extension|method(new self::Class::•()) in let final void #t155 = self::Extension|set#field(let final self::Class* #t156 = c in #t156.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t156), #t154) in #t154);
- self::throws(() → self::Class* => c = let final self::Class* #t157 = self::Extension|method(new self::Class::•()) in let final void #t158 = self::Extension|set#field(let final self::Class* #t159 = c in #t159.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t159), #t157) in #t157);
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t160 = c in #t160.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t160))));
- self::throws(() → self::Class* => let final self::Class* #t161 = new self::Class::•() in let final void #t162 = self::Extension|set#field(self::Extension|method(let final self::Class* #t163 = c in #t163.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t163)), #t161) in #t161);
- self::throws(() → self::Class* => c = let final self::Class* #t164 = new self::Class::•() in let final void #t165 = self::Extension|set#field(self::Extension|method(let final self::Class* #t166 = c in #t166.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t166)), #t164) in #t164);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t167 = c in #t167.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t167))));
- let final self::Class* #t168 = c in #t168.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t168, self::Extension|get#field(self::Extension|method(new self::Class::•())));
- c = let final self::Class* #t169 = c in #t169.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t170 = self::Extension|get#field(self::Extension|method(new self::Class::•())) in let final void #t171 = self::Extension|set#field(#t169, #t170) in #t170;
- let final self::Class* #t172 = c in #t172.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t172, let final self::Class* #t173 = new self::Class::•() in let final void #t174 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t173) in #t173);
- c = let final self::Class* #t175 = c in #t175.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t176 = let final self::Class* #t177 = new self::Class::•() in let final void #t178 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t177) in #t177 in let final void #t179 = self::Extension|set#field(#t175, #t176) in #t176;
- let final self::Class* #t180 = c in #t180.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t180, self::Extension|method(self::Extension|method(new self::Class::•())));
- c = let final self::Class* #t181 = c in #t181.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t182 = self::Extension|method(self::Extension|method(new self::Class::•())) in let final void #t183 = self::Extension|set#field(#t181, #t182) in #t182;
- self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t184 = c in #t184.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t184))));
- self::throws(() → self::Class* => let final self::Class* #t185 = new self::Class::•() in let final void #t186 = self::Extension|set#field(self::Extension|method(let final self::Class* #t187 = c in #t187.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t187)), #t185) in #t185);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t188 = c in #t188.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t188))));
- let final self::Class* #t189 = let final self::Class* #t190 = c in #t190.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t190) in #t189.{self::Class::==}(null) ?{self::Class*} null : self::Extension|method(#t189);
+ let final self::Class* #t1 = c in #t1 == null ?{self::Class*} null : self::Extension|get#field(#t1);
+ let final self::Class* #t2 = c in #t2 == null ?{self::Class*} null : self::Extension|set#field(#t2, new self::Class::•());
+ c = let final self::Class* #t3 = c in #t3 == null ?{self::Class*} null : let final self::Class* #t4 = new self::Class::•() in let final void #t5 = self::Extension|set#field(#t3, #t4) in #t4;
+ let final self::Class* #t6 = c in #t6 == null ?{self::Class*} null : self::Extension|method(#t6);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t7 = c in #t7 == null ?{self::Class*} null : self::Extension|get#field(#t7)));
+ let final self::Class* #t8 = let final self::Class* #t9 = c in #t9 == null ?{self::Class*} null : self::Extension|get#field(#t9) in #t8 == null ?{self::Class*} null : self::Extension|get#field(#t8);
+ self::throws(() → self::Class* => let final self::Class* #t10 = self::Extension|get#field(let final self::Class* #t11 = c in #t11 == null ?{self::Class*} null : self::Extension|get#field(#t11)) in #t10 == null ?{self::Class*} null : self::Extension|get#field(#t10));
+ self::throws(() → self::Class* => let final self::Class* #t12 = new self::Class::•() in let final void #t13 = self::Extension|set#field(let final self::Class* #t14 = c in #t14 == null ?{self::Class*} null : self::Extension|get#field(#t14), #t12) in #t12);
+ let final self::Class* #t15 = let final self::Class* #t16 = c in #t16 == null ?{self::Class*} null : self::Extension|get#field(#t16) in #t15 == null ?{self::Class*} null : self::Extension|set#field(#t15, new self::Class::•());
+ self::throws(() → self::Class* => let final self::Class* #t17 = self::Extension|get#field(let final self::Class* #t18 = c in #t18 == null ?{self::Class*} null : self::Extension|get#field(#t18)) in #t17 == null ?{self::Class*} null : let final self::Class* #t19 = new self::Class::•() in let final void #t20 = self::Extension|set#field(#t17, #t19) in #t19);
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t21 = c in #t21 == null ?{self::Class*} null : self::Extension|get#field(#t21)));
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t22 = c in #t22 == null ?{self::Class*} null : let final self::Class* #t23 = new self::Class::•() in let final void #t24 = self::Extension|set#field(#t22, #t23) in #t23));
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t25 = c in #t25 == null ?{self::Class*} null : self::Extension|method(#t25)));
+ self::throws(() → self::Class* => c = let final self::Class* #t26 = new self::Class::•() in let final void #t27 = self::Extension|set#field(let final self::Class* #t28 = c in #t28 == null ?{self::Class*} null : self::Extension|get#field(#t28), #t26) in #t26);
+ c = let final self::Class* #t29 = let final self::Class* #t30 = c in #t30 == null ?{self::Class*} null : self::Extension|get#field(#t30) in #t29 == null ?{self::Class*} null : let final self::Class* #t31 = new self::Class::•() in let final void #t32 = self::Extension|set#field(#t29, #t31) in #t31;
+ self::throws(() → self::Class* => c = let final self::Class* #t33 = self::Extension|get#field(let final self::Class* #t34 = c in #t34 == null ?{self::Class*} null : self::Extension|get#field(#t34)) in #t33 == null ?{self::Class*} null : let final self::Class* #t35 = new self::Class::•() in let final void #t36 = self::Extension|set#field(#t33, #t35) in #t35);
+ self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t37 = c in #t37 == null ?{self::Class*} null : self::Extension|get#field(#t37)));
+ let final self::Class* #t38 = c in #t38 == null ?{self::Class*} null : self::Extension|set#field(#t38, self::Extension|get#field(new self::Class::•()));
+ c = let final self::Class* #t39 = c in #t39 == null ?{self::Class*} null : let final self::Class* #t40 = self::Extension|get#field(new self::Class::•()) in let final void #t41 = self::Extension|set#field(#t39, #t40) in #t40;
+ let final self::Class* #t42 = c in #t42 == null ?{self::Class*} null : self::Extension|set#field(#t42, let final self::Class* #t43 = new self::Class::•() in let final void #t44 = self::Extension|set#field(new self::Class::•(), #t43) in #t43);
+ c = let final self::Class* #t45 = c in #t45 == null ?{self::Class*} null : let final self::Class* #t46 = let final self::Class* #t47 = new self::Class::•() in let final void #t48 = self::Extension|set#field(new self::Class::•(), #t47) in #t47 in let final void #t49 = self::Extension|set#field(#t45, #t46) in #t46;
+ let final self::Class* #t50 = c in #t50 == null ?{self::Class*} null : self::Extension|set#field(#t50, self::Extension|method(new self::Class::•()));
+ c = let final self::Class* #t51 = c in #t51 == null ?{self::Class*} null : let final self::Class* #t52 = self::Extension|method(new self::Class::•()) in let final void #t53 = self::Extension|set#field(#t51, #t52) in #t52;
+ self::throws(() → self::Class* => self::Extension|get#field(let final self::Class* #t54 = c in #t54 == null ?{self::Class*} null : self::Extension|method(#t54)));
+ self::throws(() → self::Class* => let final self::Class* #t55 = new self::Class::•() in let final void #t56 = self::Extension|set#field(let final self::Class* #t57 = c in #t57 == null ?{self::Class*} null : self::Extension|method(#t57), #t55) in #t55);
+ self::throws(() → self::Class* => self::Extension|method(let final self::Class* #t58 = c in #t58 == null ?{self::Class*} null : self::Extension|method(#t58)));
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t59 = c in #t59 == null ?{self::Class*} null : self::Extension|get#field(#t59))));
+ self::throws(() → self::Class* => let final self::Class* #t60 = new self::Class::•() in let final void #t61 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t62 = c in #t62 == null ?{self::Class*} null : self::Extension|get#field(#t62)), #t60) in #t60);
+ self::throws(() → self::Class* => c = let final self::Class* #t63 = new self::Class::•() in let final void #t64 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t65 = c in #t65 == null ?{self::Class*} null : self::Extension|get#field(#t65)), #t63) in #t63);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t66 = c in #t66 == null ?{self::Class*} null : self::Extension|get#field(#t66))));
+ let final self::Class* #t67 = c in #t67 == null ?{self::Class*} null : self::Extension|set#field(#t67, self::Extension|get#field(self::Extension|get#field(new self::Class::•())));
+ c = let final self::Class* #t68 = c in #t68 == null ?{self::Class*} null : let final self::Class* #t69 = self::Extension|get#field(self::Extension|get#field(new self::Class::•())) in let final void #t70 = self::Extension|set#field(#t68, #t69) in #t69;
+ let final self::Class* #t71 = c in #t71 == null ?{self::Class*} null : self::Extension|set#field(#t71, let final self::Class* #t72 = new self::Class::•() in let final void #t73 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t72) in #t72);
+ c = let final self::Class* #t74 = c in #t74 == null ?{self::Class*} null : let final self::Class* #t75 = let final self::Class* #t76 = new self::Class::•() in let final void #t77 = self::Extension|set#field(self::Extension|get#field(new self::Class::•()), #t76) in #t76 in let final void #t78 = self::Extension|set#field(#t74, #t75) in #t75;
+ let final self::Class* #t79 = c in #t79 == null ?{self::Class*} null : self::Extension|set#field(#t79, self::Extension|method(self::Extension|get#field(new self::Class::•())));
+ c = let final self::Class* #t80 = c in #t80 == null ?{self::Class*} null : let final self::Class* #t81 = self::Extension|method(self::Extension|get#field(new self::Class::•())) in let final void #t82 = self::Extension|set#field(#t80, #t81) in #t81;
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|get#field(let final self::Class* #t83 = c in #t83 == null ?{self::Class*} null : self::Extension|method(#t83))));
+ self::throws(() → self::Class* => let final self::Class* #t84 = new self::Class::•() in let final void #t85 = self::Extension|set#field(self::Extension|get#field(let final self::Class* #t86 = c in #t86 == null ?{self::Class*} null : self::Extension|method(#t86)), #t84) in #t84);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|get#field(let final self::Class* #t87 = c in #t87 == null ?{self::Class*} null : self::Extension|method(#t87))));
+ self::throws(() → self::Class* => let final self::Class* #t88 = self::Extension|get#field(new self::Class::•()) in let final void #t89 = self::Extension|set#field(let final self::Class* #t90 = c in #t90 == null ?{self::Class*} null : self::Extension|get#field(#t90), #t88) in #t88);
+ self::throws(() → self::Class* => c = let final self::Class* #t91 = self::Extension|get#field(new self::Class::•()) in let final void #t92 = self::Extension|set#field(let final self::Class* #t93 = c in #t93 == null ?{self::Class*} null : self::Extension|get#field(#t93), #t91) in #t91);
+ self::throws(() → self::Class* => let final self::Class* #t94 = let final self::Class* #t95 = new self::Class::•() in let final void #t96 = self::Extension|set#field(new self::Class::•(), #t95) in #t95 in let final void #t97 = self::Extension|set#field(let final self::Class* #t98 = c in #t98 == null ?{self::Class*} null : self::Extension|get#field(#t98), #t94) in #t94);
+ self::throws(() → self::Class* => c = let final self::Class* #t99 = let final self::Class* #t100 = new self::Class::•() in let final void #t101 = self::Extension|set#field(new self::Class::•(), #t100) in #t100 in let final void #t102 = self::Extension|set#field(let final self::Class* #t103 = c in #t103 == null ?{self::Class*} null : self::Extension|get#field(#t103), #t99) in #t99);
+ self::throws(() → self::Class* => let final self::Class* #t104 = self::Extension|method(new self::Class::•()) in let final void #t105 = self::Extension|set#field(let final self::Class* #t106 = c in #t106 == null ?{self::Class*} null : self::Extension|get#field(#t106), #t104) in #t104);
+ self::throws(() → self::Class* => c = let final self::Class* #t107 = self::Extension|method(new self::Class::•()) in let final void #t108 = self::Extension|set#field(let final self::Class* #t109 = c in #t109 == null ?{self::Class*} null : self::Extension|get#field(#t109), #t107) in #t107);
+ let final self::Class* #t110 = c in #t110 == null ?{self::Class*} null : self::Extension|set#field(#t110, let final self::Class* #t111 = self::Extension|get#field(new self::Class::•()) in let final void #t112 = self::Extension|set#field(new self::Class::•(), #t111) in #t111);
+ c = let final self::Class* #t113 = c in #t113 == null ?{self::Class*} null : let final self::Class* #t114 = let final self::Class* #t115 = self::Extension|get#field(new self::Class::•()) in let final void #t116 = self::Extension|set#field(new self::Class::•(), #t115) in #t115 in let final void #t117 = self::Extension|set#field(#t113, #t114) in #t114;
+ let final self::Class* #t118 = c in #t118 == null ?{self::Class*} null : self::Extension|set#field(#t118, let final self::Class* #t119 = let final self::Class* #t120 = new self::Class::•() in let final void #t121 = self::Extension|set#field(new self::Class::•(), #t120) in #t120 in let final void #t122 = self::Extension|set#field(new self::Class::•(), #t119) in #t119);
+ c = let final self::Class* #t123 = c in #t123 == null ?{self::Class*} null : let final self::Class* #t124 = let final self::Class* #t125 = let final self::Class* #t126 = new self::Class::•() in let final void #t127 = self::Extension|set#field(new self::Class::•(), #t126) in #t126 in let final void #t128 = self::Extension|set#field(new self::Class::•(), #t125) in #t125 in let final void #t129 = self::Extension|set#field(#t123, #t124) in #t124;
+ let final self::Class* #t130 = c in #t130 == null ?{self::Class*} null : self::Extension|set#field(#t130, let final self::Class* #t131 = self::Extension|method(new self::Class::•()) in let final void #t132 = self::Extension|set#field(new self::Class::•(), #t131) in #t131);
+ c = let final self::Class* #t133 = c in #t133 == null ?{self::Class*} null : let final self::Class* #t134 = let final self::Class* #t135 = self::Extension|method(new self::Class::•()) in let final void #t136 = self::Extension|set#field(new self::Class::•(), #t135) in #t135 in let final void #t137 = self::Extension|set#field(#t133, #t134) in #t134;
+ self::throws(() → self::Class* => let final self::Class* #t138 = self::Extension|get#field(new self::Class::•()) in let final void #t139 = self::Extension|set#field(let final self::Class* #t140 = c in #t140 == null ?{self::Class*} null : self::Extension|method(#t140), #t138) in #t138);
+ self::throws(() → self::Class* => c = let final self::Class* #t141 = self::Extension|get#field(new self::Class::•()) in let final void #t142 = self::Extension|set#field(let final self::Class* #t143 = c in #t143 == null ?{self::Class*} null : self::Extension|method(#t143), #t141) in #t141);
+ self::throws(() → self::Class* => let final self::Class* #t144 = let final self::Class* #t145 = new self::Class::•() in let final void #t146 = self::Extension|set#field(new self::Class::•(), #t145) in #t145 in let final void #t147 = self::Extension|set#field(let final self::Class* #t148 = c in #t148 == null ?{self::Class*} null : self::Extension|method(#t148), #t144) in #t144);
+ self::throws(() → self::Class* => c = let final self::Class* #t149 = let final self::Class* #t150 = new self::Class::•() in let final void #t151 = self::Extension|set#field(new self::Class::•(), #t150) in #t150 in let final void #t152 = self::Extension|set#field(let final self::Class* #t153 = c in #t153 == null ?{self::Class*} null : self::Extension|method(#t153), #t149) in #t149);
+ self::throws(() → self::Class* => let final self::Class* #t154 = self::Extension|method(new self::Class::•()) in let final void #t155 = self::Extension|set#field(let final self::Class* #t156 = c in #t156 == null ?{self::Class*} null : self::Extension|method(#t156), #t154) in #t154);
+ self::throws(() → self::Class* => c = let final self::Class* #t157 = self::Extension|method(new self::Class::•()) in let final void #t158 = self::Extension|set#field(let final self::Class* #t159 = c in #t159 == null ?{self::Class*} null : self::Extension|method(#t159), #t157) in #t157);
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t160 = c in #t160 == null ?{self::Class*} null : self::Extension|get#field(#t160))));
+ self::throws(() → self::Class* => let final self::Class* #t161 = new self::Class::•() in let final void #t162 = self::Extension|set#field(self::Extension|method(let final self::Class* #t163 = c in #t163 == null ?{self::Class*} null : self::Extension|get#field(#t163)), #t161) in #t161);
+ self::throws(() → self::Class* => c = let final self::Class* #t164 = new self::Class::•() in let final void #t165 = self::Extension|set#field(self::Extension|method(let final self::Class* #t166 = c in #t166 == null ?{self::Class*} null : self::Extension|get#field(#t166)), #t164) in #t164);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t167 = c in #t167 == null ?{self::Class*} null : self::Extension|get#field(#t167))));
+ let final self::Class* #t168 = c in #t168 == null ?{self::Class*} null : self::Extension|set#field(#t168, self::Extension|get#field(self::Extension|method(new self::Class::•())));
+ c = let final self::Class* #t169 = c in #t169 == null ?{self::Class*} null : let final self::Class* #t170 = self::Extension|get#field(self::Extension|method(new self::Class::•())) in let final void #t171 = self::Extension|set#field(#t169, #t170) in #t170;
+ let final self::Class* #t172 = c in #t172 == null ?{self::Class*} null : self::Extension|set#field(#t172, let final self::Class* #t173 = new self::Class::•() in let final void #t174 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t173) in #t173);
+ c = let final self::Class* #t175 = c in #t175 == null ?{self::Class*} null : let final self::Class* #t176 = let final self::Class* #t177 = new self::Class::•() in let final void #t178 = self::Extension|set#field(self::Extension|method(new self::Class::•()), #t177) in #t177 in let final void #t179 = self::Extension|set#field(#t175, #t176) in #t176;
+ let final self::Class* #t180 = c in #t180 == null ?{self::Class*} null : self::Extension|set#field(#t180, self::Extension|method(self::Extension|method(new self::Class::•())));
+ c = let final self::Class* #t181 = c in #t181 == null ?{self::Class*} null : let final self::Class* #t182 = self::Extension|method(self::Extension|method(new self::Class::•())) in let final void #t183 = self::Extension|set#field(#t181, #t182) in #t182;
+ self::throws(() → self::Class* => self::Extension|get#field(self::Extension|method(let final self::Class* #t184 = c in #t184 == null ?{self::Class*} null : self::Extension|method(#t184))));
+ self::throws(() → self::Class* => let final self::Class* #t185 = new self::Class::•() in let final void #t186 = self::Extension|set#field(self::Extension|method(let final self::Class* #t187 = c in #t187 == null ?{self::Class*} null : self::Extension|method(#t187)), #t185) in #t185);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|method(let final self::Class* #t188 = c in #t188 == null ?{self::Class*} null : self::Extension|method(#t188))));
+ let final self::Class* #t189 = let final self::Class* #t190 = c in #t190 == null ?{self::Class*} null : self::Extension|method(#t190) in #t189 == null ?{self::Class*} null : self::Extension|method(#t189);
}
static method indexAccess(self::Class* c) → void {
- self::throws(() → self::Class* => self::Extension|[](let final self::Class* #t191 = c in #t191.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t191), c));
- self::throws(() → self::Class* => let final self::Class* #t192 = let final self::Class* #t193 = c in #t193.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t193) in let final self::Class* #t194 = c in let final self::Class* #t195 = new self::Class::•() in let final void #t196 = self::Extension|[]=(#t192, #t194, #t195) in #t195);
- self::throws(() → self::Class* => c = let final self::Class* #t197 = let final self::Class* #t198 = c in #t198.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t198) in let final self::Class* #t199 = c in let final self::Class* #t200 = new self::Class::•() in let final void #t201 = self::Extension|[]=(#t197, #t199, #t200) in #t200);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|[](let final self::Class* #t202 = c in #t202.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t202), c)));
- self::throws(() → self::Class* => let final self::Class* #t203 = let final self::Class* #t204 = c in #t204.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t204) in let final self::Class* #t205 = c in let final self::Class* #t206 = self::Extension|+(self::Extension|[](#t203, #t205), 0) in let final void #t207 = self::Extension|[]=(#t203, #t205, #t206) in #t206);
- self::throws(() → self::Class* => c = let final self::Class* #t208 = let final self::Class* #t209 = c in #t209.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t209) in let final self::Class* #t210 = c in let final self::Class* #t211 = self::Extension|+(self::Extension|[](#t208, #t210), 0) in let final void #t212 = self::Extension|[]=(#t208, #t210, #t211) in #t211);
- self::throws(() → self::Class* => let final self::Class* #t213 = let final self::Class* #t214 = c in #t214.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t214) in let final self::Class* #t215 = c in let final self::Class* #t216 = self::Extension|[](#t213, #t215) in let final void #t217 = self::Extension|[]=(#t213, #t215, self::Extension|+(#t216, 1)) in #t216);
- self::throws(() → self::Class* => c = let final self::Class* #t218 = let final self::Class* #t219 = c in #t219.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t219) in let final self::Class* #t220 = c in let final self::Class* #t221 = self::Extension|[](#t218, #t220) in let final void #t222 = self::Extension|[]=(#t218, #t220, self::Extension|+(#t221, 1)) in #t221);
- self::throws(() → self::Class* => let final self::Class* #t223 = let final self::Class* #t224 = c in #t224.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t224) in let final self::Class* #t225 = c in let final self::Class* #t226 = self::Extension|+(self::Extension|[](#t223, #t225), 1) in let final void #t227 = self::Extension|[]=(#t223, #t225, #t226) in #t226);
- self::throws(() → self::Class* => c = let final self::Class* #t228 = let final self::Class* #t229 = c in #t229.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t229) in let final self::Class* #t230 = c in let final self::Class* #t231 = self::Extension|+(self::Extension|[](#t228, #t230), 1) in let final void #t232 = self::Extension|[]=(#t228, #t230, #t231) in #t231);
- self::throws(() → self::Class* => self::Extension|[](self::Extension|[](let final self::Class* #t233 = c in #t233.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t233), c), c));
- self::throws(() → self::Class* => let final self::Class* #t234 = self::Extension|[](let final self::Class* #t235 = c in #t235.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t235), c) in let final self::Class* #t236 = c in let final self::Class* #t237 = new self::Class::•() in let final void #t238 = self::Extension|[]=(#t234, #t236, #t237) in #t237);
- self::throws(() → self::Class* => c = let final self::Class* #t239 = self::Extension|[](let final self::Class* #t240 = c in #t240.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t240), c) in let final self::Class* #t241 = c in let final self::Class* #t242 = new self::Class::•() in let final void #t243 = self::Extension|[]=(#t239, #t241, #t242) in #t242);
- self::throws(() → self::Class* => self::Extension|method(self::Extension|[](self::Extension|[](let final self::Class* #t244 = c in #t244.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t244), c), c)));
- self::throws(() → self::Class* => let final self::Class* #t245 = self::Extension|[](let final self::Class* #t246 = c in #t246.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t246), c) in let final self::Class* #t247 = c in let final self::Class* #t248 = self::Extension|+(self::Extension|[](#t245, #t247), 0) in let final void #t249 = self::Extension|[]=(#t245, #t247, #t248) in #t248);
- self::throws(() → self::Class* => c = let final self::Class* #t250 = self::Extension|[](let final self::Class* #t251 = c in #t251.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t251), c) in let final self::Class* #t252 = c in let final self::Class* #t253 = self::Extension|+(self::Extension|[](#t250, #t252), 0) in let final void #t254 = self::Extension|[]=(#t250, #t252, #t253) in #t253);
- self::throws(() → self::Class* => let final self::Class* #t255 = self::Extension|[](let final self::Class* #t256 = c in #t256.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t256), c) in let final self::Class* #t257 = c in let final self::Class* #t258 = self::Extension|[](#t255, #t257) in let final void #t259 = self::Extension|[]=(#t255, #t257, self::Extension|+(#t258, 1)) in #t258);
- self::throws(() → self::Class* => c = let final self::Class* #t260 = self::Extension|[](let final self::Class* #t261 = c in #t261.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t261), c) in let final self::Class* #t262 = c in let final self::Class* #t263 = self::Extension|[](#t260, #t262) in let final void #t264 = self::Extension|[]=(#t260, #t262, self::Extension|+(#t263, 1)) in #t263);
- self::throws(() → self::Class* => let final self::Class* #t265 = self::Extension|[](let final self::Class* #t266 = c in #t266.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t266), c) in let final self::Class* #t267 = c in let final self::Class* #t268 = self::Extension|+(self::Extension|[](#t265, #t267), 1) in let final void #t269 = self::Extension|[]=(#t265, #t267, #t268) in #t268);
- self::throws(() → self::Class* => c = let final self::Class* #t270 = self::Extension|[](let final self::Class* #t271 = c in #t271.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t271), c) in let final self::Class* #t272 = c in let final self::Class* #t273 = self::Extension|+(self::Extension|[](#t270, #t272), 1) in let final void #t274 = self::Extension|[]=(#t270, #t272, #t273) in #t273);
+ self::throws(() → self::Class* => self::Extension|[](let final self::Class* #t191 = c in #t191 == null ?{self::Class*} null : self::Extension|get#field(#t191), c));
+ self::throws(() → self::Class* => let final self::Class* #t192 = let final self::Class* #t193 = c in #t193 == null ?{self::Class*} null : self::Extension|get#field(#t193) in let final self::Class* #t194 = c in let final self::Class* #t195 = new self::Class::•() in let final void #t196 = self::Extension|[]=(#t192, #t194, #t195) in #t195);
+ self::throws(() → self::Class* => c = let final self::Class* #t197 = let final self::Class* #t198 = c in #t198 == null ?{self::Class*} null : self::Extension|get#field(#t198) in let final self::Class* #t199 = c in let final self::Class* #t200 = new self::Class::•() in let final void #t201 = self::Extension|[]=(#t197, #t199, #t200) in #t200);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|[](let final self::Class* #t202 = c in #t202 == null ?{self::Class*} null : self::Extension|get#field(#t202), c)));
+ self::throws(() → self::Class* => let final self::Class* #t203 = let final self::Class* #t204 = c in #t204 == null ?{self::Class*} null : self::Extension|get#field(#t204) in let final self::Class* #t205 = c in let final self::Class* #t206 = self::Extension|+(self::Extension|[](#t203, #t205), 0) in let final void #t207 = self::Extension|[]=(#t203, #t205, #t206) in #t206);
+ self::throws(() → self::Class* => c = let final self::Class* #t208 = let final self::Class* #t209 = c in #t209 == null ?{self::Class*} null : self::Extension|get#field(#t209) in let final self::Class* #t210 = c in let final self::Class* #t211 = self::Extension|+(self::Extension|[](#t208, #t210), 0) in let final void #t212 = self::Extension|[]=(#t208, #t210, #t211) in #t211);
+ self::throws(() → self::Class* => let final self::Class* #t213 = let final self::Class* #t214 = c in #t214 == null ?{self::Class*} null : self::Extension|get#field(#t214) in let final self::Class* #t215 = c in let final self::Class* #t216 = self::Extension|[](#t213, #t215) in let final void #t217 = self::Extension|[]=(#t213, #t215, self::Extension|+(#t216, 1)) in #t216);
+ self::throws(() → self::Class* => c = let final self::Class* #t218 = let final self::Class* #t219 = c in #t219 == null ?{self::Class*} null : self::Extension|get#field(#t219) in let final self::Class* #t220 = c in let final self::Class* #t221 = self::Extension|[](#t218, #t220) in let final void #t222 = self::Extension|[]=(#t218, #t220, self::Extension|+(#t221, 1)) in #t221);
+ self::throws(() → self::Class* => let final self::Class* #t223 = let final self::Class* #t224 = c in #t224 == null ?{self::Class*} null : self::Extension|get#field(#t224) in let final self::Class* #t225 = c in let final self::Class* #t226 = self::Extension|+(self::Extension|[](#t223, #t225), 1) in let final void #t227 = self::Extension|[]=(#t223, #t225, #t226) in #t226);
+ self::throws(() → self::Class* => c = let final self::Class* #t228 = let final self::Class* #t229 = c in #t229 == null ?{self::Class*} null : self::Extension|get#field(#t229) in let final self::Class* #t230 = c in let final self::Class* #t231 = self::Extension|+(self::Extension|[](#t228, #t230), 1) in let final void #t232 = self::Extension|[]=(#t228, #t230, #t231) in #t231);
+ self::throws(() → self::Class* => self::Extension|[](self::Extension|[](let final self::Class* #t233 = c in #t233 == null ?{self::Class*} null : self::Extension|get#field(#t233), c), c));
+ self::throws(() → self::Class* => let final self::Class* #t234 = self::Extension|[](let final self::Class* #t235 = c in #t235 == null ?{self::Class*} null : self::Extension|get#field(#t235), c) in let final self::Class* #t236 = c in let final self::Class* #t237 = new self::Class::•() in let final void #t238 = self::Extension|[]=(#t234, #t236, #t237) in #t237);
+ self::throws(() → self::Class* => c = let final self::Class* #t239 = self::Extension|[](let final self::Class* #t240 = c in #t240 == null ?{self::Class*} null : self::Extension|get#field(#t240), c) in let final self::Class* #t241 = c in let final self::Class* #t242 = new self::Class::•() in let final void #t243 = self::Extension|[]=(#t239, #t241, #t242) in #t242);
+ self::throws(() → self::Class* => self::Extension|method(self::Extension|[](self::Extension|[](let final self::Class* #t244 = c in #t244 == null ?{self::Class*} null : self::Extension|get#field(#t244), c), c)));
+ self::throws(() → self::Class* => let final self::Class* #t245 = self::Extension|[](let final self::Class* #t246 = c in #t246 == null ?{self::Class*} null : self::Extension|get#field(#t246), c) in let final self::Class* #t247 = c in let final self::Class* #t248 = self::Extension|+(self::Extension|[](#t245, #t247), 0) in let final void #t249 = self::Extension|[]=(#t245, #t247, #t248) in #t248);
+ self::throws(() → self::Class* => c = let final self::Class* #t250 = self::Extension|[](let final self::Class* #t251 = c in #t251 == null ?{self::Class*} null : self::Extension|get#field(#t251), c) in let final self::Class* #t252 = c in let final self::Class* #t253 = self::Extension|+(self::Extension|[](#t250, #t252), 0) in let final void #t254 = self::Extension|[]=(#t250, #t252, #t253) in #t253);
+ self::throws(() → self::Class* => let final self::Class* #t255 = self::Extension|[](let final self::Class* #t256 = c in #t256 == null ?{self::Class*} null : self::Extension|get#field(#t256), c) in let final self::Class* #t257 = c in let final self::Class* #t258 = self::Extension|[](#t255, #t257) in let final void #t259 = self::Extension|[]=(#t255, #t257, self::Extension|+(#t258, 1)) in #t258);
+ self::throws(() → self::Class* => c = let final self::Class* #t260 = self::Extension|[](let final self::Class* #t261 = c in #t261 == null ?{self::Class*} null : self::Extension|get#field(#t261), c) in let final self::Class* #t262 = c in let final self::Class* #t263 = self::Extension|[](#t260, #t262) in let final void #t264 = self::Extension|[]=(#t260, #t262, self::Extension|+(#t263, 1)) in #t263);
+ self::throws(() → self::Class* => let final self::Class* #t265 = self::Extension|[](let final self::Class* #t266 = c in #t266 == null ?{self::Class*} null : self::Extension|get#field(#t266), c) in let final self::Class* #t267 = c in let final self::Class* #t268 = self::Extension|+(self::Extension|[](#t265, #t267), 1) in let final void #t269 = self::Extension|[]=(#t265, #t267, #t268) in #t268);
+ self::throws(() → self::Class* => c = let final self::Class* #t270 = self::Extension|[](let final self::Class* #t271 = c in #t271 == null ?{self::Class*} null : self::Extension|get#field(#t271), c) in let final self::Class* #t272 = c in let final self::Class* #t273 = self::Extension|+(self::Extension|[](#t270, #t272), 1) in let final void #t274 = self::Extension|[]=(#t270, #t272, #t273) in #t273);
}
static method operatorAccess(self::Class* c) → void {
- self::throws(() → self::Class* => self::Extension|+(let final self::Class* #t275 = c in #t275.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t275), 0));
- self::throws(() → self::Class* => self::Extension|unary-(let final self::Class* #t276 = c in #t276.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t276)));
- let final self::Class* #t277 = c in #t277.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t277, self::Extension|+(self::Extension|get#field(#t277), 0));
- c = let final self::Class* #t278 = c in #t278.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t279 = self::Extension|+(self::Extension|get#field(#t278), 0) in let final void #t280 = self::Extension|set#field(#t278, #t279) in #t279;
- self::throws(() → self::Class* => let final self::Class* #t281 = let final self::Class* #t282 = c in #t282.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t282) in let final self::Class* #t283 = self::Extension|+(self::Extension|get#field(#t281), 0) in let final void #t284 = self::Extension|set#field(#t281, #t283) in #t283);
- self::throws(() → self::Class* => c = let final self::Class* #t285 = let final self::Class* #t286 = c in #t286.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t286) in let final self::Class* #t287 = self::Extension|+(self::Extension|get#field(#t285), 0) in let final void #t288 = self::Extension|set#field(#t285, #t287) in #t287);
- let final self::Class* #t289 = c in #t289.{self::Class::==}(null) ?{self::Class*} null : self::Extension|set#field(#t289, self::Extension|+(self::Extension|get#field(#t289), 1));
- c = let final self::Class* #t290 = c in #t290.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t291 = self::Extension|get#field(#t290) in let final void #t292 = self::Extension|set#field(#t290, self::Extension|+(#t291, 1)) in #t291;
- let final self::Class* #t293 = c in #t293.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t294 = self::Extension|+(self::Extension|get#field(#t293), 1) in let final void #t295 = self::Extension|set#field(#t293, #t294) in #t294;
- c = let final self::Class* #t296 = c in #t296.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t297 = self::Extension|+(self::Extension|get#field(#t296), 1) in let final void #t298 = self::Extension|set#field(#t296, #t297) in #t297;
+ self::throws(() → self::Class* => self::Extension|+(let final self::Class* #t275 = c in #t275 == null ?{self::Class*} null : self::Extension|get#field(#t275), 0));
+ self::throws(() → self::Class* => self::Extension|unary-(let final self::Class* #t276 = c in #t276 == null ?{self::Class*} null : self::Extension|get#field(#t276)));
+ let final self::Class* #t277 = c in #t277 == null ?{self::Class*} null : self::Extension|set#field(#t277, self::Extension|+(self::Extension|get#field(#t277), 0));
+ c = let final self::Class* #t278 = c in #t278 == null ?{self::Class*} null : let final self::Class* #t279 = self::Extension|+(self::Extension|get#field(#t278), 0) in let final void #t280 = self::Extension|set#field(#t278, #t279) in #t279;
+ self::throws(() → self::Class* => let final self::Class* #t281 = let final self::Class* #t282 = c in #t282 == null ?{self::Class*} null : self::Extension|get#field(#t282) in let final self::Class* #t283 = self::Extension|+(self::Extension|get#field(#t281), 0) in let final void #t284 = self::Extension|set#field(#t281, #t283) in #t283);
+ self::throws(() → self::Class* => c = let final self::Class* #t285 = let final self::Class* #t286 = c in #t286 == null ?{self::Class*} null : self::Extension|get#field(#t286) in let final self::Class* #t287 = self::Extension|+(self::Extension|get#field(#t285), 0) in let final void #t288 = self::Extension|set#field(#t285, #t287) in #t287);
+ let final self::Class* #t289 = c in #t289 == null ?{self::Class*} null : self::Extension|set#field(#t289, self::Extension|+(self::Extension|get#field(#t289), 1));
+ c = let final self::Class* #t290 = c in #t290 == null ?{self::Class*} null : let final self::Class* #t291 = self::Extension|get#field(#t290) in let final void #t292 = self::Extension|set#field(#t290, self::Extension|+(#t291, 1)) in #t291;
+ let final self::Class* #t293 = c in #t293 == null ?{self::Class*} null : let final self::Class* #t294 = self::Extension|+(self::Extension|get#field(#t293), 1) in let final void #t295 = self::Extension|set#field(#t293, #t294) in #t294;
+ c = let final self::Class* #t296 = c in #t296 == null ?{self::Class*} null : let final self::Class* #t297 = self::Extension|+(self::Extension|get#field(#t296), 1) in let final void #t298 = self::Extension|set#field(#t296, #t297) in #t297;
}
static method ifNull(self::Class* c) → void {
- let final self::Class* #t299 = c in #t299.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t299).{self::Class::==}(null) ?{self::Class*} self::Extension|set#field(#t299, c) : null;
- c = let final self::Class* #t300 = c in #t300.{self::Class::==}(null) ?{self::Class*} null : let final self::Class* #t301 = self::Extension|get#field(#t300) in #t301.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t302 = c in let final void #t303 = self::Extension|set#field(#t300, #t302) in #t302 : #t301;
- self::throws(() → self::Class* => let final self::Class* #t304 = let final self::Class* #t305 = c in #t305.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t305) in let final self::Class* #t306 = self::Extension|get#field(#t304) in #t306.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t307 = c in let final void #t308 = self::Extension|set#field(#t304, #t307) in #t307 : #t306);
- self::throws(() → self::Class* => c = let final self::Class* #t309 = let final self::Class* #t310 = c in #t310.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t310) in let final self::Class* #t311 = self::Extension|get#field(#t309) in #t311.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t312 = c in let final void #t313 = self::Extension|set#field(#t309, #t312) in #t312 : #t311);
- self::throws(() → self::Class* => let final self::Class* #t314 = let final self::Class* #t315 = c in #t315.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t315) in let final self::Class* #t316 = c in let final self::Class* #t317 = self::Extension|[](#t314, #t316) in #t317.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t318 = c in let final void #t319 = self::Extension|[]=(#t314, #t316, #t318) in #t318 : #t317);
- self::throws(() → self::Class* => c = let final self::Class* #t320 = let final self::Class* #t321 = c in #t321.{self::Class::==}(null) ?{self::Class*} null : self::Extension|get#field(#t321) in let final self::Class* #t322 = c in let final self::Class* #t323 = self::Extension|[](#t320, #t322) in #t323.{self::Class::==}(null) ?{self::Class*} let final self::Class* #t324 = c in let final void #t325 = self::Extension|[]=(#t320, #t322, #t324) in #t324 : #t323);
+ let final self::Class* #t299 = c in #t299 == null ?{self::Class*} null : self::Extension|get#field(#t299) == null ?{self::Class*} self::Extension|set#field(#t299, c) : null;
+ c = let final self::Class* #t300 = c in #t300 == null ?{self::Class*} null : let final self::Class* #t301 = self::Extension|get#field(#t300) in #t301 == null ?{self::Class*} let final self::Class* #t302 = c in let final void #t303 = self::Extension|set#field(#t300, #t302) in #t302 : #t301;
+ self::throws(() → self::Class* => let final self::Class* #t304 = let final self::Class* #t305 = c in #t305 == null ?{self::Class*} null : self::Extension|get#field(#t305) in let final self::Class* #t306 = self::Extension|get#field(#t304) in #t306 == null ?{self::Class*} let final self::Class* #t307 = c in let final void #t308 = self::Extension|set#field(#t304, #t307) in #t307 : #t306);
+ self::throws(() → self::Class* => c = let final self::Class* #t309 = let final self::Class* #t310 = c in #t310 == null ?{self::Class*} null : self::Extension|get#field(#t310) in let final self::Class* #t311 = self::Extension|get#field(#t309) in #t311 == null ?{self::Class*} let final self::Class* #t312 = c in let final void #t313 = self::Extension|set#field(#t309, #t312) in #t312 : #t311);
+ self::throws(() → self::Class* => let final self::Class* #t314 = let final self::Class* #t315 = c in #t315 == null ?{self::Class*} null : self::Extension|get#field(#t315) in let final self::Class* #t316 = c in let final self::Class* #t317 = self::Extension|[](#t314, #t316) in #t317 == null ?{self::Class*} let final self::Class* #t318 = c in let final void #t319 = self::Extension|[]=(#t314, #t316, #t318) in #t318 : #t317);
+ self::throws(() → self::Class* => c = let final self::Class* #t320 = let final self::Class* #t321 = c in #t321 == null ?{self::Class*} null : self::Extension|get#field(#t321) in let final self::Class* #t322 = c in let final self::Class* #t323 = self::Extension|[](#t320, #t322) in #t323 == null ?{self::Class*} let final self::Class* #t324 = c in let final void #t325 = self::Extension|[]=(#t320, #t322, #t324) in #t324 : #t323);
}
static method throws(() →* void f) → void {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic _) {
return;
diff --git a/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.expect
index 16c5070..9262574 100644
--- a/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.expect
@@ -79,7 +79,7 @@
: super core::Object::•()
;
method method(core::int? i) → core::int
- return let final core::int? #t1 = i in #t1.{core::num::==}(null) ?{core::int} 0 : #t1{core::int};
+ return let final core::int? #t1 = i in #t1 == null ?{core::int} 0 : #t1{core::int};
method genericMethod1<T extends core::Object? = dynamic>(nsm::A::genericMethod1::T% t) → nsm::A::genericMethod1::T%
return t;
method genericMethod2<T extends core::Object?>(nsm::A::genericMethod2::T% t) → nsm::A::genericMethod2::T%
diff --git a/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.transformed.expect
index 16c5070..9262574 100644
--- a/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.transformed.expect
@@ -79,7 +79,7 @@
: super core::Object::•()
;
method method(core::int? i) → core::int
- return let final core::int? #t1 = i in #t1.{core::num::==}(null) ?{core::int} 0 : #t1{core::int};
+ return let final core::int? #t1 = i in #t1 == null ?{core::int} 0 : #t1{core::int};
method genericMethod1<T extends core::Object? = dynamic>(nsm::A::genericMethod1::T% t) → nsm::A::genericMethod1::T%
return t;
method genericMethod2<T extends core::Object?>(nsm::A::genericMethod2::T% t) → nsm::A::genericMethod2::T%
diff --git a/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.expect
index da4369b..f4ebaa4 100644
--- a/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.expect
@@ -15,7 +15,7 @@
self::expect("Lily was here", self::_extension#0|get#text(a));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.transformed.expect
index da4369b..f4ebaa4 100644
--- a/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.transformed.expect
@@ -15,7 +15,7 @@
self::expect("Lily was here", self::_extension#0|get#text(a));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect
index 3e54fc2..6bba169 100644
--- a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect
@@ -33,10 +33,10 @@
late core::int local = 42;
core::String? s = null;
dynamic c;
- let final dynamic #t1 = c in #t1.{core::Object::==}(null) ?{dynamic} null : block {
- #t1.f;
+ let final dynamic #t1 = c in #t1 == null ?{dynamic} null : block {
+ #t1{dynamic}.f;
} =>#t1;
- let final dynamic #t2 = c in #t2.{core::Object::==}(null) ?{dynamic} null : #t2.[](0);
+ let final dynamic #t2 = c in #t2 == null ?{dynamic} null : #t2{dynamic}.[](0);
}
library;
@@ -172,8 +172,8 @@
invalid-expression "pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:36:6: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
c?..f;
- ^".f;
- let final dynamic #t3 = c in #t3.{core::Object::==}(null) ?{dynamic} null : #t3.[](0);
+ ^"{dynamic}.f;
+ let final dynamic #t3 = c in #t3 == null ?{dynamic} null : #t3{dynamic}.[](0);
}
constants {
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect
index 3924be2..59b31ed 100644
--- a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect
@@ -33,10 +33,10 @@
late core::int local = 42;
core::String? s = null;
dynamic c;
- let final dynamic #t1 = c in #t1.{core::Object::==}(null) ?{dynamic} null : block {
- #t1.f;
+ let final dynamic #t1 = c in #t1 == null ?{dynamic} null : block {
+ #t1{dynamic}.f;
} =>#t1;
- let final dynamic #t2 = c in #t2.{core::Object::==}(null) ?{dynamic} null : #t2.[](0);
+ let final dynamic #t2 = c in #t2 == null ?{dynamic} null : #t2{dynamic}.[](0);
}
library;
@@ -172,8 +172,8 @@
invalid-expression "pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:36:6: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
c?..f;
- ^".f;
- let final dynamic #t3 = c in #t3.{core::Object::==}(null) ?{dynamic} null : #t3.[](0);
+ ^"{dynamic}.f;
+ let final dynamic #t3 = c in #t3 == null ?{dynamic} null : #t3{dynamic}.[](0);
}
constants {
diff --git a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.expect
index 9650648..c4d17c9 100644
--- a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.expect
@@ -9,11 +9,11 @@
: super core::Object::•()
;
method method(core::String* node, core::Set<core::String*>* set) → core::List<core::String*>*
- return set.{core::Set::add}(node) ?{core::List<core::String*>*} block {
+ return set.{core::Set::add}(node){(core::String*) →* core::bool*} ?{core::List<core::String*>*} block {
final core::List<core::String*>* #t1 = <core::String*>[node];
- final core::Iterable<core::String*>* #t2 = let final core::Iterable<core::String*>* #t3 = let final core::Set<core::String*>* #t4 = this.{self::Class::map}.{core::Map::[]}(node) in #t4.{core::Object::==}(null) ?{core::Iterable<core::String*>*} null : #t4.{core::Iterable::expand}<core::String*>((core::String* node) → core::List<core::String*>* => this.{self::Class::method}(node, set)) in #t3.{core::Object::==}(null) ?{core::List<core::String*>*} null : #t3.{core::Iterable::toList}();
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2);
+ final core::Iterable<core::String*>* #t2 = let final core::Iterable<core::String*>* #t3 = let final core::Set<core::String*>* #t4 = this.{self::Class::map}{core::Map<core::String*, core::Set<core::String*>*>*}.{core::Map::[]}(node){(core::Object*) →* core::Set<core::String*>*} in #t4 == null ?{core::Iterable<core::String*>*} null : #t4.{core::Iterable::expand}<core::String*>((core::String* node) → core::List<core::String*>* => this.{self::Class::method}(node, set){(core::String*, core::Set<core::String*>*) →* core::List<core::String*>*}){((core::String*) →* core::Iterable<core::String*>*) →* core::Iterable<core::String*>*} in #t3 == null ?{core::List<core::String*>*} null : #t3.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2){(core::Iterable<core::String*>*) →* void};
} =>#t1 : <core::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
@@ -30,5 +30,5 @@
if(false)
new self::Class::•().{self::Class::method}("", block {
final core::Set<core::String*>* #t5 = col::LinkedHashSet::•<core::String*>();
- } =>#t5);
+ } =>#t5){(core::String*, core::Set<core::String*>*) →* core::List<core::String*>*};
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.transformed.expect
index a873a8e..eb3b7ce 100644
--- a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.transformed.expect
@@ -9,11 +9,11 @@
: super core::Object::•()
;
method method(core::String* node, core::Set<core::String*>* set) → core::List<core::String*>*
- return set.{core::Set::add}(node) ?{core::List<core::String*>*} block {
+ return set.{core::Set::add}(node){(core::String*) →* core::bool*} ?{core::List<core::String*>*} block {
final core::List<core::String*>* #t1 = core::_GrowableList::_literal1<core::String*>(node);
- final core::Iterable<core::String*>* #t2 = let final core::Iterable<core::String*>* #t3 = let final core::Set<core::String*>* #t4 = this.{self::Class::map}.{core::Map::[]}(node) in #t4.{core::Object::==}(null) ?{core::Iterable<core::String*>*} null : #t4.{core::Iterable::expand}<core::String*>((core::String* node) → core::List<core::String*>* => this.{self::Class::method}(node, set)) in #t3.{core::Object::==}(null) ?{core::List<core::String*>*} null : #t3.{core::Iterable::toList}();
- if(!#t2.{core::Object::==}(null))
- #t1.{core::List::addAll}{Invariant}(#t2);
+ final core::Iterable<core::String*>* #t2 = let final core::Iterable<core::String*>* #t3 = let final core::Set<core::String*>* #t4 = this.{self::Class::map}{core::Map<core::String*, core::Set<core::String*>*>*}.{core::Map::[]}(node){(core::Object*) →* core::Set<core::String*>*} in #t4 == null ?{core::Iterable<core::String*>*} null : #t4.{core::Iterable::expand}<core::String*>((core::String* node) → core::List<core::String*>* => this.{self::Class::method}(node, set){(core::String*, core::Set<core::String*>*) →* core::List<core::String*>*}){((core::String*) →* core::Iterable<core::String*>*) →* core::Iterable<core::String*>*} in #t3 == null ?{core::List<core::String*>*} null : #t3.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::String*>*};
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}(#t2){(core::Iterable<core::String*>*) →* void};
} =>#t1 : core::_GrowableList::•<core::String*>(0);
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -30,5 +30,5 @@
if(false)
new self::Class::•().{self::Class::method}("", block {
final core::Set<core::String*>* #t5 = new col::_CompactLinkedHashSet::•<core::String*>();
- } =>#t5);
+ } =>#t5){(core::String*, core::Set<core::String*>*) →* core::List<core::String*>*};
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.expect
index eea3841..90a553a 100644
--- a/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.expect
@@ -39,9 +39,9 @@
abstract member-signature operator /*isLegacy*/ ==(dynamic other) → core::bool*; -> core::Object::==
}
static method main() → dynamic {
- new self::A::•().{self::A::test_default}(i: 1);
- new self::A::•().{self::A::test_nondefault}(i: 1);
- new self::A::•().{self::A::test_legacy}(i: 1);
+ new self::A::•().{self::A::test_default}(i: 1){({required i: core::int?}) → void};
+ new self::A::•().{self::A::test_nondefault}(i: 1){({required i: core::int?}) → void};
+ new self::A::•().{self::A::test_legacy}(i: 1){({required i: core::int?}) → void};
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.transformed.expect
index eea3841..90a553a 100644
--- a/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.transformed.expect
@@ -39,9 +39,9 @@
abstract member-signature operator /*isLegacy*/ ==(dynamic other) → core::bool*; -> core::Object::==
}
static method main() → dynamic {
- new self::A::•().{self::A::test_default}(i: 1);
- new self::A::•().{self::A::test_nondefault}(i: 1);
- new self::A::•().{self::A::test_legacy}(i: 1);
+ new self::A::•().{self::A::test_default}(i: 1){({required i: core::int?}) → void};
+ new self::A::•().{self::A::test_nondefault}(i: 1){({required i: core::int?}) → void};
+ new self::A::•().{self::A::test_legacy}(i: 1){({required i: core::int?}) → void};
}
library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.expect
index cd3de48..184f291 100644
--- a/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.expect
@@ -23,13 +23,13 @@
}
static method main() → dynamic {
self::C<core::num, core::num, core::num> c = new self::C::•<core::num, core::num, core::num>();
- c.{self::C::promoteNullable}(null);
- c.{self::C::promoteNullable}(0);
- c.{self::C::nullableAsUndetermined}(null);
- c.{self::C::nullableAsUndetermined}(0);
+ c.{self::C::promoteNullable}(null){(core::num?) → void};
+ c.{self::C::promoteNullable}(0){(core::num?) → void};
+ c.{self::C::nullableAsUndetermined}(null){(core::num?) → void};
+ c.{self::C::nullableAsUndetermined}(0){(core::num?) → void};
typ::D<core::num> d = new typ::D::•<core::num>();
- d.{typ::D::promoteLegacy}(null);
- d.{typ::D::promoteLegacy}(0);
+ d.{typ::D::promoteLegacy}(null){(core::num*) →* void};
+ d.{typ::D::promoteLegacy}(0){(core::num*) →* void};
}
library;
@@ -42,7 +42,7 @@
;
method promoteLegacy(generic-covariant-impl typ::D::T* t) → void {
if(t is core::int*) {
- let final typ::D::T* & core::int* /* '*' & '*' = '*' */ #t1 = t{typ::D::T* & core::int* /* '*' & '*' = '*' */} in #t1.{core::num::==}(null) ?{core::bool*} null : #t1.{core::int::isEven};
+ let final typ::D::T* & core::int* /* '*' & '*' = '*' */ #t1 = t{typ::D::T* & core::int* /* '*' & '*' = '*' */} in #t1 == null ?{core::bool*} null : #t1.{core::int::isEven}{core::bool*};
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.transformed.expect
index cd3de48..184f291 100644
--- a/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.transformed.expect
@@ -23,13 +23,13 @@
}
static method main() → dynamic {
self::C<core::num, core::num, core::num> c = new self::C::•<core::num, core::num, core::num>();
- c.{self::C::promoteNullable}(null);
- c.{self::C::promoteNullable}(0);
- c.{self::C::nullableAsUndetermined}(null);
- c.{self::C::nullableAsUndetermined}(0);
+ c.{self::C::promoteNullable}(null){(core::num?) → void};
+ c.{self::C::promoteNullable}(0){(core::num?) → void};
+ c.{self::C::nullableAsUndetermined}(null){(core::num?) → void};
+ c.{self::C::nullableAsUndetermined}(0){(core::num?) → void};
typ::D<core::num> d = new typ::D::•<core::num>();
- d.{typ::D::promoteLegacy}(null);
- d.{typ::D::promoteLegacy}(0);
+ d.{typ::D::promoteLegacy}(null){(core::num*) →* void};
+ d.{typ::D::promoteLegacy}(0){(core::num*) →* void};
}
library;
@@ -42,7 +42,7 @@
;
method promoteLegacy(generic-covariant-impl typ::D::T* t) → void {
if(t is core::int*) {
- let final typ::D::T* & core::int* /* '*' & '*' = '*' */ #t1 = t{typ::D::T* & core::int* /* '*' & '*' = '*' */} in #t1.{core::num::==}(null) ?{core::bool*} null : #t1.{core::int::isEven};
+ let final typ::D::T* & core::int* /* '*' & '*' = '*' */ #t1 = t{typ::D::T* & core::int* /* '*' & '*' = '*' */} in #t1 == null ?{core::bool*} null : #t1.{core::int::isEven}{core::bool*};
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.expect
index 0b77ed6..c26061d 100644
--- a/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.expect
@@ -77,9 +77,9 @@
: super self::OptOutSuperClass4::•()
;
method method(core::int* i) → dynamic
- return let final core::int* #t1 = i in let final core::int* #t2 = super.{self::OptOutSuperClass4::[]}(#t1) in #t2.{core::num::==}(null) ?{core::int*} let final core::int* #t3 = 42 in let final void #t4 = super.{self::OptOutSuperClass4::[]=}(#t1, #t3) in #t3 : #t2;
+ return let final core::int* #t1 = i in let final core::int* #t2 = super.{self::OptOutSuperClass4::[]}(#t1) in #t2 == null ?{core::int*} let final core::int* #t3 = 42 in let final void #t4 = super.{self::OptOutSuperClass4::[]=}(#t1, #t3) in #t3 : #t2;
method methodForEffect(core::int* i) → dynamic {
- let final core::int* #t5 = i in super.{self::OptOutSuperClass4::[]}(#t5).{core::num::==}(null) ?{core::int*} super.{self::OptOutSuperClass4::[]=}(#t5, 42) : null;
+ let final core::int* #t5 = i in super.{self::OptOutSuperClass4::[]}(#t5) == null ?{core::int*} super.{self::OptOutSuperClass4::[]=}(#t5, 42) : null;
}
}
class OptOutClass5 extends core::Object {
@@ -103,55 +103,55 @@
operator []= = self::OptOutExtension|[]=;
}
static method isNullOptOut1(core::int* i) → dynamic
- return i.{core::num::==}(null);
+ return i == null;
static method isNotNullOptOut1(core::int* i) → dynamic
- return !i.{core::num::==}(null);
+ return !(i == null);
static method isNullOptOut2(core::int* i) → dynamic
- return null.{core::Object::==}(i);
+ return i == null;
static method isNotNullOptOut2(core::int* i) → dynamic
- return !null.{core::Object::==}(i);
+ return !(i == null);
static method ifNullOptOut(core::int* i) → dynamic
- return let final core::int* #t6 = i in #t6.{core::num::==}(null) ?{core::int*} 42 : #t6;
+ return let final core::int* #t6 = i in #t6 == null ?{core::int*} 42 : #t6;
static method OptOutExtension|[](lowered final self::OptOutClass1* #this, core::int* index) → core::int*
return index;
static method OptOutExtension|[]=(lowered final self::OptOutClass1* #this, core::int* index, core::int* value) → void {}
static method extensionIfNullOptOut1(core::int* i) → dynamic
- return let final self::OptOutClass1* #t7 = new self::OptOutClass1::•() in let final core::int* #t8 = i in let final core::int* #t9 = self::OptOutExtension|[](#t7, #t8) in #t9.{core::num::==}(null) ?{core::int*} let final core::int* #t10 = 42 in let final void #t11 = self::OptOutExtension|[]=(#t7, #t8, #t10) in #t10 : #t9;
+ return let final self::OptOutClass1* #t7 = new self::OptOutClass1::•() in let final core::int* #t8 = i in let final core::int* #t9 = self::OptOutExtension|[](#t7, #t8) in #t9 == null ?{core::int*} let final core::int* #t10 = 42 in let final void #t11 = self::OptOutExtension|[]=(#t7, #t8, #t10) in #t10 : #t9;
static method extensionIfNullOptOut1ForEffect(core::int* i) → dynamic {
- let final self::OptOutClass1* #t12 = new self::OptOutClass1::•() in let final core::int* #t13 = i in self::OptOutExtension|[](#t12, #t13).{core::num::==}(null) ?{core::int*} self::OptOutExtension|[]=(#t12, #t13, 42) : null;
+ let final self::OptOutClass1* #t12 = new self::OptOutClass1::•() in let final core::int* #t13 = i in self::OptOutExtension|[](#t12, #t13) == null ?{core::int*} self::OptOutExtension|[]=(#t12, #t13, 42) : null;
}
static method extensionIfNullOptOut2(core::int* i) → dynamic
- return let final self::OptOutClass1* #t14 = new self::OptOutClass1::•() in let final core::int* #t15 = i in let final core::int* #t16 = self::OptOutExtension|[](#t14, #t15) in #t16.{core::num::==}(null) ?{core::int*} let final core::int* #t17 = 42 in let final void #t18 = self::OptOutExtension|[]=(#t14, #t15, #t17) in #t17 : #t16;
+ return let final self::OptOutClass1* #t14 = new self::OptOutClass1::•() in let final core::int* #t15 = i in let final core::int* #t16 = self::OptOutExtension|[](#t14, #t15) in #t16 == null ?{core::int*} let final core::int* #t17 = 42 in let final void #t18 = self::OptOutExtension|[]=(#t14, #t15, #t17) in #t17 : #t16;
static method extensionIfNullOptOut2ForEffect(core::int* i) → dynamic {
- let final self::OptOutClass1* #t19 = new self::OptOutClass1::•() in let final core::int* #t20 = i in self::OptOutExtension|[](#t19, #t20).{core::num::==}(null) ?{core::int*} self::OptOutExtension|[]=(#t19, #t20, 42) : null;
+ let final self::OptOutClass1* #t19 = new self::OptOutClass1::•() in let final core::int* #t20 = i in self::OptOutExtension|[](#t19, #t20) == null ?{core::int*} self::OptOutExtension|[]=(#t19, #t20, 42) : null;
}
static method ifNullIndexSetOptOut(core::int* i) → dynamic
- return let final self::OptOutClass2* #t21 = new self::OptOutClass2::•() in let final core::int* #t22 = i in let final core::int* #t23 = #t21.{self::OptOutClass2::[]}(#t22) in #t23.{core::num::==}(null) ?{core::int*} let final core::int* #t24 = 42 in let final void #t25 = #t21.{self::OptOutClass2::[]=}(#t22, #t24) in #t24 : #t23;
+ return let final self::OptOutClass2* #t21 = new self::OptOutClass2::•() in let final core::int* #t22 = i in let final core::int* #t23 = #t21.{self::OptOutClass2::[]}(#t22){(core::int*) →* core::int*} in #t23 == null ?{core::int*} let final core::int* #t24 = 42 in let final void #t25 = #t21.{self::OptOutClass2::[]=}(#t22, #t24){(core::int*, core::int*) →* void} in #t24 : #t23;
static method ifNullIndexSetOptOutForEffect(core::int* i) → dynamic {
- let final self::OptOutClass2* #t26 = new self::OptOutClass2::•() in let final core::int* #t27 = i in #t26.{self::OptOutClass2::[]}(#t27).{core::num::==}(null) ?{core::int*} #t26.{self::OptOutClass2::[]=}(#t27, 42) : null;
+ let final self::OptOutClass2* #t26 = new self::OptOutClass2::•() in let final core::int* #t27 = i in #t26.{self::OptOutClass2::[]}(#t27){(core::int*) →* core::int*} == null ?{core::int*} #t26.{self::OptOutClass2::[]=}(#t27, 42){(core::int*, core::int*) →* void} : null;
}
static method ifNullPropertySetOptOut(core::int* i) → dynamic
- return let final self::OptOutClass3* #t28 = new self::OptOutClass3::•(i) in let final core::int* #t29 = #t28.{self::OptOutClass3::field} in #t29.{core::num::==}(null) ?{core::int*} #t28.{self::OptOutClass3::field} = 42 : #t29;
+ return let final self::OptOutClass3* #t28 = new self::OptOutClass3::•(i) in let final core::int* #t29 = #t28.{self::OptOutClass3::field}{core::int*} in #t29 == null ?{core::int*} #t28.{self::OptOutClass3::field} = 42 : #t29;
static method ifNullPropertySetOptOutForEffect(core::int* i) → dynamic {
- let final self::OptOutClass3* #t30 = new self::OptOutClass3::•(i) in #t30.{self::OptOutClass3::field}.{core::num::==}(null) ?{core::int*} #t30.{self::OptOutClass3::field} = 42 : null;
+ let final self::OptOutClass3* #t30 = new self::OptOutClass3::•(i) in #t30.{self::OptOutClass3::field}{core::int*} == null ?{core::int*} #t30.{self::OptOutClass3::field} = 42 : null;
}
static method ifNullSetOptOut(core::int* i) → dynamic
- return let final core::int* #t31 = i in #t31.{core::num::==}(null) ?{core::int*} i = 42 : #t31;
+ return let final core::int* #t31 = i in #t31 == null ?{core::int*} i = 42 : #t31;
static method ifNullSetOptOutForEffect(core::int* i) → dynamic {
- i.{core::num::==}(null) ?{core::int*} i = 42 : null;
+ i == null ?{core::int*} i = 42 : null;
}
static method ifNullSuperIndexSetOptOut(core::int* i) → dynamic
- return new self::OptOutClass4::•().{self::OptOutClass4::method}(i);
+ return new self::OptOutClass4::•().{self::OptOutClass4::method}(i){(core::int*) →* dynamic};
static method ifNullSuperIndexSetOptOutForEffect(core::int* i) → dynamic {
- new self::OptOutClass4::•().{self::OptOutClass4::methodForEffect}(i);
+ new self::OptOutClass4::•().{self::OptOutClass4::methodForEffect}(i){(core::int*) →* dynamic};
}
static method nullAwareIfNullSetOptOut(core::int* i) → dynamic {
self::OptOutClass5* o = new self::OptOutClass5::•(i);
- return let final self::OptOutClass5* #t32 = o in #t32.{self::OptOutClass5::==}(null) ?{core::int*} null : let final core::int* #t33 = #t32.{self::OptOutClass5::field} in #t33.{core::num::==}(null) ?{core::int*} #t32.{self::OptOutClass5::field} = 42 : #t33;
+ return let final self::OptOutClass5* #t32 = o in #t32 == null ?{core::int*} null : let final core::int* #t33 = #t32.{self::OptOutClass5::field}{core::int*} in #t33 == null ?{core::int*} #t32.{self::OptOutClass5::field} = 42 : #t33;
}
static method nullAwareIfNullSetOptOutForEffect(core::int* i) → dynamic {
self::OptOutClass5* o = new self::OptOutClass5::•(i);
- let final self::OptOutClass5* #t34 = o in #t34.{self::OptOutClass5::==}(null) ?{core::int*} null : #t34.{self::OptOutClass5::field}.{core::num::==}(null) ?{core::int*} #t34.{self::OptOutClass5::field} = 42 : null;
+ let final self::OptOutClass5* #t34 = o in #t34 == null ?{core::int*} null : #t34.{self::OptOutClass5::field}{core::int*} == null ?{core::int*} #t34.{self::OptOutClass5::field} = 42 : null;
}
static method isTestOptOut(core::int* i) → dynamic
return i is core::int*;
@@ -254,7 +254,7 @@
uns::unnecessaryIfNullAssign(<core::int*>[null], () → core::int* => 42);
uns::unnecessaryNullAwareAccess(() → core::int* => 0);
uns::unnecessaryNullAwareAccess(() → Null => null);
- self::throws(() → dynamic => uns::callReturningNever(() → Null => throw "foo"), (core::Object* e) → core::bool* => e.{core::Object::==}("foo"));
+ self::throws(() → dynamic => uns::callReturningNever(() → Null => throw "foo"), (core::Object* e) → core::bool* => e =={core::Object::==}{(core::Object*) →* core::bool*} "foo");
() →* Null f = () → Null => null;
self::throws(() → dynamic => uns::callReturningNever(f));
uns::switchOnEnum(#C3);
@@ -271,15 +271,15 @@
self::throws(() → dynamic => uns::switchOnEnumWithFallThrough2(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() →* void f, [(core::Object*) →* core::bool* testException = #C7]) → dynamic {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic e) {
- if(!testException.{core::Object::==}(null) && !testException.call(e)) {
+ if(!(testException == null) && !testException(e){(core::Object*) →* core::bool*}) {
throw "Unexpected exception: ${e}";
}
core::print(e);
@@ -405,9 +405,9 @@
: super uns::OptInSuperClass4::•()
;
method method(core::int i) → dynamic
- return let final core::int #t35 = i in let final core::int #t36 = super.{uns::OptInSuperClass4::[]}(#t35) in #t36.{core::num::==}(null) ?{core::int} let final core::int #t37 = 42 in let final void #t38 = super.{uns::OptInSuperClass4::[]=}(#t35, #t37) in #t37 : #t36;
+ return let final core::int #t35 = i in let final core::int #t36 = super.{uns::OptInSuperClass4::[]}(#t35) in #t36 == null ?{core::int} let final core::int #t37 = 42 in let final void #t38 = super.{uns::OptInSuperClass4::[]=}(#t35, #t37) in #t37 : #t36;
method methodForEffect(core::int i) → dynamic {
- let final core::int #t39 = i in super.{uns::OptInSuperClass4::[]}(#t39).{core::num::==}(null) ?{core::int} super.{uns::OptInSuperClass4::[]=}(#t39, 42) : null;
+ let final core::int #t39 = i in super.{uns::OptInSuperClass4::[]}(#t39) == null ?{core::int} super.{uns::OptInSuperClass4::[]=}(#t39, 42) : null;
}
}
class OptInClass5 extends core::Object {
@@ -445,84 +445,84 @@
operator []= = uns::OptInExtension|[]=;
}
static method isNullOptIn1(core::int i) → dynamic
- return i.{core::num::==}(null);
+ return i == null;
static method isNotNullOptIn1(core::int i) → dynamic
- return !i.{core::num::==}(null);
+ return !(i == null);
static method isNullOptIn2(core::int i) → dynamic
- return null.{core::Object::==}(i);
+ return i == null;
static method isNotNullOptIn2(core::int i) → dynamic
- return !null.{core::Object::==}(i);
+ return !(i == null);
static method ifNullOptIn(core::int i) → dynamic
- return let final core::int #t40 = i in #t40.{core::num::==}(null) ?{core::int} 42 : #t40;
+ return let final core::int #t40 = i in #t40 == null ?{core::int} 42 : #t40;
static method OptInExtension|[](lowered final uns::OptInClass1 #this, core::int index) → core::int
return index;
static method OptInExtension|[]=(lowered final uns::OptInClass1 #this, core::int index, core::int value) → void {}
static method extensionIfNullOptIn1(core::int i) → dynamic
- return let final uns::OptInClass1 #t41 = new uns::OptInClass1::•() in let final core::int #t42 = i in let final core::int #t43 = uns::OptInExtension|[](#t41, #t42) in #t43.{core::num::==}(null) ?{core::int} let final core::int #t44 = 42 in let final void #t45 = uns::OptInExtension|[]=(#t41, #t42, #t44) in #t44 : #t43;
+ return let final uns::OptInClass1 #t41 = new uns::OptInClass1::•() in let final core::int #t42 = i in let final core::int #t43 = uns::OptInExtension|[](#t41, #t42) in #t43 == null ?{core::int} let final core::int #t44 = 42 in let final void #t45 = uns::OptInExtension|[]=(#t41, #t42, #t44) in #t44 : #t43;
static method extensionIfNullOptIn1ForEffect(core::int i) → dynamic {
- let final uns::OptInClass1 #t46 = new uns::OptInClass1::•() in let final core::int #t47 = i in uns::OptInExtension|[](#t46, #t47).{core::num::==}(null) ?{core::int} uns::OptInExtension|[]=(#t46, #t47, 42) : null;
+ let final uns::OptInClass1 #t46 = new uns::OptInClass1::•() in let final core::int #t47 = i in uns::OptInExtension|[](#t46, #t47) == null ?{core::int} uns::OptInExtension|[]=(#t46, #t47, 42) : null;
}
static method extensionIfNullOptIn2(core::int i) → dynamic
- return let final uns::OptInClass1 #t48 = new uns::OptInClass1::•() in let final core::int #t49 = i in let final core::int #t50 = uns::OptInExtension|[](#t48, #t49) in #t50.{core::num::==}(null) ?{core::int} let final core::int #t51 = 42 in let final void #t52 = uns::OptInExtension|[]=(#t48, #t49, #t51) in #t51 : #t50;
+ return let final uns::OptInClass1 #t48 = new uns::OptInClass1::•() in let final core::int #t49 = i in let final core::int #t50 = uns::OptInExtension|[](#t48, #t49) in #t50 == null ?{core::int} let final core::int #t51 = 42 in let final void #t52 = uns::OptInExtension|[]=(#t48, #t49, #t51) in #t51 : #t50;
static method extensionIfNullOptIn2ForEffect(core::int i) → dynamic {
- let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54).{core::num::==}(null) ?{core::int} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
+ let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54) == null ?{core::int} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
}
static method ifNullIndexSetOptIn(core::int i) → dynamic
- return let final uns::OptInClass2 #t55 = new uns::OptInClass2::•() in let final core::int #t56 = i in let final core::int #t57 = #t55.{uns::OptInClass2::[]}(#t56) in #t57.{core::num::==}(null) ?{core::int} let final core::int #t58 = 42 in let final void #t59 = #t55.{uns::OptInClass2::[]=}(#t56, #t58) in #t58 : #t57;
+ return let final uns::OptInClass2 #t55 = new uns::OptInClass2::•() in let final core::int #t56 = i in let final core::int #t57 = #t55.{uns::OptInClass2::[]}(#t56){(core::int) → core::int} in #t57 == null ?{core::int} let final core::int #t58 = 42 in let final void #t59 = #t55.{uns::OptInClass2::[]=}(#t56, #t58){(core::int, core::int) → void} in #t58 : #t57;
static method ifNullIndexSetOptInForEffect(core::int i) → dynamic {
- let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61).{core::num::==}(null) ?{core::int} #t60.{uns::OptInClass2::[]=}(#t61, 42) : null;
+ let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61){(core::int) → core::int} == null ?{core::int} #t60.{uns::OptInClass2::[]=}(#t61, 42){(core::int, core::int) → void} : null;
}
static method ifNullPropertySetOptIn(core::int i) → dynamic
- return let final uns::OptInClass3 #t62 = new uns::OptInClass3::•(i) in let final core::int #t63 = #t62.{uns::OptInClass3::field} in #t63.{core::num::==}(null) ?{core::int} #t62.{uns::OptInClass3::field} = 42 : #t63;
+ return let final uns::OptInClass3 #t62 = new uns::OptInClass3::•(i) in let final core::int #t63 = #t62.{uns::OptInClass3::field}{core::int} in #t63 == null ?{core::int} #t62.{uns::OptInClass3::field} = 42 : #t63;
static method ifNullPropertySetOptInForEffect(core::int i) → dynamic {
- let final uns::OptInClass3 #t64 = new uns::OptInClass3::•(i) in #t64.{uns::OptInClass3::field}.{core::num::==}(null) ?{core::int} #t64.{uns::OptInClass3::field} = 42 : null;
+ let final uns::OptInClass3 #t64 = new uns::OptInClass3::•(i) in #t64.{uns::OptInClass3::field}{core::int} == null ?{core::int} #t64.{uns::OptInClass3::field} = 42 : null;
}
static method ifNullSetOptIn(core::int i) → dynamic
- return let final core::int #t65 = i in #t65.{core::num::==}(null) ?{core::int} i = 42 : #t65;
+ return let final core::int #t65 = i in #t65 == null ?{core::int} i = 42 : #t65;
static method ifNullSetOptInForEffect(core::int i) → dynamic {
- i.{core::num::==}(null) ?{core::int} i = 42 : null;
+ i == null ?{core::int} i = 42 : null;
}
static method ifNullSuperIndexSetOptIn(core::int i) → dynamic
- return new uns::OptInClass4::•().{uns::OptInClass4::method}(i);
+ return new uns::OptInClass4::•().{uns::OptInClass4::method}(i){(core::int) → dynamic};
static method ifNullSuperIndexSetOptInForEffect(core::int i) → dynamic {
- new uns::OptInClass4::•().{uns::OptInClass4::methodForEffect}(i);
+ new uns::OptInClass4::•().{uns::OptInClass4::methodForEffect}(i){(core::int) → dynamic};
}
static method nullAwareIfNullSetOptIn(core::int i) → dynamic {
uns::OptInClass5? o = new uns::OptInClass5::•(i) as{ForNonNullableByDefault} uns::OptInClass5?;
- return let final uns::OptInClass5? #t66 = o in #t66.{core::Object::==}(null) ?{core::int?} null : let final core::int #t67 = #t66.{uns::OptInClass5::field} in #t67.{core::num::==}(null) ?{core::int} #t66.{uns::OptInClass5::field} = 42 : #t67;
+ return let final uns::OptInClass5? #t66 = o in #t66 == null ?{core::int?} null : let final core::int #t67 = #t66.{uns::OptInClass5::field}{core::int} in #t67 == null ?{core::int} #t66.{uns::OptInClass5::field} = 42 : #t67;
}
static method nullAwareIfNullSetOptInForEffect(core::int i) → dynamic {
uns::OptInClass5? o = new uns::OptInClass5::•(i) as{ForNonNullableByDefault} uns::OptInClass5?;
- let final uns::OptInClass5? #t68 = o in #t68.{core::Object::==}(null) ?{core::int?} null : #t68.{uns::OptInClass5::field}.{core::num::==}(null) ?{core::int} #t68.{uns::OptInClass5::field} = 42 : null;
+ let final uns::OptInClass5? #t68 = o in #t68 == null ?{core::int?} null : #t68.{uns::OptInClass5::field}{core::int} == null ?{core::int} #t68.{uns::OptInClass5::field} = 42 : null;
}
static method isTestOptIn(core::int i) → dynamic
return i is{ForNonNullableByDefault} core::int;
static method isNotTestOptIn(core::int i) → dynamic
return !(i is{ForNonNullableByDefault} core::int);
static method nullAwareAccess1(core::int i) → dynamic
- return let final core::int #t69 = i in #t69.{core::num::==}(null) ?{core::bool?} null : #t69.{core::int::isEven};
+ return let final core::int #t69 = i in #t69 == null ?{core::bool?} null : #t69.{core::int::isEven}{core::bool};
static method nullAwareAccessForEffect1(core::int i) → dynamic {
- let final core::int #t70 = i in #t70.{core::num::==}(null) ?{core::bool?} null : #t70.{core::int::isEven};
+ let final core::int #t70 = i in #t70 == null ?{core::bool?} null : #t70.{core::int::isEven}{core::bool};
}
static method promotionToNever(core::int i) → dynamic {
if(i is{ForNonNullableByDefault} core::int)
return;
}
static method unnecessaryNullCheck(() → core::int f) → dynamic {
- if(!f.call().{core::num::==}(null))
+ if(!(f(){() → core::int} == null))
return;
}
static method unnecessaryIfNull(() → core::int f, () → core::int g) → dynamic {
- return let final core::int #t71 = f.call() in #t71.{core::num::==}(null) ?{core::int} g.call() : #t71;
+ return let final core::int #t71 = f(){() → core::int} in #t71 == null ?{core::int} g(){() → core::int} : #t71;
}
static method unnecessaryIfNullAssign(core::List<core::int> x, () → core::int f) → dynamic {
- let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73).{core::num::==}(null) ?{core::int} #t72.{core::List::[]=}(#t73, f.call()) : null;
+ let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73){(core::int) → core::int} == null ?{core::int} #t72.{core::List::[]=}(#t73, f(){() → core::int}){(core::int, core::int) → void} : null;
}
static method unnecessaryNullAwareAccess(() → core::int f) → dynamic {
- let final core::int #t74 = f.call() in #t74.{core::num::==}(null) ?{core::int?} null : #t74.{core::int::gcd}(0);
+ let final core::int #t74 = f(){() → core::int} in #t74 == null ?{core::int?} null : #t74.{core::int::gcd}(0){(core::int) → core::int};
}
static method callReturningNever(() → Never f) → dynamic {
- let final Never #t75 = f.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t75 = f(){() → Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method switchOnEnum(uns::E e) → dynamic {
switch(e) {
diff --git a/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.transformed.expect
index 3e7492c..5f9df14 100644
--- a/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.transformed.expect
@@ -77,9 +77,9 @@
: super self::OptOutSuperClass4::•()
;
method method(core::int* i) → dynamic
- return let final core::int* #t1 = i in let final core::int* #t2 = super.{self::OptOutSuperClass4::[]}(#t1) in #t2.{core::num::==}(null) ?{core::int*} let final core::int* #t3 = 42 in let final void #t4 = super.{self::OptOutSuperClass4::[]=}(#t1, #t3) in #t3 : #t2;
+ return let final core::int* #t1 = i in let final core::int* #t2 = super.{self::OptOutSuperClass4::[]}(#t1) in #t2 == null ?{core::int*} let final core::int* #t3 = 42 in let final void #t4 = super.{self::OptOutSuperClass4::[]=}(#t1, #t3) in #t3 : #t2;
method methodForEffect(core::int* i) → dynamic {
- let final core::int* #t5 = i in super.{self::OptOutSuperClass4::[]}(#t5).{core::num::==}(null) ?{core::int*} super.{self::OptOutSuperClass4::[]=}(#t5, 42) : null;
+ let final core::int* #t5 = i in super.{self::OptOutSuperClass4::[]}(#t5) == null ?{core::int*} super.{self::OptOutSuperClass4::[]=}(#t5, 42) : null;
}
}
class OptOutClass5 extends core::Object {
@@ -103,55 +103,55 @@
operator []= = self::OptOutExtension|[]=;
}
static method isNullOptOut1(core::int* i) → dynamic
- return i.{core::num::==}(null);
+ return i == null;
static method isNotNullOptOut1(core::int* i) → dynamic
- return !i.{core::num::==}(null);
+ return !(i == null);
static method isNullOptOut2(core::int* i) → dynamic
- return null.{core::Object::==}(i);
+ return i == null;
static method isNotNullOptOut2(core::int* i) → dynamic
- return !null.{core::Object::==}(i);
+ return !(i == null);
static method ifNullOptOut(core::int* i) → dynamic
- return let final core::int* #t6 = i in #t6.{core::num::==}(null) ?{core::int*} 42 : #t6;
+ return let final core::int* #t6 = i in #t6 == null ?{core::int*} 42 : #t6;
static method OptOutExtension|[](lowered final self::OptOutClass1* #this, core::int* index) → core::int*
return index;
static method OptOutExtension|[]=(lowered final self::OptOutClass1* #this, core::int* index, core::int* value) → void {}
static method extensionIfNullOptOut1(core::int* i) → dynamic
- return let final self::OptOutClass1* #t7 = new self::OptOutClass1::•() in let final core::int* #t8 = i in let final core::int* #t9 = self::OptOutExtension|[](#t7, #t8) in #t9.{core::num::==}(null) ?{core::int*} let final core::int* #t10 = 42 in let final void #t11 = self::OptOutExtension|[]=(#t7, #t8, #t10) in #t10 : #t9;
+ return let final self::OptOutClass1* #t7 = new self::OptOutClass1::•() in let final core::int* #t8 = i in let final core::int* #t9 = self::OptOutExtension|[](#t7, #t8) in #t9 == null ?{core::int*} let final core::int* #t10 = 42 in let final void #t11 = self::OptOutExtension|[]=(#t7, #t8, #t10) in #t10 : #t9;
static method extensionIfNullOptOut1ForEffect(core::int* i) → dynamic {
- let final self::OptOutClass1* #t12 = new self::OptOutClass1::•() in let final core::int* #t13 = i in self::OptOutExtension|[](#t12, #t13).{core::num::==}(null) ?{core::int*} self::OptOutExtension|[]=(#t12, #t13, 42) : null;
+ let final self::OptOutClass1* #t12 = new self::OptOutClass1::•() in let final core::int* #t13 = i in self::OptOutExtension|[](#t12, #t13) == null ?{core::int*} self::OptOutExtension|[]=(#t12, #t13, 42) : null;
}
static method extensionIfNullOptOut2(core::int* i) → dynamic
- return let final self::OptOutClass1* #t14 = new self::OptOutClass1::•() in let final core::int* #t15 = i in let final core::int* #t16 = self::OptOutExtension|[](#t14, #t15) in #t16.{core::num::==}(null) ?{core::int*} let final core::int* #t17 = 42 in let final void #t18 = self::OptOutExtension|[]=(#t14, #t15, #t17) in #t17 : #t16;
+ return let final self::OptOutClass1* #t14 = new self::OptOutClass1::•() in let final core::int* #t15 = i in let final core::int* #t16 = self::OptOutExtension|[](#t14, #t15) in #t16 == null ?{core::int*} let final core::int* #t17 = 42 in let final void #t18 = self::OptOutExtension|[]=(#t14, #t15, #t17) in #t17 : #t16;
static method extensionIfNullOptOut2ForEffect(core::int* i) → dynamic {
- let final self::OptOutClass1* #t19 = new self::OptOutClass1::•() in let final core::int* #t20 = i in self::OptOutExtension|[](#t19, #t20).{core::num::==}(null) ?{core::int*} self::OptOutExtension|[]=(#t19, #t20, 42) : null;
+ let final self::OptOutClass1* #t19 = new self::OptOutClass1::•() in let final core::int* #t20 = i in self::OptOutExtension|[](#t19, #t20) == null ?{core::int*} self::OptOutExtension|[]=(#t19, #t20, 42) : null;
}
static method ifNullIndexSetOptOut(core::int* i) → dynamic
- return let final self::OptOutClass2* #t21 = new self::OptOutClass2::•() in let final core::int* #t22 = i in let final core::int* #t23 = #t21.{self::OptOutClass2::[]}(#t22) in #t23.{core::num::==}(null) ?{core::int*} let final core::int* #t24 = 42 in let final void #t25 = #t21.{self::OptOutClass2::[]=}(#t22, #t24) in #t24 : #t23;
+ return let final self::OptOutClass2* #t21 = new self::OptOutClass2::•() in let final core::int* #t22 = i in let final core::int* #t23 = #t21.{self::OptOutClass2::[]}(#t22){(core::int*) →* core::int*} in #t23 == null ?{core::int*} let final core::int* #t24 = 42 in let final void #t25 = #t21.{self::OptOutClass2::[]=}(#t22, #t24){(core::int*, core::int*) →* void} in #t24 : #t23;
static method ifNullIndexSetOptOutForEffect(core::int* i) → dynamic {
- let final self::OptOutClass2* #t26 = new self::OptOutClass2::•() in let final core::int* #t27 = i in #t26.{self::OptOutClass2::[]}(#t27).{core::num::==}(null) ?{core::int*} #t26.{self::OptOutClass2::[]=}(#t27, 42) : null;
+ let final self::OptOutClass2* #t26 = new self::OptOutClass2::•() in let final core::int* #t27 = i in #t26.{self::OptOutClass2::[]}(#t27){(core::int*) →* core::int*} == null ?{core::int*} #t26.{self::OptOutClass2::[]=}(#t27, 42){(core::int*, core::int*) →* void} : null;
}
static method ifNullPropertySetOptOut(core::int* i) → dynamic
- return let final self::OptOutClass3* #t28 = new self::OptOutClass3::•(i) in let final core::int* #t29 = #t28.{self::OptOutClass3::field} in #t29.{core::num::==}(null) ?{core::int*} #t28.{self::OptOutClass3::field} = 42 : #t29;
+ return let final self::OptOutClass3* #t28 = new self::OptOutClass3::•(i) in let final core::int* #t29 = #t28.{self::OptOutClass3::field}{core::int*} in #t29 == null ?{core::int*} #t28.{self::OptOutClass3::field} = 42 : #t29;
static method ifNullPropertySetOptOutForEffect(core::int* i) → dynamic {
- let final self::OptOutClass3* #t30 = new self::OptOutClass3::•(i) in #t30.{self::OptOutClass3::field}.{core::num::==}(null) ?{core::int*} #t30.{self::OptOutClass3::field} = 42 : null;
+ let final self::OptOutClass3* #t30 = new self::OptOutClass3::•(i) in #t30.{self::OptOutClass3::field}{core::int*} == null ?{core::int*} #t30.{self::OptOutClass3::field} = 42 : null;
}
static method ifNullSetOptOut(core::int* i) → dynamic
- return let final core::int* #t31 = i in #t31.{core::num::==}(null) ?{core::int*} i = 42 : #t31;
+ return let final core::int* #t31 = i in #t31 == null ?{core::int*} i = 42 : #t31;
static method ifNullSetOptOutForEffect(core::int* i) → dynamic {
- i.{core::num::==}(null) ?{core::int*} i = 42 : null;
+ i == null ?{core::int*} i = 42 : null;
}
static method ifNullSuperIndexSetOptOut(core::int* i) → dynamic
- return new self::OptOutClass4::•().{self::OptOutClass4::method}(i);
+ return new self::OptOutClass4::•().{self::OptOutClass4::method}(i){(core::int*) →* dynamic};
static method ifNullSuperIndexSetOptOutForEffect(core::int* i) → dynamic {
- new self::OptOutClass4::•().{self::OptOutClass4::methodForEffect}(i);
+ new self::OptOutClass4::•().{self::OptOutClass4::methodForEffect}(i){(core::int*) →* dynamic};
}
static method nullAwareIfNullSetOptOut(core::int* i) → dynamic {
self::OptOutClass5* o = new self::OptOutClass5::•(i);
- return let final self::OptOutClass5* #t32 = o in #t32.{self::OptOutClass5::==}(null) ?{core::int*} null : let final core::int* #t33 = #t32.{self::OptOutClass5::field} in #t33.{core::num::==}(null) ?{core::int*} #t32.{self::OptOutClass5::field} = 42 : #t33;
+ return let final self::OptOutClass5* #t32 = o in #t32 == null ?{core::int*} null : let final core::int* #t33 = #t32.{self::OptOutClass5::field}{core::int*} in #t33 == null ?{core::int*} #t32.{self::OptOutClass5::field} = 42 : #t33;
}
static method nullAwareIfNullSetOptOutForEffect(core::int* i) → dynamic {
self::OptOutClass5* o = new self::OptOutClass5::•(i);
- let final self::OptOutClass5* #t34 = o in #t34.{self::OptOutClass5::==}(null) ?{core::int*} null : #t34.{self::OptOutClass5::field}.{core::num::==}(null) ?{core::int*} #t34.{self::OptOutClass5::field} = 42 : null;
+ let final self::OptOutClass5* #t34 = o in #t34 == null ?{core::int*} null : #t34.{self::OptOutClass5::field}{core::int*} == null ?{core::int*} #t34.{self::OptOutClass5::field} = 42 : null;
}
static method isTestOptOut(core::int* i) → dynamic
return i is core::int*;
@@ -254,7 +254,7 @@
uns::unnecessaryIfNullAssign(core::_GrowableList::_literal1<core::int*>(null), () → core::int* => 42);
uns::unnecessaryNullAwareAccess(() → core::int* => 0);
uns::unnecessaryNullAwareAccess(() → Null => null);
- self::throws(() → dynamic => uns::callReturningNever(() → Null => throw "foo"), (core::Object* e) → core::bool* => e.{core::Object::==}("foo"));
+ self::throws(() → dynamic => uns::callReturningNever(() → Null => throw "foo"), (core::Object* e) → core::bool* => e =={core::Object::==}{(core::Object*) →* core::bool*} "foo");
() →* Null f = () → Null => null;
self::throws(() → dynamic => uns::callReturningNever(f));
uns::switchOnEnum(#C3);
@@ -271,15 +271,15 @@
self::throws(() → dynamic => uns::switchOnEnumWithFallThrough2(null));
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() →* void f, [(core::Object*) →* core::bool* testException = #C7]) → dynamic {
try {
- f.call();
+ f(){() →* void};
}
on dynamic catch(final dynamic e) {
- if(!testException.{core::Object::==}(null) && !testException.call(e)) {
+ if(!(testException == null) && !testException(e){(core::Object*) →* core::bool*}) {
throw "Unexpected exception: ${e}";
}
core::print(e);
@@ -405,9 +405,9 @@
: super uns::OptInSuperClass4::•()
;
method method(core::int i) → dynamic
- return let final core::int #t35 = i in let final core::int #t36 = super.{uns::OptInSuperClass4::[]}(#t35) in #t36.{core::num::==}(null) ?{core::int} let final core::int #t37 = 42 in let final void #t38 = super.{uns::OptInSuperClass4::[]=}(#t35, #t37) in #t37 : #t36;
+ return let final core::int #t35 = i in let final core::int #t36 = super.{uns::OptInSuperClass4::[]}(#t35) in #t36 == null ?{core::int} let final core::int #t37 = 42 in let final void #t38 = super.{uns::OptInSuperClass4::[]=}(#t35, #t37) in #t37 : #t36;
method methodForEffect(core::int i) → dynamic {
- let final core::int #t39 = i in super.{uns::OptInSuperClass4::[]}(#t39).{core::num::==}(null) ?{core::int} super.{uns::OptInSuperClass4::[]=}(#t39, 42) : null;
+ let final core::int #t39 = i in super.{uns::OptInSuperClass4::[]}(#t39) == null ?{core::int} super.{uns::OptInSuperClass4::[]=}(#t39, 42) : null;
}
}
class OptInClass5 extends core::Object {
@@ -445,84 +445,84 @@
operator []= = uns::OptInExtension|[]=;
}
static method isNullOptIn1(core::int i) → dynamic
- return i.{core::num::==}(null);
+ return i == null;
static method isNotNullOptIn1(core::int i) → dynamic
- return !i.{core::num::==}(null);
+ return !(i == null);
static method isNullOptIn2(core::int i) → dynamic
- return null.{core::Object::==}(i);
+ return i == null;
static method isNotNullOptIn2(core::int i) → dynamic
- return !null.{core::Object::==}(i);
+ return !(i == null);
static method ifNullOptIn(core::int i) → dynamic
- return let final core::int #t40 = i in #t40.{core::num::==}(null) ?{core::int} 42 : #t40;
+ return let final core::int #t40 = i in #t40 == null ?{core::int} 42 : #t40;
static method OptInExtension|[](lowered final uns::OptInClass1 #this, core::int index) → core::int
return index;
static method OptInExtension|[]=(lowered final uns::OptInClass1 #this, core::int index, core::int value) → void {}
static method extensionIfNullOptIn1(core::int i) → dynamic
- return let final uns::OptInClass1 #t41 = new uns::OptInClass1::•() in let final core::int #t42 = i in let final core::int #t43 = uns::OptInExtension|[](#t41, #t42) in #t43.{core::num::==}(null) ?{core::int} let final core::int #t44 = 42 in let final void #t45 = uns::OptInExtension|[]=(#t41, #t42, #t44) in #t44 : #t43;
+ return let final uns::OptInClass1 #t41 = new uns::OptInClass1::•() in let final core::int #t42 = i in let final core::int #t43 = uns::OptInExtension|[](#t41, #t42) in #t43 == null ?{core::int} let final core::int #t44 = 42 in let final void #t45 = uns::OptInExtension|[]=(#t41, #t42, #t44) in #t44 : #t43;
static method extensionIfNullOptIn1ForEffect(core::int i) → dynamic {
- let final uns::OptInClass1 #t46 = new uns::OptInClass1::•() in let final core::int #t47 = i in uns::OptInExtension|[](#t46, #t47).{core::num::==}(null) ?{core::int} uns::OptInExtension|[]=(#t46, #t47, 42) : null;
+ let final uns::OptInClass1 #t46 = new uns::OptInClass1::•() in let final core::int #t47 = i in uns::OptInExtension|[](#t46, #t47) == null ?{core::int} uns::OptInExtension|[]=(#t46, #t47, 42) : null;
}
static method extensionIfNullOptIn2(core::int i) → dynamic
- return let final uns::OptInClass1 #t48 = new uns::OptInClass1::•() in let final core::int #t49 = i in let final core::int #t50 = uns::OptInExtension|[](#t48, #t49) in #t50.{core::num::==}(null) ?{core::int} let final core::int #t51 = 42 in let final void #t52 = uns::OptInExtension|[]=(#t48, #t49, #t51) in #t51 : #t50;
+ return let final uns::OptInClass1 #t48 = new uns::OptInClass1::•() in let final core::int #t49 = i in let final core::int #t50 = uns::OptInExtension|[](#t48, #t49) in #t50 == null ?{core::int} let final core::int #t51 = 42 in let final void #t52 = uns::OptInExtension|[]=(#t48, #t49, #t51) in #t51 : #t50;
static method extensionIfNullOptIn2ForEffect(core::int i) → dynamic {
- let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54).{core::num::==}(null) ?{core::int} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
+ let final uns::OptInClass1 #t53 = new uns::OptInClass1::•() in let final core::int #t54 = i in uns::OptInExtension|[](#t53, #t54) == null ?{core::int} uns::OptInExtension|[]=(#t53, #t54, 42) : null;
}
static method ifNullIndexSetOptIn(core::int i) → dynamic
- return let final uns::OptInClass2 #t55 = new uns::OptInClass2::•() in let final core::int #t56 = i in let final core::int #t57 = #t55.{uns::OptInClass2::[]}(#t56) in #t57.{core::num::==}(null) ?{core::int} let final core::int #t58 = 42 in let final void #t59 = #t55.{uns::OptInClass2::[]=}(#t56, #t58) in #t58 : #t57;
+ return let final uns::OptInClass2 #t55 = new uns::OptInClass2::•() in let final core::int #t56 = i in let final core::int #t57 = #t55.{uns::OptInClass2::[]}(#t56){(core::int) → core::int} in #t57 == null ?{core::int} let final core::int #t58 = 42 in let final void #t59 = #t55.{uns::OptInClass2::[]=}(#t56, #t58){(core::int, core::int) → void} in #t58 : #t57;
static method ifNullIndexSetOptInForEffect(core::int i) → dynamic {
- let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61).{core::num::==}(null) ?{core::int} #t60.{uns::OptInClass2::[]=}(#t61, 42) : null;
+ let final uns::OptInClass2 #t60 = new uns::OptInClass2::•() in let final core::int #t61 = i in #t60.{uns::OptInClass2::[]}(#t61){(core::int) → core::int} == null ?{core::int} #t60.{uns::OptInClass2::[]=}(#t61, 42){(core::int, core::int) → void} : null;
}
static method ifNullPropertySetOptIn(core::int i) → dynamic
- return let final uns::OptInClass3 #t62 = new uns::OptInClass3::•(i) in let final core::int #t63 = #t62.{uns::OptInClass3::field} in #t63.{core::num::==}(null) ?{core::int} #t62.{uns::OptInClass3::field} = 42 : #t63;
+ return let final uns::OptInClass3 #t62 = new uns::OptInClass3::•(i) in let final core::int #t63 = #t62.{uns::OptInClass3::field}{core::int} in #t63 == null ?{core::int} #t62.{uns::OptInClass3::field} = 42 : #t63;
static method ifNullPropertySetOptInForEffect(core::int i) → dynamic {
- let final uns::OptInClass3 #t64 = new uns::OptInClass3::•(i) in #t64.{uns::OptInClass3::field}.{core::num::==}(null) ?{core::int} #t64.{uns::OptInClass3::field} = 42 : null;
+ let final uns::OptInClass3 #t64 = new uns::OptInClass3::•(i) in #t64.{uns::OptInClass3::field}{core::int} == null ?{core::int} #t64.{uns::OptInClass3::field} = 42 : null;
}
static method ifNullSetOptIn(core::int i) → dynamic
- return let final core::int #t65 = i in #t65.{core::num::==}(null) ?{core::int} i = 42 : #t65;
+ return let final core::int #t65 = i in #t65 == null ?{core::int} i = 42 : #t65;
static method ifNullSetOptInForEffect(core::int i) → dynamic {
- i.{core::num::==}(null) ?{core::int} i = 42 : null;
+ i == null ?{core::int} i = 42 : null;
}
static method ifNullSuperIndexSetOptIn(core::int i) → dynamic
- return new uns::OptInClass4::•().{uns::OptInClass4::method}(i);
+ return new uns::OptInClass4::•().{uns::OptInClass4::method}(i){(core::int) → dynamic};
static method ifNullSuperIndexSetOptInForEffect(core::int i) → dynamic {
- new uns::OptInClass4::•().{uns::OptInClass4::methodForEffect}(i);
+ new uns::OptInClass4::•().{uns::OptInClass4::methodForEffect}(i){(core::int) → dynamic};
}
static method nullAwareIfNullSetOptIn(core::int i) → dynamic {
uns::OptInClass5? o = new uns::OptInClass5::•(i);
- return let final uns::OptInClass5? #t66 = o in #t66.{core::Object::==}(null) ?{core::int?} null : let final core::int #t67 = #t66.{uns::OptInClass5::field} in #t67.{core::num::==}(null) ?{core::int} #t66.{uns::OptInClass5::field} = 42 : #t67;
+ return let final uns::OptInClass5? #t66 = o in #t66 == null ?{core::int?} null : let final core::int #t67 = #t66.{uns::OptInClass5::field}{core::int} in #t67 == null ?{core::int} #t66.{uns::OptInClass5::field} = 42 : #t67;
}
static method nullAwareIfNullSetOptInForEffect(core::int i) → dynamic {
uns::OptInClass5? o = new uns::OptInClass5::•(i);
- let final uns::OptInClass5? #t68 = o in #t68.{core::Object::==}(null) ?{core::int?} null : #t68.{uns::OptInClass5::field}.{core::num::==}(null) ?{core::int} #t68.{uns::OptInClass5::field} = 42 : null;
+ let final uns::OptInClass5? #t68 = o in #t68 == null ?{core::int?} null : #t68.{uns::OptInClass5::field}{core::int} == null ?{core::int} #t68.{uns::OptInClass5::field} = 42 : null;
}
static method isTestOptIn(core::int i) → dynamic
return i is{ForNonNullableByDefault} core::int;
static method isNotTestOptIn(core::int i) → dynamic
return !(i is{ForNonNullableByDefault} core::int);
static method nullAwareAccess1(core::int i) → dynamic
- return let final core::int #t69 = i in #t69.{core::num::==}(null) ?{core::bool?} null : #t69.{core::int::isEven};
+ return let final core::int #t69 = i in #t69 == null ?{core::bool?} null : #t69.{core::int::isEven}{core::bool};
static method nullAwareAccessForEffect1(core::int i) → dynamic {
- let final core::int #t70 = i in #t70.{core::num::==}(null) ?{core::bool?} null : #t70.{core::int::isEven};
+ let final core::int #t70 = i in #t70 == null ?{core::bool?} null : #t70.{core::int::isEven}{core::bool};
}
static method promotionToNever(core::int i) → dynamic {
if(i is{ForNonNullableByDefault} core::int)
return;
}
static method unnecessaryNullCheck(() → core::int f) → dynamic {
- if(!f.call().{core::num::==}(null))
+ if(!(f(){() → core::int} == null))
return;
}
static method unnecessaryIfNull(() → core::int f, () → core::int g) → dynamic {
- return let final core::int #t71 = f.call() in #t71.{core::num::==}(null) ?{core::int} g.call() : #t71;
+ return let final core::int #t71 = f(){() → core::int} in #t71 == null ?{core::int} g(){() → core::int} : #t71;
}
static method unnecessaryIfNullAssign(core::List<core::int> x, () → core::int f) → dynamic {
- let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73).{core::num::==}(null) ?{core::int} #t72.{core::List::[]=}(#t73, f.call()) : null;
+ let final core::List<core::int> #t72 = x in let final core::int #t73 = 0 in #t72.{core::List::[]}(#t73){(core::int) → core::int} == null ?{core::int} #t72.{core::List::[]=}(#t73, f(){() → core::int}){(core::int, core::int) → void} : null;
}
static method unnecessaryNullAwareAccess(() → core::int f) → dynamic {
- let final core::int #t74 = f.call() in #t74.{core::num::==}(null) ?{core::int?} null : #t74.{core::int::gcd}(0);
+ let final core::int #t74 = f(){() → core::int} in #t74 == null ?{core::int?} null : #t74.{core::int::gcd}(0){(core::int) → core::int};
}
static method callReturningNever(() → Never f) → dynamic {
- let final Never #t75 = f.call() in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+ let final Never #t75 = f(){() → Never} in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
}
static method switchOnEnum(uns::E e) → dynamic {
switch(e) {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.expect
index 99db49e..ceddad8 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.expect
@@ -34,9 +34,9 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get foo() → core::int*
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
class B extends self::A {
synthetic constructor •() → self::B*
@@ -45,7 +45,7 @@
}
static method expectTypeError(() →* dynamic callback) → void {
try {
- callback.call();
+ callback();
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
@@ -53,8 +53,8 @@
}
static method main() → dynamic {
self::A* a = new self::A::•();
- self::expectTypeError(() → core::int* => a.{self::I::foo});
- self::expectTypeError(() → core::String* => (a as dynamic).foo = "bar");
+ self::expectTypeError(() → core::int* => a.{self::I::foo}{core::int*});
+ self::expectTypeError(() → core::String* => (a as dynamic){dynamic}.foo = "bar");
}
constants {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.outline.expect
index 6a3fcc1..7186093 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.outline.expect
@@ -32,9 +32,9 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get foo() → core::int*
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
class B extends self::A {
synthetic constructor •() → self::B*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.transformed.expect
index 168474b..ca58208 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.transformed.expect
@@ -34,9 +34,9 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get foo() → core::int*
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
class B extends self::A {
synthetic constructor •() → self::B*
@@ -45,7 +45,7 @@
}
static method expectTypeError(() →* dynamic callback) → void {
try {
- callback.call();
+ callback();
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
@@ -53,8 +53,8 @@
}
static method main() → dynamic {
self::A* a = new self::A::•();
- self::expectTypeError(() → core::int* => a.{self::I::foo});
- self::expectTypeError(() → core::String* => (a as dynamic).foo = "bar");
+ self::expectTypeError(() → core::int* => a.{self::I::foo}{core::int*});
+ self::expectTypeError(() → core::String* => (a as dynamic){dynamic}.foo = "bar");
}
constants {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.expect
index ffcf974..61e3a07 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.expect
@@ -23,7 +23,7 @@
: super core::Object::•()
;
method noSuchMethod(core::Invocation* i) → dynamic {
- self::count = self::count.{core::num::+}(1);
+ self::count = self::count.{core::num::+}(1){(core::num*) →* core::int*};
return null;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -36,9 +36,9 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get foo() → core::int*
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
abstract class _C&Object&B = core::Object with self::B /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_C&Object&B*
@@ -67,11 +67,11 @@
static field core::int* count = 0;
static method main() → dynamic {
self::C* c = new self::C::•();
- if(!c.{self::C::foo}.{core::num::==}(42)) {
+ if(!(c.{self::C::foo}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 42)) {
throw "Value mismatch: c.foo != 42.";
}
c.{self::C::foo} = 43;
- if(!self::count.{core::num::==}(0)) {
+ if(!(self::count =={core::num::==}{(core::Object*) →* core::bool*} 0)) {
throw "Value mismatch: count != 0";
}
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.outline.expect
index 7468edb..2893e4f 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.outline.expect
@@ -32,9 +32,9 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get foo() → core::int*
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
abstract class _C&Object&B = core::Object with self::B /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_C&Object&B*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.transformed.expect
index 4609d1a..3e76d00 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.transformed.expect
@@ -23,7 +23,7 @@
: super core::Object::•()
;
method noSuchMethod(core::Invocation* i) → dynamic {
- self::count = self::count.{core::num::+}(1);
+ self::count = self::count.{core::num::+}(1){(core::num*) →* core::int*};
return null;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -36,16 +36,16 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get foo() → core::int*
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
abstract class _C&Object&B extends core::Object implements self::B /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_C&Object&B*
: super core::Object::•()
;
method noSuchMethod(core::Invocation* i) → dynamic {
- self::count = self::count.{core::num::+}(1);
+ self::count = self::count.{core::num::+}(1){(core::num*) →* core::int*};
return null;
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -69,11 +69,11 @@
static field core::int* count = 0;
static method main() → dynamic {
self::C* c = new self::C::•();
- if(!c.{self::C::foo}.{core::num::==}(42)) {
+ if(!(c.{self::C::foo}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 42)) {
throw "Value mismatch: c.foo != 42.";
}
c.{self::C::foo} = 43;
- if(!self::count.{core::num::==}(0)) {
+ if(!(self::count =={core::num::==}{(core::Object*) →* core::bool*} 0)) {
throw "Value mismatch: count != 0";
}
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.expect
index 1d02227..a469e6a 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.expect
@@ -41,7 +41,7 @@
: super self::B::•()
;
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
abstract class D extends core::Object implements self::A {
synthetic constructor •() → self::D*
@@ -65,11 +65,11 @@
: super self::D::•()
;
no-such-method-forwarder get foo() → core::int*
- return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method expectTypeError(() →* dynamic callback) → void {
try {
- callback.call();
+ callback();
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
@@ -77,9 +77,9 @@
}
static method main() → dynamic {
self::C* c = new self::C::•();
- self::expectTypeError(() → core::String* => (c as dynamic).foo = "bar");
+ self::expectTypeError(() → core::String* => (c as dynamic){dynamic}.foo = "bar");
self::E* e = new self::E::•();
- self::expectTypeError(() → core::int* => e.{self::A::foo});
+ self::expectTypeError(() → core::int* => e.{self::A::foo}{core::int*});
}
constants {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.outline.expect
index 8db6c2b..1dc0f42 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.outline.expect
@@ -38,7 +38,7 @@
synthetic constructor •() → self::C*
;
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
abstract class D extends core::Object implements self::A {
synthetic constructor •() → self::D*
@@ -61,7 +61,7 @@
synthetic constructor •() → self::E*
;
no-such-method-forwarder get foo() → core::int*
- return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method expectTypeError(() →* dynamic callback) → void
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.transformed.expect
index 3640888..1ffd6b0 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.transformed.expect
@@ -41,7 +41,7 @@
: super self::B::•()
;
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
abstract class D extends core::Object implements self::A {
synthetic constructor •() → self::D*
@@ -65,11 +65,11 @@
: super self::D::•()
;
no-such-method-forwarder get foo() → core::int*
- return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method expectTypeError(() →* dynamic callback) → void {
try {
- callback.call();
+ callback();
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
@@ -77,9 +77,9 @@
}
static method main() → dynamic {
self::C* c = new self::C::•();
- self::expectTypeError(() → core::String* => (c as dynamic).foo = "bar");
+ self::expectTypeError(() → core::String* => (c as dynamic){dynamic}.foo = "bar");
self::E* e = new self::E::•();
- self::expectTypeError(() → core::int* => e.{self::A::foo});
+ self::expectTypeError(() → core::int* => e.{self::A::foo}{core::int*});
}
constants {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.expect
index 94eb66f..4e57e717d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.expect
@@ -34,13 +34,13 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get foo() → core::List<core::int*>*
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::List<core::int*>*;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::List<core::int*>*;
no-such-method-forwarder set foo(generic-covariant-impl core::List<core::int*>* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method expectTypeError(() →* dynamic callback) → void {
try {
- callback.call();
+ callback();
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
@@ -48,8 +48,8 @@
}
static method main() → dynamic {
self::B* b = new self::B::•();
- self::expectTypeError(() → core::List<core::int*>* => b.{self::A::foo});
- self::expectTypeError(() → core::List<dynamic>* => (b as dynamic).foo = <dynamic>[]);
+ self::expectTypeError(() → core::List<core::int*>* => b.{self::A::foo}{core::List<core::int*>*});
+ self::expectTypeError(() → core::List<dynamic>* => (b as dynamic){dynamic}.foo = <dynamic>[]);
}
constants {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.outline.expect
index 5a8b1a0..34e2e03 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.outline.expect
@@ -32,9 +32,9 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get foo() → core::List<core::int*>*
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::List<core::int*>*;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::List<core::int*>*;
no-such-method-forwarder set foo(generic-covariant-impl core::List<core::int*>* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method expectTypeError(() →* dynamic callback) → void
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.transformed.expect
index ba39cc0..fc26de9 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.transformed.expect
@@ -34,13 +34,13 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get foo() → core::List<core::int*>*
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::List<core::int*>*;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::List<core::int*>*;
no-such-method-forwarder set foo(generic-covariant-impl core::List<core::int*>* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method expectTypeError(() →* dynamic callback) → void {
try {
- callback.call();
+ callback();
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
@@ -48,8 +48,8 @@
}
static method main() → dynamic {
self::B* b = new self::B::•();
- self::expectTypeError(() → core::List<core::int*>* => b.{self::A::foo});
- self::expectTypeError(() → core::List<dynamic>* => (b as dynamic).foo = core::_GrowableList::•<dynamic>(0));
+ self::expectTypeError(() → core::List<core::int*>* => b.{self::A::foo}{core::List<core::int*>*});
+ self::expectTypeError(() → core::List<dynamic>* => (b as dynamic){dynamic}.foo = core::_GrowableList::•<dynamic>(0));
}
constants {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.expect
index 2182bea..f520300 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.expect
@@ -40,7 +40,7 @@
: super self::A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.outline.expect
index ac147ed..63fd5b6 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.outline.expect
@@ -36,7 +36,7 @@
synthetic constructor •() → self::B*
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.transformed.expect
index 2182bea..f520300 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.transformed.expect
@@ -40,7 +40,7 @@
: super self::A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.expect
index 9b5b585..dc49492 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.expect
@@ -7,11 +7,11 @@
: super core::Object::•()
;
no-such-method-forwarder set push(core::int* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set float(covariant core::int* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
method noSuchMethod(core::Invocation* i) → dynamic
- return core::print("${this.{self::Base::runtimeType}}: ${i.{core::Invocation::positionalArguments}.{core::List::[]}(0)}");
+ return core::print("${this.{self::Base::runtimeType}{core::Type*}}: ${i.{core::Invocation::positionalArguments}{core::List<dynamic>*}.{core::List::[]}(0){(core::int*) →* 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
@@ -32,9 +32,9 @@
: super self::Base::•()
;
no-such-method-forwarder set push(core::num* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set float(covariant core::num* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {
core::List<self::Base*>* list = <self::Base*>[new self::Me::•(), new self::You::•()];
@@ -46,14 +46,14 @@
baba{self::You*}.{self::You::float} = 4.5;
}
try {
- (baba as dynamic).push = 6.7;
+ (baba as dynamic){dynamic}.push = 6.7;
baba is self::You* || (throw "Fail!");
}
on core::TypeError* catch(no-exception-var) {
baba is self::Me* || (throw "Fail!");
}
try {
- (baba as dynamic).float = 8.9;
+ (baba as dynamic){dynamic}.float = 8.9;
baba is self::You* || (throw "Fail!");
}
on core::TypeError* catch(no-exception-var) {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.outline.expect
index a18f420..f455c15 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.outline.expect
@@ -6,9 +6,9 @@
synthetic constructor •() → self::Base*
;
no-such-method-forwarder set push(core::int* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#push=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#push=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set float(covariant core::int* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#float=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#float=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
method noSuchMethod(core::Invocation* i) → dynamic
;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -29,9 +29,9 @@
synthetic constructor •() → self::You*
;
no-such-method-forwarder set push(core::num* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#push=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#push=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set float(covariant core::num* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#float=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#float=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.transformed.expect
index ca335bc..61aa1eb 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.transformed.expect
@@ -7,11 +7,11 @@
: super core::Object::•()
;
no-such-method-forwarder set push(core::int* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set float(covariant core::int* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
method noSuchMethod(core::Invocation* i) → dynamic
- return core::print("${this.{self::Base::runtimeType}}: ${i.{core::Invocation::positionalArguments}.{core::List::[]}(0)}");
+ return core::print("${this.{self::Base::runtimeType}{core::Type*}}: ${i.{core::Invocation::positionalArguments}{core::List<dynamic>*}.{core::List::[]}(0){(core::int*) →* 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
@@ -32,9 +32,9 @@
: super self::Base::•()
;
no-such-method-forwarder set push(core::num* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set float(covariant core::num* x) → void
- return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Base::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {
core::List<self::Base*>* list = core::_GrowableList::_literal2<self::Base*>(new self::Me::•(), new self::You::•());
@@ -50,14 +50,14 @@
baba{self::You*}.{self::You::float} = 4.5;
}
try {
- (baba as dynamic).push = 6.7;
+ (baba as dynamic){dynamic}.push = 6.7;
baba is self::You* || (throw "Fail!");
}
on core::TypeError* catch(no-exception-var) {
baba is self::Me* || (throw "Fail!");
}
try {
- (baba as dynamic).float = 8.9;
+ (baba as dynamic){dynamic}.float = 8.9;
baba is self::You* || (throw "Fail!");
}
on core::TypeError* catch(no-exception-var) {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.expect
index b32f8e5..0cf425b 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.expect
@@ -24,8 +24,8 @@
: super core::Object::•()
;
method noSuchMethod(core::Invocation* invocation) → dynamic {
- dynamic arg = invocation.{core::Invocation::positionalArguments}.{core::List::[]}(0);
- return arg is core::String* && arg{core::String*}.{core::String::isNotEmpty};
+ dynamic arg = invocation.{core::Invocation::positionalArguments}{core::List<dynamic>*}.{core::List::[]}(0){(core::int*) →* dynamic};
+ return arg is core::String* && arg{core::String*}.{core::String::isNotEmpty}{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
@@ -37,7 +37,7 @@
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 eatFood(core::String* food) → core::bool*
- return this.{self::MockCat::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::MockCat::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
}
class MockCat2 extends self::MockCat {
synthetic constructor •() → self::MockCat2*
@@ -50,14 +50,14 @@
: super self::MockCat2::•()
;
no-such-method-forwarder method eatFood(core::String* food, {core::double* amount = #C5}) → core::bool*
- return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: amount}))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: amount}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
}
class MockCat4 extends self::MockCat2 implements self::HungryCat {
synthetic constructor •() → self::MockCat4*
: super self::MockCat2::•()
;
no-such-method-forwarder method eatFood(core::String* food, {core::double* amount = #C5, core::double* yetAnother = #C5}) → core::bool*
- return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: amount, #C7: yetAnother}))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: amount, #C7: yetAnother}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
}
abstract class HungryCat extends core::Object {
synthetic constructor •() → self::HungryCat*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.outline.expect
index 5a2927f..70cdbd7 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.outline.expect
@@ -33,7 +33,7 @@
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 eatFood(core::String* food) → core::bool*
- return this.{self::MockCat::noSuchMethod}(new core::_InvocationMirror::_withType(#eatFood, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::MockCat::noSuchMethod}(new core::_InvocationMirror::_withType(#eatFood, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
}
class MockCat2 extends self::MockCat {
synthetic constructor •() → self::MockCat2*
@@ -44,13 +44,13 @@
synthetic constructor •() → self::MockCat3*
;
no-such-method-forwarder method eatFood(core::String* food, {core::double* amount}) → core::bool*
- return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#eatFood, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#amount: amount}))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#eatFood, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#amount: amount}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
}
class MockCat4 extends self::MockCat2 implements self::HungryCat {
synthetic constructor •() → self::MockCat4*
;
no-such-method-forwarder method eatFood(core::String* food, {core::double* amount, core::double* yetAnother}) → core::bool*
- return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#eatFood, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#amount: amount, #yetAnother: yetAnother}))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#eatFood, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[food]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#amount: amount, #yetAnother: yetAnother}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
}
abstract class HungryCat extends core::Object {
synthetic constructor •() → self::HungryCat*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.transformed.expect
index d5a49ee..708efab 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.transformed.expect
@@ -24,8 +24,8 @@
: super core::Object::•()
;
method noSuchMethod(core::Invocation* invocation) → dynamic {
- dynamic arg = invocation.{core::Invocation::positionalArguments}.{core::List::[]}(0);
- return arg is core::String* && arg{core::String*}.{core::String::isNotEmpty};
+ dynamic arg = invocation.{core::Invocation::positionalArguments}{core::List<dynamic>*}.{core::List::[]}(0){(core::int*) →* dynamic};
+ return arg is core::String* && arg{core::String*}.{core::String::isNotEmpty}{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
@@ -37,7 +37,7 @@
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 eatFood(core::String* food) → core::bool*
- return this.{self::MockCat::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(food)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::MockCat::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(food)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
}
class MockCat2 extends self::MockCat {
synthetic constructor •() → self::MockCat2*
@@ -50,14 +50,14 @@
: super self::MockCat2::•()
;
no-such-method-forwarder method eatFood(core::String* food, {core::double* amount = #C5}) → core::bool*
- return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(food)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: amount}))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(food)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: amount}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
}
class MockCat4 extends self::MockCat2 implements self::HungryCat {
synthetic constructor •() → self::MockCat4*
: super self::MockCat2::•()
;
no-such-method-forwarder method eatFood(core::String* food, {core::double* amount = #C5, core::double* yetAnother = #C5}) → core::bool*
- return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(food)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: amount, #C7: yetAnother}))) as{TypeError,ForDynamic} core::bool*;
+ return this.{self::MockCat2::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(food)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: amount, #C7: yetAnother}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::bool*;
}
abstract class HungryCat extends core::Object {
synthetic constructor •() → self::HungryCat*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.expect
index c38133a..5ca82cf 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.expect
@@ -50,7 +50,7 @@
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 foo() → dynamic
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dynamic;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dynamic;
}
abstract class _C&A&B = self::A with self::B /*isAnonymousMixin*/ {
synthetic constructor •() → self::_C&A&B*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.outline.expect
index 0ad0983..d512245 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.outline.expect
@@ -48,7 +48,7 @@
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 foo() → dynamic
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} dynamic;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dynamic;
}
abstract class _C&A&B = self::A with self::B /*isAnonymousMixin*/ {
synthetic constructor •() → self::_C&A&B*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.transformed.expect
index 24aa28c..a104017 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.transformed.expect
@@ -50,7 +50,7 @@
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 foo() → dynamic
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dynamic;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} dynamic;
}
abstract class _C&A&B extends self::A implements self::B /*isAnonymousMixin,isEliminatedMixin*/ {
synthetic constructor •() → self::_C&A&B*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.expect
index 72909b5..daa0b7e 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.expect
@@ -7,12 +7,12 @@
: super core::Object::•()
;
method noSuchMethod(core::Invocation* i) → dynamic {
- if(i.{core::Invocation::memberName}.{core::Symbol::==}(#C1)) {
- return i.{core::Invocation::namedArguments}.{core::Map::[]}(#C2);
+ if(i.{core::Invocation::memberName}{core::Symbol*} =={core::Symbol::==}{(core::Object*) →* core::bool*} (#C1)) {
+ return i.{core::Invocation::namedArguments}{core::Map<core::Symbol*, dynamic>*}.{core::Map::[]}(#C2){(core::Object*) →* dynamic};
}
else
- if(i.{core::Invocation::memberName}.{core::Symbol::==}(#C3)) {
- return i.{core::Invocation::positionalArguments}.{core::List::[]}(0);
+ if(i.{core::Invocation::memberName}{core::Symbol*} =={core::Symbol::==}{(core::Object*) →* core::bool*} (#C3)) {
+ return i.{core::Invocation::positionalArguments}{core::List<dynamic>*}.{core::List::[]}(0){(core::int*) →* dynamic};
}
return null;
}
@@ -33,17 +33,17 @@
: super self::A::•()
;
no-such-method-forwarder method foo({core::String* bar = #C4}) → core::String*
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C6, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C2: bar}))) as{TypeError,ForDynamic} core::String*;
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C6, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C2: bar}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder method hest([core::int* fisk = #C5]) → core::int*
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C6, core::List::unmodifiable<dynamic>(<dynamic>[fisk]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C8))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C6, core::List::unmodifiable<dynamic>(<dynamic>[fisk]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C8))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {
self::B* b = new self::B::•();
dynamic value;
- if(!(value = b.{self::A::foo}()).{core::String::==}("baz")) {
+ if(!((value = b.{self::A::foo}(){({bar: core::String*}) →* core::String*}) =={core::String::==}{(core::Object*) →* core::bool*} "baz")) {
throw "Unexpected value: '${value}'; expected 'baz'.";
}
- if(!(value = b.{self::A::hest}()).{core::num::==}(42)) {
+ if(!((value = b.{self::A::hest}(){([core::int*]) →* core::int*}) =={core::num::==}{(core::Object*) →* core::bool*} 42)) {
throw "Unexpected value: '${value}'; expected '42'.";
}
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.outline.expect
index 27e25ce..8b928ae 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.outline.expect
@@ -23,9 +23,9 @@
synthetic constructor •() → self::B*
;
no-such-method-forwarder method foo({core::String* bar}) → core::String*
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#bar: bar}))) as{TypeError,ForDynamic} core::String*;
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#bar: bar}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder method hest([core::int* fisk]) → core::int*
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#hest, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[fisk]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#hest, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[fisk]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.transformed.expect
index a5a0b39..8ad93c0 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.transformed.expect
@@ -7,12 +7,12 @@
: super core::Object::•()
;
method noSuchMethod(core::Invocation* i) → dynamic {
- if(i.{core::Invocation::memberName}.{core::Symbol::==}(#C1)) {
- return i.{core::Invocation::namedArguments}.{core::Map::[]}(#C2);
+ if(i.{core::Invocation::memberName}{core::Symbol*} =={core::Symbol::==}{(core::Object*) →* core::bool*} (#C1)) {
+ return i.{core::Invocation::namedArguments}{core::Map<core::Symbol*, dynamic>*}.{core::Map::[]}(#C2){(core::Object*) →* dynamic};
}
else
- if(i.{core::Invocation::memberName}.{core::Symbol::==}(#C3)) {
- return i.{core::Invocation::positionalArguments}.{core::List::[]}(0);
+ if(i.{core::Invocation::memberName}{core::Symbol*} =={core::Symbol::==}{(core::Object*) →* core::bool*} (#C3)) {
+ return i.{core::Invocation::positionalArguments}{core::List<dynamic>*}.{core::List::[]}(0){(core::int*) →* dynamic};
}
return null;
}
@@ -33,17 +33,17 @@
: super self::A::•()
;
no-such-method-forwarder method foo({core::String* bar = #C4}) → core::String*
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C6, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C2: bar}))) as{TypeError,ForDynamic} core::String*;
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C6, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C2: bar}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::String*;
no-such-method-forwarder method hest([core::int* fisk = #C5]) → core::int*
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C6, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(fisk)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C8))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C6, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(fisk)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C8))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {
self::B* b = new self::B::•();
dynamic value;
- if(!(value = b.{self::A::foo}()).{core::String::==}("baz")) {
+ if(!((value = b.{self::A::foo}(){({bar: core::String*}) →* core::String*}) =={core::String::==}{(core::Object*) →* core::bool*} "baz")) {
throw "Unexpected value: '${value}'; expected 'baz'.";
}
- if(!(value = b.{self::A::hest}()).{core::num::==}(42)) {
+ if(!((value = b.{self::A::hest}(){([core::int*]) →* core::int*}) =={core::num::==}{(core::Object*) →* core::bool*} 42)) {
throw "Unexpected value: '${value}'; expected '42'.";
}
}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.expect
index ff918a4..3633d99 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.expect
@@ -50,7 +50,7 @@
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 foo() → void
- return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.outline.expect
index ce29ada..84fb848 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.outline.expect
@@ -47,7 +47,7 @@
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 foo() → void
- return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.transformed.expect
index ff918a4..3633d99 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.transformed.expect
@@ -50,7 +50,7 @@
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 foo() → void
- return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.expect
index d0e5a4c..d34e31b 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.expect
@@ -38,11 +38,11 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get bar() → core::int*
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder method baz(core::int* x, {core::String* y = #C1, core::double* z = #C1}) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C7: y, #C8: z})));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C7: y, #C8: z}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
}
class C extends self::B {
synthetic constructor •() → self::C*
@@ -64,15 +64,15 @@
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 get /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateGetter() → core::int*
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder get /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateField() → core::int*
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder method /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateMethod() → void
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateSetter(core::int* value) → void
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateField(core::int* value) → void
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
}
class F extends self::E {
synthetic constructor •() → self::F*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.outline.expect
index dcd9757..094b3e6 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.outline.expect
@@ -37,11 +37,11 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get bar() → core::int*
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#bar, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#bar, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder method baz(core::int* x, {core::String* y, core::double* z}) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#baz, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#y: y, #z: z})));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#baz, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#y: y, #z: z}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
class C extends self::B {
synthetic constructor •() → self::C*
@@ -61,15 +61,15 @@
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 get /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateGetter() → core::int*
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateGetter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateGetter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder get /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateField() → core::int*
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder method /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateMethod() → void
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateSetter(core::int* value) → void
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateSetter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateSetter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateField(core::int* value) → void
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateField=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#_privateField=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
class F extends self::E {
synthetic constructor •() → self::F*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.transformed.expect
index 410396b..a9d34c1 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.transformed.expect
@@ -38,11 +38,11 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get bar() → core::int*
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder method baz(core::int* x, {core::String* y = #C1, core::double* z = #C1}) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C7: y, #C8: z})));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C7: y, #C8: z}))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set foo(core::int* value) → void
- return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C9, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
}
class C extends self::B {
synthetic constructor •() → self::C*
@@ -64,15 +64,15 @@
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 get /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateGetter() → core::int*
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder get /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateField() → core::int*
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C11, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
no-such-method-forwarder method /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateMethod() → void
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateSetter(core::int* value) → void
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
no-such-method-forwarder set /* from org-dartlang-testcase:///forwarder_propagation_lib.dart */ _privateField(core::int* value) → void
- return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
}
class F extends self::E {
synthetic constructor •() → self::F*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.expect
index d4f16a5..d1335fe 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.expect
@@ -34,7 +34,7 @@
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 foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
abstract class _B&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A*
@@ -57,7 +57,7 @@
: super self::_B&Object&A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.outline.expect
index 9246c58..50e7958 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.outline.expect
@@ -32,7 +32,7 @@
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 foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
abstract class _B&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A*
@@ -54,7 +54,7 @@
synthetic constructor •() → self::B*
;
no-such-method-forwarder method foo() → void
- return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.transformed.expect
index 3a32356..34cb10d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.transformed.expect
@@ -34,7 +34,7 @@
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 foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
abstract class _B&Object&A extends core::Object implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&A*
@@ -57,7 +57,7 @@
: super self::_B&Object&A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.expect
index acee4b7..c296d8d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.expect
@@ -40,7 +40,7 @@
: super self::A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.outline.expect
index 6986170..a80f440 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.outline.expect
@@ -37,7 +37,7 @@
synthetic constructor •() → self::B*
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.transformed.expect
index acee4b7..c296d8d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.transformed.expect
@@ -40,7 +40,7 @@
: super self::A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.expect
index 0f6e0f1..11b038f 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.expect
@@ -9,7 +9,7 @@
method noSuchMethod(core::Invocation* i) → dynamic
return null;
no-such-method-forwarder method foo() → void
- return this.{self::I::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::I::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(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
@@ -57,7 +57,7 @@
: super self::_A&Object&M::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
abstract class _B&Object&M = core::Object with self::M /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&M*
@@ -80,7 +80,7 @@
: super self::_B&Object&M::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::_B&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::_B&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.outline.expect
index c4af234..1e32f6d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.outline.expect
@@ -8,7 +8,7 @@
method noSuchMethod(core::Invocation* i) → dynamic
;
no-such-method-forwarder method foo() → void
- return this.{self::I::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::I::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(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
@@ -54,7 +54,7 @@
synthetic constructor •() → self::A*
;
no-such-method-forwarder method foo() → void
- return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
abstract class _B&Object&M = core::Object with self::M /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&M*
@@ -76,7 +76,7 @@
synthetic constructor •() → self::B*
;
no-such-method-forwarder method foo() → void
- return this.{self::_B&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_B&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.transformed.expect
index a177218..f59813d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
method noSuchMethod(core::Invocation* i) → dynamic
return null;
no-such-method-forwarder method foo() → void
- return this.{self::I::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::I::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(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
@@ -57,7 +57,7 @@
: super self::_A&Object&M::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
abstract class _B&Object&M extends core::Object implements self::M /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
const synthetic constructor •() → self::_B&Object&M*
@@ -80,7 +80,7 @@
: super self::_B&Object&M::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::_B&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::_B&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.expect
index 297ab3b..dabbcd8 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.expect
@@ -72,9 +72,9 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get bar() → Null
- return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} Null;
+ return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} Null;
no-such-method-forwarder set foo(core::num* value) → void
- return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.outline.expect
index bc566ba..fd16e8c42 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.outline.expect
@@ -71,9 +71,9 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get bar() → Null
- return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#bar, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} Null;
+ return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#bar, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} Null;
no-such-method-forwarder set foo(core::num* value) → void
- return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.transformed.expect
index d5f3d88..6b924bd 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.transformed.expect
@@ -72,9 +72,9 @@
abstract member-signature method toString() → core::String*; -> core::Object::toString
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder get bar() → Null
- return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} Null;
+ return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} Null;
no-such-method-forwarder set foo(core::num* value) → void
- return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::D::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.expect
index 068d744..70c94e6 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.expect
@@ -24,7 +24,7 @@
: super self::A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.outline.expect
index c81571e..19eb325 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.outline.expect
@@ -22,7 +22,7 @@
synthetic constructor •() → self::B*
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.transformed.expect
index 068d744..70c94e6 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.transformed.expect
@@ -24,7 +24,7 @@
: super self::A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.expect
index 920d9ef..3d97e3b 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.expect
@@ -29,7 +29,7 @@
: super self::B::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
class D extends self::C {
synthetic constructor •() → self::D*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.outline.expect
index 59a56b80..dfa0b76 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.outline.expect
@@ -26,7 +26,7 @@
synthetic constructor •() → self::C*
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
class D extends self::C {
synthetic constructor •() → self::D*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.transformed.expect
index 920d9ef..3d97e3b 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.transformed.expect
@@ -29,7 +29,7 @@
: super self::B::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
class D extends self::C {
synthetic constructor •() → self::D*
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.expect
index 9d5a43e..10936ab 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.expect
@@ -23,7 +23,7 @@
: super self::M::•()
;
no-such-method-forwarder method call(core::String* s) → void
- return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[s]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(<dynamic>[s]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.outline.expect
index cf93dc7..568adcd 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.outline.expect
@@ -21,7 +21,7 @@
synthetic constructor •() → self::A*
;
no-such-method-forwarder method call(core::String* s) → void
- return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#call, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[s]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#call, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[s]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.transformed.expect
index 0428014..1562403 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.transformed.expect
@@ -23,7 +23,7 @@
: super self::M::•()
;
no-such-method-forwarder method call(core::String* s) → void
- return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(s)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(s)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.expect
index 7c7b366..6c574dd 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.expect
@@ -40,7 +40,7 @@
: super self::_B&Object&A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.outline.expect
index 1a05075..7e408bc 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.outline.expect
@@ -37,7 +37,7 @@
synthetic constructor •() → self::B*
;
no-such-method-forwarder method foo() → void
- return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.transformed.expect
index a38cf96..2b5bfe3 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.transformed.expect
@@ -41,7 +41,7 @@
: super self::_B&Object&A::•()
;
no-such-method-forwarder method foo() → void
- return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::_B&Object&A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.expect
index 735122a..fe2544d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.expect
@@ -26,7 +26,7 @@
: super self::Foo::•()
;
no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
class Baz extends self::Foo implements pri::Fisk {
synthetic constructor •() → self::Baz*
@@ -35,7 +35,7 @@
method _hest() → dynamic
return null;
no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.outline.expect
index 2d1038e..0808248 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.outline.expect
@@ -24,7 +24,7 @@
synthetic constructor •() → self::Bar*
;
no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_hest, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_hest, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
class Baz extends self::Foo implements pri::Fisk {
synthetic constructor •() → self::Baz*
@@ -32,7 +32,7 @@
method _hest() → dynamic
;
no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_hest, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_hest, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.transformed.expect
index 735122a..fe2544d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.transformed.expect
@@ -26,7 +26,7 @@
: super self::Foo::•()
;
no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
class Baz extends self::Foo implements pri::Fisk {
synthetic constructor •() → self::Baz*
@@ -35,7 +35,7 @@
method _hest() → dynamic
return null;
no-such-method-forwarder method /* from org-dartlang-testcase:///private_module.dart */ _hest() → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.expect
index 44124fc..ed53431 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.expect
@@ -25,7 +25,7 @@
method noSuchMethod(core::Invocation* invocation) → dynamic
return null;
no-such-method-forwarder method _foo() → void
- return this.{self::Bar::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Bar::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.outline.expect
index 40e53fb..0dd40c8 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.outline.expect
@@ -23,7 +23,7 @@
method noSuchMethod(core::Invocation* invocation) → dynamic
;
no-such-method-forwarder method _foo() → void
- return this.{self::Bar::noSuchMethod}(new core::_InvocationMirror::_withType(#_foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::Bar::noSuchMethod}(new core::_InvocationMirror::_withType(#_foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.transformed.expect
index 44124fc..ed53431 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.transformed.expect
@@ -25,7 +25,7 @@
method noSuchMethod(core::Invocation* invocation) → dynamic
return null;
no-such-method-forwarder method _foo() → void
- return this.{self::Bar::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::Bar::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.expect
index d7d3047..864895d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.expect
@@ -10,7 +10,7 @@
return null;
}
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(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
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.outline.expect
index b321f75..98fba7e 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.outline.expect
@@ -8,7 +8,7 @@
method noSuchMethod(core::Invocation* i) → dynamic
;
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(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
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.transformed.expect
index d7d3047..864895d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
return null;
}
no-such-method-forwarder method foo() → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(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
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.expect
index b37c6af5..938f3bd 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.expect
@@ -18,7 +18,7 @@
;
method foo(core::int* x) → void {}
no-such-method-forwarder set foo(core::int* x) → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
method noSuchMethod(core::Invocation* i) → dynamic
return null;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.outline.expect
index 7c74a0a..5bae423 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.outline.expect
@@ -18,7 +18,7 @@
method foo(core::int* x) → void
;
no-such-method-forwarder set foo(core::int* x) → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
method noSuchMethod(core::Invocation* i) → dynamic
;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.transformed.expect
index a110b1a..20c7622 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.transformed.expect
@@ -18,7 +18,7 @@
;
method foo(core::int* x) → void {}
no-such-method-forwarder set foo(core::int* x) → void
- return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+ return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
method noSuchMethod(core::Invocation* i) → dynamic
return null;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.expect
index 3676843..24d4686 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.expect
@@ -56,7 +56,7 @@
: super self::_A&Object&M::•()
;
no-such-method-forwarder method foo() → core::int*
- return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.outline.expect
index 80e949b..ca3cde3 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.outline.expect
@@ -52,7 +52,7 @@
synthetic constructor •() → self::A*
;
no-such-method-forwarder method foo() → core::int*
- return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.transformed.expect
index 84fdbfc..d830d60 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.transformed.expect
@@ -57,7 +57,7 @@
: super self::_A&Object&M::•()
;
no-such-method-forwarder method foo() → core::int*
- return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} core::int*;
+ return this.{self::_A&Object&M::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.strong.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.strong.expect
index b0f5897..61ac447 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.strong.expect
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.strong.expect
@@ -116,26 +116,26 @@
: super core::Object::•()
;
method instance1<X extends self::A<self::Class::instance1::X> = self::A<dynamic>>(() → self::A<self::Class::instance1::X> g) → void
- return g.call();
+ return g(){() → self::A<self::Class::instance1::X>};
method instance2<X extends self::A<self::Class::instance2::X> = self::A<dynamic>>(() → self::A<self::Class::instance2::X> g) → void
- return g.call();
+ return g(){() → self::A<self::Class::instance2::X>};
method test() → void {
function local1<X extends self::A<X> = self::A<dynamic>>(() → self::A<X> g) → void
- return g.call();
+ return g(){() → self::A<X>};
function local2<X extends self::A<X> = self::A<dynamic>>(() → self::A<X> g) → void
- return g.call();
+ return g(){() → self::A<X>};
<X extends self::A<X> = self::A<dynamic>>(() → self::A<X>) → void f1 = local1;
<X extends self::A<X> = self::A<dynamic>>(() → self::A<X>) → void f2 = local2;
new self::A::•<self::A<core::Object?>>();
new self::A::•<self::A<core::Object?>>();
- f1.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- f2.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- local1.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- local2.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
+ f1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ f2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ local1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ local2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
self::topLevel1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
self::topLevel2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- this.{self::Class::instance1}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- this.{self::Class::instance2}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
+ this.{self::Class::instance1}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ this.{self::Class::instance2}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
}
}
class Subclass extends self::Class {
@@ -154,7 +154,7 @@
throw "Error";
}
static method topLevel1<X extends self::A<self::topLevel1::X> = self::A<dynamic>>(() → self::A<self::topLevel1::X> g) → void
- return g.call();
+ return g(){() → self::A<self::topLevel1::X>};
static method topLevel2<X extends self::A<self::topLevel2::X> = self::A<dynamic>>(() → self::A<self::topLevel2::X> g) → void
- return g.call();
+ return g(){() → self::A<self::topLevel2::X>};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.strong.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.strong.transformed.expect
index b0f5897..61ac447 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.strong.transformed.expect
@@ -116,26 +116,26 @@
: super core::Object::•()
;
method instance1<X extends self::A<self::Class::instance1::X> = self::A<dynamic>>(() → self::A<self::Class::instance1::X> g) → void
- return g.call();
+ return g(){() → self::A<self::Class::instance1::X>};
method instance2<X extends self::A<self::Class::instance2::X> = self::A<dynamic>>(() → self::A<self::Class::instance2::X> g) → void
- return g.call();
+ return g(){() → self::A<self::Class::instance2::X>};
method test() → void {
function local1<X extends self::A<X> = self::A<dynamic>>(() → self::A<X> g) → void
- return g.call();
+ return g(){() → self::A<X>};
function local2<X extends self::A<X> = self::A<dynamic>>(() → self::A<X> g) → void
- return g.call();
+ return g(){() → self::A<X>};
<X extends self::A<X> = self::A<dynamic>>(() → self::A<X>) → void f1 = local1;
<X extends self::A<X> = self::A<dynamic>>(() → self::A<X>) → void f2 = local2;
new self::A::•<self::A<core::Object?>>();
new self::A::•<self::A<core::Object?>>();
- f1.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- f2.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- local1.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- local2.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
+ f1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ f2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ local1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ local2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
self::topLevel1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
self::topLevel2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- this.{self::Class::instance1}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- this.{self::Class::instance2}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
+ this.{self::Class::instance1}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ this.{self::Class::instance2}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
}
}
class Subclass extends self::Class {
@@ -154,7 +154,7 @@
throw "Error";
}
static method topLevel1<X extends self::A<self::topLevel1::X> = self::A<dynamic>>(() → self::A<self::topLevel1::X> g) → void
- return g.call();
+ return g(){() → self::A<self::topLevel1::X>};
static method topLevel2<X extends self::A<self::topLevel2::X> = self::A<dynamic>>(() → self::A<self::topLevel2::X> g) → void
- return g.call();
+ return g(){() → self::A<self::topLevel2::X>};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.weak.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.weak.expect
index b0f5897..61ac447 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.weak.expect
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.weak.expect
@@ -116,26 +116,26 @@
: super core::Object::•()
;
method instance1<X extends self::A<self::Class::instance1::X> = self::A<dynamic>>(() → self::A<self::Class::instance1::X> g) → void
- return g.call();
+ return g(){() → self::A<self::Class::instance1::X>};
method instance2<X extends self::A<self::Class::instance2::X> = self::A<dynamic>>(() → self::A<self::Class::instance2::X> g) → void
- return g.call();
+ return g(){() → self::A<self::Class::instance2::X>};
method test() → void {
function local1<X extends self::A<X> = self::A<dynamic>>(() → self::A<X> g) → void
- return g.call();
+ return g(){() → self::A<X>};
function local2<X extends self::A<X> = self::A<dynamic>>(() → self::A<X> g) → void
- return g.call();
+ return g(){() → self::A<X>};
<X extends self::A<X> = self::A<dynamic>>(() → self::A<X>) → void f1 = local1;
<X extends self::A<X> = self::A<dynamic>>(() → self::A<X>) → void f2 = local2;
new self::A::•<self::A<core::Object?>>();
new self::A::•<self::A<core::Object?>>();
- f1.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- f2.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- local1.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- local2.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
+ f1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ f2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ local1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ local2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
self::topLevel1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
self::topLevel2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- this.{self::Class::instance1}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- this.{self::Class::instance2}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
+ this.{self::Class::instance1}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ this.{self::Class::instance2}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
}
}
class Subclass extends self::Class {
@@ -154,7 +154,7 @@
throw "Error";
}
static method topLevel1<X extends self::A<self::topLevel1::X> = self::A<dynamic>>(() → self::A<self::topLevel1::X> g) → void
- return g.call();
+ return g(){() → self::A<self::topLevel1::X>};
static method topLevel2<X extends self::A<self::topLevel2::X> = self::A<dynamic>>(() → self::A<self::topLevel2::X> g) → void
- return g.call();
+ return g(){() → self::A<self::topLevel2::X>};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.weak.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.weak.transformed.expect
index b0f5897..61ac447 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue45464.dart.weak.transformed.expect
@@ -116,26 +116,26 @@
: super core::Object::•()
;
method instance1<X extends self::A<self::Class::instance1::X> = self::A<dynamic>>(() → self::A<self::Class::instance1::X> g) → void
- return g.call();
+ return g(){() → self::A<self::Class::instance1::X>};
method instance2<X extends self::A<self::Class::instance2::X> = self::A<dynamic>>(() → self::A<self::Class::instance2::X> g) → void
- return g.call();
+ return g(){() → self::A<self::Class::instance2::X>};
method test() → void {
function local1<X extends self::A<X> = self::A<dynamic>>(() → self::A<X> g) → void
- return g.call();
+ return g(){() → self::A<X>};
function local2<X extends self::A<X> = self::A<dynamic>>(() → self::A<X> g) → void
- return g.call();
+ return g(){() → self::A<X>};
<X extends self::A<X> = self::A<dynamic>>(() → self::A<X>) → void f1 = local1;
<X extends self::A<X> = self::A<dynamic>>(() → self::A<X>) → void f2 = local2;
new self::A::•<self::A<core::Object?>>();
new self::A::•<self::A<core::Object?>>();
- f1.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- f2.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- local1.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- local2.call<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
+ f1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ f2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ local1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ local2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
self::topLevel1<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
self::topLevel2<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- this.{self::Class::instance1}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
- this.{self::Class::instance2}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>());
+ this.{self::Class::instance1}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
+ this.{self::Class::instance2}<core::Object?>(() → self::A<core::Object?> => self::captureTypeArgument<self::A<core::Object?>>()){(() → self::A<core::Object?>) → void};
}
}
class Subclass extends self::Class {
@@ -154,7 +154,7 @@
throw "Error";
}
static method topLevel1<X extends self::A<self::topLevel1::X> = self::A<dynamic>>(() → self::A<self::topLevel1::X> g) → void
- return g.call();
+ return g(){() → self::A<self::topLevel1::X>};
static method topLevel2<X extends self::A<self::topLevel2::X> = self::A<dynamic>>(() → self::A<self::topLevel2::X> g) → void
- return g.call();
+ return g(){() → self::A<self::topLevel2::X>};
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.weak.expect b/pkg/front_end/testcases/rasta/cascades.dart.weak.expect
index e2ebba6..73ffa41 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/cascades.dart.weak.expect
@@ -24,6 +24,6 @@
function f(dynamic x) → dynamic
return x;
let final self::A* #t1 = a in block {
- #t1.{self::A::add}(f).call("WHAT");
+ #t1.{self::A::add}(f){(dynamic) →* dynamic}{dynamic}.call("WHAT");
} =>#t1;
}
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect
index e2ebba6..73ffa41 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect
@@ -24,6 +24,6 @@
function f(dynamic x) → dynamic
return x;
let final self::A* #t1 = a in block {
- #t1.{self::A::add}(f).call("WHAT");
+ #t1.{self::A::add}(f){(dynamic) →* dynamic}{dynamic}.call("WHAT");
} =>#t1;
}
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.weak.expect b/pkg/front_end/testcases/rasta/for_loop.dart.weak.expect
index e3bd4bb..94b2d41 100644
--- a/pkg/front_end/testcases/rasta/for_loop.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/for_loop.dart.weak.expect
@@ -3,11 +3,11 @@
import "dart:core" as core;
static method main() → dynamic {
- core::int* c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch};
- for (core::int* i = 0; i.{core::num::<}(100); i = i.{core::num::+}(1)) {
- core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1) in #t1);
+ core::int* c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*};
+ for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1);
}
- for (core::int* i = 0; i.{core::num::<}(100); c.{core::num::<}(42) ?{core::int*} throw "fisk" : let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1) in #t3) {
- core::print(let final core::int* #t5 = i in let final core::int* #t6 = i = #t5.{core::num::+}(1) in #t5);
+ for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; c.{core::num::<}(42){(core::num*) →* core::bool*} ?{core::int*} throw "fisk" : let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3) {
+ core::print(let final core::int* #t5 = i in let final core::int* #t6 = i = #t5.{core::num::+}(1){(core::num*) →* core::int*} in #t5);
}
}
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect
index e3bd4bb..94b2d41 100644
--- a/pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect
@@ -3,11 +3,11 @@
import "dart:core" as core;
static method main() → dynamic {
- core::int* c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch};
- for (core::int* i = 0; i.{core::num::<}(100); i = i.{core::num::+}(1)) {
- core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1) in #t1);
+ core::int* c = new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*};
+ for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1);
}
- for (core::int* i = 0; i.{core::num::<}(100); c.{core::num::<}(42) ?{core::int*} throw "fisk" : let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1) in #t3) {
- core::print(let final core::int* #t5 = i in let final core::int* #t6 = i = #t5.{core::num::+}(1) in #t5);
+ for (core::int* i = 0; i.{core::num::<}(100){(core::num*) →* core::bool*}; c.{core::num::<}(42){(core::num*) →* core::bool*} ?{core::int*} throw "fisk" : let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3) {
+ core::print(let final core::int* #t5 = i in let final core::int* #t6 = i = #t5.{core::num::+}(1){(core::num*) →* core::int*} in #t5);
}
}
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect
index 0b76554..90a6469 100644
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect
@@ -27,6 +27,6 @@
}
static field core::List<core::int*>* list = <core::int*>[1, 2, 3];
static method main() → dynamic {
- exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1).{core::num::==}(2));
- exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}.{core::Object::==}(10));
+ exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1){(core::int*) →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2);
+ exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 10);
}
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect
index 669881c..8a8d79b 100644
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect
@@ -27,6 +27,6 @@
}
static field core::List<core::int*>* list = core::_GrowableList::_literal3<core::int*>(1, 2, 3);
static method main() → dynamic {
- exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1).{core::num::==}(2));
- exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}.{core::Object::==}(10));
+ exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1){(core::int*) →* core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2);
+ exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 10);
}
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect
index f7d1185..8b66203 100644
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect
@@ -9,7 +9,7 @@
static method fact4() → dynamic {
core::int* f = 1;
for (core::int* n in <core::int*>[1, 2, 3, 4]) {
- f = f.{core::num::*}(n);
+ f = f.{core::num::*}(n){(core::num*) →* core::int*};
}
return f;
}
@@ -18,7 +18,7 @@
dynamic n;
for (final dynamic #t1 in <dynamic>[1, 2, 3, 4, 5]) {
n = #t1;
- f = f.{core::num::*}(n as{TypeError,ForDynamic} core::num*) as{TypeError} core::int*;
+ f = f.{core::num::*}(n as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
}
return f;
}
@@ -26,12 +26,12 @@
core::int* f = 1;
for (final dynamic #t2 in <dynamic>[1, 2, 3, 4, 5, 6]) {
self::global = #t2;
- f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*) as{TypeError} core::int*;
+ f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
}
return f;
}
static method main() → dynamic {
- exp::Expect::isTrue(self::fact4().{core::Object::==}(24));
- exp::Expect::isTrue(self::fact5().{core::Object::==}(120));
- exp::Expect::isTrue(self::fact6().{core::Object::==}(720));
+ exp::Expect::isTrue(self::fact4() =={core::Object::==}{(core::Object*) →* core::bool*} 24);
+ exp::Expect::isTrue(self::fact5() =={core::Object::==}{(core::Object*) →* core::bool*} 120);
+ exp::Expect::isTrue(self::fact6() =={core::Object::==}{(core::Object*) →* core::bool*} 720);
}
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect
index 9abdbc2..533f9ab 100644
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect
@@ -13,7 +13,7 @@
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
core::int* n = :sync-for-iterator.{core::Iterator::current};
{
- f = f.{core::num::*}(n);
+ f = f.{core::num::*}(n){(core::num*) →* core::int*};
}
}
}
@@ -28,7 +28,7 @@
final dynamic #t1 = :sync-for-iterator.{core::Iterator::current};
{
n = #t1;
- f = f.{core::num::*}(n as{TypeError,ForDynamic} core::num*) as{TypeError} core::int*;
+ f = f.{core::num::*}(n as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
}
}
}
@@ -42,14 +42,14 @@
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
{
self::global = #t2;
- f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*) as{TypeError} core::int*;
+ f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
}
}
}
return f;
}
static method main() → dynamic {
- exp::Expect::isTrue(self::fact4().{core::Object::==}(24));
- exp::Expect::isTrue(self::fact5().{core::Object::==}(120));
- exp::Expect::isTrue(self::fact6().{core::Object::==}(720));
+ exp::Expect::isTrue(self::fact4() =={core::Object::==}{(core::Object*) →* core::bool*} 24);
+ exp::Expect::isTrue(self::fact5() =={core::Object::==}{(core::Object*) →* core::bool*} 120);
+ exp::Expect::isTrue(self::fact6() =={core::Object::==}{(core::Object*) →* core::bool*} 720);
}
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect
index a79616d..d8e5d49 100644
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect
@@ -4,5 +4,5 @@
static field core::List<core::int*>* list = <core::int*>[1, 2, 3];
static method main() → dynamic {
- self::list.{core::List::add}(1);
+ self::list.{core::List::add}(1){(core::int*) →* void};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect
index 435535b..f8135d2 100644
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect
@@ -4,5 +4,5 @@
static field core::List<core::int*>* list = core::_GrowableList::_literal3<core::int*>(1, 2, 3);
static method main() → dynamic {
- self::list.{core::List::add}(1);
+ self::list.{core::List::add}(1){(core::int*) →* void};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect
index d37774c..6cd1688 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect
@@ -47,5 +47,5 @@
;
}
static method main() → dynamic {
- new self::Sub::•().{self::_Sub&Base&Mixin::foo}();
+ new self::Sub::•().{self::_Sub&Base&Mixin::foo}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect
index 3961807..ed3512d 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect
@@ -47,5 +47,5 @@
;
}
static method main() → dynamic {
- new self::Sub::•().{self::_Sub&Base&Mixin::foo}();
+ new self::Sub::•().{self::_Sub&Base&Mixin::foo}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect
index 955bf4c..e6e3429 100644
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect
@@ -27,5 +27,5 @@
}
}
static method main() → dynamic {
- new self::B::•().{self::B::m}();
+ new self::B::•().{self::B::m}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect
index 955bf4c..e6e3429 100644
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect
@@ -27,5 +27,5 @@
}
}
static method main() → dynamic {
- new self::B::•().{self::B::m}();
+ new self::B::•().{self::B::m}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect
index b3330742..9e127fd 100644
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect
@@ -5,7 +5,7 @@
class C extends core::Object {
field dynamic a = null;
field core::int* b = 0;
- field core::int* c = 1.{core::num::+}(2);
+ field core::int* c = 1.{core::num::+}(2){(core::num*) →* core::int*};
synthetic constructor •() → self::C*
: super core::Object::•()
;
@@ -23,7 +23,7 @@
class D extends core::Object {
field dynamic a = null;
field core::int* b = 1;
- field core::int* c = 2.{core::num::-}(3);
+ field core::int* c = 2.{core::num::-}(3){(core::num*) →* core::int*};
constructor •() → self::D*
: super core::Object::•()
;
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.transformed.expect
index d8064f6..d859b4b 100644
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
class C extends core::Object {
field dynamic a = null;
field core::int* b = 0;
- field core::int* c = 1.{core::num::+}(2);
+ field core::int* c = 1.{core::num::+}(2){(core::num*) →* core::int*};
synthetic constructor •() → self::C*
: super core::Object::•()
;
@@ -23,7 +23,7 @@
class D extends core::Object {
field dynamic a = null;
field core::int* b = 1;
- field core::int* c = 2.{core::num::-}(3);
+ field core::int* c = 2.{core::num::-}(3){(core::num*) →* core::int*};
constructor •() → self::D*
: super core::Object::•()
;
@@ -45,6 +45,6 @@
Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///issue_000026.dart:8:13 -> IntConstant(3)
-Evaluated: MethodInvocation @ org-dartlang-testcase:///issue_000026.dart:14:13 -> IntConstant(-1)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///issue_000026.dart:8:13 -> IntConstant(3)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///issue_000026.dart:14:13 -> IntConstant(-1)
Extra constant evaluation: evaluated: 4, effectively constant: 2
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect
index 10e6c4d..0485f14 100644
--- a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect
@@ -15,6 +15,6 @@
let final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000031.dart:8:3: Error: A prefix can't be used as an expression.
math..toString();
^^^^" in block {
- #t1.{core::Object::toString}();
+ #t1.{core::Object::toString}(){() →* core::String*};
} =>#t1;
}
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect
index 10e6c4d..0485f14 100644
--- a/pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect
@@ -15,6 +15,6 @@
let final dynamic #t1 = invalid-expression "pkg/front_end/testcases/rasta/issue_000031.dart:8:3: Error: A prefix can't be used as an expression.
math..toString();
^^^^" in block {
- #t1.{core::Object::toString}();
+ #t1.{core::Object::toString}(){() →* core::String*};
} =>#t1;
}
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect
index 433f8d9..27dc313 100644
--- a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect
@@ -18,4 +18,4 @@
return invalid-expression "pkg/front_end/testcases/rasta/issue_000036.dart:5:14: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
main() => a. - 5;
- ^".-(5);
+ ^"{dynamic}.-(5);
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect
index 433f8d9..27dc313 100644
--- a/pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect
@@ -18,4 +18,4 @@
return invalid-expression "pkg/front_end/testcases/rasta/issue_000036.dart:5:14: Error: Expected an identifier, but got ''.
Try inserting an identifier before ''.
main() => a. - 5;
- ^".-(5);
+ ^"{dynamic}.-(5);
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect
index 0c48907..63fc41c 100644
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect
@@ -22,7 +22,7 @@
method test() → dynamic {
self::use(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:9: Error: This couldn't be parsed.
use(+super);
- ^".+(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:10: Error: Can't use 'super' as an expression.
+ ^"{dynamic}.+(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:10: Error: Can't use 'super' as an expression.
To delegate a constructor to a super constructor, put the super call as an initializer.
use(+super);
^^^^^"));
@@ -41,5 +41,5 @@
static method use(dynamic _) → dynamic
return null;
static method main() → dynamic {
- new self::C::•().{self::C::test}();
+ new self::C::•().{self::C::test}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect
index 0c48907..63fc41c 100644
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect
@@ -22,7 +22,7 @@
method test() → dynamic {
self::use(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:9: Error: This couldn't be parsed.
use(+super);
- ^".+(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:10: Error: Can't use 'super' as an expression.
+ ^"{dynamic}.+(invalid-expression "pkg/front_end/testcases/rasta/issue_000041.dart:7:10: Error: Can't use 'super' as an expression.
To delegate a constructor to a super constructor, put the super call as an initializer.
use(+super);
^^^^^"));
@@ -41,5 +41,5 @@
static method use(dynamic _) → dynamic
return null;
static method main() → dynamic {
- new self::C::•().{self::C::test}();
+ new self::C::•().{self::C::test}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect
index dd43e98..0c2f2cb 100644
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
get x() → dynamic
- return "${#C1}".{core::String::hashCode};
+ return "${#C1}".{core::String::hashCode}{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
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect
index dd43e98..0c2f2cb 100644
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
get x() → dynamic
- return "${#C1}".{core::String::hashCode};
+ return "${#C1}".{core::String::hashCode}{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
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect
index 24463fa..9513300 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect
@@ -104,7 +104,7 @@
print(const C.missingFactoryKeyword());
^");
core::print(#C1);
- core::print(new self::C::constant().{self::C::notEvenAConstructor}(null));
+ core::print(new self::C::constant().{self::C::notEvenAConstructor}(null){(dynamic) →* self::C*});
}
constants {
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect
index 640e041..186f22a 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect
@@ -104,7 +104,7 @@
print(const C.missingFactoryKeyword());
^");
core::print(#C1);
- core::print(new self::C::constant().{self::C::notEvenAConstructor}(null));
+ core::print(new self::C::constant().{self::C::notEvenAConstructor}(null){(dynamic) →* self::C*});
}
constants {
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect
index bfd2076..4c2e652 100644
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect
@@ -6,5 +6,5 @@
function f() → Null {
core::print("hello");
}
- f.call();
+ f(){() →* Null};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect
index bfd2076..4c2e652 100644
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect
@@ -6,5 +6,5 @@
function f() → Null {
core::print("hello");
}
- f.call();
+ f(){() →* Null};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect
index b732bad..f4841de 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect
@@ -22,5 +22,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::C::•().{self::C::test}();
+ new self::C::•().{self::C::test}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect
index b732bad..f4841de 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect
@@ -22,5 +22,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::C::•().{self::C::test}();
+ new self::C::•().{self::C::test}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect
index 72b1c0e..033c0fd 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect
@@ -43,5 +43,5 @@
}
static method main() → dynamic {
self::A* a = new self::D::•();
- exp::Expect::equals(2, a.{self::A::m}());
+ exp::Expect::equals(2, a.{self::A::m}(){() →* core::int*});
}
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect
index 78a21ce..d34604a 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect
@@ -43,5 +43,5 @@
}
static method main() → dynamic {
self::A* a = new self::D::•();
- exp::Expect::equals(2, a.{self::A::m}());
+ exp::Expect::equals(2, a.{self::A::m}(){() →* core::int*});
}
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect
index 12a916f..07c2ec1 100644
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect
@@ -5,7 +5,7 @@
static method main() → dynamic {
dynamic x;
core::int* i = 0;
- while ((let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1) in #t1).{core::num::<}(5)) {
+ while ((let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1).{core::num::<}(5){(core::num*) →* core::bool*}) {
core::int* x = i;
}
}
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect
index 12a916f..07c2ec1 100644
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
static method main() → dynamic {
dynamic x;
core::int* i = 0;
- while ((let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1) in #t1).{core::num::<}(5)) {
+ while ((let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1).{core::num::<}(5){(core::num*) →* core::bool*}) {
core::int* x = i;
}
}
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect
index fcbc6d2..18d9024 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect
@@ -22,7 +22,7 @@
return new self::A::empty<self::A::f::N*, self::A::f::S*, self::A::f::U*>();
}
get getter() → core::List<self::A::U*>* {
- return this.{self::A::field};
+ return this.{self::A::field}{core::List<self::A::U*>*};
}
set setter(generic-covariant-impl self::A::S* s) → void {}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -60,7 +60,7 @@
new self::A::•<core::num*, core::double*, core::List<dynamic>*>(1, 2.0);
self::A<dynamic, dynamic, dynamic>* a = self::A::f<core::int*, core::int*, core::int*>(1);
#C3;
- core::List<dynamic>* z = a.{self::A::getter};
+ core::List<dynamic>* z = a.{self::A::getter}{core::List<dynamic>*};
a.{self::A::setter} = 1;
}
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect
index 41a034d..9534f31 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect
@@ -22,7 +22,7 @@
return new self::A::empty<self::A::f::N*, self::A::f::S*, self::A::f::U*>();
}
get getter() → core::List<self::A::U*>* {
- return this.{self::A::field};
+ return this.{self::A::field}{core::List<self::A::U*>*};
}
set setter(generic-covariant-impl self::A::S* s) → void {}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -60,7 +60,7 @@
new self::A::•<core::num*, core::double*, core::List<dynamic>*>(1, 2.0);
self::A<dynamic, dynamic, dynamic>* a = self::A::f<core::int*, core::int*, core::int*>(1);
#C3;
- core::List<dynamic>* z = a.{self::A::getter};
+ core::List<dynamic>* z = a.{self::A::getter}{core::List<dynamic>*};
a.{self::A::setter} = 1;
}
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.expect
index 102e810..e61a3ce 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.expect
@@ -53,5 +53,5 @@
static method main() → dynamic {
self::Foo* f = new self::Foo::•();
f.{self::_Foo&Object&Mixin::field} = 42;
- core::print(f.{self::Foo::bar}());
+ core::print(f.{self::Foo::bar}(){() →* dynamic});
}
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect
index c8a45db..8e37860 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect
@@ -50,5 +50,5 @@
static method main() → dynamic {
self::Foo* f = new self::Foo::•();
f.{self::_Foo&Object&Mixin::field} = 42;
- core::print(f.{self::Foo::bar}());
+ core::print(f.{self::Foo::bar}(){() →* dynamic});
}
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect
index a132ec8..5549963 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect
@@ -23,13 +23,13 @@
: super self::Base::•()
;
get hashCode() → core::int*
- return let final core::int* #t1 = this.{self::Sub::_hashCode} in #t1.{core::num::==}(null) ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1;
+ return let final core::int* #t1 = this.{self::Sub::_hashCode}{core::int*} in #t1 == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1;
method foo() → dynamic {
- this.{self::Sub::_hashCode}.{core::num::==}(null) ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
+ this.{self::Sub::_hashCode}{core::int*} == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
}
}
static method main() → dynamic {
- core::print(new self::Sub::•().{self::Sub::hashCode});
+ core::print(new self::Sub::•().{self::Sub::hashCode}{core::int*});
core::List<Null>* l = <Null>[null];
- let final core::List<Null>* #t2 = l in let final core::int* #t3 = 0 in #t2.{core::List::[]}(#t3).{core::Object::==}(null) ?{core::String*} #t2.{core::List::[]=}(#t3, "fisk" as{TypeError} Null) : null;
+ let final core::List<Null>* #t2 = l in let final core::int* #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int*) →* Null} == null ?{core::String*} #t2.{core::List::[]=}(#t3, "fisk" as{TypeError} Null){(core::int*, Null) →* void} : null;
}
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect
index b1d4d3f..5e4e553 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect
@@ -23,15 +23,15 @@
: super self::Base::•()
;
get hashCode() → core::int*
- return let final core::int* #t1 = this.{self::Sub::_hashCode} in #t1.{core::num::==}(null) ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1;
+ return let final core::int* #t1 = this.{self::Sub::_hashCode}{core::int*} in #t1 == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1;
method foo() → dynamic {
- this.{self::Sub::_hashCode}.{core::num::==}(null) ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
+ this.{self::Sub::_hashCode}{core::int*} == null ?{core::int*} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
}
}
static method main() → dynamic {
- core::print(new self::Sub::•().{self::Sub::hashCode});
+ core::print(new self::Sub::•().{self::Sub::hashCode}{core::int*});
core::List<Null>* l = core::_GrowableList::_literal1<Null>(null);
- let final core::List<Null>* #t2 = l in let final core::int* #t3 = 0 in #t2.{core::List::[]}(#t3).{core::Object::==}(null) ?{core::String*} #t2.{core::List::[]=}(#t3, "fisk" as{TypeError} Null) : null;
+ let final core::List<Null>* #t2 = l in let final core::int* #t3 = 0 in #t2.{core::List::[]}(#t3){(core::int*) →* Null} == null ?{core::String*} #t2.{core::List::[]=}(#t3, "fisk" as{TypeError} Null){(core::int*, Null) →* void} : null;
}
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect
index 353bded..bca934b 100644
--- a/pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect
@@ -18,7 +18,7 @@
: super core::Object::•()
;
method foo() → dynamic
- return super.foo().+(self::f());
+ return super.foo(){dynamic}.+(self::f());
method g(generic-covariant-impl self::Mixin::T* a) → self::Mixin::T*
return null;
method h() → dynamic
@@ -28,7 +28,7 @@
method _privateMethod() → dynamic
return 49;
method publicMethod() → dynamic
- return this.{self::Mixin::_privateMethod}();
+ return this.{self::Mixin::_privateMethod}(){() →* 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
@@ -47,4 +47,4 @@
static method _private() → dynamic
return 117;
static method foo(dynamic m) → dynamic
- return m._privateMethod();
+ return m{dynamic}._privateMethod();
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.weak.expect b/pkg/front_end/testcases/rasta/parser_error.dart.weak.expect
index 1b9b0f8..6547bf2 100644
--- a/pkg/front_end/testcases/rasta/parser_error.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/parser_error.dart.weak.expect
@@ -29,7 +29,7 @@
if (?b) return b; /// 01: compile-time error
^") as{TypeError,ForDynamic} core::bool*)
return b as{TypeError,ForDynamic} core::int*;
- return a.+(b).+(c) as{TypeError,ForDynamic} core::int*;
+ return a{dynamic}.+(b){dynamic}.+(c) as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {
exp::Expect::equals(6, self::test(1, b: 2, c: 3));
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect
index a7bf51f..a26a0de 100644
--- a/pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect
@@ -29,7 +29,7 @@
if (?b) return b; /// 01: compile-time error
^") as{TypeError,ForDynamic} core::bool*)
return b as{TypeError,ForDynamic} core::int*;
- return a.+(b).+(c) as{TypeError,ForDynamic} core::int*;
+ return a{dynamic}.+(b){dynamic}.+(c) as{TypeError,ForDynamic} core::int*;
}
static method main() → dynamic {
exp::Expect::equals(6, self::test(1, b: 2, c: 3));
diff --git a/pkg/front_end/testcases/rasta/static.dart.weak.expect b/pkg/front_end/testcases/rasta/static.dart.weak.expect
index b43a9e5..79e268c 100644
--- a/pkg/front_end/testcases/rasta/static.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.weak.expect
@@ -183,7 +183,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method use(dynamic x) → dynamic {
- if(x.{core::Object::==}(new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}))
+ if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
throw "Shouldn't happen";
}
static method main() → dynamic {
@@ -208,8 +208,8 @@
self::use(let final core::int* #t1 = #C1 in let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:32:13: Error: Setter not found: 'staticConstant'.
use(Foo.staticConstant++);
^^^^^^^^^^^^^^" in #t1);
- self::Foo::staticField = self::Foo::staticField.{core::num::+}(1);
- self::use(let final core::int* #t3 = self::Foo::staticField in let final core::int* #t4 = self::Foo::staticField = #t3.{core::num::+}(1) in #t3);
+ self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
+ self::use(let final core::int* #t3 = self::Foo::staticField in let final core::int* #t4 = self::Foo::staticField = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3);
invalid-expression "pkg/front_end/testcases/rasta/static.dart:35:9: Error: Setter not found: 'staticFunction'.
Foo.staticFunction++;
^^^^^^^^^^^^^^";
@@ -224,18 +224,18 @@
^^^^^^^^^^^^" in #t7);
self::Foo::staticSetter = invalid-expression "pkg/front_end/testcases/rasta/static.dart:39:9: Error: Getter not found: 'staticSetter'.
Foo.staticSetter++;
- ^^^^^^^^^^^^".+(1);
+ ^^^^^^^^^^^^"{dynamic}.+(1);
self::use(let final dynamic #t9 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:40:13: Error: Getter not found: 'staticSetter'.
use(Foo.staticSetter++);
- ^^^^^^^^^^^^" in let final dynamic #t10 = self::Foo::staticSetter = #t9.+(1) in #t9);
+ ^^^^^^^^^^^^" in let final dynamic #t10 = self::Foo::staticSetter = #t9{dynamic}.+(1) in #t9);
invalid-expression "pkg/front_end/testcases/rasta/static.dart:42:11: Error: Setter not found: 'staticConstant'.
++Foo.staticConstant;
^^^^^^^^^^^^^^";
self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:43:15: Error: Setter not found: 'staticConstant'.
use(++Foo.staticConstant);
^^^^^^^^^^^^^^");
- self::Foo::staticField = self::Foo::staticField.{core::num::+}(1);
- self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1));
+ self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
+ self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*});
invalid-expression "pkg/front_end/testcases/rasta/static.dart:46:11: Error: Setter not found: 'staticFunction'.
++Foo.staticFunction;
^^^^^^^^^^^^^^";
@@ -250,10 +250,10 @@
^^^^^^^^^^^^");
self::Foo::staticSetter = invalid-expression "pkg/front_end/testcases/rasta/static.dart:50:11: Error: Getter not found: 'staticSetter'.
++Foo.staticSetter;
- ^^^^^^^^^^^^".+(1);
+ ^^^^^^^^^^^^"{dynamic}.+(1);
self::use(self::Foo::staticSetter = invalid-expression "pkg/front_end/testcases/rasta/static.dart:51:15: Error: Getter not found: 'staticSetter'.
use(++Foo.staticSetter);
- ^^^^^^^^^^^^".+(1));
+ ^^^^^^^^^^^^"{dynamic}.+(1));
invalid-expression "pkg/front_end/testcases/rasta/static.dart:53:23: Error: The method 'call' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named 'call'.
Foo.staticConstant();
@@ -272,14 +272,14 @@
^");
self::Foo::staticFunction();
self::use(self::Foo::staticFunction());
- self::Foo::staticGetter.call();
- self::use(self::Foo::staticGetter.call());
+ self::Foo::staticGetter{dynamic}.call();
+ self::use(self::Foo::staticGetter{dynamic}.call());
invalid-expression "pkg/front_end/testcases/rasta/static.dart:61:9: Error: Getter not found: 'staticSetter'.
Foo.staticSetter();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:62:13: Error: Getter not found: 'staticSetter'.
use(Foo.staticSetter());
- ^^^^^^^^^^^^".call());
+ ^^^^^^^^^^^^"{dynamic}.call());
invalid-expression "pkg/front_end/testcases/rasta/static.dart:64:9: Error: Setter not found: 'staticConstant'.
Foo.staticConstant = 87;
^^^^^^^^^^^^^^";
@@ -302,32 +302,32 @@
^^^^^^^^^^^^");
self::Foo::staticSetter = 87;
self::use(self::Foo::staticSetter = 87);
- (#C1).{core::num::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:75:9: Error: Setter not found: 'staticConstant'.
+ (#C1) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:75:9: Error: Setter not found: 'staticConstant'.
Foo.staticConstant ??= 87;
^^^^^^^^^^^^^^" : null;
- self::use(let final core::int* #t11 = #C1 in #t11.{core::num::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
+ self::use(let final core::int* #t11 = #C1 in #t11 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
use(Foo.staticConstant ??= 87);
^^^^^^^^^^^^^^" : #t11);
- self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 87 : null;
- self::use(let final core::int* #t12 = self::Foo::staticField in #t12.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 87 : #t12);
- (#C2).{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
+ self::Foo::staticField == null ?{core::int*} self::Foo::staticField = 87 : null;
+ self::use(let final core::int* #t12 = self::Foo::staticField in #t12 == null ?{core::int*} self::Foo::staticField = 87 : #t12);
+ (#C2) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
Foo.staticFunction ??= 87;
^^^^^^^^^^^^^^" : null;
- self::use(let final () →* dynamic #t13 = #C2 in #t13.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
+ self::use(let final () →* dynamic #t13 = #C2 in #t13 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
use(Foo.staticFunction ??= 87);
^^^^^^^^^^^^^^" : #t13);
- self::Foo::staticGetter.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:81:9: Error: Setter not found: 'staticGetter'.
+ self::Foo::staticGetter == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:81:9: Error: Setter not found: 'staticGetter'.
Foo.staticGetter ??= 87;
^^^^^^^^^^^^" : null;
- self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:82:13: Error: Setter not found: 'staticGetter'.
+ self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:82:13: Error: Setter not found: 'staticGetter'.
use(Foo.staticGetter ??= 87);
^^^^^^^^^^^^" : #t14);
invalid-expression "pkg/front_end/testcases/rasta/static.dart:83:9: Error: Getter not found: 'staticSetter'.
Foo.staticSetter ??= 87;
- ^^^^^^^^^^^^".{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : null;
+ ^^^^^^^^^^^^" == null ?{dynamic} self::Foo::staticSetter = 87 : null;
self::use(let final dynamic #t15 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:84:13: Error: Getter not found: 'staticSetter'.
use(Foo.staticSetter ??= 87);
- ^^^^^^^^^^^^" in #t15.{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : #t15);
+ ^^^^^^^^^^^^" in #t15 == null ?{dynamic} self::Foo::staticSetter = 87 : #t15);
}
on core::NoSuchMethodError* catch(no-exception-var) {
}
diff --git a/pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect
index 7c94fe0..fd27fff 100644
--- a/pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect
@@ -183,7 +183,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method use(dynamic x) → dynamic {
- if(x.{core::Object::==}(new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}))
+ if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
throw "Shouldn't happen";
}
static method main() → dynamic {
@@ -208,8 +208,8 @@
self::use(let final core::int* #t1 = #C1 in let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:32:13: Error: Setter not found: 'staticConstant'.
use(Foo.staticConstant++);
^^^^^^^^^^^^^^" in #t1);
- self::Foo::staticField = self::Foo::staticField.{core::num::+}(1);
- self::use(let final core::int* #t3 = self::Foo::staticField in let final core::int* #t4 = self::Foo::staticField = #t3.{core::num::+}(1) in #t3);
+ self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
+ self::use(let final core::int* #t3 = self::Foo::staticField in let final core::int* #t4 = self::Foo::staticField = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3);
invalid-expression "pkg/front_end/testcases/rasta/static.dart:35:9: Error: Setter not found: 'staticFunction'.
Foo.staticFunction++;
^^^^^^^^^^^^^^";
@@ -224,18 +224,18 @@
^^^^^^^^^^^^" in #t7);
self::Foo::staticSetter = invalid-expression "pkg/front_end/testcases/rasta/static.dart:39:9: Error: Getter not found: 'staticSetter'.
Foo.staticSetter++;
- ^^^^^^^^^^^^".+(1);
+ ^^^^^^^^^^^^"{dynamic}.+(1);
self::use(let final dynamic #t9 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:40:13: Error: Getter not found: 'staticSetter'.
use(Foo.staticSetter++);
- ^^^^^^^^^^^^" in let final dynamic #t10 = self::Foo::staticSetter = #t9.+(1) in #t9);
+ ^^^^^^^^^^^^" in let final dynamic #t10 = self::Foo::staticSetter = #t9{dynamic}.+(1) in #t9);
invalid-expression "pkg/front_end/testcases/rasta/static.dart:42:11: Error: Setter not found: 'staticConstant'.
++Foo.staticConstant;
^^^^^^^^^^^^^^";
self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:43:15: Error: Setter not found: 'staticConstant'.
use(++Foo.staticConstant);
^^^^^^^^^^^^^^");
- self::Foo::staticField = self::Foo::staticField.{core::num::+}(1);
- self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1));
+ self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*};
+ self::use(self::Foo::staticField = self::Foo::staticField.{core::num::+}(1){(core::num*) →* core::int*});
invalid-expression "pkg/front_end/testcases/rasta/static.dart:46:11: Error: Setter not found: 'staticFunction'.
++Foo.staticFunction;
^^^^^^^^^^^^^^";
@@ -250,10 +250,10 @@
^^^^^^^^^^^^");
self::Foo::staticSetter = invalid-expression "pkg/front_end/testcases/rasta/static.dart:50:11: Error: Getter not found: 'staticSetter'.
++Foo.staticSetter;
- ^^^^^^^^^^^^".+(1);
+ ^^^^^^^^^^^^"{dynamic}.+(1);
self::use(self::Foo::staticSetter = invalid-expression "pkg/front_end/testcases/rasta/static.dart:51:15: Error: Getter not found: 'staticSetter'.
use(++Foo.staticSetter);
- ^^^^^^^^^^^^".+(1));
+ ^^^^^^^^^^^^"{dynamic}.+(1));
invalid-expression "pkg/front_end/testcases/rasta/static.dart:53:23: Error: The method 'call' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named 'call'.
Foo.staticConstant();
@@ -272,14 +272,14 @@
^");
self::Foo::staticFunction();
self::use(self::Foo::staticFunction());
- self::Foo::staticGetter.call();
- self::use(self::Foo::staticGetter.call());
+ self::Foo::staticGetter{dynamic}.call();
+ self::use(self::Foo::staticGetter{dynamic}.call());
invalid-expression "pkg/front_end/testcases/rasta/static.dart:61:9: Error: Getter not found: 'staticSetter'.
Foo.staticSetter();
- ^^^^^^^^^^^^".call();
+ ^^^^^^^^^^^^"{dynamic}.call();
self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:62:13: Error: Getter not found: 'staticSetter'.
use(Foo.staticSetter());
- ^^^^^^^^^^^^".call());
+ ^^^^^^^^^^^^"{dynamic}.call());
invalid-expression "pkg/front_end/testcases/rasta/static.dart:64:9: Error: Setter not found: 'staticConstant'.
Foo.staticConstant = 87;
^^^^^^^^^^^^^^";
@@ -302,32 +302,32 @@
^^^^^^^^^^^^");
self::Foo::staticSetter = 87;
self::use(self::Foo::staticSetter = 87);
- (#C1).{core::num::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:75:9: Error: Setter not found: 'staticConstant'.
+ (#C1) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:75:9: Error: Setter not found: 'staticConstant'.
Foo.staticConstant ??= 87;
^^^^^^^^^^^^^^" : null;
- self::use(let final core::int* #t11 = #C1 in #t11.{core::num::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
+ self::use(let final core::int* #t11 = #C1 in #t11 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
use(Foo.staticConstant ??= 87);
^^^^^^^^^^^^^^" : #t11);
- self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 87 : null;
- self::use(let final core::int* #t12 = self::Foo::staticField in #t12.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 87 : #t12);
- (#C2).{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
+ self::Foo::staticField == null ?{core::int*} self::Foo::staticField = 87 : null;
+ self::use(let final core::int* #t12 = self::Foo::staticField in #t12 == null ?{core::int*} self::Foo::staticField = 87 : #t12);
+ (#C2) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
Foo.staticFunction ??= 87;
^^^^^^^^^^^^^^" : null;
- self::use(let final () →* dynamic #t13 = #C2 in #t13.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
+ self::use(let final () →* dynamic #t13 = #C2 in #t13 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
use(Foo.staticFunction ??= 87);
^^^^^^^^^^^^^^" : #t13);
- self::Foo::staticGetter.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:81:9: Error: Setter not found: 'staticGetter'.
+ self::Foo::staticGetter == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:81:9: Error: Setter not found: 'staticGetter'.
Foo.staticGetter ??= 87;
^^^^^^^^^^^^" : null;
- self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:82:13: Error: Setter not found: 'staticGetter'.
+ self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:82:13: Error: Setter not found: 'staticGetter'.
use(Foo.staticGetter ??= 87);
^^^^^^^^^^^^" : #t14);
invalid-expression "pkg/front_end/testcases/rasta/static.dart:83:9: Error: Getter not found: 'staticSetter'.
Foo.staticSetter ??= 87;
- ^^^^^^^^^^^^".{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : null;
+ ^^^^^^^^^^^^" == null ?{dynamic} self::Foo::staticSetter = 87 : null;
self::use(let final dynamic #t15 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:84:13: Error: Getter not found: 'staticSetter'.
use(Foo.staticSetter ??= 87);
- ^^^^^^^^^^^^" in #t15.{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : #t15);
+ ^^^^^^^^^^^^" in #t15 == null ?{dynamic} self::Foo::staticSetter = 87 : #t15);
}
on core::NoSuchMethodError* catch(no-exception-var) {
}
diff --git a/pkg/front_end/testcases/rasta/super.dart.weak.expect b/pkg/front_end/testcases/rasta/super.dart.weak.expect
index 17305dd..2afaa67 100644
--- a/pkg/front_end/testcases/rasta/super.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.weak.expect
@@ -406,13 +406,13 @@
self::use(super.{self::A::unary-}());
invalid-expression "pkg/front_end/testcases/rasta/super.dart:43:5: Error: This couldn't be parsed.
+super;
- ^".+(invalid-expression "pkg/front_end/testcases/rasta/super.dart:43:6: Error: Can't use 'super' as an expression.
+ ^"{dynamic}.+(invalid-expression "pkg/front_end/testcases/rasta/super.dart:43:6: Error: Can't use 'super' as an expression.
To delegate a constructor to a super constructor, put the super call as an initializer.
+super;
^^^^^");
self::use(invalid-expression "pkg/front_end/testcases/rasta/super.dart:44:9: Error: This couldn't be parsed.
use(+super);
- ^".+(invalid-expression "pkg/front_end/testcases/rasta/super.dart:44:10: Error: Can't use 'super' as an expression.
+ ^"{dynamic}.+(invalid-expression "pkg/front_end/testcases/rasta/super.dart:44:10: Error: Can't use 'super' as an expression.
To delegate a constructor to a super constructor, put the super call as an initializer.
use(+super);
^^^^^"));
@@ -444,26 +444,26 @@
self::use(super.{self::A::m});
super.{self::A::n};
self::use(super.{self::A::n});
- super.{self::A::a} = super.{self::A::a}.+(1);
- self::use(let final dynamic #t1 = super.{self::A::a} in let final dynamic #t2 = super.{self::A::a} = #t1.+(1) in #t1);
- super.{self::A::b} = super.{self::B::b}.+(1);
- self::use(let final dynamic #t3 = super.{self::B::b} in let final dynamic #t4 = super.{self::A::b} = #t3.+(1) in #t3);
- super.{self::B::c} = super.{self::A::c}.+(1);
- self::use(let final dynamic #t5 = super.{self::A::c} in let final dynamic #t6 = super.{self::B::c} = #t5.+(1) in #t5);
- super.{self::A::d} = super.{self::B::d}.+(1);
- self::use(let final dynamic #t7 = super.{self::B::d} in let final dynamic #t8 = super.{self::A::d} = #t7.+(1) in #t7);
- super.e = super.{self::A::e}.+(1);
- self::use(let final dynamic #t9 = super.{self::A::e} in let final dynamic #t10 = super.e = #t9.+(1) in #t9);
- super.f = super.{self::A::f}.+(1);
- self::use(let final dynamic #t11 = super.{self::A::f} in let final dynamic #t12 = super.f = #t11.+(1) in #t11);
- super.{self::A::g} = super.g.+(1);
- self::use(let final dynamic #t13 = super.g in let final dynamic #t14 = super.{self::A::g} = #t13.+(1) in #t13);
- super.{self::A::h} = super.{self::A::h}.+(1);
- self::use(let final dynamic #t15 = super.{self::A::h} in let final dynamic #t16 = super.{self::A::h} = #t15.+(1) in #t15);
- super.{self::B::i} = super.{self::A::i}.+(1);
- self::use(let final dynamic #t17 = super.{self::A::i} in let final dynamic #t18 = super.{self::B::i} = #t17.+(1) in #t17);
- let final core::int* #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19).+(1));
- self::use(let final core::int* #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final void #t22 = super.{self::A::[]=}(#t20, #t21.+(1)) in #t21);
+ super.{self::A::a} = super.{self::A::a}{dynamic}.+(1);
+ self::use(let final dynamic #t1 = super.{self::A::a} in let final dynamic #t2 = super.{self::A::a} = #t1{dynamic}.+(1) in #t1);
+ super.{self::A::b} = super.{self::B::b}{dynamic}.+(1);
+ self::use(let final dynamic #t3 = super.{self::B::b} in let final dynamic #t4 = super.{self::A::b} = #t3{dynamic}.+(1) in #t3);
+ super.{self::B::c} = super.{self::A::c}{dynamic}.+(1);
+ self::use(let final dynamic #t5 = super.{self::A::c} in let final dynamic #t6 = super.{self::B::c} = #t5{dynamic}.+(1) in #t5);
+ super.{self::A::d} = super.{self::B::d}{dynamic}.+(1);
+ self::use(let final dynamic #t7 = super.{self::B::d} in let final dynamic #t8 = super.{self::A::d} = #t7{dynamic}.+(1) in #t7);
+ super.e = super.{self::A::e}{dynamic}.+(1);
+ self::use(let final dynamic #t9 = super.{self::A::e} in let final dynamic #t10 = super.e = #t9{dynamic}.+(1) in #t9);
+ super.f = super.{self::A::f}{dynamic}.+(1);
+ self::use(let final dynamic #t11 = super.{self::A::f} in let final dynamic #t12 = super.f = #t11{dynamic}.+(1) in #t11);
+ super.{self::A::g} = super.g{dynamic}.+(1);
+ self::use(let final dynamic #t13 = super.g in let final dynamic #t14 = super.{self::A::g} = #t13{dynamic}.+(1) in #t13);
+ super.{self::A::h} = super.{self::A::h}{dynamic}.+(1);
+ self::use(let final dynamic #t15 = super.{self::A::h} in let final dynamic #t16 = super.{self::A::h} = #t15{dynamic}.+(1) in #t15);
+ super.{self::B::i} = super.{self::A::i}{dynamic}.+(1);
+ self::use(let final dynamic #t17 = super.{self::A::i} in let final dynamic #t18 = super.{self::B::i} = #t17{dynamic}.+(1) in #t17);
+ let final core::int* #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19){dynamic}.+(1));
+ self::use(let final core::int* #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final void #t22 = super.{self::A::[]=}(#t20, #t21{dynamic}.+(1)) in #t21);
super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:95:12: Error: The operator '+' isn't defined for the class 'void Function()'.
Try correcting the operator to an existing operator, or defining a '+' operator.
super.m++;
@@ -480,26 +480,26 @@
Try correcting the operator to an existing operator, or defining a '+' operator.
use(super.n++);
^" in #t25);
- super.{self::A::a} = super.{self::A::a}.+(1);
- self::use(super.{self::A::a} = super.{self::A::a}.+(1));
- super.{self::A::b} = super.{self::B::b}.+(1);
- self::use(super.{self::A::b} = super.{self::B::b}.+(1));
- super.{self::B::c} = super.{self::A::c}.+(1);
- self::use(super.{self::B::c} = super.{self::A::c}.+(1));
- super.{self::A::d} = super.{self::B::d}.+(1);
- self::use(super.{self::A::d} = super.{self::B::d}.+(1));
- super.e = super.{self::A::e}.+(1);
- self::use(super.e = super.{self::A::e}.+(1));
- super.f = super.{self::A::f}.+(1);
- self::use(super.f = super.{self::A::f}.+(1));
- super.{self::A::g} = super.g.+(1);
- self::use(super.{self::A::g} = super.g.+(1));
- super.{self::A::h} = super.{self::A::h}.+(1);
- self::use(super.{self::A::h} = super.{self::A::h}.+(1));
- super.{self::B::i} = super.{self::A::i}.+(1);
- self::use(super.{self::B::i} = super.{self::A::i}.+(1));
- let final core::int* #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(#t27).+(1) in let final void #t29 = super.{self::A::[]=}(#t27, #t28) in #t28;
- self::use(let final core::int* #t30 = 87 in let final dynamic #t31 = super.{self::A::[]}(#t30).+(1) in let final void #t32 = super.{self::A::[]=}(#t30, #t31) in #t31);
+ super.{self::A::a} = super.{self::A::a}{dynamic}.+(1);
+ self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.+(1));
+ super.{self::A::b} = super.{self::B::b}{dynamic}.+(1);
+ self::use(super.{self::A::b} = super.{self::B::b}{dynamic}.+(1));
+ super.{self::B::c} = super.{self::A::c}{dynamic}.+(1);
+ self::use(super.{self::B::c} = super.{self::A::c}{dynamic}.+(1));
+ super.{self::A::d} = super.{self::B::d}{dynamic}.+(1);
+ self::use(super.{self::A::d} = super.{self::B::d}{dynamic}.+(1));
+ super.e = super.{self::A::e}{dynamic}.+(1);
+ self::use(super.e = super.{self::A::e}{dynamic}.+(1));
+ super.f = super.{self::A::f}{dynamic}.+(1);
+ self::use(super.f = super.{self::A::f}{dynamic}.+(1));
+ super.{self::A::g} = super.g{dynamic}.+(1);
+ self::use(super.{self::A::g} = super.g{dynamic}.+(1));
+ super.{self::A::h} = super.{self::A::h}{dynamic}.+(1);
+ self::use(super.{self::A::h} = super.{self::A::h}{dynamic}.+(1));
+ super.{self::B::i} = super.{self::A::i}{dynamic}.+(1);
+ self::use(super.{self::B::i} = super.{self::A::i}{dynamic}.+(1));
+ let final core::int* #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(#t27){dynamic}.+(1) in let final void #t29 = super.{self::A::[]=}(#t27, #t28) in #t28;
+ self::use(let final core::int* #t30 = 87 in let final dynamic #t31 = super.{self::A::[]}(#t30){dynamic}.+(1) in let final void #t32 = super.{self::A::[]=}(#t30, #t31) in #t31);
super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:120:5: Error: The operator '+' isn't defined for the class 'void Function()'.
Try correcting the operator to an existing operator, or defining a '+' operator.
++super.m;
@@ -516,26 +516,26 @@
Try correcting the operator to an existing operator, or defining a '+' operator.
use(++super.n);
^");
- super.{self::A::a}.call();
- self::use(super.{self::A::a}.call());
- super.{self::B::b}.call();
- self::use(super.{self::B::b}.call());
- super.{self::A::c}.call();
- self::use(super.{self::A::c}.call());
- super.{self::B::d}.call();
- self::use(super.{self::B::d}.call());
- super.{self::A::e}.call();
- self::use(super.{self::A::e}.call());
- super.{self::A::f}.call();
- self::use(super.{self::A::f}.call());
+ super.{self::A::a}{dynamic}.call();
+ self::use(super.{self::A::a}{dynamic}.call());
+ super.{self::B::b}{dynamic}.call();
+ self::use(super.{self::B::b}{dynamic}.call());
+ super.{self::A::c}{dynamic}.call();
+ self::use(super.{self::A::c}{dynamic}.call());
+ super.{self::B::d}{dynamic}.call();
+ self::use(super.{self::B::d}{dynamic}.call());
+ super.{self::A::e}{dynamic}.call();
+ self::use(super.{self::A::e}{dynamic}.call());
+ super.{self::A::f}{dynamic}.call();
+ self::use(super.{self::A::f}{dynamic}.call());
super.g();
self::use(super.g());
- super.{self::A::h}.call();
- self::use(super.{self::A::h}.call());
- super.{self::A::i}.call();
- self::use(super.{self::A::i}.call());
- super.{self::A::[]}(87).call();
- self::use(super.{self::A::[]}(87).call());
+ super.{self::A::h}{dynamic}.call();
+ self::use(super.{self::A::h}{dynamic}.call());
+ super.{self::A::i}{dynamic}.call();
+ self::use(super.{self::A::i}{dynamic}.call());
+ super.{self::A::[]}(87){dynamic}.call();
+ self::use(super.{self::A::[]}(87){dynamic}.call());
super.{self::A::m}();
self::use(let final Never* #t33 = invalid-expression "pkg/front_end/testcases/rasta/super.dart:146:15: Error: This expression has type 'void' and can't be used.
use(super.m());
@@ -580,50 +580,50 @@
self::use(super.m = 42);
super.{self::A::n} = 42;
self::use(super.{self::A::n} = 42);
- super.{self::A::a}.{core::Object::==}(null) ?{dynamic} super.{self::A::a} = 42 : null;
- self::use(let final dynamic #t41 = super.{self::A::a} in #t41.{core::Object::==}(null) ?{dynamic} super.{self::A::a} = 42 : #t41);
- super.{self::B::b}.{core::Object::==}(null) ?{dynamic} super.{self::A::b} = 42 : null;
- self::use(let final dynamic #t42 = super.{self::B::b} in #t42.{core::Object::==}(null) ?{dynamic} super.{self::A::b} = 42 : #t42);
- super.{self::A::c}.{core::Object::==}(null) ?{dynamic} super.{self::B::c} = 42 : null;
- self::use(let final dynamic #t43 = super.{self::A::c} in #t43.{core::Object::==}(null) ?{dynamic} super.{self::B::c} = 42 : #t43);
- super.{self::B::d}.{core::Object::==}(null) ?{dynamic} super.{self::A::d} = 42 : null;
- self::use(let final dynamic #t44 = super.{self::B::d} in #t44.{core::Object::==}(null) ?{dynamic} super.{self::A::d} = 42 : #t44);
- super.{self::A::e}.{core::Object::==}(null) ?{dynamic} super.e = 42 : null;
- self::use(let final dynamic #t45 = super.{self::A::e} in #t45.{core::Object::==}(null) ?{dynamic} super.e = 42 : #t45);
- super.{self::A::f}.{core::Object::==}(null) ?{dynamic} super.f = 42 : null;
- self::use(let final dynamic #t46 = super.{self::A::f} in #t46.{core::Object::==}(null) ?{dynamic} super.f = 42 : #t46);
- super.g.{core::Object::==}(null) ?{dynamic} super.{self::A::g} = 42 : null;
- self::use(let final dynamic #t47 = super.g in #t47.{core::Object::==}(null) ?{dynamic} super.{self::A::g} = 42 : #t47);
- super.{self::A::h}.{core::Object::==}(null) ?{dynamic} super.{self::A::h} = 42 : null;
- self::use(let final dynamic #t48 = super.{self::A::h} in #t48.{core::Object::==}(null) ?{dynamic} super.{self::A::h} = 42 : #t48);
- super.{self::A::i}.{core::Object::==}(null) ?{dynamic} super.{self::B::i} = 42 : null;
- self::use(let final dynamic #t49 = super.{self::A::i} in #t49.{core::Object::==}(null) ?{dynamic} super.{self::B::i} = 42 : #t49);
- let final core::int* #t50 = 87 in super.{self::A::[]}(#t50).{core::Object::==}(null) ?{dynamic} super.{self::A::[]=}(#t50, 42) : null;
- self::use(let final core::int* #t51 = 87 in let final dynamic #t52 = super.{self::A::[]}(#t51) in #t52.{core::Object::==}(null) ?{dynamic} let final core::int* #t53 = 42 in let final void #t54 = super.{self::A::[]=}(#t51, #t53) in #t53 : #t52);
- super.{self::A::m}.{core::Object::==}(null) ?{core::Object*} super.m = 42 : null;
- self::use(let final () →* void #t55 = super.{self::A::m} in #t55.{core::Object::==}(null) ?{core::Object*} super.m = 42 : #t55);
- super.{self::A::n}.{core::Object::==}(null) ?{core::Object*} super.{self::A::n} = 42 : null;
- self::use(let final () →* void #t56 = super.{self::A::n} in #t56.{core::Object::==}(null) ?{core::Object*} super.{self::A::n} = 42 : #t56);
- super.{self::A::a} = super.{self::A::a}.+(42);
- self::use(super.{self::A::a} = super.{self::A::a}.+(42));
- super.{self::A::b} = super.{self::B::b}.+(42);
- self::use(super.{self::A::b} = super.{self::B::b}.+(42));
- super.{self::B::c} = super.{self::A::c}.+(42);
- self::use(super.{self::B::c} = super.{self::A::c}.+(42));
- super.{self::A::d} = super.{self::B::d}.+(42);
- self::use(super.{self::A::d} = super.{self::B::d}.+(42));
- super.e = super.{self::A::e}.+(42);
- self::use(super.e = super.{self::A::e}.+(42));
- super.f = super.{self::A::f}.+(42);
- self::use(super.f = super.{self::A::f}.+(42));
- super.{self::A::g} = super.g.+(42);
- self::use(super.{self::A::g} = super.g.+(42));
- super.{self::A::h} = super.{self::A::h}.+(42);
- self::use(super.{self::A::h} = super.{self::A::h}.+(42));
- super.{self::B::i} = super.{self::A::i}.+(42);
- self::use(super.{self::B::i} = super.{self::A::i}.+(42));
- let final core::int* #t57 = 87 in super.{self::A::[]=}(#t57, super.{self::A::[]}(#t57).+(42));
- self::use(let final core::int* #t58 = 87 in let final dynamic #t59 = super.{self::A::[]}(#t58).+(42) in let final void #t60 = super.{self::A::[]=}(#t58, #t59) in #t59);
+ super.{self::A::a} == null ?{dynamic} super.{self::A::a} = 42 : null;
+ self::use(let final dynamic #t41 = super.{self::A::a} in #t41 == null ?{dynamic} super.{self::A::a} = 42 : #t41);
+ super.{self::B::b} == null ?{dynamic} super.{self::A::b} = 42 : null;
+ self::use(let final dynamic #t42 = super.{self::B::b} in #t42 == null ?{dynamic} super.{self::A::b} = 42 : #t42);
+ super.{self::A::c} == null ?{dynamic} super.{self::B::c} = 42 : null;
+ self::use(let final dynamic #t43 = super.{self::A::c} in #t43 == null ?{dynamic} super.{self::B::c} = 42 : #t43);
+ super.{self::B::d} == null ?{dynamic} super.{self::A::d} = 42 : null;
+ self::use(let final dynamic #t44 = super.{self::B::d} in #t44 == null ?{dynamic} super.{self::A::d} = 42 : #t44);
+ super.{self::A::e} == null ?{dynamic} super.e = 42 : null;
+ self::use(let final dynamic #t45 = super.{self::A::e} in #t45 == null ?{dynamic} super.e = 42 : #t45);
+ super.{self::A::f} == null ?{dynamic} super.f = 42 : null;
+ self::use(let final dynamic #t46 = super.{self::A::f} in #t46 == null ?{dynamic} super.f = 42 : #t46);
+ super.g == null ?{dynamic} super.{self::A::g} = 42 : null;
+ self::use(let final dynamic #t47 = super.g in #t47 == null ?{dynamic} super.{self::A::g} = 42 : #t47);
+ super.{self::A::h} == null ?{dynamic} super.{self::A::h} = 42 : null;
+ self::use(let final dynamic #t48 = super.{self::A::h} in #t48 == null ?{dynamic} super.{self::A::h} = 42 : #t48);
+ super.{self::A::i} == null ?{dynamic} super.{self::B::i} = 42 : null;
+ self::use(let final dynamic #t49 = super.{self::A::i} in #t49 == null ?{dynamic} super.{self::B::i} = 42 : #t49);
+ let final core::int* #t50 = 87 in super.{self::A::[]}(#t50) == null ?{dynamic} super.{self::A::[]=}(#t50, 42) : null;
+ self::use(let final core::int* #t51 = 87 in let final dynamic #t52 = super.{self::A::[]}(#t51) in #t52 == null ?{dynamic} let final core::int* #t53 = 42 in let final void #t54 = super.{self::A::[]=}(#t51, #t53) in #t53 : #t52);
+ super.{self::A::m} == null ?{core::Object*} super.m = 42 : null;
+ self::use(let final () →* void #t55 = super.{self::A::m} in #t55 == null ?{core::Object*} super.m = 42 : #t55);
+ super.{self::A::n} == null ?{core::Object*} super.{self::A::n} = 42 : null;
+ self::use(let final () →* void #t56 = super.{self::A::n} in #t56 == null ?{core::Object*} super.{self::A::n} = 42 : #t56);
+ super.{self::A::a} = super.{self::A::a}{dynamic}.+(42);
+ self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.+(42));
+ super.{self::A::b} = super.{self::B::b}{dynamic}.+(42);
+ self::use(super.{self::A::b} = super.{self::B::b}{dynamic}.+(42));
+ super.{self::B::c} = super.{self::A::c}{dynamic}.+(42);
+ self::use(super.{self::B::c} = super.{self::A::c}{dynamic}.+(42));
+ super.{self::A::d} = super.{self::B::d}{dynamic}.+(42);
+ self::use(super.{self::A::d} = super.{self::B::d}{dynamic}.+(42));
+ super.e = super.{self::A::e}{dynamic}.+(42);
+ self::use(super.e = super.{self::A::e}{dynamic}.+(42));
+ super.f = super.{self::A::f}{dynamic}.+(42);
+ self::use(super.f = super.{self::A::f}{dynamic}.+(42));
+ super.{self::A::g} = super.g{dynamic}.+(42);
+ self::use(super.{self::A::g} = super.g{dynamic}.+(42));
+ super.{self::A::h} = super.{self::A::h}{dynamic}.+(42);
+ self::use(super.{self::A::h} = super.{self::A::h}{dynamic}.+(42));
+ super.{self::B::i} = super.{self::A::i}{dynamic}.+(42);
+ self::use(super.{self::B::i} = super.{self::A::i}{dynamic}.+(42));
+ let final core::int* #t57 = 87 in super.{self::A::[]=}(#t57, super.{self::A::[]}(#t57){dynamic}.+(42));
+ self::use(let final core::int* #t58 = 87 in let final dynamic #t59 = super.{self::A::[]}(#t58){dynamic}.+(42) in let final void #t60 = super.{self::A::[]=}(#t58, #t59) in #t59);
super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:222:13: Error: The operator '+' isn't defined for the class 'void Function()'.
Try correcting the operator to an existing operator, or defining a '+' operator.
super.m += 42;
@@ -640,26 +640,26 @@
Try correcting the operator to an existing operator, or defining a '+' operator.
use(super.n += 42);
^");
- super.{self::A::a} = super.{self::A::a}.-(42);
- self::use(super.{self::A::a} = super.{self::A::a}.-(42));
- super.{self::A::b} = super.{self::B::b}.-(42);
- self::use(super.{self::A::b} = super.{self::B::b}.-(42));
- super.{self::B::c} = super.{self::A::c}.-(42);
- self::use(super.{self::B::c} = super.{self::A::c}.-(42));
- super.{self::A::d} = super.{self::B::d}.-(42);
- self::use(super.{self::A::d} = super.{self::B::d}.-(42));
- super.e = super.{self::A::e}.-(42);
- self::use(super.e = super.{self::A::e}.-(42));
- super.f = super.{self::A::f}.-(42);
- self::use(super.f = super.{self::A::f}.-(42));
- super.{self::A::g} = super.g.-(42);
- self::use(super.{self::A::g} = super.g.-(42));
- super.{self::A::h} = super.{self::A::h}.-(42);
- self::use(super.{self::A::h} = super.{self::A::h}.-(42));
- super.{self::B::i} = super.{self::A::i}.-(42);
- self::use(super.{self::B::i} = super.{self::A::i}.-(42));
- let final core::int* #t61 = 87 in super.{self::A::[]=}(#t61, super.{self::A::[]}(#t61).-(42));
- self::use(let final core::int* #t62 = 87 in let final dynamic #t63 = super.{self::A::[]}(#t62).-(42) in let final void #t64 = super.{self::A::[]=}(#t62, #t63) in #t63);
+ super.{self::A::a} = super.{self::A::a}{dynamic}.-(42);
+ self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.-(42));
+ super.{self::A::b} = super.{self::B::b}{dynamic}.-(42);
+ self::use(super.{self::A::b} = super.{self::B::b}{dynamic}.-(42));
+ super.{self::B::c} = super.{self::A::c}{dynamic}.-(42);
+ self::use(super.{self::B::c} = super.{self::A::c}{dynamic}.-(42));
+ super.{self::A::d} = super.{self::B::d}{dynamic}.-(42);
+ self::use(super.{self::A::d} = super.{self::B::d}{dynamic}.-(42));
+ super.e = super.{self::A::e}{dynamic}.-(42);
+ self::use(super.e = super.{self::A::e}{dynamic}.-(42));
+ super.f = super.{self::A::f}{dynamic}.-(42);
+ self::use(super.f = super.{self::A::f}{dynamic}.-(42));
+ super.{self::A::g} = super.g{dynamic}.-(42);
+ self::use(super.{self::A::g} = super.g{dynamic}.-(42));
+ super.{self::A::h} = super.{self::A::h}{dynamic}.-(42);
+ self::use(super.{self::A::h} = super.{self::A::h}{dynamic}.-(42));
+ super.{self::B::i} = super.{self::A::i}{dynamic}.-(42);
+ self::use(super.{self::B::i} = super.{self::A::i}{dynamic}.-(42));
+ let final core::int* #t61 = 87 in super.{self::A::[]=}(#t61, super.{self::A::[]}(#t61){dynamic}.-(42));
+ self::use(let final core::int* #t62 = 87 in let final dynamic #t63 = super.{self::A::[]}(#t62){dynamic}.-(42) in let final void #t64 = super.{self::A::[]=}(#t62, #t63) in #t63);
super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:247:13: Error: The operator '-' isn't defined for the class 'void Function()'.
Try correcting the operator to an existing operator, or defining a '-' operator.
super.m -= 42;
@@ -679,9 +679,9 @@
}
}
static method use(dynamic x) → dynamic {
- if(x.{core::Object::==}(new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}))
+ if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
throw "Shouldn't happen";
}
static method main() → dynamic {
- new self::C::•().{self::C::test}();
+ new self::C::•().{self::C::test}(){() →* dynamic};
}
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.weak.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.expect
index e19cafa..0c41919 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.expect
@@ -167,8 +167,8 @@
return super.{mix::Mixin::publicMethod}();
}
static method main() → dynamic {
- core::print(new self::C::•<dynamic>().{self::_C&Super&Mixin::foo}());
- core::print(new self::C2::•<dynamic>().{self::C2::foo}());
+ core::print(new self::C::•<dynamic>().{self::_C&Super&Mixin::foo}(){() →* dynamic});
+ core::print(new self::C2::•<dynamic>().{self::C2::foo}(){() →* dynamic});
}
library test.mixin_library;
@@ -191,7 +191,7 @@
: super core::Object::•()
;
method foo() → dynamic
- return super.foo().+(mix::f());
+ return super.foo(){dynamic}.+(mix::f());
method g(generic-covariant-impl mix::Mixin::T* a) → mix::Mixin::T*
return null;
method h() → dynamic
@@ -201,7 +201,7 @@
method _privateMethod() → dynamic
return 49;
method publicMethod() → dynamic
- return this.{mix::Mixin::_privateMethod}();
+ return this.{mix::Mixin::_privateMethod}(){() →* 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
@@ -220,4 +220,4 @@
static method _private() → dynamic
return 117;
static method foo(dynamic m) → dynamic
- return m._privateMethod();
+ return m{dynamic}._privateMethod();
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart.weak.expect b/pkg/front_end/testcases/rasta/super_operator.dart.weak.expect
index 33b1414..8b04b02 100644
--- a/pkg/front_end/testcases/rasta/super_operator.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/super_operator.dart.weak.expect
@@ -38,7 +38,7 @@
operator [](dynamic i) → dynamic
return super.{self::A::[]}(i);
operator []=(dynamic i, dynamic val) → void
- return let final dynamic #t1 = let final dynamic #t2 = i in let final dynamic #t3 = i = #t2.+(1) in #t2 in let final dynamic #t4 = super.{self::A::[]}(#t1).+(val) in let final void #t5 = super.{self::A::[]=}(#t1, #t4) in #t4;
+ return let final dynamic #t1 = let final dynamic #t2 = i in let final dynamic #t3 = i = #t2{dynamic}.+(1) in #t2 in let final dynamic #t4 = super.{self::A::[]}(#t1){dynamic}.+(val) in let final void #t5 = super.{self::A::[]=}(#t1, #t4) in #t4;
}
class Autobianchi extends core::Object {
synthetic constructor •() → self::Autobianchi*
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect
index 7e456ad..37dfbd7 100644
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method m(dynamic x) → dynamic
- return this.{self::C::call}(x);
+ return this.{self::C::call}(x){(dynamic) →* dynamic};
method call(dynamic x) → dynamic
return 42;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -22,5 +22,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::C::•().{self::C::m}(42));
+ core::print(new self::C::•().{self::C::m}(42){(dynamic) →* dynamic});
}
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect
index 7e456ad..37dfbd7 100644
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
method m(dynamic x) → dynamic
- return this.{self::C::call}(x);
+ return this.{self::C::call}(x){(dynamic) →* dynamic};
method call(dynamic x) → dynamic
return 42;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -22,5 +22,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::C::•().{self::C::m}(42));
+ core::print(new self::C::•().{self::C::m}(42){(dynamic) →* dynamic});
}
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.weak.expect b/pkg/front_end/testcases/rasta/type_literals.dart.weak.expect
index d9cda9f..4b8a87c 100644
--- a/pkg/front_end/testcases/rasta/type_literals.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/type_literals.dart.weak.expect
@@ -439,28 +439,28 @@
self::use(invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:72:11: Error: Can't assign to a type literal.
use(--Func);
^^^^");
- (#C1).{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:74:5: Error: Can't assign to a type literal.
+ (#C1) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:74:5: Error: Can't assign to a type literal.
C ??= 42;
^" : null;
- self::use(let final core::Type* #t1 = #C1 in #t1.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
+ self::use(let final core::Type* #t1 = #C1 in #t1 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
use(C ??= 42);
^" : #t1);
- (#C2).{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:76:5: Error: Can't assign to a type literal.
+ (#C2) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:76:5: Error: Can't assign to a type literal.
dynamic ??= 42;
^^^^^^^" : null;
- self::use(let final core::Type* #t2 = #C2 in #t2.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
+ self::use(let final core::Type* #t2 = #C2 in #t2 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
use(dynamic ??= 42);
^^^^^^^" : #t2);
- self::C::T*.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
+ self::C::T* == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
T ??= 42;
^" : null;
- self::use(let final core::Type* #t3 = self::C::T* in #t3.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
+ self::use(let final core::Type* #t3 = self::C::T* in #t3 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
use(T ??= 42);
^" : #t3);
- (#C3).{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:80:5: Error: Can't assign to a type literal.
+ (#C3) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:80:5: Error: Can't assign to a type literal.
Func ??= 42;
^^^^" : null;
- self::use(let final core::Type* #t4 = #C3 in #t4.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
+ self::use(let final core::Type* #t4 = #C3 in #t4 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
use(Func ??= 42);
^^^^" : #t4);
invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:83:5: Error: Can't assign to a type literal.
@@ -524,11 +524,11 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method use(dynamic x) → dynamic {
- if(x.{core::Object::==}(new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}))
+ if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
throw "Shouldn't happen";
}
static method main() → dynamic {
- new self::C::•<dynamic>().{self::C::test}();
+ new self::C::•<dynamic>().{self::C::test}(){() →* dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect
index dfb5a65..18048bd 100644
--- a/pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect
@@ -439,28 +439,28 @@
self::use(invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:72:11: Error: Can't assign to a type literal.
use(--Func);
^^^^");
- (#C1).{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:74:5: Error: Can't assign to a type literal.
+ (#C1) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:74:5: Error: Can't assign to a type literal.
C ??= 42;
^" : null;
- self::use(let final core::Type* #t1 = #C1 in #t1.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
+ self::use(let final core::Type* #t1 = #C1 in #t1 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:75:9: Error: Can't assign to a type literal.
use(C ??= 42);
^" : #t1);
- (#C2).{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:76:5: Error: Can't assign to a type literal.
+ (#C2) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:76:5: Error: Can't assign to a type literal.
dynamic ??= 42;
^^^^^^^" : null;
- self::use(let final core::Type* #t2 = #C2 in #t2.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
+ self::use(let final core::Type* #t2 = #C2 in #t2 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:77:9: Error: Can't assign to a type literal.
use(dynamic ??= 42);
^^^^^^^" : #t2);
- self::C::T*.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
+ self::C::T* == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:78:5: Error: Can't assign to a type literal.
T ??= 42;
^" : null;
- self::use(let final core::Type* #t3 = self::C::T* in #t3.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
+ self::use(let final core::Type* #t3 = self::C::T* in #t3 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:79:9: Error: Can't assign to a type literal.
use(T ??= 42);
^" : #t3);
- (#C3).{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:80:5: Error: Can't assign to a type literal.
+ (#C3) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:80:5: Error: Can't assign to a type literal.
Func ??= 42;
^^^^" : null;
- self::use(let final core::Type* #t4 = #C3 in #t4.{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
+ self::use(let final core::Type* #t4 = #C3 in #t4 == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:81:9: Error: Can't assign to a type literal.
use(Func ??= 42);
^^^^" : #t4);
invalid-expression "pkg/front_end/testcases/rasta/type_literals.dart:83:5: Error: Can't assign to a type literal.
@@ -524,11 +524,11 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method use(dynamic x) → dynamic {
- if(x.{core::Object::==}(new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}))
+ if(x =={core::Object::==}{(core::Object*) →* core::bool*} new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int*})
throw "Shouldn't happen";
}
static method main() → dynamic {
- new self::C::•<dynamic>().{self::C::test}();
+ new self::C::•<dynamic>().{self::C::test}(){() →* dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.weak.expect b/pkg/front_end/testcases/rasta/typedef.dart.weak.expect
index e46b1bf..6892897 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart.weak.expect
+++ b/pkg/front_end/testcases/rasta/typedef.dart.weak.expect
@@ -23,7 +23,7 @@
invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:9:3: Error: Can't assign to a type literal.
Foo = null;
^^^";
- (#C1).{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:10:3: Error: Can't assign to a type literal.
+ (#C1) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:10:3: Error: Can't assign to a type literal.
Foo ??= null;
^^^" : null;
invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:11:3: Error: Method not found: 'Foo'.
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect
index 611a358..85363aa 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect
@@ -23,7 +23,7 @@
invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:9:3: Error: Can't assign to a type literal.
Foo = null;
^^^";
- (#C1).{core::Type::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:10:3: Error: Can't assign to a type literal.
+ (#C1) == null ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:10:3: Error: Can't assign to a type literal.
Foo ??= null;
^^^" : null;
invalid-expression "pkg/front_end/testcases/rasta/typedef.dart:11:3: Error: Method not found: 'Foo'.
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect
index 457d764..d9c6c13 100644
--- a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect
@@ -60,13 +60,13 @@
static field core::bool* z = true;
static method x() → dynamic {}
static method foo() → void {
- if(!invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:8:7: Error: Can't use 'x' because it is declared more than once.
+ if(!(invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:8:7: Error: Can't use 'x' because it is declared more than once.
if (x != null) {}
- ^".{core::Object::==}(null)) {
+ ^" == null)) {
}
- if(!null.{core::Object::==}(invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:9:15: Error: Can't use 'x' because it is declared more than once.
+ if(!(invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:9:15: Error: Can't use 'x' because it is declared more than once.
if (null != x) {}
- ^")) {
+ ^" == null)) {
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect
index 457d764..d9c6c13 100644
--- a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect
@@ -60,13 +60,13 @@
static field core::bool* z = true;
static method x() → dynamic {}
static method foo() → void {
- if(!invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:8:7: Error: Can't use 'x' because it is declared more than once.
+ if(!(invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:8:7: Error: Can't use 'x' because it is declared more than once.
if (x != null) {}
- ^".{core::Object::==}(null)) {
+ ^" == null)) {
}
- if(!null.{core::Object::==}(invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:9:15: Error: Can't use 'x' because it is declared more than once.
+ if(!(invalid-expression "pkg/front_end/testcases/regress/ambiguous_builder_01.dart:9:15: Error: Can't use 'x' because it is declared more than once.
if (null != x) {}
- ^")) {
+ ^" == null)) {
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29979.dart.weak.expect
index aee80bb..66cb15d 100644
--- a/pkg/front_end/testcases/regress/issue_29979.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29979.dart.weak.expect
@@ -9,5 +9,5 @@
import self as self;
static method main() → dynamic {
- (let final () →* Null f = () → Null {} in f).call();
+ (let final () →* Null f = () → Null {} in f)(){() →* Null};
}
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect
index aee80bb..66cb15d 100644
--- a/pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect
@@ -9,5 +9,5 @@
import self as self;
static method main() → dynamic {
- (let final () →* Null f = () → Null {} in f).call();
+ (let final () →* Null f = () → Null {} in f)(){() →* Null};
}
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29982.dart.weak.expect
index 89f62f2..32136e8 100644
--- a/pkg/front_end/testcases/regress/issue_29982.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29982.dart.weak.expect
@@ -44,5 +44,5 @@
core::Map<core::String*, core::String*>* eh = <core::String*, core::String*>{"\u0233h": "\u0233h"};
core::print("${eh.{core::Map::[]}(invalid-expression "pkg/front_end/testcases/regress/issue_29982.dart:7:15: Error: Getter not found: '\u0233h'.
print('\${eh[\u0233h']}');
- ^^")}");
+ ^^"){(core::Object*) →* core::String*}}");
}
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect
index 89f62f2..32136e8 100644
--- a/pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect
@@ -44,5 +44,5 @@
core::Map<core::String*, core::String*>* eh = <core::String*, core::String*>{"\u0233h": "\u0233h"};
core::print("${eh.{core::Map::[]}(invalid-expression "pkg/front_end/testcases/regress/issue_29982.dart:7:15: Error: Getter not found: '\u0233h'.
print('\${eh[\u0233h']}');
- ^^")}");
+ ^^"){(core::Object*) →* core::String*}}");
}
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29983.dart.weak.expect
index 0c6a13d..37906e0 100644
--- a/pkg/front_end/testcases/regress/issue_29983.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_29983.dart.weak.expect
@@ -31,6 +31,6 @@
g() sync* => dummy;
^";
static method h() → dynamic sync* {
- (() → core::String* => "return").call();
+ (() → core::String* => "return")(){() →* core::String*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect
index aeb1e86..fedb52d 100644
--- a/pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect
@@ -57,7 +57,7 @@
dynamic :await_ctx_var;
function :sync_op(core::_SyncIterator<dynamic>* :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
{
- (() → core::String* => "return").call();
+ (() → core::String* => "return")(){() →* core::String*};
}
return false;
}
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.weak.expect b/pkg/front_end/testcases/regress/issue_30838.dart.weak.expect
index e570118..a71fae5 100644
--- a/pkg/front_end/testcases/regress/issue_30838.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_30838.dart.weak.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
method test() → void {
- let final core::String* #t1 = "hello" in this.{self::A::f}.call<core::String*>(#t1);
+ let final core::String* #t1 = "hello" in this.{self::A::f}{<T extends core::Object* = dynamic>(T*) →* core::int*}<core::String*>(#t1){(core::String*) →* 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
@@ -27,7 +27,7 @@
static method bar() → <T extends core::Object* = dynamic>(T*) →* core::int*
return #C1;
static method test1() → void {
- self::bar().call<core::String*>("hello");
+ self::bar()<core::String*>("hello"){(core::String*) →* core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect
index 83eb83e..acb1618 100644
--- a/pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
method test() → void {
- let final core::String* #t1 = "hello" in this.{self::A::f}.call<core::String*>(#t1);
+ let final core::String* #t1 = "hello" in this.{self::A::f}{<T extends core::Object* = dynamic>(T*) →* core::int*}<core::String*>(#t1){(core::String*) →* 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
@@ -27,7 +27,7 @@
static method bar() → <T extends core::Object* = dynamic>(T*) →* core::int*
return #C1;
static method test1() → void {
- self::bar().call<core::String*>("hello");
+ self::bar()<core::String*>("hello"){(core::String*) →* core::int*};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect
index 9fe9d75..3412492 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect
@@ -11,9 +11,8 @@
// ^^^^^^^^^^^^
//
import self as self;
-import "dart:core" as core;
static method bad() → dynamic {
- return let final dynamic #t1 = null in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.[](1);
+ return let final dynamic #t1 = null in #t1 == null ?{dynamic} null : #t1{dynamic}.[](1);
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31184.dart.weak.expect
index 059fa66..962f180 100644
--- a/pkg/front_end/testcases/regress/issue_31184.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31184.dart.weak.expect
@@ -26,7 +26,7 @@
for (int i = 0, i > 10; i++) {}
^" as{TypeError,ForDynamic} core::int*; invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: This couldn't be parsed.
for (int i = 0, i > 10; i++) {}
- ^".>(10) as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ ^"{dynamic}.>(10) as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect
index 5737a9e..05cce7d 100644
--- a/pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect
@@ -26,7 +26,7 @@
for (int i = 0, i > 10; i++) {}
^"; invalid-expression "pkg/front_end/testcases/regress/issue_31184.dart:6:21: Error: This couldn't be parsed.
for (int i = 0, i > 10; i++) {}
- ^".>(10) as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
+ ^"{dynamic}.>(10) as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31185.dart.weak.expect
index b100603..7170828 100644
--- a/pkg/front_end/testcases/regress/issue_31185.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31185.dart.weak.expect
@@ -19,7 +19,7 @@
static field core::int* i = 5;
static method test1() → core::int* {
- return let final core::int* #t1 = self::i in let final core::int* #t2 = self::i = #t1.{core::num::+}(1) in #t1;
+ return let final core::int* #t1 = self::i in let final core::int* #t2 = self::i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1;
self::i;
}
static method test2() → core::int* {
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect
index a236821..ec82b98 100644
--- a/pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect
@@ -19,7 +19,7 @@
static field core::int* i = 5;
static method test1() → core::int* {
- return let final core::int* #t1 = self::i in let final core::int* #t2 = self::i = #t1.{core::num::+}(1) in #t1;
+ return let final core::int* #t1 = self::i in let final core::int* #t2 = self::i = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1;
self::i;
}
static method test2() → core::int* {
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31299.dart.weak.expect
index b463377..2d8b859 100644
--- a/pkg/front_end/testcases/regress/issue_31299.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31299.dart.weak.expect
@@ -26,7 +26,7 @@
: self::A::m = 2, super core::Object::•()
;
method foo(core::int* a, core::int* b) → core::int*
- return a.{core::num::+}(b.{core::num::*}(this.{self::A::m}));
+ return a.{core::num::+}(b.{core::num::*}(this.{self::A::m}{core::int*}){(core::num*) →* core::int*}){(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
@@ -41,8 +41,8 @@
static method test() → dynamic {
let final Never* #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_31299.dart:15:14: Error: Too few positional arguments: 2 required, 0 given.
new A().foo();
- ^" in new self::A::•().{self::A::foo}();
- new self::A::•().{self::A::foo}(1, 2);
+ ^" in new self::A::•().{self::A::foo}{<inapplicable>}.(){() →* invalid-type};
+ new self::A::•().{self::A::foo}(1, 2){(core::int*, core::int*) →* core::int*};
new self::A::foo();
invalid-expression "pkg/front_end/testcases/regress/issue_31299.dart:18:12: Error: Too many positional arguments: 0 allowed, but 2 found.
Try removing the extra positional arguments.
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31766.dart.weak.expect
index 9fcb7e6..ec4557f 100644
--- a/pkg/front_end/testcases/regress/issue_31766.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31766.dart.weak.expect
@@ -21,10 +21,10 @@
}
static method main() → dynamic {
function bar<T extends self::A*>(T* t) → void {
- core::print("t.foo()=${t.{self::A::foo}()}");
+ core::print("t.foo()=${t.{self::A::foo}(){() →* dynamic}}");
}
- bar.call<self::A*>(new self::A::•());
+ bar<self::A*>(new self::A::•()){(self::A*) →* void};
(<S extends self::A*>(S* s) → Null {
- core::print("s.foo()=${s.{self::A::foo}()}");
- }).call<self::A*>(new self::A::•());
+ core::print("s.foo()=${s.{self::A::foo}(){() →* dynamic}}");
+ })<self::A*>(new self::A::•()){(self::A*) →* Null};
}
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31766.dart.weak.transformed.expect
index 9fcb7e6..ec4557f 100644
--- a/pkg/front_end/testcases/regress/issue_31766.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31766.dart.weak.transformed.expect
@@ -21,10 +21,10 @@
}
static method main() → dynamic {
function bar<T extends self::A*>(T* t) → void {
- core::print("t.foo()=${t.{self::A::foo}()}");
+ core::print("t.foo()=${t.{self::A::foo}(){() →* dynamic}}");
}
- bar.call<self::A*>(new self::A::•());
+ bar<self::A*>(new self::A::•()){(self::A*) →* void};
(<S extends self::A*>(S* s) → Null {
- core::print("s.foo()=${s.{self::A::foo}()}");
- }).call<self::A*>(new self::A::•());
+ core::print("s.foo()=${s.{self::A::foo}(){() →* dynamic}}");
+ })<self::A*>(new self::A::•()){(self::A*) →* Null};
}
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31846.dart.weak.expect
index 98bf326..0966591 100644
--- a/pkg/front_end/testcases/regress/issue_31846.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_31846.dart.weak.expect
@@ -4,12 +4,12 @@
static method main() → dynamic {
core::print((#C1) is () →* dynamic);
- core::print((<T extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends core::num*>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends core::Comparable<T*>* = core::Comparable<dynamic>*>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends core::Comparable<S*>* = core::Comparable<dynamic>*, S extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends (T*) →* dynamic = (Null) →* dynamic>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends core::List<core::List<T*>*>* = core::List<core::List<dynamic>*>*>(T* x) → T* => x).{core::Object::runtimeType});
+ core::print((<T extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends core::num*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends core::Comparable<T*>* = core::Comparable<dynamic>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends core::Comparable<S*>* = core::Comparable<dynamic>*, S extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends (T*) →* dynamic = (Null) →* dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends core::List<core::List<T*>*>* = core::List<core::List<dynamic>*>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
}
constants {
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect
index 4202e10..1a1cf76 100644
--- a/pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect
@@ -4,12 +4,12 @@
static method main() → dynamic {
core::print((#C1) is () →* dynamic);
- core::print((<T extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends core::num*>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends core::Comparable<T*>* = core::Comparable<dynamic>*>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends core::Comparable<S*>* = core::Comparable<dynamic>*, S extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends (T*) →* dynamic = (Null) →* dynamic>(T* x) → T* => x).{core::Object::runtimeType});
- core::print((<T extends core::List<core::List<T*>*>* = core::List<core::List<dynamic>*>*>(T* x) → T* => x).{core::Object::runtimeType});
+ core::print((<T extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends core::num*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends core::Comparable<T*>* = core::Comparable<dynamic>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends core::Comparable<S*>* = core::Comparable<dynamic>*, S extends core::Object* = dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends (T*) →* dynamic = (Null) →* dynamic>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
+ core::print((<T extends core::List<core::List<T*>*>* = core::List<core::List<dynamic>*>*>(T* x) → T* => x).{core::Object::runtimeType}{core::Type*});
}
constants {
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.weak.expect b/pkg/front_end/testcases/regress/issue_32182.dart.weak.expect
index 4714ed4..3b90e8d 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.weak.expect
@@ -49,5 +49,5 @@
;
}
static method main() → dynamic {
- new self::C::•().{self::_C&A&M::m}().+(1);
+ new self::C::•().{self::_C&A&M::m}(){() →* dynamic}{dynamic}.+(1);
}
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect
index 560ee52..afa52c8 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect
@@ -49,5 +49,5 @@
;
}
static method main() → dynamic {
- new self::C::•().{self::_C&A&M::m}().+(1);
+ new self::C::•().{self::_C&A&M::m}(){() →* dynamic}{dynamic}.+(1);
}
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.weak.expect b/pkg/front_end/testcases/regress/issue_32660.dart.weak.expect
index 3493cad..ec03c53 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.weak.expect
@@ -92,7 +92,7 @@
;
abstract method foo(core::int* x, {core::int* y = #C1}) → dynamic;
method noSuchMethod(core::Invocation* i) → dynamic {
- core::print(i.{core::Invocation::namedArguments});
+ core::print(i.{core::Invocation::namedArguments}{core::Map<core::Symbol*, dynamic>*});
return 42;
}
}
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect
index 3493cad..ec03c53 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect
@@ -92,7 +92,7 @@
;
abstract method foo(core::int* x, {core::int* y = #C1}) → dynamic;
method noSuchMethod(core::Invocation* i) → dynamic {
- core::print(i.{core::Invocation::namedArguments});
+ core::print(i.{core::Invocation::namedArguments}{core::Map<core::Symbol*, dynamic>*});
return 42;
}
}
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.weak.expect b/pkg/front_end/testcases/regress/issue_32972.dart.weak.expect
index 4d6f98a..36cb030 100644
--- a/pkg/front_end/testcases/regress/issue_32972.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_32972.dart.weak.expect
@@ -81,8 +81,8 @@
self::Foo* f = new self::Foo::•();
let final Never* #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:27:5: Error: Expected 1 type arguments.
f.bar<double, double>(42.42);
- ^" in f.{self::Foo::bar}<core::double*, core::double*>(42.42);
- f.{self::Foo::bar}<core::double*>(42.42);
+ ^" in f.{self::Foo::bar}{<inapplicable>}.<core::double*, core::double*>(42.42){(invalid-type) →* invalid-type};
+ f.{self::Foo::bar}<core::double*>(42.42){(core::double*) →* dynamic};
invalid-expression "pkg/front_end/testcases/regress/issue_32972.dart:29:7: Error: Expected 2 type arguments.
new Bar<String>();
^";
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.weak.expect b/pkg/front_end/testcases/regress/issue_33672.dart.weak.expect
index e759d28..7caa5cb 100644
--- a/pkg/front_end/testcases/regress/issue_33672.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_33672.dart.weak.expect
@@ -5,14 +5,14 @@
static method main() → dynamic {
core::int* count = 0;
#L1:
- for (core::int* a = 0; a.{core::num::<}(10); a = a.{core::num::+}(1)) {
- for (core::int* b = 0; b.{core::num::<}(10); b = b.{core::num::+}(1)) {
- count = count.{core::num::+}(1);
- if(count.{core::num::==}(27))
+ for (core::int* a = 0; a.{core::num::<}(10){(core::num*) →* core::bool*}; a = a.{core::num::+}(1){(core::num*) →* core::int*}) {
+ for (core::int* b = 0; b.{core::num::<}(10){(core::num*) →* core::bool*}; b = b.{core::num::+}(1){(core::num*) →* core::int*}) {
+ count = count.{core::num::+}(1){(core::num*) →* core::int*};
+ if(count =={core::num::==}{(core::Object*) →* core::bool*} 27)
break #L1;
}
- count = count.{core::num::+}(1);
+ count = count.{core::num::+}(1){(core::num*) →* core::int*};
}
- if(!count.{core::num::==}(27))
+ if(!(count =={core::num::==}{(core::Object*) →* core::bool*} 27))
throw "failed: ${count}";
}
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect
index e759d28..7caa5cb 100644
--- a/pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect
@@ -5,14 +5,14 @@
static method main() → dynamic {
core::int* count = 0;
#L1:
- for (core::int* a = 0; a.{core::num::<}(10); a = a.{core::num::+}(1)) {
- for (core::int* b = 0; b.{core::num::<}(10); b = b.{core::num::+}(1)) {
- count = count.{core::num::+}(1);
- if(count.{core::num::==}(27))
+ for (core::int* a = 0; a.{core::num::<}(10){(core::num*) →* core::bool*}; a = a.{core::num::+}(1){(core::num*) →* core::int*}) {
+ for (core::int* b = 0; b.{core::num::<}(10){(core::num*) →* core::bool*}; b = b.{core::num::+}(1){(core::num*) →* core::int*}) {
+ count = count.{core::num::+}(1){(core::num*) →* core::int*};
+ if(count =={core::num::==}{(core::Object*) →* core::bool*} 27)
break #L1;
}
- count = count.{core::num::+}(1);
+ count = count.{core::num::+}(1){(core::num*) →* core::int*};
}
- if(!count.{core::num::==}(27))
+ if(!(count =={core::num::==}{(core::Object*) →* core::bool*} 27))
throw "failed: ${count}";
}
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34403.dart.weak.expect
index d4c306b..681977f 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34403.dart.weak.expect
@@ -120,29 +120,29 @@
}
static method main() → dynamic {
self::C<core::int*>* c1 = new self::C::bar<core::int*>();
- c1.{self::C::toString}();
+ c1.{self::C::toString}(){() →* core::String*};
self::C<core::int*>* c2 = new self::C::bar<core::int*>();
- c2.{self::C::toString}();
+ c2.{self::C::toString}(){() →* core::String*};
self::C<core::String*>* c3 = new self::C::bar<core::String*>();
- c3.{self::C::toString}();
+ c3.{self::C::toString}(){() →* core::String*};
self::C<core::String*>* c4 = new self::C::bar<core::String*>();
- c4.{self::C::toString}();
- (#C1).{self::D::toString}();
- (#C1).{self::D::toString}();
- (#C2).{self::D::toString}();
- (#C2).{self::D::toString}();
+ c4.{self::C::toString}(){() →* core::String*};
+ (#C1).{self::D::toString}(){() →* core::String*};
+ (#C1).{self::D::toString}(){() →* core::String*};
+ (#C2).{self::D::toString}(){() →* core::String*};
+ (#C2).{self::D::toString}(){() →* core::String*};
iss::E<core::int*>* e1 = new iss::E::bar<core::int*>();
- e1.{iss::E::toString}();
+ e1.{iss::E::toString}(){() →* core::String*};
iss::E<dynamic>* e2 = new iss::E::bar<dynamic>();
- e2.{iss::E::toString}();
+ e2.{iss::E::toString}(){() →* core::String*};
iss::E<core::String*>* e3 = new iss::E::bar<core::String*>();
- e3.{iss::E::toString}();
+ e3.{iss::E::toString}(){() →* core::String*};
iss::E<core::String*>* e4 = new iss::E::bar<core::String*>();
- e4.{iss::E::toString}();
- (#C3).{iss::F::toString}();
- (#C4).{iss::F::toString}();
- (#C5).{iss::F::toString}();
- (#C5).{iss::F::toString}();
+ e4.{iss::E::toString}(){() →* core::String*};
+ (#C3).{iss::F::toString}(){() →* core::String*};
+ (#C4).{iss::F::toString}(){() →* core::String*};
+ (#C5).{iss::F::toString}(){() →* core::String*};
+ (#C5).{iss::F::toString}(){() →* core::String*};
}
library;
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect
index d4c306b..681977f 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect
@@ -120,29 +120,29 @@
}
static method main() → dynamic {
self::C<core::int*>* c1 = new self::C::bar<core::int*>();
- c1.{self::C::toString}();
+ c1.{self::C::toString}(){() →* core::String*};
self::C<core::int*>* c2 = new self::C::bar<core::int*>();
- c2.{self::C::toString}();
+ c2.{self::C::toString}(){() →* core::String*};
self::C<core::String*>* c3 = new self::C::bar<core::String*>();
- c3.{self::C::toString}();
+ c3.{self::C::toString}(){() →* core::String*};
self::C<core::String*>* c4 = new self::C::bar<core::String*>();
- c4.{self::C::toString}();
- (#C1).{self::D::toString}();
- (#C1).{self::D::toString}();
- (#C2).{self::D::toString}();
- (#C2).{self::D::toString}();
+ c4.{self::C::toString}(){() →* core::String*};
+ (#C1).{self::D::toString}(){() →* core::String*};
+ (#C1).{self::D::toString}(){() →* core::String*};
+ (#C2).{self::D::toString}(){() →* core::String*};
+ (#C2).{self::D::toString}(){() →* core::String*};
iss::E<core::int*>* e1 = new iss::E::bar<core::int*>();
- e1.{iss::E::toString}();
+ e1.{iss::E::toString}(){() →* core::String*};
iss::E<dynamic>* e2 = new iss::E::bar<dynamic>();
- e2.{iss::E::toString}();
+ e2.{iss::E::toString}(){() →* core::String*};
iss::E<core::String*>* e3 = new iss::E::bar<core::String*>();
- e3.{iss::E::toString}();
+ e3.{iss::E::toString}(){() →* core::String*};
iss::E<core::String*>* e4 = new iss::E::bar<core::String*>();
- e4.{iss::E::toString}();
- (#C3).{iss::F::toString}();
- (#C4).{iss::F::toString}();
- (#C5).{iss::F::toString}();
- (#C5).{iss::F::toString}();
+ e4.{iss::E::toString}(){() →* core::String*};
+ (#C3).{iss::F::toString}(){() →* core::String*};
+ (#C4).{iss::F::toString}(){() →* core::String*};
+ (#C5).{iss::F::toString}(){() →* core::String*};
+ (#C5).{iss::F::toString}(){() →* core::String*};
}
library;
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34563.dart.weak.expect
index ab53dc8..5f2bf3e 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34563.dart.weak.expect
@@ -136,7 +136,7 @@
- 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
c2.m + c2.c;
- ^".+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:13: Error: The getter 'c' isn't defined for the class 'C2'.
+ ^"{dynamic}.+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:13: Error: The getter 'c' isn't defined for the class 'C2'.
- 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
c2.m + c2.c;
@@ -146,7 +146,7 @@
- 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
c3.m + c3.c;
- ^".+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:13: Error: The getter 'c' isn't defined for the class 'C3'.
+ ^"{dynamic}.+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:13: Error: The getter 'c' isn't defined for the class 'C3'.
- 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
c3.m + c3.c;
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34563.dart.weak.transformed.expect
index ab53dc8..5f2bf3e 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34563.dart.weak.transformed.expect
@@ -136,7 +136,7 @@
- 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
c2.m + c2.c;
- ^".+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:13: Error: The getter 'c' isn't defined for the class 'C2'.
+ ^"{dynamic}.+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:13: Error: The getter 'c' isn't defined for the class 'C2'.
- 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
c2.m + c2.c;
@@ -146,7 +146,7 @@
- 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
c3.m + c3.c;
- ^".+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:13: Error: The getter 'c' isn't defined for the class 'C3'.
+ ^"{dynamic}.+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:13: Error: The getter 'c' isn't defined for the class 'C3'.
- 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
c3.m + c3.c;
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34610.dart.weak.expect
index ebbd094..db6cda1 100644
--- a/pkg/front_end/testcases/regress/issue_34610.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34610.dart.weak.expect
@@ -94,14 +94,14 @@
}
static method main() → dynamic {
try {
- core::print(new self::A::named().{self::A::bar});
+ core::print(new self::A::named().{self::A::bar}{dynamic});
throw "expected exception";
}
on dynamic catch(final dynamic e) {
}
- core::print(new self::B::named().{self::B::bar});
+ core::print(new self::B::named().{self::B::bar}{dynamic});
try {
- core::print(new self::C::named().{self::C::bar});
+ core::print(new self::C::named().{self::C::bar}{dynamic});
throw "expected exception";
}
on dynamic catch(final dynamic e) {
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect
index ebbd094..db6cda1 100644
--- a/pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect
@@ -94,14 +94,14 @@
}
static method main() → dynamic {
try {
- core::print(new self::A::named().{self::A::bar});
+ core::print(new self::A::named().{self::A::bar}{dynamic});
throw "expected exception";
}
on dynamic catch(final dynamic e) {
}
- core::print(new self::B::named().{self::B::bar});
+ core::print(new self::B::named().{self::B::bar}{dynamic});
try {
- core::print(new self::C::named().{self::C::bar});
+ core::print(new self::C::named().{self::C::bar}{dynamic});
throw "expected exception";
}
on dynamic catch(final dynamic e) {
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.weak.expect b/pkg/front_end/testcases/regress/issue_34614.dart.weak.expect
index c556791..9092aae 100644
--- a/pkg/front_end/testcases/regress/issue_34614.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_34614.dart.weak.expect
@@ -36,5 +36,5 @@
}
static method main() → dynamic {
self::C* c = new self::C::•();
- c.{self::C::toString}();
+ c.{self::C::toString}(){() →* core::String*};
}
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34614.dart.weak.transformed.expect
index c556791..9092aae 100644
--- a/pkg/front_end/testcases/regress/issue_34614.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34614.dart.weak.transformed.expect
@@ -36,5 +36,5 @@
}
static method main() → dynamic {
self::C* c = new self::C::•();
- c.{self::C::toString}();
+ c.{self::C::toString}(){() →* core::String*};
}
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35177.dart.weak.expect
index 74f9a1f..ecd497c 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35177.dart.weak.expect
@@ -4,5 +4,5 @@
static method main() → dynamic {
() →* dynamic f;
- f.call().call<core::int*>();
+ f(){dynamic}.call<core::int*>();
}
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect
index 74f9a1f..ecd497c 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect
@@ -4,5 +4,5 @@
static method main() → dynamic {
() →* dynamic f;
- f.call().call<core::int*>();
+ f(){dynamic}.call<core::int*>();
}
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart.weak.expect b/pkg/front_end/testcases/regress/issue_35220.dart.weak.expect
index 2c6a495..3a8e95f 100644
--- a/pkg/front_end/testcases/regress/issue_35220.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_35220.dart.weak.expect
@@ -18,7 +18,7 @@
return let final Never* #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/regress/issue_35220.dart'.
A bad() { return true != 2; }
- ^" in !true.{core::Object::==}(2) as{TypeError} self::A*;
+ ^" in !(true =={core::Object::==}{(core::Object*) →* core::bool*} 2) as{TypeError} 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
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect
index 73c291c..fdaaf0b 100644
--- a/pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect
@@ -18,7 +18,7 @@
return let final Never* #t1 = invalid-expression "pkg/front_end/testcases/regress/issue_35220.dart:6:25: Error: A value of type 'bool' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/regress/issue_35220.dart'.
A bad() { return true != 2; }
- ^" in !true.{core::Object::==}(2) as{TypeError} self::A*;
+ ^" in !(true =={core::Object::==}{(core::Object*) →* core::bool*} 2) as{TypeError} 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
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.weak.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.expect
index 0ea7212..c92257e 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_37681.dart.weak.expect
@@ -22,17 +22,17 @@
function f_async() → core::int* async {
return 42;
}
- core::print(await f_async.call());
+ core::print(await f_async(){() →* core::int*});
function f_async_star() → core::int* async* {
yield 42;
}
- await for (dynamic x in (f_async_star.call() as dynamic) as{TypeError,ForDynamic} asy::Stream<dynamic>*) {
+ await for (dynamic x in (f_async_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} asy::Stream<dynamic>*) {
core::print(x);
}
function f_sync_star() → core::int* sync* {
yield 42;
}
- for (dynamic x in (f_sync_star.call() as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+ for (dynamic x in (f_sync_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
core::print(x);
}
}
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
index 8458a57..6ae56e4 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
@@ -62,7 +62,7 @@
:is_sync = true;
return :async_future;
}
- [yield] let dynamic #t1 = asy::_awaitHelper(f_async.call(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t1 = asy::_awaitHelper(f_async(){() →* core::int*}, :async_op_then, :async_op_error, :async_op) in null;
core::print(_in::unsafeCast<core::int*>(:result));
function f_async_star() → core::int* /* originally async* */ {
asy::_AsyncStarStreamController<dynamic>* :controller;
@@ -98,7 +98,7 @@
return :controller_stream;
}
{
- asy::Stream<dynamic>* :stream = (f_async_star.call() as dynamic) as{TypeError,ForDynamic} asy::Stream<dynamic>*;
+ asy::Stream<dynamic>* :stream = (f_async_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} asy::Stream<dynamic>*;
asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
try
#L4:
@@ -138,7 +138,7 @@
return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
}
{
- core::Iterator<dynamic>* :sync-for-iterator = ((f_sync_star.call() as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
+ core::Iterator<dynamic>* :sync-for-iterator = ((f_sync_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic x = :sync-for-iterator.{core::Iterator::current};
{
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.weak.expect b/pkg/front_end/testcases/regress/issue_39040.dart.weak.expect
index ccb6dec..ade6db2 100644
--- a/pkg/front_end/testcases/regress/issue_39040.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_39040.dart.weak.expect
@@ -11,7 +11,7 @@
#L2:
case #C1:
{
- whereWasI.{core::List::add}("outer 0");
+ whereWasI.{core::List::add}("outer 0"){(core::String*) →* void};
break #L1;
}
#L3:
@@ -22,19 +22,19 @@
#L4:
case #C1:
{
- whereWasI.{core::List::add}("inner 0");
+ whereWasI.{core::List::add}("inner 0"){(core::String*) →* void};
continue #L5;
}
#L5:
case #C2:
{
- whereWasI.{core::List::add}("inner 1");
+ whereWasI.{core::List::add}("inner 1"){(core::String*) →* void};
}
}
- }).call();
+ })(){() →* Null};
}
}
- if(!whereWasI.{core::List::length}.{core::num::==}(2) || !whereWasI.{core::List::[]}(0).{core::String::==}("inner 0") || !whereWasI.{core::List::[]}(1).{core::String::==}("inner 1")) {
+ if(!(whereWasI.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2) || !(whereWasI.{core::List::[]}(0){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 0") || !(whereWasI.{core::List::[]}(1){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 1")) {
throw "Unexpected path.";
}
core::print(whereWasI);
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect
index 581c2ce..86da00b 100644
--- a/pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect
@@ -11,7 +11,7 @@
#L2:
case #C1:
{
- whereWasI.{core::List::add}("outer 0");
+ whereWasI.{core::List::add}("outer 0"){(core::String*) →* void};
break #L1;
}
#L3:
@@ -22,19 +22,19 @@
#L4:
case #C1:
{
- whereWasI.{core::List::add}("inner 0");
+ whereWasI.{core::List::add}("inner 0"){(core::String*) →* void};
continue #L5;
}
#L5:
case #C2:
{
- whereWasI.{core::List::add}("inner 1");
+ whereWasI.{core::List::add}("inner 1"){(core::String*) →* void};
}
}
- }).call();
+ })(){() →* Null};
}
}
- if(!whereWasI.{core::List::length}.{core::num::==}(2) || !whereWasI.{core::List::[]}(0).{core::String::==}("inner 0") || !whereWasI.{core::List::[]}(1).{core::String::==}("inner 1")) {
+ if(!(whereWasI.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} 2) || !(whereWasI.{core::List::[]}(0){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 0") || !(whereWasI.{core::List::[]}(1){(core::int*) →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} "inner 1")) {
throw "Unexpected path.";
}
core::print(whereWasI);
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.weak.expect b/pkg/front_end/testcases/regress/issue_39682.dart.weak.expect
index 690e86a..9ab919a 100644
--- a/pkg/front_end/testcases/regress/issue_39682.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_39682.dart.weak.expect
@@ -7,7 +7,7 @@
static method main() → dynamic {
() →* asy::Future<dynamic>* f = #C1;
- f.call();
+ f(){() →* asy::Future<dynamic>*};
core::print(self::__loadLibrary_foo());
}
static method __loadLibrary_foo() → core::String* {
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect
index 690e86a..9ab919a 100644
--- a/pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
static method main() → dynamic {
() →* asy::Future<dynamic>* f = #C1;
- f.call();
+ f(){() →* asy::Future<dynamic>*};
core::print(self::__loadLibrary_foo());
}
static method __loadLibrary_foo() → core::String* {
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.weak.expect b/pkg/front_end/testcases/regress/issue_42423.dart.weak.expect
index f462ef4..62f3bfe 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.weak.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.weak.expect
@@ -10,10 +10,10 @@
core::Set<core::int*>* intSet = block {
final core::Set<core::int*>* #t1 = col::LinkedHashSet::•<core::int*>();
final core::Iterable<dynamic>* #t2 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t2.{core::Object::==}(null))
+ if(!(#t2 == null))
for (final dynamic #t3 in #t2) {
final core::int* #t4 = #t3 as{TypeError} core::int*;
- #t1.{core::Set::add}{Invariant}(#t4);
+ #t1.{core::Set::add}(#t4){(core::int*) →* core::bool*};
}
} =>#t1;
}
@@ -21,10 +21,10 @@
core::List<core::int*>* intList = block {
final core::List<core::int*>* #t5 = <core::int*>[];
final core::Iterable<dynamic>* #t6 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t6.{core::Object::==}(null))
+ if(!(#t6 == null))
for (final dynamic #t7 in #t6) {
final core::int* #t8 = #t7 as{TypeError} core::int*;
- #t5.{core::List::add}{Invariant}(#t8);
+ #t5.{core::List::add}(#t8){(core::int*) →* void};
}
} =>#t5;
}
@@ -32,11 +32,11 @@
core::Map<core::int*, core::int*>* intMap = block {
final core::Map<core::int*, core::int*>* #t9 = <core::int*, core::int*>{};
final core::Map<dynamic, dynamic>* #t10 = stringMap as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
- if(!#t10.{core::Object::==}(null))
+ if(!(#t10 == null))
for (final core::MapEntry<dynamic, dynamic>* #t11 in #t10.{core::Map::entries}) {
final core::int* #t12 = #t11.{core::MapEntry::key} as{TypeError} core::int*;
final core::int* #t13 = #t11.{core::MapEntry::value} as{TypeError} core::int*;
- #t9.{core::Map::[]=}{Invariant}(#t12, #t13);
+ #t9.{core::Map::[]=}(#t12, #t13){(core::int*, core::int*) →* void};
}
} =>#t9;
}
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect
index 1ee9e4cd..45ca6bf 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect
@@ -10,13 +10,13 @@
core::Set<core::int*>* intSet = block {
final core::Set<core::int*>* #t1 = new col::_CompactLinkedHashSet::•<core::int*>();
final core::Iterable<dynamic>* #t2 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t2.{core::Object::==}(null)) {
+ if(!(#t2 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t2.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t3 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t4 = #t3 as{TypeError} core::int*;
- #t1.{core::Set::add}{Invariant}(#t4);
+ #t1.{core::Set::add}(#t4){(core::int*) →* core::bool*};
}
}
}
@@ -26,13 +26,13 @@
core::List<core::int*>* intList = block {
final core::List<core::int*>* #t5 = core::_GrowableList::•<core::int*>(0);
final core::Iterable<dynamic>* #t6 = stringList as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t6.{core::Object::==}(null)) {
+ if(!(#t6 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t6.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t7 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t8 = #t7 as{TypeError} core::int*;
- #t5.{core::List::add}{Invariant}(#t8);
+ #t5.{core::List::add}(#t8){(core::int*) →* void};
}
}
}
@@ -42,14 +42,14 @@
core::Map<core::int*, core::int*>* intMap = block {
final core::Map<core::int*, core::int*>* #t9 = <core::int*, core::int*>{};
final core::Map<dynamic, dynamic>* #t10 = stringMap as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
- if(!#t10.{core::Object::==}(null)) {
+ if(!(#t10 == null)) {
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = #t10.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t11 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t12 = #t11.{core::MapEntry::key} as{TypeError} core::int*;
final core::int* #t13 = #t11.{core::MapEntry::value} as{TypeError} core::int*;
- #t9.{core::Map::[]=}{Invariant}(#t12, #t13);
+ #t9.{core::Map::[]=}(#t12, #t13){(core::int*, core::int*) →* void};
}
}
}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect
index be79a68..d6a32ed 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect
@@ -13,12 +13,12 @@
get h() → dynamic
return null;
method test() → void {
- this.{self::C::f}();
- this.{self::C::f}();
- this.{self::C::g}.call();
- this.{self::C::g}.call();
- this.{self::C::h}.call();
- this.{self::C::h}.call();
+ this.{self::C::f}(){() →* void};
+ this.{self::C::f}(){() →* void};
+ this.{self::C::g}{() →* void}(){() →* void};
+ this.{self::C::g}{() →* void}(){() →* void};
+ this.{self::C::h}{dynamic}{dynamic}.call();
+ this.{self::C::h}{dynamic}{dynamic}.call();
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -32,11 +32,11 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C* c, () →* void f, dynamic d) → void {
- c.{self::C::f}();
- f.call();
- d.call();
- d.f();
- c.{self::C::g}.call();
- c.{self::C::h}.call();
+ c.{self::C::f}(){() →* void};
+ f(){() →* void};
+ d{dynamic}.call();
+ d{dynamic}.f();
+ c.{self::C::g}{() →* void}(){() →* void};
+ c.{self::C::h}{dynamic}{dynamic}.call();
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect
index be79a68..d6a32ed 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect
@@ -13,12 +13,12 @@
get h() → dynamic
return null;
method test() → void {
- this.{self::C::f}();
- this.{self::C::f}();
- this.{self::C::g}.call();
- this.{self::C::g}.call();
- this.{self::C::h}.call();
- this.{self::C::h}.call();
+ this.{self::C::f}(){() →* void};
+ this.{self::C::f}(){() →* void};
+ this.{self::C::g}{() →* void}(){() →* void};
+ this.{self::C::g}{() →* void}(){() →* void};
+ this.{self::C::h}{dynamic}{dynamic}.call();
+ this.{self::C::h}{dynamic}{dynamic}.call();
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -32,11 +32,11 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C* c, () →* void f, dynamic d) → void {
- c.{self::C::f}();
- f.call();
- d.call();
- d.f();
- c.{self::C::g}.call();
- c.{self::C::h}.call();
+ c.{self::C::f}(){() →* void};
+ f(){() →* void};
+ d{dynamic}.call();
+ d{dynamic}.f();
+ c.{self::C::g}{() →* void}(){() →* void};
+ c.{self::C::h}{dynamic}{dynamic}.call();
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect
index ed18470..96f9b35 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect
@@ -10,10 +10,10 @@
get x() → dynamic
return null;
method test() → void {
- dynamic v1 = this.{self::C::x};
- dynamic v2 = this.{self::C::x};
- dynamic v3 = this.{self::C::y};
- dynamic v4 = this.{self::C::y};
+ dynamic v1 = this.{self::C::x}{dynamic};
+ dynamic v2 = this.{self::C::x}{dynamic};
+ dynamic v3 = this.{self::C::y}{dynamic};
+ dynamic v4 = this.{self::C::y}{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
@@ -27,8 +27,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C* c, dynamic d) → void {
- dynamic v1 = c.{self::C::x};
- dynamic v2 = c.{self::C::y};
- dynamic v3 = d.x;
+ dynamic v1 = c.{self::C::x}{dynamic};
+ dynamic v2 = c.{self::C::y}{dynamic};
+ dynamic v3 = d{dynamic}.x;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect
index ed18470..96f9b35 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect
@@ -10,10 +10,10 @@
get x() → dynamic
return null;
method test() → void {
- dynamic v1 = this.{self::C::x};
- dynamic v2 = this.{self::C::x};
- dynamic v3 = this.{self::C::y};
- dynamic v4 = this.{self::C::y};
+ dynamic v1 = this.{self::C::x}{dynamic};
+ dynamic v2 = this.{self::C::x}{dynamic};
+ dynamic v3 = this.{self::C::y}{dynamic};
+ dynamic v4 = this.{self::C::y}{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
@@ -27,8 +27,8 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C* c, dynamic d) → void {
- dynamic v1 = c.{self::C::x};
- dynamic v2 = c.{self::C::y};
- dynamic v3 = d.x;
+ dynamic v1 = c.{self::C::x}{dynamic};
+ dynamic v2 = c.{self::C::y}{dynamic};
+ dynamic v3 = d{dynamic}.x;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect
index 150c15b..a78157b 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect
@@ -28,6 +28,6 @@
static method test(self::C* c, dynamic d) → void {
c.{self::C::x} = null;
c.{self::C::y} = null;
- d.x = null;
+ d{dynamic}.x = null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect
index 150c15b..a78157b 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect
@@ -28,6 +28,6 @@
static method test(self::C* c, dynamic d) → void {
c.{self::C::x} = null;
c.{self::C::y} = null;
- d.x = null;
+ d{dynamic}.x = null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect
index 472539f..eb56668 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect
@@ -19,5 +19,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- () →* void x = let final self::C* #t1 = new self::C::•() in #t1.==(null) ?{() →* void} null : #t1.{self::C::call};
+ () →* void x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call};
}
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect
index 472539f..eb56668 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect
@@ -19,5 +19,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- () →* void x = let final self::C* #t1 = new self::C::•() in #t1.==(null) ?{() →* void} null : #t1.{self::C::call};
+ () →* void x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call};
}
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.expect
index e427cd9..2d573c9 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.expect
@@ -21,5 +21,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- FutureOr<() →* void>* x = let final self::C* #t1 = new self::C::•() in #t1.==(null) ?{() →* void} null : #t1.{self::C::call};
+ FutureOr<() →* void>* x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call};
}
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect
index e427cd9..2d573c9 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect
@@ -21,5 +21,5 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- FutureOr<() →* void>* x = let final self::C* #t1 = new self::C::•() in #t1.==(null) ?{() →* void} null : #t1.{self::C::call};
+ FutureOr<() →* void>* x = let final self::C* #t1 = new self::C::•() in #t1 == null ?{() →* void} null : #t1.{self::C::call};
}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect
index eb9c0e5..2142878 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
method f() → void {
- (self::C::T*) →* void x = this.{self::C::y};
+ (self::C::T*) →* void x = this.{self::C::y}{(self::C::T*) →* 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
@@ -23,6 +23,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C<core::num*>* c) → void {
- (core::num*) →* void x = c.{self::C::y} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = c.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect
index eb9c0e5..2142878 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
method f() → void {
- (self::C::T*) →* void x = this.{self::C::y};
+ (self::C::T*) →* void x = this.{self::C::y}{(self::C::T*) →* 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
@@ -23,6 +23,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C<core::num*>* c) → void {
- (core::num*) →* void x = c.{self::C::y} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = c.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect
index d05b36d..3e9cb61 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C<core::num*>* c) → void {
- c.{self::C::f}<(core::Object*) →* void>((core::Object* o) → Null {});
+ c.{self::C::f}<(core::Object*) →* void>((core::Object* o) → Null {}){((core::Object*) →* void) →* void};
}
static method test() → void {
self::g(new self::C::•<core::int*>());
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect
index d05b36d..3e9cb61 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect
@@ -20,7 +20,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C<core::num*>* c) → void {
- c.{self::C::f}<(core::Object*) →* void>((core::Object* o) → Null {});
+ c.{self::C::f}<(core::Object*) →* void>((core::Object* o) → Null {}){((core::Object*) →* void) →* void};
}
static method test() → void {
self::g(new self::C::•<core::int*>());
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect
index c696e93..a1cb113 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect
@@ -9,7 +9,7 @@
;
method f1() → (self::C::T*) →* void {}
method f2() → core::List<(self::C::T*) →* void>* {
- return <(self::C::T*) →* void>[this.{self::C::f1}()];
+ return <(self::C::T*) →* void>[this.{self::C::f1}(){() →* (self::C::T*) →* 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
@@ -23,15 +23,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- (core::num*) →* void x = c.{self::C::f1}() as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
core::print("hello");
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
}
static method g2(self::C<core::num*>* c) → void {
- (core::int*) →* void x = c.{self::C::f1}() as{TypeError,CovarianceCheck} (core::num*) →* void;
- x.call(1);
+ (core::int*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ x(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- core::List<(core::num*) →* void>* x = c.{self::C::f2}() as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+ core::List<(core::num*) →* void>* x = c.{self::C::f2}(){() →* core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect
index 6d29b6e..5c0c338 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
;
method f1() → (self::C::T*) →* void {}
method f2() → core::List<(self::C::T*) →* void>* {
- return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1}());
+ return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1}(){() →* (self::C::T*) →* 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
@@ -23,15 +23,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- (core::num*) →* void x = c.{self::C::f1}() as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
core::print("hello");
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
}
static method g2(self::C<core::num*>* c) → void {
- (core::int*) →* void x = c.{self::C::f1}() as{TypeError,CovarianceCheck} (core::num*) →* void;
- x.call(1);
+ (core::int*) →* void x = c.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ x(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- core::List<(core::num*) →* void>* x = c.{self::C::f2}() as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+ core::List<(core::num*) →* void>* x = c.{self::C::f2}(){() →* core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.expect
index ff20fa1..a8aa298 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.expect
@@ -9,7 +9,7 @@
;
method f1() → (self::C::T*) →* void {}
method f2() → core::List<(self::C::T*) →* void>* {
- return <(self::C::T*) →* void>[this.{self::C::f1}()];
+ return <(self::C::T*) →* void>[this.{self::C::f1}(){() →* (self::C::T*) →* 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
@@ -23,15 +23,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- (core::num*) →* void x = let final self::C<core::num*>* #t1 = c in #t1.{self::C::==}(null) ?{(core::num*) →* void} null : #t1.{self::C::f1}() as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = let final self::C<core::num*>* #t1 = c in #t1 == null ?{(core::num*) →* void} null : #t1.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
core::print("hello");
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
}
static method g2(self::C<core::num*>* c) → void {
- (core::int*) →* void x = let final self::C<core::num*>* #t2 = c in #t2.{self::C::==}(null) ?{(core::num*) →* void} null : #t2.{self::C::f1}() as{TypeError,CovarianceCheck} (core::num*) →* void;
- x.call(1);
+ (core::int*) →* void x = let final self::C<core::num*>* #t2 = c in #t2 == null ?{(core::num*) →* void} null : #t2.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ x(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- core::List<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in #t3.{self::C::==}(null) ?{core::List<(core::num*) →* void>*} null : #t3.{self::C::f2}() as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+ core::List<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in #t3 == null ?{core::List<(core::num*) →* void>*} null : #t3.{self::C::f2}(){() →* core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.transformed.expect
index ca43160..443ac4f 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
;
method f1() → (self::C::T*) →* void {}
method f2() → core::List<(self::C::T*) →* void>* {
- return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1}());
+ return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1}(){() →* (self::C::T*) →* 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
@@ -23,15 +23,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- (core::num*) →* void x = let final self::C<core::num*>* #t1 = c in #t1.{self::C::==}(null) ?{(core::num*) →* void} null : #t1.{self::C::f1}() as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = let final self::C<core::num*>* #t1 = c in #t1 == null ?{(core::num*) →* void} null : #t1.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
core::print("hello");
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
}
static method g2(self::C<core::num*>* c) → void {
- (core::int*) →* void x = let final self::C<core::num*>* #t2 = c in #t2.{self::C::==}(null) ?{(core::num*) →* void} null : #t2.{self::C::f1}() as{TypeError,CovarianceCheck} (core::num*) →* void;
- x.call(1);
+ (core::int*) →* void x = let final self::C<core::num*>* #t2 = c in #t2 == null ?{(core::num*) →* void} null : #t2.{self::C::f1}(){() →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ x(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- core::List<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in #t3.{self::C::==}(null) ?{core::List<(core::num*) →* void>*} null : #t3.{self::C::f2}() as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+ core::List<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in #t3 == null ?{core::List<(core::num*) →* void>*} null : #t3.{self::C::f2}(){() →* core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.expect
index ce30de5..28fb659 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.expect
@@ -10,7 +10,7 @@
: self::C::_x = _x, super core::Object::•()
;
method f() → (self::C::T*) →* void
- return this.{self::C::_x};
+ return this.{self::C::_x}{(self::C::T*) →* 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
@@ -23,7 +23,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C<core::num*>* c) → () →* (core::num*) →* void {
- return c.{self::C::f} as{TypeError,CovarianceCheck} () →* (core::num*) →* void;
+ return c.{self::C::f}{() →* (core::num*) →* void} as{TypeError,CovarianceCheck} () →* (core::num*) →* void;
}
static method h(core::int* i) → void {
core::print("${i}");
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect
index ce30de5..28fb659 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
: self::C::_x = _x, super core::Object::•()
;
method f() → (self::C::T*) →* void
- return this.{self::C::_x};
+ return this.{self::C::_x}{(self::C::T*) →* 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
@@ -23,7 +23,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C<core::num*>* c) → () →* (core::num*) →* void {
- return c.{self::C::f} as{TypeError,CovarianceCheck} () →* (core::num*) →* void;
+ return c.{self::C::f}{() →* (core::num*) →* void} as{TypeError,CovarianceCheck} () →* (core::num*) →* void;
}
static method h(core::int* i) → void {
core::print("${i}");
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect
index a081cbc..888b0a2 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
method f(generic-covariant-impl self::C::T* value) → void {
- let final self::C::T* #t1 = value in this.{self::C::y}.call(#t1);
+ let final self::C::T* #t1 = value in this.{self::C::y}{(self::C::T*) →* void}(#t1){(self::C::T*) →* 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
@@ -23,6 +23,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C<core::num*>* c) → void {
- let final self::C<core::num*>* #t2 = c in let final core::double* #t3 = 1.5 in (#t2.{self::C::y} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t3);
+ let final self::C<core::num*>* #t2 = c in let final core::double* #t3 = 1.5 in (#t2.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void)(#t3){(core::num*) →* void};
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect
index 84c4721..b58547d 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect
@@ -9,7 +9,7 @@
: super core::Object::•()
;
method f(generic-covariant-impl self::C::T* value) → void {
- let final self::C::T* #t1 = value in this.{self::C::y}.call(#t1);
+ let final self::C::T* #t1 = value in this.{self::C::y}{(self::C::T*) →* void}(#t1){(self::C::T*) →* 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
@@ -23,7 +23,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C<core::num*>* c) → void {
- let final self::C<core::num*>* #t2 = c in let final core::double* #t3 = 1.5 in (#t2.{self::C::y} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t3);
+ let final self::C<core::num*>* #t2 = c in let final core::double* #t3 = 1.5 in (#t2.{self::C::y}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void)(#t3){(core::num*) →* void};
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect
index cfbae18..60445df 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect
@@ -10,7 +10,7 @@
get f1() → (self::C::T*) →* void
return null;
get f2() → core::List<(self::C::T*) →* void>* {
- return <(self::C::T*) →* void>[this.{self::C::f1}];
+ return <(self::C::T*) →* void>[this.{self::C::f1}{(self::C::T*) →* 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
@@ -24,15 +24,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- (core::num*) →* void x = c.{self::C::f1} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
core::print("hello");
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
}
static method g2(self::C<core::num*>* c) → void {
- (core::int*) →* void x = c.{self::C::f1} as{TypeError,CovarianceCheck} (core::num*) →* void;
- x.call(1);
+ (core::int*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ x(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- core::List<(core::num*) →* void>* x = c.{self::C::f2} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+ core::List<(core::num*) →* void>* x = c.{self::C::f2}{core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect
index bf505b2..54d2c49 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
get f1() → (self::C::T*) →* void
return null;
get f2() → core::List<(self::C::T*) →* void>* {
- return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1});
+ return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1}{(self::C::T*) →* 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
@@ -24,15 +24,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- (core::num*) →* void x = c.{self::C::f1} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
core::print("hello");
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
}
static method g2(self::C<core::num*>* c) → void {
- (core::int*) →* void x = c.{self::C::f1} as{TypeError,CovarianceCheck} (core::num*) →* void;
- x.call(1);
+ (core::int*) →* void x = c.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ x(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- core::List<(core::num*) →* void>* x = c.{self::C::f2} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+ core::List<(core::num*) →* void>* x = c.{self::C::f2}{core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.expect
index b1c9392..98e1172 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.expect
@@ -10,7 +10,7 @@
get f1() → (self::C::T*) →* void
return null;
get f2() → core::List<(self::C::T*) →* void>* {
- return <(self::C::T*) →* void>[this.{self::C::f1}];
+ return <(self::C::T*) →* void>[this.{self::C::f1}{(self::C::T*) →* 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
@@ -24,15 +24,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- (core::num*) →* void x = let final self::C<core::num*>* #t1 = c in #t1.{self::C::==}(null) ?{(core::num*) →* void} null : #t1.{self::C::f1} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = let final self::C<core::num*>* #t1 = c in #t1 == null ?{(core::num*) →* void} null : #t1.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
core::print("hello");
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
}
static method g2(self::C<core::num*>* c) → void {
- (core::int*) →* void x = let final self::C<core::num*>* #t2 = c in #t2.{self::C::==}(null) ?{(core::num*) →* void} null : #t2.{self::C::f1} as{TypeError,CovarianceCheck} (core::num*) →* void;
- x.call(1);
+ (core::int*) →* void x = let final self::C<core::num*>* #t2 = c in #t2 == null ?{(core::num*) →* void} null : #t2.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ x(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- core::List<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in #t3.{self::C::==}(null) ?{core::List<(core::num*) →* void>*} null : #t3.{self::C::f2} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+ core::List<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in #t3 == null ?{core::List<(core::num*) →* void>*} null : #t3.{self::C::f2}{core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.transformed.expect
index 441c6fa..73da0a3 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
get f1() → (self::C::T*) →* void
return null;
get f2() → core::List<(self::C::T*) →* void>* {
- return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1});
+ return core::_GrowableList::_literal1<(self::C::T*) →* void>(this.{self::C::f1}{(self::C::T*) →* 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
@@ -24,15 +24,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- (core::num*) →* void x = let final self::C<core::num*>* #t1 = c in #t1.{self::C::==}(null) ?{(core::num*) →* void} null : #t1.{self::C::f1} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ (core::num*) →* void x = let final self::C<core::num*>* #t1 = c in #t1 == null ?{(core::num*) →* void} null : #t1.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
core::print("hello");
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
}
static method g2(self::C<core::num*>* c) → void {
- (core::int*) →* void x = let final self::C<core::num*>* #t2 = c in #t2.{self::C::==}(null) ?{(core::num*) →* void} null : #t2.{self::C::f1} as{TypeError,CovarianceCheck} (core::num*) →* void;
- x.call(1);
+ (core::int*) →* void x = let final self::C<core::num*>* #t2 = c in #t2 == null ?{(core::num*) →* void} null : #t2.{self::C::f1}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ x(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- core::List<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in #t3.{self::C::==}(null) ?{core::List<(core::num*) →* void>*} null : #t3.{self::C::f2} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
+ core::List<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in #t3 == null ?{core::List<(core::num*) →* void>*} null : #t3.{self::C::f2}{core::List<(core::num*) →* void>*} as{TypeError,CovarianceCheck} core::List<(core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect
index a1b22b2..f2e772a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect
@@ -23,7 +23,7 @@
method g1<generic-covariant-impl U extends self::C::T*>() → void {
this.{self::C::f}<self::C::g1::U*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart:11:15: Error: The argument type 'double' can't be assigned to the parameter type 'U'.
this.f<U>(1.5);
- ^" in 1.5 as{TypeError} Never);
+ ^" in 1.5 as{TypeError} Never){(self::C::g1::U*) →* 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
@@ -37,10 +37,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g2(self::C<core::Object*>* c) → void {
- c.{self::C::f}<core::num*>(1.5);
+ c.{self::C::f}<core::num*>(1.5){(core::num*) →* void};
}
static method test() → void {
- new self::C::•<core::int*>().{self::C::g1}<core::num*>();
+ new self::C::•<core::int*>().{self::C::g1}<core::num*>(){() →* void};
self::g2(new self::C::•<core::int*>());
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect
index a1b22b2..f2e772a 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect
@@ -23,7 +23,7 @@
method g1<generic-covariant-impl U extends self::C::T*>() → void {
this.{self::C::f}<self::C::g1::U*>(let final Never* #t1 = invalid-expression "pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart:11:15: Error: The argument type 'double' can't be assigned to the parameter type 'U'.
this.f<U>(1.5);
- ^" in 1.5 as{TypeError} Never);
+ ^" in 1.5 as{TypeError} Never){(self::C::g1::U*) →* 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
@@ -37,10 +37,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g2(self::C<core::Object*>* c) → void {
- c.{self::C::f}<core::num*>(1.5);
+ c.{self::C::f}<core::num*>(1.5){(core::num*) →* void};
}
static method test() → void {
- new self::C::•<core::int*>().{self::C::g1}<core::num*>();
+ new self::C::•<core::int*>().{self::C::g1}<core::num*>(){() →* void};
self::g2(new self::C::•<core::int*>());
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect
index bab4420..416b83b 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect
@@ -19,12 +19,12 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- c.{self::C::f}(1.5);
+ c.{self::C::f}(1.5){(core::num*) →* void};
}
static method g2(self::C<core::int*>* c) → void {
- c.{self::C::f}(1);
+ c.{self::C::f}(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- c.{self::C::f}(null);
+ c.{self::C::f}(null){(core::num*) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect
index bab4420..416b83b 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect
@@ -19,12 +19,12 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → void {
- c.{self::C::f}(1.5);
+ c.{self::C::f}(1.5){(core::num*) →* void};
}
static method g2(self::C<core::int*>* c) → void {
- c.{self::C::f}(1);
+ c.{self::C::f}(1){(core::int*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- c.{self::C::f}(null);
+ c.{self::C::f}(null){(core::num*) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect
index 7bc3def..4cc02bb 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect
@@ -22,15 +22,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c, core::List<core::num*>* l) → void {
- c.{self::C::f1}(l);
+ c.{self::C::f1}(l){(core::List<core::num*>*) →* void};
}
static method g2(self::C<core::num*>* c, () →* core::num* callback) → void {
- c.{self::C::f2}(callback);
+ c.{self::C::f2}(callback){(() →* core::num*) →* void};
}
static method g3(self::C<core::num*>* c, (core::num*) →* core::num* callback) → void {
- c.{self::C::f3}(callback);
+ c.{self::C::f3}(callback){((core::num*) →* core::num*) →* void};
}
static method g4(self::C<core::num*>* c, (core::num*) →* void callback) → void {
- c.{self::C::f4}(callback);
+ c.{self::C::f4}(callback){((core::num*) →* void) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect
index 7bc3def..4cc02bb 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect
@@ -22,15 +22,15 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c, core::List<core::num*>* l) → void {
- c.{self::C::f1}(l);
+ c.{self::C::f1}(l){(core::List<core::num*>*) →* void};
}
static method g2(self::C<core::num*>* c, () →* core::num* callback) → void {
- c.{self::C::f2}(callback);
+ c.{self::C::f2}(callback){(() →* core::num*) →* void};
}
static method g3(self::C<core::num*>* c, (core::num*) →* core::num* callback) → void {
- c.{self::C::f3}(callback);
+ c.{self::C::f3}(callback){((core::num*) →* core::num*) →* void};
}
static method g4(self::C<core::num*>* c, (core::num*) →* void callback) → void {
- c.{self::C::f4}(callback);
+ c.{self::C::f4}(callback){((core::num*) →* void) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect
index fe4164c..b2163ff 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect
@@ -44,19 +44,19 @@
method f2(generic-covariant-impl core::int* x, [generic-covariant-impl self::D::U* y = #C1]) → void {}
}
static method g1(self::C<core::num*>* c) → void {
- c.{self::C::f1}(1);
+ c.{self::C::f1}(1){(core::int*) →* void};
}
static method g2(self::I<core::num*>* i) → void {
- i.{self::I::f1}(1.5);
+ i.{self::I::f1}(1.5){(core::num*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- c.{self::C::f2}(1, 1.5);
+ c.{self::C::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
}
static method g4(self::D<core::num*>* d) → void {
- d.{self::D::f1}(1);
+ d.{self::D::f1}(1){(core::int*) →* void};
}
static method g5(self::D<core::num*>* d) → void {
- d.{self::D::f2}(1, 1.5);
+ d.{self::D::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
}
static method test() → void {
self::g2(new self::C::•<core::num*>());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect
index fe4164c..b2163ff 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect
@@ -44,19 +44,19 @@
method f2(generic-covariant-impl core::int* x, [generic-covariant-impl self::D::U* y = #C1]) → void {}
}
static method g1(self::C<core::num*>* c) → void {
- c.{self::C::f1}(1);
+ c.{self::C::f1}(1){(core::int*) →* void};
}
static method g2(self::I<core::num*>* i) → void {
- i.{self::I::f1}(1.5);
+ i.{self::I::f1}(1.5){(core::num*) →* void};
}
static method g3(self::C<core::num*>* c) → void {
- c.{self::C::f2}(1, 1.5);
+ c.{self::C::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
}
static method g4(self::D<core::num*>* d) → void {
- d.{self::D::f1}(1);
+ d.{self::D::f1}(1){(core::int*) →* void};
}
static method g5(self::D<core::num*>* d) → void {
- d.{self::D::f2}(1, 1.5);
+ d.{self::D::f2}(1, 1.5){(core::int*, [core::num*]) →* void};
}
static method test() → void {
self::g2(new self::C::•<core::num*>());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.expect
index 9d84b87..ae3c830 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.expect
@@ -58,10 +58,10 @@
return super.{self::M::f}(x);
}
static method g1(self::C* c) → void {
- c.{self::C::f}(1);
+ c.{self::C::f}(1){(core::int*) →* void};
}
static method g2(self::I<core::num*>* i) → void {
- i.{self::I::f}(1.5);
+ i.{self::I::f}(1.5){(core::num*) →* void};
}
static method test() → void {
self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect
index 8ddd7e7..a88ae80 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect
@@ -57,10 +57,10 @@
method f(generic-covariant-impl core::int* x) → void {}
}
static method g1(self::C* c) → void {
- c.{self::C::f}(1);
+ c.{self::C::f}(1){(core::int*) →* void};
}
static method g2(self::I<core::num*>* i) → void {
- i.{self::I::f}(1.5);
+ i.{self::I::f}(1.5){(core::num*) →* void};
}
static method test() → void {
self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.expect
index c3440ec..5cda4e0 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.expect
@@ -42,10 +42,10 @@
return super.{self::B::f}(x);
}
static method g1(self::C* c) → void {
- c.{self::C::f}(1);
+ c.{self::C::f}(1){(core::int*) →* void};
}
static method g2(self::I<core::num*>* i) → void {
- i.{self::I::f}(1.5);
+ i.{self::I::f}(1.5){(core::num*) →* void};
}
static method test() → void {
self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect
index c3440ec..5cda4e0 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect
@@ -42,10 +42,10 @@
return super.{self::B::f}(x);
}
static method g1(self::C* c) → void {
- c.{self::C::f}(1);
+ c.{self::C::f}(1){(core::int*) →* void};
}
static method g2(self::I<core::num*>* i) → void {
- i.{self::I::f}(1.5);
+ i.{self::I::f}(1.5){(core::num*) →* void};
}
static method test() → void {
self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.expect
index 3d71880..b2395d9 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.expect
@@ -57,10 +57,10 @@
return super.{self::B::f}(x);
}
static method g1(self::C* c) → void {
- c.{self::C::f}(1);
+ c.{self::C::f}(1){(core::int*) →* void};
}
static method g2(self::I<core::num*>* i) → void {
- i.{self::I::f}(1.5);
+ i.{self::I::f}(1.5){(core::num*) →* void};
}
static method test() → void {
self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect
index d74360b..eb463e7 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect
@@ -57,10 +57,10 @@
return super.{self::B::f}(x);
}
static method g1(self::C* c) → void {
- c.{self::C::f}(1);
+ c.{self::C::f}(1){(core::int*) →* void};
}
static method g2(self::I<core::num*>* i) → void {
- i.{self::I::f}(1.5);
+ i.{self::I::f}(1.5){(core::num*) →* void};
}
static method test() → void {
self::g2(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.expect
index 3ee6fae..05ac14b 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.expect
@@ -10,7 +10,7 @@
;
method f1(generic-covariant-impl self::C::T* x) → void {}
method f2(generic-covariant-impl core::List<self::C::T*>* x) → self::C::T*
- return x.{core::Iterable::first};
+ return x.{core::Iterable::first}{self::C::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
@@ -23,18 +23,18 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → (core::num*) →* void {
- return c.{self::C::f1};
+ return c.{self::C::f1}{(core::num*) →* void};
}
static method g2(self::C<core::int*>* c, core::Object* x) → void {
(core::Object*) →* void f = self::g1(c) as (core::Object*) →* void;
- f.call(x);
+ f(x){(core::Object*) →* void};
}
static method g3(self::C<core::num*>* c) → (core::List<core::num*>*) →* core::num* {
- return c.{self::C::f2};
+ return c.{self::C::f2}{(core::List<core::num*>*) →* core::num*};
}
static method test() → void {
(core::num*) →* void x = self::g1(new self::C::•<core::int*>());
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
self::g3(new self::C::•<core::int*>());
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect
index 3ee6fae..05ac14b 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
;
method f1(generic-covariant-impl self::C::T* x) → void {}
method f2(generic-covariant-impl core::List<self::C::T*>* x) → self::C::T*
- return x.{core::Iterable::first};
+ return x.{core::Iterable::first}{self::C::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
@@ -23,18 +23,18 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(self::C<core::num*>* c) → (core::num*) →* void {
- return c.{self::C::f1};
+ return c.{self::C::f1}{(core::num*) →* void};
}
static method g2(self::C<core::int*>* c, core::Object* x) → void {
(core::Object*) →* void f = self::g1(c) as (core::Object*) →* void;
- f.call(x);
+ f(x){(core::Object*) →* void};
}
static method g3(self::C<core::num*>* c) → (core::List<core::num*>*) →* core::num* {
- return c.{self::C::f2};
+ return c.{self::C::f2}{(core::List<core::num*>*) →* core::num*};
}
static method test() → void {
(core::num*) →* void x = self::g1(new self::C::•<core::int*>());
- x.call(1.5);
+ x(1.5){(core::num*) →* void};
self::g3(new self::C::•<core::int*>());
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect
index 75c7857..e05a2b1 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect
@@ -32,10 +32,10 @@
method f(covariant core::int* x) → void {}
}
static method g1(self::C* c) → void {
- c.{self::C::f}(1.5);
+ c.{self::C::f}(1.5){(core::num*) →* void};
}
static method g2(self::C* c) → (core::num*) →* dynamic {
- return c.{self::C::f};
+ return c.{self::C::f}{(core::num*) →* void};
}
static method test() → dynamic {
self::g1(new self::D::•());
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect
index 75c7857..e05a2b1 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect
@@ -32,10 +32,10 @@
method f(covariant core::int* x) → void {}
}
static method g1(self::C* c) → void {
- c.{self::C::f}(1.5);
+ c.{self::C::f}(1.5){(core::num*) →* void};
}
static method g2(self::C* c) → (core::num*) →* dynamic {
- return c.{self::C::f};
+ return c.{self::C::f}{(core::num*) →* void};
}
static method test() → dynamic {
self::g1(new self::D::•());
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect
index 82e285a..bb26705 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect
@@ -26,10 +26,10 @@
method f1(covariant generic-covariant-impl core::int* x) → void {}
}
static method g1(dynamic d) → void {
- d.f1(1.5);
+ d{dynamic}.f1(1.5);
}
static method g2(dynamic d) → void {
- d.f2(1.5);
+ d{dynamic}.f2(1.5);
}
static method test() → void {
self::g1(new self::C::•<core::int*>());
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect
index 82e285a..bb26705 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect
@@ -26,10 +26,10 @@
method f1(covariant generic-covariant-impl core::int* x) → void {}
}
static method g1(dynamic d) → void {
- d.f1(1.5);
+ d{dynamic}.f1(1.5);
}
static method g2(dynamic d) → void {
- d.f2(1.5);
+ d{dynamic}.f2(1.5);
}
static method test() → void {
self::g1(new self::C::•<core::int*>());
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect
index 07dcc99..3093b2a 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect
@@ -19,10 +19,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(dynamic d) → void {
- d.f<core::num*>(1.5);
+ d{dynamic}.f<core::num*>(1.5);
}
static method g2(dynamic d) → void {
- d.f(1.5);
+ d{dynamic}.f(1.5);
}
static method test() → void {
self::g1(new self::C::•<core::int*>());
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect
index 07dcc99..3093b2a 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect
@@ -19,10 +19,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g1(dynamic d) → void {
- d.f<core::num*>(1.5);
+ d{dynamic}.f<core::num*>(1.5);
}
static method g2(dynamic d) → void {
- d.f(1.5);
+ d{dynamic}.f(1.5);
}
static method test() → void {
self::g1(new self::C::•<core::int*>());
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect
index 89e5e57..14294a1 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect
@@ -19,7 +19,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C* c) → void {
- let final self::C* #t1 = c in let final core::double* #t2 = 1.5 in #t1.{self::C::f}.call(#t2);
+ let final self::C* #t1 = c in let final core::double* #t2 = 1.5 in #t1.{self::C::f}{dynamic}{dynamic}.call(#t2);
}
static method h(core::int* i) → void {}
static method test() → void {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect
index 12c20f9..bde2247 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect
@@ -19,7 +19,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method g(self::C* c) → void {
- let final self::C* #t1 = c in let final core::double* #t2 = 1.5 in #t1.{self::C::f}.call(#t2);
+ let final self::C* #t1 = c in let final core::double* #t2 = 1.5 in #t1.{self::C::f}{dynamic}{dynamic}.call(#t2);
}
static method h(core::int* i) → void {}
static method test() → void {
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect
index 1839f07..6c001e5 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect
@@ -14,8 +14,8 @@
this.{self::B::_x} = x;
}
method check(core::Object* expectedValue) → void {
- if(!this.{self::B::_x}.{core::Object::==}(expectedValue)) {
- throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}}";
+ if(!(this.{self::B::_x}{core::Object*} =={core::Object::==}{(core::Object*) →* core::bool*} expectedValue)) {
+ throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}{core::Object*}}";
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -57,10 +57,10 @@
}
static method main() → dynamic {
self::C* c = new self::C::•();
- c.{self::C::f}();
- c.{self::B::check}(10);
- c.{self::C::g}();
- c.{self::B::check}(20);
+ c.{self::C::f}(){([core::num*]) →* void};
+ c.{self::B::check}(10){(core::Object*) →* void};
+ c.{self::C::g}(){({x: core::num*}) →* void};
+ c.{self::B::check}(20){(core::Object*) →* void};
}
constants {
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect
index 1839f07..6c001e5 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect
@@ -14,8 +14,8 @@
this.{self::B::_x} = x;
}
method check(core::Object* expectedValue) → void {
- if(!this.{self::B::_x}.{core::Object::==}(expectedValue)) {
- throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}}";
+ if(!(this.{self::B::_x}{core::Object*} =={core::Object::==}{(core::Object*) →* core::bool*} expectedValue)) {
+ throw "Expected _x == ${expectedValue}; got ${this.{self::B::_x}{core::Object*}}";
}
}
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
@@ -57,10 +57,10 @@
}
static method main() → dynamic {
self::C* c = new self::C::•();
- c.{self::C::f}();
- c.{self::B::check}(10);
- c.{self::C::g}();
- c.{self::B::check}(20);
+ c.{self::C::f}(){([core::num*]) →* void};
+ c.{self::B::check}(10){(core::Object*) →* void};
+ c.{self::C::g}(){({x: core::num*}) →* void};
+ c.{self::B::check}(20){(core::Object*) →* void};
}
constants {
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.expect
index 0cd35c4..40fe0be 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.expect
@@ -5,7 +5,7 @@
static method main() → void {
core::Object* o = 1;
try {
- for (core::int* i = 0; o as{TypeError} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; o as{TypeError} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
throw "no exception";
}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.transformed.expect
index 0cd35c4..40fe0be 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.transformed.expect
@@ -5,7 +5,7 @@
static method main() → void {
core::Object* o = 1;
try {
- for (core::int* i = 0; o as{TypeError} core::bool*; i = i.{core::num::+}(1)) {
+ for (core::int* i = 0; o as{TypeError} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
}
throw "no exception";
}
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect
index dcb6067..76ccf53 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect
@@ -9,16 +9,16 @@
;
method f(generic-covariant-impl self::C::T* x) → void {}
method g1(generic-covariant-impl self::C::T* x) → void {
- this.{self::C::f}(x);
+ this.{self::C::f}(x){(self::C::T*) →* void};
}
method g2(generic-covariant-impl self::C::T* x) → void {
- this.{self::C::f}(x);
+ this.{self::C::f}(x){(self::C::T*) →* void};
}
method g3(generic-covariant-impl self::C<self::C::T*>* c, generic-covariant-impl self::C::T* x) → void {
- c.{self::C::f}(x);
+ c.{self::C::f}(x){(self::C::T*) →* void};
}
method g4() → (self::C::T*) →* dynamic
- return this.{self::C::f};
+ return this.{self::C::f}{(self::C::T*) →* 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
@@ -42,8 +42,8 @@
method f(covariant generic-covariant-impl core::int* x) → void {}
}
static method test() → dynamic {
- (core::Object*) →* dynamic x = (new self::D::•().{self::C::g4}() as{TypeError,CovarianceCheck} (core::int*) →* dynamic) as (core::Object*) →* dynamic;
- x.call("hi");
- new self::E::•().{self::C::g1}(1.5);
+ (core::Object*) →* dynamic x = (new self::D::•().{self::C::g4}(){() →* (core::int*) →* dynamic} as{TypeError,CovarianceCheck} (core::int*) →* dynamic) as (core::Object*) →* dynamic;
+ x("hi"){(core::Object*) →* dynamic};
+ new self::E::•().{self::C::g1}(1.5){(core::num*) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect
index dcb6067..76ccf53 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect
@@ -9,16 +9,16 @@
;
method f(generic-covariant-impl self::C::T* x) → void {}
method g1(generic-covariant-impl self::C::T* x) → void {
- this.{self::C::f}(x);
+ this.{self::C::f}(x){(self::C::T*) →* void};
}
method g2(generic-covariant-impl self::C::T* x) → void {
- this.{self::C::f}(x);
+ this.{self::C::f}(x){(self::C::T*) →* void};
}
method g3(generic-covariant-impl self::C<self::C::T*>* c, generic-covariant-impl self::C::T* x) → void {
- c.{self::C::f}(x);
+ c.{self::C::f}(x){(self::C::T*) →* void};
}
method g4() → (self::C::T*) →* dynamic
- return this.{self::C::f};
+ return this.{self::C::f}{(self::C::T*) →* 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
@@ -42,8 +42,8 @@
method f(covariant generic-covariant-impl core::int* x) → void {}
}
static method test() → dynamic {
- (core::Object*) →* dynamic x = (new self::D::•().{self::C::g4}() as{TypeError,CovarianceCheck} (core::int*) →* dynamic) as (core::Object*) →* dynamic;
- x.call("hi");
- new self::E::•().{self::C::g1}(1.5);
+ (core::Object*) →* dynamic x = (new self::D::•().{self::C::g4}(){() →* (core::int*) →* dynamic} as{TypeError,CovarianceCheck} (core::int*) →* dynamic) as (core::Object*) →* dynamic;
+ x("hi"){(core::Object*) →* dynamic};
+ new self::E::•().{self::C::g1}(1.5){(core::num*) →* void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect
index 3bb4b53..d266b53 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect
@@ -41,19 +41,19 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test1(self::B<core::num*, (core::num*) →* void>* b) → void {
- b = b.{self::B::+}(1) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
- self::B<core::num*, (core::num*) →* void>* x = b = b.{self::B::+}(2) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ b = b.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ self::B<core::num*, (core::num*) →* void>* x = b = b.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
}
static method test2(self::C* c) → void {
- let final self::C* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2).{self::B::+}(1) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*);
- self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t3 = c in let final core::int* #t4 = 0 in let final self::B<core::num*, (core::num*) →* void>* #t5 = #t3.{self::C::[]}(#t4).{self::B::+}(2) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>* in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5) in #t5;
+ let final self::C* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void};
+ self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t3 = c in let final core::int* #t4 = 0 in let final self::B<core::num*, (core::num*) →* void>* #t5 = #t3.{self::C::[]}(#t4){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>* in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void} in #t5;
}
static method test3(self::C* c) → void {
- let final self::C* #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}.{self::B::+}(1) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
- self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}.{self::B::+}(2) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ let final self::C* #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
}
static method test4(self::C* c) → void {
- self::C::y = self::C::y.{self::B::+}(1) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
- self::B<core::num*, (core::num*) →* void>* x = self::C::y = self::C::y.{self::B::+}(2) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ self::C::y = self::C::y.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ self::B<core::num*, (core::num*) →* void>* x = self::C::y = self::C::y.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect
index f94a84b..28b2e93 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect
@@ -41,20 +41,20 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test1(self::B<core::num*, (core::num*) →* void>* b) → void {
- b = b.{self::B::+}(1) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
- self::B<core::num*, (core::num*) →* void>* x = b = b.{self::B::+}(2) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ b = b.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ self::B<core::num*, (core::num*) →* void>* x = b = b.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
}
static method test2(self::C* c) → void {
- let final self::C* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2).{self::B::+}(1) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*);
- self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t3 = c in let final core::int* #t4 = 0 in let final self::B<core::num*, (core::num*) →* void>* #t5 = #t3.{self::C::[]}(#t4).{self::B::+}(2) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>* in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5) in #t5;
+ let final self::C* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, #t1.{self::C::[]}(#t2){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void};
+ self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t3 = c in let final core::int* #t4 = 0 in let final self::B<core::num*, (core::num*) →* void>* #t5 = #t3.{self::C::[]}(#t4){(core::int*) →* self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>* in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<core::num*, (core::num*) →* void>*) →* void} in #t5;
}
static method test3(self::C* c) → void {
- let final self::C* #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}.{self::B::+}(1) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
- self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}.{self::B::+}(2) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ let final self::C* #t7 = c in #t7.{self::C::x} = #t7.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ self::B<core::num*, (core::num*) →* void>* x = let final self::C* #t8 = c in #t8.{self::C::x} = #t8.{self::C::x}{self::B<core::num*, (core::num*) →* void>*}.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
}
static method test4(self::C* c) → void {
- self::C::y = self::C::y.{self::B::+}(1) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
- self::B<core::num*, (core::num*) →* void>* x = self::C::y = self::C::y.{self::B::+}(2) as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ self::C::y = self::C::y.{self::B::+}(1){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
+ self::B<core::num*, (core::num*) →* void>* x = self::C::y = self::C::y.{self::B::+}(2){(dynamic) →* self::B<core::num*, (core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<core::num*, (core::num*) →* void>*;
}
static method main() → void {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect
index 88e10fb..889de80 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect
@@ -27,7 +27,7 @@
: self::C::plusResult = plusResult, super core::Object::•()
;
operator +(core::int* i) → (self::C::T*) →* core::num*
- return this.{self::C::plusResult};
+ return this.{self::C::plusResult}{(self::C::T*) →* core::num*};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -46,7 +46,7 @@
: self::D::getValue = getValue, super core::Object::•()
;
get value() → self::C<core::num*>*
- return this.{self::D::getValue};
+ return this.{self::D::getValue}{self::C<core::num*>*};
set value((core::int*) →* core::int* value) → void {
this.{self::D::setValue} = value;
}
@@ -63,14 +63,14 @@
}
static method expectTypeError(() →* void callback) → void {
try {
- callback.call();
+ callback(){() →* void};
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
}
}
static method expect(core::Object* value, core::Object* expected) → void {
- if(!value.{core::Object::==}(expected)) {
+ if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected ${expected}, got ${value}";
}
}
@@ -82,15 +82,15 @@
self::D* d = new self::D::•(new self::C::•<core::num*>(#C1));
let final self::D* #t1 = d in #t1.{self::D::value} = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:49:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
d.value /*@ checkReturn=(num*) ->* num* */ += 1;
- ^" in (#t1.{self::D::value}.{self::C::+}(1) as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
- self::expect(let final self::D* #t3 = d in let final core::int* #t4 = 0 in #t3.{self::D::setValue}.call(#t4), 1);
+ ^" in (#t1.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+ self::expect(let final self::D* #t3 = d in let final core::int* #t4 = 0 in #t3.{self::D::setValue}{(core::int*) →* core::int*}(#t4){(core::int*) →* core::int*}, 1);
d = new self::D::•(new self::C::•<core::num*>(#C2));
self::expectTypeError(() → Null {
let final self::D* #t5 = d in #t5.{self::D::value} = let final Never* #t6 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:53:48: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
d.value /*@ checkReturn=(num*) ->* num* */ += 1;
- ^" in (#t5.{self::D::value}.{self::C::+}(1) as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+ ^" in (#t5.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
});
- self::expect(d.{self::D::setValue}, null);
+ self::expect(d.{self::D::setValue}{(core::int*) →* core::int*}, null);
}
constants {
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect
index 8d05145..4fec92e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect
@@ -27,7 +27,7 @@
: self::C::plusResult = plusResult, super core::Object::•()
;
operator +(core::int* i) → (self::C::T*) →* core::num*
- return this.{self::C::plusResult};
+ return this.{self::C::plusResult}{(self::C::T*) →* core::num*};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
@@ -46,7 +46,7 @@
: self::D::getValue = getValue, super core::Object::•()
;
get value() → self::C<core::num*>*
- return this.{self::D::getValue};
+ return this.{self::D::getValue}{self::C<core::num*>*};
set value((core::int*) →* core::int* value) → void {
this.{self::D::setValue} = value;
}
@@ -63,14 +63,14 @@
}
static method expectTypeError(() →* void callback) → void {
try {
- callback.call();
+ callback(){() →* void};
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
}
}
static method expect(core::Object* value, core::Object* expected) → void {
- if(!value.{core::Object::==}(expected)) {
+ if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected ${expected}, got ${value}";
}
}
@@ -82,15 +82,15 @@
self::D* d = new self::D::•(new self::C::•<core::num*>(#C1));
let final self::D* #t1 = d in #t1.{self::D::value} = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:49:46: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
d.value /*@ checkReturn=(num*) ->* num* */ += 1;
- ^" in (#t1.{self::D::value}.{self::C::+}(1) as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
- self::expect(let final self::D* #t3 = d in let final core::int* #t4 = 0 in #t3.{self::D::setValue}.call(#t4), 1);
+ ^" in (#t1.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+ self::expect(let final self::D* #t3 = d in let final core::int* #t4 = 0 in #t3.{self::D::setValue}{(core::int*) →* core::int*}(#t4){(core::int*) →* core::int*}, 1);
d = new self::D::•(new self::C::•<core::num*>(#C2));
self::expectTypeError(() → Null {
let final self::D* #t5 = d in #t5.{self::D::value} = let final Never* #t6 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart:53:48: Error: A value of type 'num Function(num)' can't be assigned to a variable of type 'int Function(int)'.
d.value /*@ checkReturn=(num*) ->* num* */ += 1;
- ^" in (#t5.{self::D::value}.{self::C::+}(1) as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
+ ^" in (#t5.{self::D::value}{self::C<core::num*>*}.{self::C::+}(1){(core::int*) →* (core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*) as{TypeError} (core::int*) →* core::int*;
});
- self::expect(d.{self::D::setValue}, null);
+ self::expect(d.{self::D::setValue}{(core::int*) →* core::int*}, null);
}
constants {
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect
index 2115b29..5bf031a 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect
@@ -62,19 +62,19 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C<core::num*>* c) → void {
- let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
- ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*);
- self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t3 = c in #t3.{self::C::x} = (#t3.{self::C::x} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+ self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t3 = c in #t3.{self::C::x} = (#t3.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
var y = c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
- ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*);
- let final self::C<core::num*>* #t5 = c in (#t5.{self::C::x} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::==}(null) ?{self::B<core::Object*>*} #t5.{self::C::x} = let final Never* #t6 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+ let final self::C<core::num*>* #t5 = c in #t5.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<core::Object*>*} #t5.{self::C::x} = let final Never* #t6 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : null;
- self::B<core::Object*>* z = let final self::C<core::num*>* #t7 = c in let final self::B<(core::num*) →* void>* #t8 = #t7.{self::C::x} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t8.{self::B::==}(null) ?{self::B<core::Object*>*} #t7.{self::C::x} = let final Never* #t9 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ self::B<core::Object*>* z = let final self::C<core::num*>* #t7 = c in let final self::B<(core::num*) →* void>* #t8 = #t7.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t8 == null ?{self::B<core::Object*>*} #t7.{self::C::x} = let final Never* #t9 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
var z = c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : #t8;
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect
index 2115b29..5bf031a 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect
@@ -62,19 +62,19 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C<core::num*>* c) → void {
- let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ let final self::C<core::num*>* #t1 = c in #t1.{self::C::x} = (#t1.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(let final Never* #t2 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:20:54: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
- ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*);
- self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t3 = c in #t3.{self::C::x} = (#t3.{self::C::x} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+ self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t3 = c in #t3.{self::C::x} = (#t3.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(let final Never* #t4 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:21:62: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
var y = c. /*@ checkReturn=B<(num*) ->* void>* */ x += new B<num>();
- ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*);
- let final self::C<core::num*>* #t5 = c in (#t5.{self::C::x} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::==}(null) ?{self::B<core::Object*>*} #t5.{self::C::x} = let final Never* #t6 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ ^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>*){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*};
+ let final self::C<core::num*>* #t5 = c in #t5.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<core::Object*>*} #t5.{self::C::x} = let final Never* #t6 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:22:55: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : null;
- self::B<core::Object*>* z = let final self::C<core::num*>* #t7 = c in let final self::B<(core::num*) →* void>* #t8 = #t7.{self::C::x} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t8.{self::B::==}(null) ?{self::B<core::Object*>*} #t7.{self::C::x} = let final Never* #t9 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
+ self::B<core::Object*>* z = let final self::C<core::num*>* #t7 = c in let final self::B<(core::num*) →* void>* #t8 = #t7.{self::C::x}{self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t8 == null ?{self::B<core::Object*>*} #t7.{self::C::x} = let final Never* #t9 = invalid-expression "pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart:23:63: Error: A value of type 'B<num>' can't be assigned to a variable of type 'B<void Function(num)>'.
- 'B' is from 'pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart'.
var z = c. /*@ checkReturn=B<(num*) ->* void>* */ x ??= new B<num>();
^" in new self::B::•<core::num*>() as{TypeError} self::B<(core::num*) →* void>* : #t8;
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect
index 890a09c..5360289 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect
@@ -39,10 +39,10 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C<core::num*>* c) → void {
- c.{self::C::[]=}(0, new self::B::•<(core::num*) →* void>());
- let final self::C<core::num*>* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2) as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()));
- self::B<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in let final core::int* #t4 = 0 in let final self::B<(core::num*) →* void>* #t5 = (#t3.{self::C::[]}(#t4) as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()) in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5) in #t5;
- let final self::C<core::num*>* #t7 = c in let final core::int* #t8 = 0 in (#t7.{self::C::[]}(#t8) as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::==}(null) ?{self::B<(core::num*) →* void>*} #t7.{self::C::[]=}(#t8, new self::B::•<(core::num*) →* void>()) : null;
- self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t9 = c in let final core::int* #t10 = 0 in let final self::B<(core::num*) →* void>* #t11 = #t9.{self::C::[]}(#t10) as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t11.{self::B::==}(null) ?{self::B<(core::num*) →* void>*} let final self::B<(core::num*) →* void>* #t12 = new self::B::•<(core::num*) →* void>() in let final void #t13 = #t9.{self::C::[]=}(#t10, #t12) in #t12 : #t11;
+ c.{self::C::[]=}(0, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void};
+ let final self::C<core::num*>* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*}){(core::int*, self::B<(core::num*) →* void>*) →* void};
+ self::B<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in let final core::int* #t4 = 0 in let final self::B<(core::num*) →* void>* #t5 = (#t3.{self::C::[]}(#t4){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t5;
+ let final self::C<core::num*>* #t7 = c in let final core::int* #t8 = 0 in #t7.{self::C::[]}(#t8){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<(core::num*) →* void>*} #t7.{self::C::[]=}(#t8, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void} : null;
+ self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t9 = c in let final core::int* #t10 = 0 in let final self::B<(core::num*) →* void>* #t11 = #t9.{self::C::[]}(#t10){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t11 == null ?{self::B<(core::num*) →* void>*} let final self::B<(core::num*) →* void>* #t12 = new self::B::•<(core::num*) →* void>() in let final void #t13 = #t9.{self::C::[]=}(#t10, #t12){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t12 : #t11;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect
index e094433..88a3640 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect
@@ -39,11 +39,11 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C<core::num*>* c) → void {
- c.{self::C::[]=}(0, new self::B::•<(core::num*) →* void>());
- let final self::C<core::num*>* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2) as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()));
- self::B<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in let final core::int* #t4 = 0 in let final self::B<(core::num*) →* void>* #t5 = (#t3.{self::C::[]}(#t4) as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()) in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5) in #t5;
- let final self::C<core::num*>* #t7 = c in let final core::int* #t8 = 0 in (#t7.{self::C::[]}(#t8) as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::==}(null) ?{self::B<(core::num*) →* void>*} #t7.{self::C::[]=}(#t8, new self::B::•<(core::num*) →* void>()) : null;
- self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t9 = c in let final core::int* #t10 = 0 in let final self::B<(core::num*) →* void>* #t11 = #t9.{self::C::[]}(#t10) as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t11.{self::B::==}(null) ?{self::B<(core::num*) →* void>*} let final self::B<(core::num*) →* void>* #t12 = new self::B::•<(core::num*) →* void>() in let final void #t13 = #t9.{self::C::[]=}(#t10, #t12) in #t12 : #t11;
+ c.{self::C::[]=}(0, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void};
+ let final self::C<core::num*>* #t1 = c in let final core::int* #t2 = 0 in #t1.{self::C::[]=}(#t2, (#t1.{self::C::[]}(#t2){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*}){(core::int*, self::B<(core::num*) →* void>*) →* void};
+ self::B<(core::num*) →* void>* x = let final self::C<core::num*>* #t3 = c in let final core::int* #t4 = 0 in let final self::B<(core::num*) →* void>* #t5 = (#t3.{self::C::[]}(#t4){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>*).{self::B::+}(new self::B::•<(core::num*) →* void>()){(self::B<(core::num*) →* void>*) →* self::B<(core::num*) →* void>*} in let final void #t6 = #t3.{self::C::[]=}(#t4, #t5){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t5;
+ let final self::C<core::num*>* #t7 = c in let final core::int* #t8 = 0 in #t7.{self::C::[]}(#t8){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* == null ?{self::B<(core::num*) →* void>*} #t7.{self::C::[]=}(#t8, new self::B::•<(core::num*) →* void>()){(core::int*, self::B<(core::num*) →* void>*) →* void} : null;
+ self::B<(core::num*) →* void>* y = let final self::C<core::num*>* #t9 = c in let final core::int* #t10 = 0 in let final self::B<(core::num*) →* void>* #t11 = #t9.{self::C::[]}(#t10){(core::int*) →* self::B<(core::num*) →* void>*} as{TypeError,CovarianceCheck} self::B<(core::num*) →* void>* in #t11 == null ?{self::B<(core::num*) →* void>*} let final self::B<(core::num*) →* void>* #t12 = new self::B::•<(core::num*) →* void>() in let final void #t13 = #t9.{self::C::[]=}(#t10, #t12){(core::int*, self::B<(core::num*) →* void>*) →* void} in #t12 : #t11;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect
index 05d9122..906d2cb 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect
@@ -21,6 +21,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C<core::num*>* c) → (core::num*) →* void {
- return c.{self::C::[]}(0) as{TypeError,CovarianceCheck} (core::num*) →* void;
+ return c.{self::C::[]}(0){(core::int*) →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect
index 05d9122..906d2cb 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect
@@ -21,6 +21,6 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test(self::C<core::num*>* c) → (core::num*) →* void {
- return c.{self::C::[]}(0) as{TypeError,CovarianceCheck} (core::num*) →* void;
+ return c.{self::C::[]}(0){(core::int*) →* (core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect
index eb1c927..bbbc3fe 100644
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect
@@ -26,10 +26,10 @@
;
}
static method g1(self::B<core::num*>* b) → void {
- b.{self::B::f}(1.5);
+ b.{self::B::f}(1.5){(core::num*) →* void};
}
static method g2(self::C* c) → void {
- c.{self::B::f}(1);
+ c.{self::B::f}(1){(core::int*) →* void};
}
static method test() → void {
self::g1(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect
index eb1c927..bbbc3fe 100644
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect
@@ -26,10 +26,10 @@
;
}
static method g1(self::B<core::num*>* b) → void {
- b.{self::B::f}(1.5);
+ b.{self::B::f}(1.5){(core::num*) →* void};
}
static method g2(self::C* c) → void {
- c.{self::B::f}(1);
+ c.{self::B::f}(1){(core::int*) →* void};
}
static method test() → void {
self::g1(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect
index 2f222f6..df39d8e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect
@@ -94,14 +94,14 @@
}
static method expectTypeError(() →* void callback) → void {
try {
- callback.call();
+ callback(){() →* void};
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
}
}
static method expect(core::Object* value, core::Object* expected) → void {
- if(!value.{core::Object::==}(expected)) {
+ if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected ${expected}, got ${value}";
}
}
@@ -110,12 +110,12 @@
i.{self::I::x} = "hello";
});
i.{self::I::x} = 1;
- self::expect(i.{self::I::x}, 1);
+ self::expect(i.{self::I::x}{core::Object*}, 1);
self::expectTypeError(() → Null {
i.{self::I::y} = "hello";
});
i.{self::I::y} = 2;
- self::expect(i.{self::I::y}, 2);
+ self::expect(i.{self::I::y}{core::Object*}, 2);
}
static method main() → void {
self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect
index 50defc9..a92205f 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect
@@ -88,14 +88,14 @@
}
static method expectTypeError(() →* void callback) → void {
try {
- callback.call();
+ callback(){() →* void};
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
}
}
static method expect(core::Object* value, core::Object* expected) → void {
- if(!value.{core::Object::==}(expected)) {
+ if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected ${expected}, got ${value}";
}
}
@@ -104,12 +104,12 @@
i.{self::I::x} = "hello";
});
i.{self::I::x} = 1;
- self::expect(i.{self::I::x}, 1);
+ self::expect(i.{self::I::x}{core::Object*}, 1);
self::expectTypeError(() → Null {
i.{self::I::y} = "hello";
});
i.{self::I::y} = 2;
- self::expect(i.{self::I::y}, 2);
+ self::expect(i.{self::I::y}{core::Object*}, 2);
}
static method main() → void {
self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect
index 743d696..a4f4dfe 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect
@@ -103,14 +103,14 @@
}
static method expectTypeError(() →* void callback) → void {
try {
- callback.call();
+ callback(){() →* void};
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
}
}
static method expect(core::Object* value, core::Object* expected) → void {
- if(!value.{core::Object::==}(expected)) {
+ if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected ${expected}, got ${value}";
}
}
@@ -119,12 +119,12 @@
i.{self::I::x} = "hello";
});
i.{self::I::x} = 2;
- self::expect(i.{self::I::x}, 1);
+ self::expect(i.{self::I::x}{core::Object*}, 1);
self::expectTypeError(() → Null {
i.{self::I::y} = "hello";
});
i.{self::I::y} = 4;
- self::expect(i.{self::I::y}, 3);
+ self::expect(i.{self::I::y}{core::Object*}, 3);
}
static method main() → void {
self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect
index 7080348..e429a2c 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect
@@ -105,14 +105,14 @@
}
static method expectTypeError(() →* void callback) → void {
try {
- callback.call();
+ callback(){() →* void};
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
}
}
static method expect(core::Object* value, core::Object* expected) → void {
- if(!value.{core::Object::==}(expected)) {
+ if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected ${expected}, got ${value}";
}
}
@@ -121,12 +121,12 @@
i.{self::I::x} = "hello";
});
i.{self::I::x} = 2;
- self::expect(i.{self::I::x}, 1);
+ self::expect(i.{self::I::x}{core::Object*}, 1);
self::expectTypeError(() → Null {
i.{self::I::y} = "hello";
});
i.{self::I::y} = 4;
- self::expect(i.{self::I::y}, 3);
+ self::expect(i.{self::I::y}{core::Object*}, 3);
}
static method main() → void {
self::test(new self::C::•());
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect
index ac79e6e..2dac682 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect
@@ -46,29 +46,29 @@
}
static method expectTypeError(() →* void callback) → void {
try {
- callback.call();
+ callback(){() →* void};
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
}
}
static method expect(core::Object* value, core::Object* expected) → void {
- if(!value.{core::Object::==}(expected)) {
+ if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected ${expected}, got ${value}";
}
}
static method g(self::C* c) → void {
- c.{self::C::f}("hello");
+ c.{self::C::f}("hello"){(core::Object*) →* core::int*};
}
static method test(self::C* c, self::I* i) → void {
self::expectTypeError(() → Null {
- i.{self::I::f}("hello");
+ i.{self::I::f}("hello"){(core::Object*) →* core::int*};
});
- self::expect(i.{self::I::f}(1), 2);
+ self::expect(i.{self::I::f}(1){(core::Object*) →* core::int*}, 2);
self::expectTypeError(() → Null {
- c.{self::C::f}("hello");
+ c.{self::C::f}("hello"){(core::Object*) →* core::int*};
});
- self::expect(c.{self::C::f}(1), 2);
+ self::expect(c.{self::C::f}(1){(core::Object*) →* core::int*}, 2);
}
static method main() → dynamic {
self::C* c = new self::C::•();
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect
index ac79e6e..2dac682 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect
@@ -46,29 +46,29 @@
}
static method expectTypeError(() →* void callback) → void {
try {
- callback.call();
+ callback(){() →* void};
throw "Expected TypeError, did not occur";
}
on core::TypeError* catch(no-exception-var) {
}
}
static method expect(core::Object* value, core::Object* expected) → void {
- if(!value.{core::Object::==}(expected)) {
+ if(!(value =={core::Object::==}{(core::Object*) →* core::bool*} expected)) {
throw "Expected ${expected}, got ${value}";
}
}
static method g(self::C* c) → void {
- c.{self::C::f}("hello");
+ c.{self::C::f}("hello"){(core::Object*) →* core::int*};
}
static method test(self::C* c, self::I* i) → void {
self::expectTypeError(() → Null {
- i.{self::I::f}("hello");
+ i.{self::I::f}("hello"){(core::Object*) →* core::int*};
});
- self::expect(i.{self::I::f}(1), 2);
+ self::expect(i.{self::I::f}(1){(core::Object*) →* core::int*}, 2);
self::expectTypeError(() → Null {
- c.{self::C::f}("hello");
+ c.{self::C::f}("hello"){(core::Object*) →* core::int*};
});
- self::expect(c.{self::C::f}(1), 2);
+ self::expect(c.{self::C::f}(1){(core::Object*) →* core::int*}, 2);
}
static method main() → dynamic {
self::C* c = new self::C::•();
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect
index 5a2a090..84e910a 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect
@@ -26,7 +26,7 @@
: super core::Object::•()
;
static get nonNullableStaticFieldWithInitializer1() → core::int
- return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1.==(null) ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer1 = self::init<core::int>(55) : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer1 = self::init<core::int>(55) : #t1{core::int};
static set nonNullableStaticFieldWithInitializer1(core::int #t2) → void
self::Class::_#nonNullableStaticFieldWithInitializer1 = #t2;
static get nullableStaticFieldWithInitializer1() → core::int? {
@@ -41,7 +41,7 @@
self::Class::_#nullableStaticFieldWithInitializer1 = #t3;
}
static get nonNullableStaticFieldWithInitializer2() → core::int
- return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4.==(null) ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t4{core::int};
+ return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t4{core::int};
static set nonNullableStaticFieldWithInitializer2(core::int #t5) → void
self::Class::_#nonNullableStaticFieldWithInitializer2 = #t5;
static get nullableStaticFieldWithInitializer2() → core::int? {
@@ -56,7 +56,7 @@
self::Class::_#nullableStaticFieldWithInitializer2 = #t6;
}
static get nonNullableStaticFinalFieldWithInitializer1() → core::int
- return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t7.==(null) ?{core::int} let final core::int #t8 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t7{core::int};
+ return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t7 == null ?{core::int} let final core::int #t8 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t7{core::int};
static get nullableStaticFinalFieldWithInitializer1() → core::int? {
if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) {
final core::int? #t9 = self::init<core::int?>(19);
@@ -68,18 +68,18 @@
return self::Class::_#nullableStaticFinalFieldWithInitializer1;
}
static get nonNullableStaticFinalFieldWithInitializer2Init() → core::int
- return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t10{core::int};
+ return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t10{core::int};
static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t11) → void
self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = #t11;
static get nonNullableStaticFinalFieldWithInitializer2() → core::int
- return let final core::int? #t12 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t12.==(null) ?{core::int} let final core::int #t13 = (let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t15 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t14.{core::num::+}(1) in #t14).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1) : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t13 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t12{core::int};
+ return let final core::int? #t12 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t12 == null ?{core::int} let final core::int #t13 = (let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t15 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t14.{core::num::+}(1){(core::num) → core::int} in #t14) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t13 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t12{core::int};
static get nullableStaticFinalFieldWithInitializer2Init() → core::int
- return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16.==(null) ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t16{core::int};
+ return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16 == null ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t16{core::int};
static set nullableStaticFinalFieldWithInitializer2Init(core::int #t17) → void
self::Class::_#nullableStaticFinalFieldWithInitializer2Init = #t17;
static get nullableStaticFinalFieldWithInitializer2() → core::int? {
if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
- final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1) in #t19).{core::num::==}(0) ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1) : 32;
+ final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1){(core::num) → core::int} in #t19) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
@@ -110,7 +110,7 @@
return value;
}
static get nonNullableTopLevelFieldWithInitializer1() → core::int
- return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t21{core::int};
+ return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t21{core::int};
static set nonNullableTopLevelFieldWithInitializer1(core::int #t22) → void
self::_#nonNullableTopLevelFieldWithInitializer1 = #t22;
static get nullableTopLevelFieldWithInitializer() → core::int? {
@@ -125,7 +125,7 @@
self::_#nullableTopLevelFieldWithInitializer = #t23;
}
static get nonNullableTopLevelFieldWithInitializer2() → core::int
- return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t24{core::int};
+ return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t24{core::int};
static set nonNullableTopLevelFieldWithInitializer2(core::int #t25) → void
self::_#nonNullableTopLevelFieldWithInitializer2 = #t25;
static get nullableTopLevelFieldWithInitializer2() → core::int? {
@@ -140,7 +140,7 @@
self::_#nullableTopLevelFieldWithInitializer2 = #t26;
}
static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int
- return let final core::int? #t27 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t27.==(null) ?{core::int} let final core::int #t28 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t28 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t27{core::int};
+ return let final core::int? #t27 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t27 == null ?{core::int} let final core::int #t28 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t28 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t27{core::int};
static get nullableFinalTopLevelFieldWithInitializer1() → core::int? {
if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) {
final core::int? #t29 = self::init<core::int?>(32);
@@ -152,18 +152,18 @@
return self::_#nullableFinalTopLevelFieldWithInitializer1;
}
static get nonNullableFinalTopLevelFieldWithInitializer2Init() → core::int
- return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t30{core::int};
+ return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t30{core::int};
static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t31) → void
self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = #t31;
static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int
- return let final core::int? #t32 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t32.==(null) ?{core::int} let final core::int #t33 = (let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t35 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t34.{core::num::+}(1) in #t34).{core::num::==}(0) ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t33 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t32{core::int};
+ return let final core::int? #t32 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t32 == null ?{core::int} let final core::int #t33 = (let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t35 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t34.{core::num::+}(1){(core::num) → core::int} in #t34) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t33 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t32{core::int};
static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int
- return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36.==(null) ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t36{core::int};
+ return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36 == null ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t36{core::int};
static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t37) → void
self::_#nullableFinalTopLevelFieldWithInitializer2Init = #t37;
static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
- final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1) in #t39).{core::num::==}(0) ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1) : 32;
+ final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1){(core::num) → core::int} in #t39) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
@@ -215,17 +215,17 @@
self::throws(() → core::int? => self::Class::nullableStaticFinalFieldWithInitializer2, "Read nullableStaticFinalFieldWithInitializer2");
self::Class c = new self::Class::•();
self::expect(17, self::lastInit);
- self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer});
- self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer});
+ self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer}{core::int});
+ self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer}{core::int?});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect
index 5a2a090..84e910a 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect
@@ -26,7 +26,7 @@
: super core::Object::•()
;
static get nonNullableStaticFieldWithInitializer1() → core::int
- return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1.==(null) ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer1 = self::init<core::int>(55) : #t1{core::int};
+ return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer1 = self::init<core::int>(55) : #t1{core::int};
static set nonNullableStaticFieldWithInitializer1(core::int #t2) → void
self::Class::_#nonNullableStaticFieldWithInitializer1 = #t2;
static get nullableStaticFieldWithInitializer1() → core::int? {
@@ -41,7 +41,7 @@
self::Class::_#nullableStaticFieldWithInitializer1 = #t3;
}
static get nonNullableStaticFieldWithInitializer2() → core::int
- return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4.==(null) ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t4{core::int};
+ return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t4{core::int};
static set nonNullableStaticFieldWithInitializer2(core::int #t5) → void
self::Class::_#nonNullableStaticFieldWithInitializer2 = #t5;
static get nullableStaticFieldWithInitializer2() → core::int? {
@@ -56,7 +56,7 @@
self::Class::_#nullableStaticFieldWithInitializer2 = #t6;
}
static get nonNullableStaticFinalFieldWithInitializer1() → core::int
- return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t7.==(null) ?{core::int} let final core::int #t8 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t7{core::int};
+ return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t7 == null ?{core::int} let final core::int #t8 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t7{core::int};
static get nullableStaticFinalFieldWithInitializer1() → core::int? {
if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) {
final core::int? #t9 = self::init<core::int?>(19);
@@ -68,18 +68,18 @@
return self::Class::_#nullableStaticFinalFieldWithInitializer1;
}
static get nonNullableStaticFinalFieldWithInitializer2Init() → core::int
- return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t10{core::int};
+ return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t10{core::int};
static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t11) → void
self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = #t11;
static get nonNullableStaticFinalFieldWithInitializer2() → core::int
- return let final core::int? #t12 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t12.==(null) ?{core::int} let final core::int #t13 = (let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t15 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t14.{core::num::+}(1) in #t14).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1) : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t13 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t12{core::int};
+ return let final core::int? #t12 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t12 == null ?{core::int} let final core::int #t13 = (let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t15 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t14.{core::num::+}(1){(core::num) → core::int} in #t14) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t13 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t12{core::int};
static get nullableStaticFinalFieldWithInitializer2Init() → core::int
- return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16.==(null) ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t16{core::int};
+ return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16 == null ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t16{core::int};
static set nullableStaticFinalFieldWithInitializer2Init(core::int #t17) → void
self::Class::_#nullableStaticFinalFieldWithInitializer2Init = #t17;
static get nullableStaticFinalFieldWithInitializer2() → core::int? {
if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
- final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1) in #t19).{core::num::==}(0) ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1) : 32;
+ final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1){(core::num) → core::int} in #t19) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
@@ -110,7 +110,7 @@
return value;
}
static get nonNullableTopLevelFieldWithInitializer1() → core::int
- return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t21{core::int};
+ return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t21{core::int};
static set nonNullableTopLevelFieldWithInitializer1(core::int #t22) → void
self::_#nonNullableTopLevelFieldWithInitializer1 = #t22;
static get nullableTopLevelFieldWithInitializer() → core::int? {
@@ -125,7 +125,7 @@
self::_#nullableTopLevelFieldWithInitializer = #t23;
}
static get nonNullableTopLevelFieldWithInitializer2() → core::int
- return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t24{core::int};
+ return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t24{core::int};
static set nonNullableTopLevelFieldWithInitializer2(core::int #t25) → void
self::_#nonNullableTopLevelFieldWithInitializer2 = #t25;
static get nullableTopLevelFieldWithInitializer2() → core::int? {
@@ -140,7 +140,7 @@
self::_#nullableTopLevelFieldWithInitializer2 = #t26;
}
static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int
- return let final core::int? #t27 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t27.==(null) ?{core::int} let final core::int #t28 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t28 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t27{core::int};
+ return let final core::int? #t27 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t27 == null ?{core::int} let final core::int #t28 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t28 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t27{core::int};
static get nullableFinalTopLevelFieldWithInitializer1() → core::int? {
if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) {
final core::int? #t29 = self::init<core::int?>(32);
@@ -152,18 +152,18 @@
return self::_#nullableFinalTopLevelFieldWithInitializer1;
}
static get nonNullableFinalTopLevelFieldWithInitializer2Init() → core::int
- return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t30{core::int};
+ return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t30{core::int};
static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t31) → void
self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = #t31;
static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int
- return let final core::int? #t32 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t32.==(null) ?{core::int} let final core::int #t33 = (let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t35 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t34.{core::num::+}(1) in #t34).{core::num::==}(0) ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t33 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t32{core::int};
+ return let final core::int? #t32 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t32 == null ?{core::int} let final core::int #t33 = (let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t35 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t34.{core::num::+}(1){(core::num) → core::int} in #t34) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t33 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t32{core::int};
static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int
- return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36.==(null) ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t36{core::int};
+ return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36 == null ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t36{core::int};
static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t37) → void
self::_#nullableFinalTopLevelFieldWithInitializer2Init = #t37;
static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
- final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1) in #t39).{core::num::==}(0) ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1) : 32;
+ final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1){(core::num) → core::int} in #t39) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
@@ -215,17 +215,17 @@
self::throws(() → core::int? => self::Class::nullableStaticFinalFieldWithInitializer2, "Read nullableStaticFinalFieldWithInitializer2");
self::Class c = new self::Class::•();
self::expect(17, self::lastInit);
- self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer});
- self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer});
+ self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer}{core::int});
+ self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer}{core::int?});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.expect
index b02a477..257eeac 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.expect
@@ -108,7 +108,7 @@
}
static get nonNullableStaticFinalFieldWithInitializer2() → core::int {
if(!self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet) {
- final core::int #t12 = (let final core::int #t13 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1) : 87;
+ final core::int #t12 = (let final core::int #t13 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
if(self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2");
self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t12;
@@ -129,7 +129,7 @@
}
static get nullableStaticFinalFieldWithInitializer2() → core::int? {
if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
- final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1) in #t19).{core::num::==}(0) ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1) : 32;
+ final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1){(core::num) → core::int} in #t19) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
@@ -242,7 +242,7 @@
}
static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int {
if(!self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet) {
- final core::int #t32 = (let final core::int #t33 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t33.{core::num::+}(1) in #t33).{core::num::==}(0) ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87;
+ final core::int #t32 = (let final core::int #t33 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t33.{core::num::+}(1){(core::num) → core::int} in #t33) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
if(self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2");
self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t32;
@@ -263,7 +263,7 @@
}
static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
- final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1) in #t39).{core::num::==}(0) ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1) : 32;
+ final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1){(core::num) → core::int} in #t39) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
@@ -315,17 +315,17 @@
self::throws(() → core::int? => self::Class::nullableStaticFinalFieldWithInitializer2, "Read nullableStaticFinalFieldWithInitializer2");
self::Class c = new self::Class::•();
self::expect(17, self::lastInit);
- self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer});
- self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer});
+ self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer}{core::int});
+ self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer}{core::int?});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.transformed.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.transformed.expect
index b02a477..257eeac 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.transformed.expect
@@ -108,7 +108,7 @@
}
static get nonNullableStaticFinalFieldWithInitializer2() → core::int {
if(!self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet) {
- final core::int #t12 = (let final core::int #t13 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1) in #t13).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1) : 87;
+ final core::int #t12 = (let final core::int #t13 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
if(self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2");
self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t12;
@@ -129,7 +129,7 @@
}
static get nullableStaticFinalFieldWithInitializer2() → core::int? {
if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
- final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1) in #t19).{core::num::==}(0) ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1) : 32;
+ final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1){(core::num) → core::int} in #t19) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
@@ -242,7 +242,7 @@
}
static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int {
if(!self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet) {
- final core::int #t32 = (let final core::int #t33 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t33.{core::num::+}(1) in #t33).{core::num::==}(0) ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87;
+ final core::int #t32 = (let final core::int #t33 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t33.{core::num::+}(1){(core::num) → core::int} in #t33) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
if(self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2");
self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t32;
@@ -263,7 +263,7 @@
}
static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
- final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1) in #t39).{core::num::==}(0) ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1) : 32;
+ final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1){(core::num) → core::int} in #t39) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
@@ -315,17 +315,17 @@
self::throws(() → core::int? => self::Class::nullableStaticFinalFieldWithInitializer2, "Read nullableStaticFinalFieldWithInitializer2");
self::Class c = new self::Class::•();
self::expect(17, self::lastInit);
- self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer});
- self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer});
+ self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer}{core::int});
+ self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer}{core::int?});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() → dynamic f, core::String message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on core::Error catch(final core::Error e) {
core::print(e);
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.expect b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.expect
index 144aafa..c8dcf3e 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.expect
@@ -17,7 +17,7 @@
static field core::int* staticFieldWithInitializer2 = self::init<core::int*>(55);
static final field core::int* staticFinalFieldWithInitializer1 = self::init<core::int*>(73);
static field core::int* staticFinalFieldWithInitializer2Init = 0;
- static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1) in #t1).{core::num::==}(0) ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1) : 87;
+ static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1) =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1){(core::num*) →* core::int*} : 87;
synthetic constructor •() → self::Class*
: super core::Object::•()
;
@@ -39,7 +39,7 @@
static field core::int* topLevelFieldWithInitializer2 = self::init<core::int*>(42);
static final field core::int* finalTopLevelFieldWithInitializer1 = self::init<core::int*>(87);
static field core::int* finalTopLevelFieldWithInitializer2Init = 0;
-static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87;
+static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3) =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num*) →* core::int*} : 87;
static method init<T extends core::Object* = dynamic>(self::init::T* value) → self::init::T* {
self::lastInit = value;
return value;
@@ -70,16 +70,16 @@
self::throws(() → core::int* => self::Class::staticFinalFieldWithInitializer2, "Read staticFinalFieldWithInitializer2");
self::Class* c = new self::Class::•();
self::expect(55, self::lastInit);
- self::expect(55, c.{self::Class::instanceFieldWithInitializer});
+ self::expect(55, c.{self::Class::instanceFieldWithInitializer}{core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() →* dynamic f, core::String* message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on dynamic catch(final dynamic e) {
core::print(e);
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.transformed.expect b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.transformed.expect
index 144aafa..c8dcf3e 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.transformed.expect
@@ -17,7 +17,7 @@
static field core::int* staticFieldWithInitializer2 = self::init<core::int*>(55);
static final field core::int* staticFinalFieldWithInitializer1 = self::init<core::int*>(73);
static field core::int* staticFinalFieldWithInitializer2Init = 0;
- static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1) in #t1).{core::num::==}(0) ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1) : 87;
+ static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1) =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1){(core::num*) →* core::int*} : 87;
synthetic constructor •() → self::Class*
: super core::Object::•()
;
@@ -39,7 +39,7 @@
static field core::int* topLevelFieldWithInitializer2 = self::init<core::int*>(42);
static final field core::int* finalTopLevelFieldWithInitializer1 = self::init<core::int*>(87);
static field core::int* finalTopLevelFieldWithInitializer2Init = 0;
-static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87;
+static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3) =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num*) →* core::int*} : 87;
static method init<T extends core::Object* = dynamic>(self::init::T* value) → self::init::T* {
self::lastInit = value;
return value;
@@ -70,16 +70,16 @@
self::throws(() → core::int* => self::Class::staticFinalFieldWithInitializer2, "Read staticFinalFieldWithInitializer2");
self::Class* c = new self::Class::•();
self::expect(55, self::lastInit);
- self::expect(55, c.{self::Class::instanceFieldWithInitializer});
+ self::expect(55, c.{self::Class::instanceFieldWithInitializer}{core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() →* dynamic f, core::String* message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on dynamic catch(final dynamic e) {
core::print(e);
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.expect b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.expect
index fe00cf4..acecebc 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.expect
@@ -10,7 +10,7 @@
static field core::int* staticFieldWithInitializer2 = self::init<core::int*>(55);
static final field core::int* staticFinalFieldWithInitializer1 = self::init<core::int*>(73);
static field core::int* staticFinalFieldWithInitializer2Init = 0;
- static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1) in #t1).{core::num::==}(0) ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1) : 87;
+ static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1) =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1){(core::num*) →* core::int*} : 87;
synthetic constructor •() → self::Class*
: super core::Object::•()
;
@@ -32,7 +32,7 @@
static field core::int* topLevelFieldWithInitializer2 = self::init<core::int*>(42);
static final field core::int* finalTopLevelFieldWithInitializer1 = self::init<core::int*>(87);
static field core::int* finalTopLevelFieldWithInitializer2Init = 0;
-static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87;
+static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3) =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num*) →* core::int*} : 87;
static method init<T extends core::Object* = dynamic>(self::init::T* value) → self::init::T* {
self::lastInit = value;
return value;
@@ -63,16 +63,16 @@
self::throws(() → core::int* => self::Class::staticFinalFieldWithInitializer2, "Read staticFinalFieldWithInitializer2");
self::Class* c = new self::Class::•();
self::expect(55, self::lastInit);
- self::expect(55, c.{self::Class::instanceFieldWithInitializer});
+ self::expect(55, c.{self::Class::instanceFieldWithInitializer}{core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() →* dynamic f, core::String* message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on dynamic catch(final dynamic e) {
core::print(e);
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.transformed.expect
index fe00cf4..acecebc 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.transformed.expect
@@ -10,7 +10,7 @@
static field core::int* staticFieldWithInitializer2 = self::init<core::int*>(55);
static final field core::int* staticFinalFieldWithInitializer1 = self::init<core::int*>(73);
static field core::int* staticFinalFieldWithInitializer2Init = 0;
- static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1) in #t1).{core::num::==}(0) ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1) : 87;
+ static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1){(core::num*) →* core::int*} in #t1) =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1){(core::num*) →* core::int*} : 87;
synthetic constructor •() → self::Class*
: super core::Object::•()
;
@@ -32,7 +32,7 @@
static field core::int* topLevelFieldWithInitializer2 = self::init<core::int*>(42);
static final field core::int* finalTopLevelFieldWithInitializer1 = self::init<core::int*>(87);
static field core::int* finalTopLevelFieldWithInitializer2Init = 0;
-static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87;
+static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1){(core::num*) →* core::int*} in #t3) =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num*) →* core::int*} : 87;
static method init<T extends core::Object* = dynamic>(self::init::T* value) → self::init::T* {
self::lastInit = value;
return value;
@@ -63,16 +63,16 @@
self::throws(() → core::int* => self::Class::staticFinalFieldWithInitializer2, "Read staticFinalFieldWithInitializer2");
self::Class* c = new self::Class::•();
self::expect(55, self::lastInit);
- self::expect(55, c.{self::Class::instanceFieldWithInitializer});
+ self::expect(55, c.{self::Class::instanceFieldWithInitializer}{core::int*});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() →* dynamic f, core::String* message) → dynamic {
dynamic value;
try {
- value = f.call();
+ value = f();
}
on dynamic catch(final dynamic e) {
core::print(e);
diff --git a/pkg/front_end/testcases/text_serialization.status b/pkg/front_end/testcases/text_serialization.status
index c8b4bc7..a31c85f 100644
--- a/pkg/front_end/testcases/text_serialization.status
+++ b/pkg/front_end/testcases/text_serialization.status
@@ -13,11 +13,9 @@
extension_types/simple_method_resolution: ExpectationFileMismatchSerialized # Expected.
extension_types/simple_operator_resolution: ExpectationFileMismatchSerialized # Expected.
extension_types/simple_setter_resolution: ExpectationFileMismatchSerialized # Expected.
-extensions/call_methods: TypeCheckError
extensions/extension_setter_error: TypeCheckError
extensions/instance_access_of_static: RuntimeError
extensions/invalid_explicit_access: RuntimeError
-extensions/issue40713: TypeCheckError
extensions/static_access_of_instance: RuntimeError
general/abstract_members: TypeCheckError
general/accessors: RuntimeError
@@ -69,7 +67,6 @@
general/error_recovery/yield_not_in_generator: RuntimeError
general/expressions: RuntimeError
general/external_import: RuntimeError
-general/function_invocation_bounds: TypeCheckError
general/getter_vs_setter_type: TypeCheckError
general/incomplete_field_formal_parameter: RuntimeError
general/infer_field_from_multiple: TypeCheckError
diff --git a/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.expect b/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.expect
index 21d66e0..2e6cfa8 100644
--- a/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.expect
@@ -10,24 +10,24 @@
core::List<core::int*>* list = block {
final core::List<core::int*>* #t1 = <core::int*>[element0 as{TypeError,ForDynamic} core::int*, element1 as{TypeError} core::int*, element2];
if(true)
- #t1.{core::List::add}{Invariant}(3);
- #t1.{core::List::add}{Invariant}(4);
- #t1.{core::List::add}{Invariant}(5);
- #t1.{core::List::add}{Invariant}(6);
+ #t1.{core::List::add}(3){(core::int*) →* void};
+ #t1.{core::List::add}(4){(core::int*) →* void};
+ #t1.{core::List::add}(5){(core::int*) →* void};
+ #t1.{core::List::add}(6){(core::int*) →* void};
} =>#t1;
self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
- #t2.{core::Set::add}{Invariant}(element0 as{TypeError,ForDynamic} core::int*);
- #t2.{core::Set::add}{Invariant}(element1 as{TypeError} core::int*);
- #t2.{core::Set::add}{Invariant}(element2);
+ #t2.{core::Set::add}(element0 as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(element1 as{TypeError} core::int*){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(element2){(core::int*) →* core::bool*};
if(true)
- #t2.{core::Set::add}{Invariant}(3);
- #t2.{core::Set::add}{Invariant}(4);
- #t2.{core::Set::add}{Invariant}(5);
- #t2.{core::Set::add}{Invariant}(6);
+ #t2.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t2;
- self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread1() → void {
dynamic initial = <core::int*>[0, 1, 2];
@@ -35,28 +35,28 @@
final core::List<core::int*>* #t3 = <core::int*>[];
for (final dynamic #t4 in initial as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t5 = #t4 as{TypeError} core::int*;
- #t3.{core::List::add}{Invariant}(#t5);
+ #t3.{core::List::add}(#t5){(core::int*) →* void};
}
if(true)
- #t3.{core::List::add}{Invariant}(3);
- #t3.{core::List::add}{Invariant}(4);
- #t3.{core::List::add}{Invariant}(5);
- #t3.{core::List::add}{Invariant}(6);
+ #t3.{core::List::add}(3){(core::int*) →* void};
+ #t3.{core::List::add}(4){(core::int*) →* void};
+ #t3.{core::List::add}(5){(core::int*) →* void};
+ #t3.{core::List::add}(6){(core::int*) →* void};
} =>#t3;
self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t6 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t7 in initial as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t8 = #t7 as{TypeError} core::int*;
- #t6.{core::Set::add}{Invariant}(#t8);
+ #t6.{core::Set::add}(#t8){(core::int*) →* core::bool*};
}
if(true)
- #t6.{core::Set::add}{Invariant}(3);
- #t6.{core::Set::add}{Invariant}(4);
- #t6.{core::Set::add}{Invariant}(5);
- #t6.{core::Set::add}{Invariant}(6);
+ #t6.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t6;
- self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread2() → void {
core::Iterable<core::num*>* initial = <core::num*>[0, 1, 2];
@@ -64,28 +64,28 @@
final core::List<core::int*>* #t9 = <core::int*>[];
for (final dynamic #t10 in initial) {
final core::int* #t11 = #t10 as{TypeError} core::int*;
- #t9.{core::List::add}{Invariant}(#t11);
+ #t9.{core::List::add}(#t11){(core::int*) →* void};
}
if(true)
- #t9.{core::List::add}{Invariant}(3);
- #t9.{core::List::add}{Invariant}(4);
- #t9.{core::List::add}{Invariant}(5);
- #t9.{core::List::add}{Invariant}(6);
+ #t9.{core::List::add}(3){(core::int*) →* void};
+ #t9.{core::List::add}(4){(core::int*) →* void};
+ #t9.{core::List::add}(5){(core::int*) →* void};
+ #t9.{core::List::add}(6){(core::int*) →* void};
} =>#t9;
self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t12 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t13 in initial) {
final core::int* #t14 = #t13 as{TypeError} core::int*;
- #t12.{core::Set::add}{Invariant}(#t14);
+ #t12.{core::Set::add}(#t14){(core::int*) →* core::bool*};
}
if(true)
- #t12.{core::Set::add}{Invariant}(3);
- #t12.{core::Set::add}{Invariant}(4);
- #t12.{core::Set::add}{Invariant}(5);
- #t12.{core::Set::add}{Invariant}(6);
+ #t12.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t12.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t12.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t12.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t12;
- self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread3() → void {
core::List<core::num*>* initial = <core::num*>[0, 1, 2];
@@ -93,97 +93,97 @@
final core::List<core::int*>* #t15 = <core::int*>[];
for (final dynamic #t16 in initial) {
final core::int* #t17 = #t16 as{TypeError} core::int*;
- #t15.{core::List::add}{Invariant}(#t17);
+ #t15.{core::List::add}(#t17){(core::int*) →* void};
}
if(true)
- #t15.{core::List::add}{Invariant}(3);
- #t15.{core::List::add}{Invariant}(4);
- #t15.{core::List::add}{Invariant}(5);
- #t15.{core::List::add}{Invariant}(6);
+ #t15.{core::List::add}(3){(core::int*) →* void};
+ #t15.{core::List::add}(4){(core::int*) →* void};
+ #t15.{core::List::add}(5){(core::int*) →* void};
+ #t15.{core::List::add}(6){(core::int*) →* void};
} =>#t15;
self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t18 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t19 in initial) {
final core::int* #t20 = #t19 as{TypeError} core::int*;
- #t18.{core::Set::add}{Invariant}(#t20);
+ #t18.{core::Set::add}(#t20){(core::int*) →* core::bool*};
}
if(true)
- #t18.{core::Set::add}{Invariant}(3);
- #t18.{core::Set::add}{Invariant}(4);
- #t18.{core::Set::add}{Invariant}(5);
- #t18.{core::Set::add}{Invariant}(6);
+ #t18.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t18.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t18.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t18.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t18;
- self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread4() → void {
core::Iterable<core::int*>* initial = <core::int*>[0, 1, 2];
core::List<core::int*>* list = block {
final core::List<core::int*>* #t21 = core::List::of<core::int*>(initial);
if(true)
- #t21.{core::List::add}{Invariant}(3);
- #t21.{core::List::add}{Invariant}(4);
- #t21.{core::List::add}{Invariant}(5);
- #t21.{core::List::add}{Invariant}(6);
+ #t21.{core::List::add}(3){(core::int*) →* void};
+ #t21.{core::List::add}(4){(core::int*) →* void};
+ #t21.{core::List::add}(5){(core::int*) →* void};
+ #t21.{core::List::add}(6){(core::int*) →* void};
} =>#t21;
self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t22 = col::LinkedHashSet::of<core::int*>(initial);
if(true)
- #t22.{core::Set::add}{Invariant}(3);
- #t22.{core::Set::add}{Invariant}(4);
- #t22.{core::Set::add}{Invariant}(5);
- #t22.{core::Set::add}{Invariant}(6);
+ #t22.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t22.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t22.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t22.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t22;
- self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread5() → void {
core::List<core::int*>* initial = <core::int*>[0, 1, 2];
core::List<core::int*>* list = block {
final core::List<core::int*>* #t23 = core::List::of<core::int*>(initial);
if(true)
- #t23.{core::List::add}{Invariant}(3);
- #t23.{core::List::add}{Invariant}(4);
- #t23.{core::List::add}{Invariant}(5);
- #t23.{core::List::add}{Invariant}(6);
+ #t23.{core::List::add}(3){(core::int*) →* void};
+ #t23.{core::List::add}(4){(core::int*) →* void};
+ #t23.{core::List::add}(5){(core::int*) →* void};
+ #t23.{core::List::add}(6){(core::int*) →* void};
} =>#t23;
self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t24 = col::LinkedHashSet::of<core::int*>(initial);
if(true)
- #t24.{core::Set::add}{Invariant}(3);
- #t24.{core::Set::add}{Invariant}(4);
- #t24.{core::Set::add}{Invariant}(5);
- #t24.{core::Set::add}{Invariant}(6);
+ #t24.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t24.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t24.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t24.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t24;
- self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread6() → void {
core::List<core::int*>* initial = <core::int*>[0, 1, 2];
core::List<core::int*>* list = block {
final core::List<core::int*>* #t25 = <core::int*>[];
final core::Iterable<core::int*>* #t26 = initial;
- if(!#t26.{core::Object::==}(null))
- #t25.{core::List::addAll}{Invariant}(#t26);
+ if(!(#t26 == null))
+ #t25.{core::List::addAll}(#t26){(core::Iterable<core::int*>*) →* void};
if(true)
- #t25.{core::List::add}{Invariant}(3);
- #t25.{core::List::add}{Invariant}(4);
- #t25.{core::List::add}{Invariant}(5);
- #t25.{core::List::add}{Invariant}(6);
+ #t25.{core::List::add}(3){(core::int*) →* void};
+ #t25.{core::List::add}(4){(core::int*) →* void};
+ #t25.{core::List::add}(5){(core::int*) →* void};
+ #t25.{core::List::add}(6){(core::int*) →* void};
} =>#t25;
self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t27 = col::LinkedHashSet::•<core::int*>();
final core::Iterable<core::int*>* #t28 = initial;
- if(!#t28.{core::Object::==}(null))
- #t27.{core::Set::addAll}{Invariant}(#t28);
+ if(!(#t28 == null))
+ #t27.{core::Set::addAll}(#t28){(core::Iterable<core::int*>*) →* void};
if(true)
- #t27.{core::Set::add}{Invariant}(3);
- #t27.{core::Set::add}{Invariant}(4);
- #t27.{core::Set::add}{Invariant}(5);
- #t27.{core::Set::add}{Invariant}(6);
+ #t27.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t27.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t27.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t27.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t27;
- self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::List::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method main() → dynamic {
self::foldInitialElements();
@@ -195,12 +195,12 @@
self::foldInitialSpread6();
}
static method expect(core::List<dynamic>* list1, core::List<dynamic>* list2) → void {
- if(!list1.{core::List::length}.{core::num::==}(list2.{core::List::length})) {
- throw "Unexpected length. Expected ${list1.{core::List::length}}, actual ${list2.{core::List::length}}.";
+ if(!(list1.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} list2.{core::List::length}{core::int*})) {
+ throw "Unexpected length. Expected ${list1.{core::List::length}{core::int*}}, actual ${list2.{core::List::length}{core::int*}}.";
}
- for (core::int* i = 0; i.{core::num::<}(list1.{core::List::length}); i = i.{core::num::+}(1)) {
- if(!list1.{core::List::[]}(i).{core::Object::==}(list2.{core::List::[]}(i))) {
- throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i)}, actual ${list2.{core::List::[]}(i)}.";
+ for (core::int* i = 0; i.{core::num::<}(list1.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ if(!(list1.{core::List::[]}(i){(core::int*) →* dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} list2.{core::List::[]}(i){(core::int*) →* dynamic})) {
+ throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int*) →* dynamic}}, actual ${list2.{core::List::[]}(i){(core::int*) →* dynamic}}.";
}
}
}
diff --git a/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.transformed.expect
index 09431d2..27a662d 100644
--- a/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.transformed.expect
@@ -10,24 +10,24 @@
core::List<core::int*>* list = block {
final core::List<core::int*>* #t1 = core::_GrowableList::_literal3<core::int*>(element0 as{TypeError,ForDynamic} core::int*, element1 as{TypeError} core::int*, element2);
if(true)
- #t1.{core::List::add}{Invariant}(3);
- #t1.{core::List::add}{Invariant}(4);
- #t1.{core::List::add}{Invariant}(5);
- #t1.{core::List::add}{Invariant}(6);
+ #t1.{core::List::add}(3){(core::int*) →* void};
+ #t1.{core::List::add}(4){(core::int*) →* void};
+ #t1.{core::List::add}(5){(core::int*) →* void};
+ #t1.{core::List::add}(6){(core::int*) →* void};
} =>#t1;
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t2 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t2.{core::Set::add}{Invariant}(element0 as{TypeError,ForDynamic} core::int*);
- #t2.{core::Set::add}{Invariant}(element1 as{TypeError} core::int*);
- #t2.{core::Set::add}{Invariant}(element2);
+ #t2.{core::Set::add}(element0 as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(element1 as{TypeError} core::int*){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(element2){(core::int*) →* core::bool*};
if(true)
- #t2.{core::Set::add}{Invariant}(3);
- #t2.{core::Set::add}{Invariant}(4);
- #t2.{core::Set::add}{Invariant}(5);
- #t2.{core::Set::add}{Invariant}(6);
+ #t2.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t2.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t2;
- self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread1() → void {
dynamic initial = core::_GrowableList::_literal3<core::int*>(0, 1, 2);
@@ -39,15 +39,15 @@
final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t5 = #t4 as{TypeError} core::int*;
- #t3.{core::List::add}{Invariant}(#t5);
+ #t3.{core::List::add}(#t5){(core::int*) →* void};
}
}
}
if(true)
- #t3.{core::List::add}{Invariant}(3);
- #t3.{core::List::add}{Invariant}(4);
- #t3.{core::List::add}{Invariant}(5);
- #t3.{core::List::add}{Invariant}(6);
+ #t3.{core::List::add}(3){(core::int*) →* void};
+ #t3.{core::List::add}(4){(core::int*) →* void};
+ #t3.{core::List::add}(5){(core::int*) →* void};
+ #t3.{core::List::add}(6){(core::int*) →* void};
} =>#t3;
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
@@ -58,17 +58,17 @@
final dynamic #t7 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t8 = #t7 as{TypeError} core::int*;
- #t6.{core::Set::add}{Invariant}(#t8);
+ #t6.{core::Set::add}(#t8){(core::int*) →* core::bool*};
}
}
}
if(true)
- #t6.{core::Set::add}{Invariant}(3);
- #t6.{core::Set::add}{Invariant}(4);
- #t6.{core::Set::add}{Invariant}(5);
- #t6.{core::Set::add}{Invariant}(6);
+ #t6.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t6;
- self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread2() → void {
core::Iterable<core::num*>* initial = core::_GrowableList::_literal3<core::num*>(0, 1, 2);
@@ -80,15 +80,15 @@
final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
- #t9.{core::List::add}{Invariant}(#t11);
+ #t9.{core::List::add}(#t11){(core::int*) →* void};
}
}
}
if(true)
- #t9.{core::List::add}{Invariant}(3);
- #t9.{core::List::add}{Invariant}(4);
- #t9.{core::List::add}{Invariant}(5);
- #t9.{core::List::add}{Invariant}(6);
+ #t9.{core::List::add}(3){(core::int*) →* void};
+ #t9.{core::List::add}(4){(core::int*) →* void};
+ #t9.{core::List::add}(5){(core::int*) →* void};
+ #t9.{core::List::add}(6){(core::int*) →* void};
} =>#t9;
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
@@ -99,17 +99,17 @@
final dynamic #t13 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t14 = #t13 as{TypeError} core::int*;
- #t12.{core::Set::add}{Invariant}(#t14);
+ #t12.{core::Set::add}(#t14){(core::int*) →* core::bool*};
}
}
}
if(true)
- #t12.{core::Set::add}{Invariant}(3);
- #t12.{core::Set::add}{Invariant}(4);
- #t12.{core::Set::add}{Invariant}(5);
- #t12.{core::Set::add}{Invariant}(6);
+ #t12.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t12.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t12.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t12.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t12;
- self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread3() → void {
core::List<core::num*>* initial = core::_GrowableList::_literal3<core::num*>(0, 1, 2);
@@ -121,15 +121,15 @@
final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t17 = #t16 as{TypeError} core::int*;
- #t15.{core::List::add}{Invariant}(#t17);
+ #t15.{core::List::add}(#t17){(core::int*) →* void};
}
}
}
if(true)
- #t15.{core::List::add}{Invariant}(3);
- #t15.{core::List::add}{Invariant}(4);
- #t15.{core::List::add}{Invariant}(5);
- #t15.{core::List::add}{Invariant}(6);
+ #t15.{core::List::add}(3){(core::int*) →* void};
+ #t15.{core::List::add}(4){(core::int*) →* void};
+ #t15.{core::List::add}(5){(core::int*) →* void};
+ #t15.{core::List::add}(6){(core::int*) →* void};
} =>#t15;
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
@@ -140,86 +140,86 @@
final dynamic #t19 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t20 = #t19 as{TypeError} core::int*;
- #t18.{core::Set::add}{Invariant}(#t20);
+ #t18.{core::Set::add}(#t20){(core::int*) →* core::bool*};
}
}
}
if(true)
- #t18.{core::Set::add}{Invariant}(3);
- #t18.{core::Set::add}{Invariant}(4);
- #t18.{core::Set::add}{Invariant}(5);
- #t18.{core::Set::add}{Invariant}(6);
+ #t18.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t18.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t18.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t18.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t18;
- self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread4() → void {
core::Iterable<core::int*>* initial = core::_GrowableList::_literal3<core::int*>(0, 1, 2);
core::List<core::int*>* list = block {
final core::List<core::int*>* #t21 = core::List::of<core::int*>(initial);
if(true)
- #t21.{core::List::add}{Invariant}(3);
- #t21.{core::List::add}{Invariant}(4);
- #t21.{core::List::add}{Invariant}(5);
- #t21.{core::List::add}{Invariant}(6);
+ #t21.{core::List::add}(3){(core::int*) →* void};
+ #t21.{core::List::add}(4){(core::int*) →* void};
+ #t21.{core::List::add}(5){(core::int*) →* void};
+ #t21.{core::List::add}(6){(core::int*) →* void};
} =>#t21;
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t22 = col::LinkedHashSet::of<core::int*>(initial);
if(true)
- #t22.{core::Set::add}{Invariant}(3);
- #t22.{core::Set::add}{Invariant}(4);
- #t22.{core::Set::add}{Invariant}(5);
- #t22.{core::Set::add}{Invariant}(6);
+ #t22.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t22.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t22.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t22.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t22;
- self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread5() → void {
core::List<core::int*>* initial = core::_GrowableList::_literal3<core::int*>(0, 1, 2);
core::List<core::int*>* list = block {
final core::List<core::int*>* #t23 = core::List::of<core::int*>(initial);
if(true)
- #t23.{core::List::add}{Invariant}(3);
- #t23.{core::List::add}{Invariant}(4);
- #t23.{core::List::add}{Invariant}(5);
- #t23.{core::List::add}{Invariant}(6);
+ #t23.{core::List::add}(3){(core::int*) →* void};
+ #t23.{core::List::add}(4){(core::int*) →* void};
+ #t23.{core::List::add}(5){(core::int*) →* void};
+ #t23.{core::List::add}(6){(core::int*) →* void};
} =>#t23;
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t24 = col::LinkedHashSet::of<core::int*>(initial);
if(true)
- #t24.{core::Set::add}{Invariant}(3);
- #t24.{core::Set::add}{Invariant}(4);
- #t24.{core::Set::add}{Invariant}(5);
- #t24.{core::Set::add}{Invariant}(6);
+ #t24.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t24.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t24.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t24.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t24;
- self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method foldInitialSpread6() → void {
core::List<core::int*>* initial = core::_GrowableList::_literal3<core::int*>(0, 1, 2);
core::List<core::int*>* list = block {
final core::List<core::int*>* #t25 = core::_GrowableList::•<core::int*>(0);
final core::Iterable<core::int*>* #t26 = initial;
- if(!#t26.{core::Object::==}(null))
- #t25.{core::List::addAll}{Invariant}(#t26);
+ if(!(#t26 == null))
+ #t25.{core::List::addAll}(#t26){(core::Iterable<core::int*>*) →* void};
if(true)
- #t25.{core::List::add}{Invariant}(3);
- #t25.{core::List::add}{Invariant}(4);
- #t25.{core::List::add}{Invariant}(5);
- #t25.{core::List::add}{Invariant}(6);
+ #t25.{core::List::add}(3){(core::int*) →* void};
+ #t25.{core::List::add}(4){(core::int*) →* void};
+ #t25.{core::List::add}(5){(core::int*) →* void};
+ #t25.{core::List::add}(6){(core::int*) →* void};
} =>#t25;
self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), list);
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t27 = new col::_CompactLinkedHashSet::•<core::int*>();
final core::Iterable<core::int*>* #t28 = initial;
- if(!#t28.{core::Object::==}(null))
- #t27.{core::Set::addAll}{Invariant}(#t28);
+ if(!(#t28 == null))
+ #t27.{core::Set::addAll}(#t28){(core::Iterable<core::int*>*) →* void};
if(true)
- #t27.{core::Set::add}{Invariant}(3);
- #t27.{core::Set::add}{Invariant}(4);
- #t27.{core::Set::add}{Invariant}(5);
- #t27.{core::Set::add}{Invariant}(6);
+ #t27.{core::Set::add}(3){(core::int*) →* core::bool*};
+ #t27.{core::Set::add}(4){(core::int*) →* core::bool*};
+ #t27.{core::Set::add}(5){(core::int*) →* core::bool*};
+ #t27.{core::Set::add}(6){(core::int*) →* core::bool*};
} =>#t27;
- self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}());
+ self::expect(core::_GrowableList::generate<core::int*>(7, (core::int* i) → core::int* => i), set.{core::Iterable::toList}(){({growable: core::bool*}) →* core::List<core::int*>*});
}
static method main() → dynamic {
self::foldInitialElements();
@@ -231,12 +231,12 @@
self::foldInitialSpread6();
}
static method expect(core::List<dynamic>* list1, core::List<dynamic>* list2) → void {
- if(!list1.{core::List::length}.{core::num::==}(list2.{core::List::length})) {
- throw "Unexpected length. Expected ${list1.{core::List::length}}, actual ${list2.{core::List::length}}.";
+ if(!(list1.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} list2.{core::List::length}{core::int*})) {
+ throw "Unexpected length. Expected ${list1.{core::List::length}{core::int*}}, actual ${list2.{core::List::length}{core::int*}}.";
}
- for (core::int* i = 0; i.{core::num::<}(list1.{core::List::length}); i = i.{core::num::+}(1)) {
- if(!list1.{core::List::[]}(i).{core::Object::==}(list2.{core::List::[]}(i))) {
- throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i)}, actual ${list2.{core::List::[]}(i)}.";
+ for (core::int* i = 0; i.{core::num::<}(list1.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ if(!(list1.{core::List::[]}(i){(core::int*) →* dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} list2.{core::List::[]}(i){(core::int*) →* dynamic})) {
+ throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int*) →* dynamic}}, actual ${list2.{core::List::[]}(i){(core::int*) →* dynamic}}.";
}
}
}
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.expect
index 63b5ee2..8092f69 100644
--- a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.expect
@@ -9,64 +9,64 @@
dynamic list3 = <core::int*>[0];
core::List<core::int*>* list = block {
final core::List<core::int*>* #t1 = <core::int*>[0];
- #t1.{core::List::addAll}{Invariant}(list1);
+ #t1.{core::List::addAll}(list1){(core::Iterable<core::int*>*) →* void};
for (final dynamic #t2 in list2) {
final core::int* #t3 = #t2 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t3);
+ #t1.{core::List::add}(#t3){(core::int*) →* void};
}
for (final dynamic #t4 in list3 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t5 = #t4 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t5);
+ #t1.{core::List::add}(#t5){(core::int*) →* void};
}
if(true)
- #t1.{core::List::add}{Invariant}(2);
+ #t1.{core::List::add}(2){(core::int*) →* void};
} =>#t1;
core::Set<core::int*>* set1 = block {
final core::Set<core::int*>* #t6 = col::LinkedHashSet::•<core::int*>();
- #t6.{core::Set::add}{Invariant}(0);
+ #t6.{core::Set::add}(0){(core::int*) →* core::bool*};
} =>#t6;
core::Set<core::num*>* set2 = block {
final core::Set<core::num*>* #t7 = col::LinkedHashSet::•<core::num*>();
- #t7.{core::Set::add}{Invariant}(0);
+ #t7.{core::Set::add}(0){(core::num*) →* core::bool*};
} =>#t7;
dynamic set3 = block {
final core::Set<core::int*>* #t8 = col::LinkedHashSet::•<core::int*>();
- #t8.{core::Set::add}{Invariant}(0);
+ #t8.{core::Set::add}(0){(core::int*) →* core::bool*};
} =>#t8;
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t9 = col::LinkedHashSet::•<core::int*>();
- #t9.{core::Set::add}{Invariant}(0);
- #t9.{core::Set::addAll}{Invariant}(set1);
+ #t9.{core::Set::add}(0){(core::int*) →* core::bool*};
+ #t9.{core::Set::addAll}(set1){(core::Iterable<core::int*>*) →* void};
for (final dynamic #t10 in set2) {
final core::int* #t11 = #t10 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t11);
+ #t9.{core::Set::add}(#t11){(core::int*) →* core::bool*};
}
for (final dynamic #t12 in set3 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t13 = #t12 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t13);
+ #t9.{core::Set::add}(#t13){(core::int*) →* core::bool*};
}
if(true)
- #t9.{core::Set::add}{Invariant}(2);
+ #t9.{core::Set::add}(2){(core::int*) →* core::bool*};
} =>#t9;
core::Map<core::int*, core::String*>* map1 = <core::int*, core::String*>{0: "foo"};
core::Map<core::num*, core::Object*>* map2 = <core::num*, core::Object*>{0: "bar"};
dynamic map3 = <core::int*, core::String*>{0: "baz"};
core::Map<core::int*, core::String*>* map = block {
final core::Map<core::int*, core::String*>* #t14 = <core::int*, core::String*>{};
- #t14.{core::Map::[]=}{Invariant}(0, "foo");
+ #t14.{core::Map::[]=}(0, "foo"){(core::int*, core::String*) →* void};
for (final core::MapEntry<core::int*, core::String*>* #t15 in map1.{core::Map::entries})
- #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value}){(core::int*, core::String*) →* void};
for (final core::MapEntry<dynamic, dynamic>* #t16 in map2.{core::Map::entries}) {
final core::int* #t17 = #t16.{core::MapEntry::key} as{TypeError} core::int*;
final core::String* #t18 = #t16.{core::MapEntry::value} as{TypeError} core::String*;
- #t14.{core::Map::[]=}{Invariant}(#t17, #t18);
+ #t14.{core::Map::[]=}(#t17, #t18){(core::int*, core::String*) →* void};
}
for (final core::MapEntry<dynamic, dynamic>* #t19 in (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
final core::int* #t20 = #t19.{core::MapEntry::key} as{TypeError} core::int*;
final core::String* #t21 = #t19.{core::MapEntry::value} as{TypeError} core::String*;
- #t14.{core::Map::[]=}{Invariant}(#t20, #t21);
+ #t14.{core::Map::[]=}(#t20, #t21){(core::int*, core::String*) →* void};
}
if(true)
- #t14.{core::Map::[]=}{Invariant}(2, "baz");
+ #t14.{core::Map::[]=}(2, "baz"){(core::int*, core::String*) →* void};
} =>#t14;
}
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.transformed.expect
index 5655ae8..8b72d74 100644
--- a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.transformed.expect
@@ -9,14 +9,14 @@
dynamic list3 = core::_GrowableList::_literal1<core::int*>(0);
core::List<core::int*>* list = block {
final core::List<core::int*>* #t1 = core::_GrowableList::_literal1<core::int*>(0);
- #t1.{core::List::addAll}{Invariant}(list1);
+ #t1.{core::List::addAll}(list1){(core::Iterable<core::int*>*) →* void};
{
core::Iterator<core::num*>* :sync-for-iterator = list2.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t3 = #t2 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t3);
+ #t1.{core::List::add}(#t3){(core::int*) →* void};
}
}
}
@@ -26,36 +26,36 @@
final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t5 = #t4 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t5);
+ #t1.{core::List::add}(#t5){(core::int*) →* void};
}
}
}
if(true)
- #t1.{core::List::add}{Invariant}(2);
+ #t1.{core::List::add}(2){(core::int*) →* void};
} =>#t1;
core::Set<core::int*>* set1 = block {
final core::Set<core::int*>* #t6 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t6.{core::Set::add}{Invariant}(0);
+ #t6.{core::Set::add}(0){(core::int*) →* core::bool*};
} =>#t6;
core::Set<core::num*>* set2 = block {
final core::Set<core::num*>* #t7 = new col::_CompactLinkedHashSet::•<core::num*>();
- #t7.{core::Set::add}{Invariant}(0);
+ #t7.{core::Set::add}(0){(core::num*) →* core::bool*};
} =>#t7;
dynamic set3 = block {
final core::Set<core::int*>* #t8 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t8.{core::Set::add}{Invariant}(0);
+ #t8.{core::Set::add}(0){(core::int*) →* core::bool*};
} =>#t8;
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t9.{core::Set::add}{Invariant}(0);
- #t9.{core::Set::addAll}{Invariant}(set1);
+ #t9.{core::Set::add}(0){(core::int*) →* core::bool*};
+ #t9.{core::Set::addAll}(set1){(core::Iterable<core::int*>*) →* void};
{
core::Iterator<core::num*>* :sync-for-iterator = set2.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t11);
+ #t9.{core::Set::add}(#t11){(core::int*) →* core::bool*};
}
}
}
@@ -65,24 +65,24 @@
final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t13 = #t12 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t13);
+ #t9.{core::Set::add}(#t13){(core::int*) →* core::bool*};
}
}
}
if(true)
- #t9.{core::Set::add}{Invariant}(2);
+ #t9.{core::Set::add}(2){(core::int*) →* core::bool*};
} =>#t9;
core::Map<core::int*, core::String*>* map1 = <core::int*, core::String*>{0: "foo"};
core::Map<core::num*, core::Object*>* map2 = <core::num*, core::Object*>{0: "bar"};
dynamic map3 = <core::int*, core::String*>{0: "baz"};
core::Map<core::int*, core::String*>* map = block {
final core::Map<core::int*, core::String*>* #t14 = <core::int*, core::String*>{};
- #t14.{core::Map::[]=}{Invariant}(0, "foo");
+ #t14.{core::Map::[]=}(0, "foo"){(core::int*, core::String*) →* void};
{
core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = map1.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::String*>* #t15 = :sync-for-iterator.{core::Iterator::current};
- #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
+ #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value}){(core::int*, core::String*) →* void};
}
}
{
@@ -92,7 +92,7 @@
{
final core::int* #t17 = #t16.{core::MapEntry::key} as{TypeError} core::int*;
final core::String* #t18 = #t16.{core::MapEntry::value} as{TypeError} core::String*;
- #t14.{core::Map::[]=}{Invariant}(#t17, #t18);
+ #t14.{core::Map::[]=}(#t17, #t18){(core::int*, core::String*) →* void};
}
}
}
@@ -103,11 +103,11 @@
{
final core::int* #t20 = #t19.{core::MapEntry::key} as{TypeError} core::int*;
final core::String* #t21 = #t19.{core::MapEntry::value} as{TypeError} core::String*;
- #t14.{core::Map::[]=}{Invariant}(#t20, #t21);
+ #t14.{core::Map::[]=}(#t20, #t21){(core::int*, core::String*) →* void};
}
}
}
if(true)
- #t14.{core::Map::[]=}{Invariant}(2, "baz");
+ #t14.{core::Map::[]=}(2, "baz"){(core::int*, core::String*) →* void};
} =>#t14;
}
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.expect b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.expect
index fe00087..3a1f942 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.expect
@@ -15,29 +15,29 @@
final core::List<core::int*>* #t1 = <core::int*>[];
for (final dynamic #t2 in dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t3 = #t2 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t3);
+ #t1.{core::List::add}(#t3){(core::int*) →* void};
}
for (final dynamic #t4 in dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t5 = #t4 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t5);
+ #t1.{core::List::add}(#t5){(core::int*) →* void};
}
- #t1.{core::List::addAll}{Invariant}(iterableIntList);
+ #t1.{core::List::addAll}(iterableIntList){(core::Iterable<core::int*>*) →* void};
for (final dynamic #t6 in iterableNumList1) {
final core::int* #t7 = #t6 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t7);
+ #t1.{core::List::add}(#t7){(core::int*) →* void};
}
for (final dynamic #t8 in iterableNumList2) {
final core::int* #t9 = #t8 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t9);
+ #t1.{core::List::add}(#t9){(core::int*) →* void};
}
- #t1.{core::List::addAll}{Invariant}(intList);
+ #t1.{core::List::addAll}(intList){(core::Iterable<core::int*>*) →* void};
for (final dynamic #t10 in numList1) {
final core::int* #t11 = #t10 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t11);
+ #t1.{core::List::add}(#t11){(core::int*) →* void};
}
for (final dynamic #t12 in numList2) {
final core::int* #t13 = #t12 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t13);
+ #t1.{core::List::add}(#t13){(core::int*) →* void};
}
} =>#t1;
self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i), list1);
@@ -45,98 +45,98 @@
final core::List<core::num*>* #t14 = <core::num*>[];
for (final dynamic #t15 in dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::num* #t16 = #t15 as{TypeError} core::num*;
- #t14.{core::List::add}{Invariant}(#t16);
+ #t14.{core::List::add}(#t16){(core::num*) →* void};
}
for (final dynamic #t17 in dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::num* #t18 = #t17 as{TypeError} core::num*;
- #t14.{core::List::add}{Invariant}(#t18);
+ #t14.{core::List::add}(#t18){(core::num*) →* void};
}
- #t14.{core::List::addAll}{Invariant}(iterableIntList);
- #t14.{core::List::addAll}{Invariant}(iterableNumList1);
- #t14.{core::List::addAll}{Invariant}(iterableNumList2);
- #t14.{core::List::addAll}{Invariant}(intList);
- #t14.{core::List::addAll}{Invariant}(numList1);
- #t14.{core::List::addAll}{Invariant}(numList2);
+ #t14.{core::List::addAll}(iterableIntList){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(iterableNumList1){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(iterableNumList2){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(intList){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(numList1){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(numList2){(core::Iterable<core::num*>*) →* void};
} =>#t14;
self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i), list2);
core::List<core::int*>* list3 = block {
final core::List<core::int*>* #t19 = <core::int*>[];
final core::Iterable<dynamic>* #t20 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t20.{core::Object::==}(null))
+ if(!(#t20 == null))
for (final dynamic #t21 in #t20) {
final core::int* #t22 = #t21 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t22);
+ #t19.{core::List::add}(#t22){(core::int*) →* void};
}
final core::Iterable<dynamic>* #t23 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t23.{core::Object::==}(null))
+ if(!(#t23 == null))
for (final dynamic #t24 in #t23) {
final core::int* #t25 = #t24 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t25);
+ #t19.{core::List::add}(#t25){(core::int*) →* void};
}
final core::Iterable<core::int*>* #t26 = iterableIntList;
- if(!#t26.{core::Object::==}(null))
- #t19.{core::List::addAll}{Invariant}(#t26);
+ if(!(#t26 == null))
+ #t19.{core::List::addAll}(#t26){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t27 = iterableNumList1;
- if(!#t27.{core::Object::==}(null))
+ if(!(#t27 == null))
for (final dynamic #t28 in #t27) {
final core::int* #t29 = #t28 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t29);
+ #t19.{core::List::add}(#t29){(core::int*) →* void};
}
final core::Iterable<dynamic>* #t30 = iterableNumList2;
- if(!#t30.{core::Object::==}(null))
+ if(!(#t30 == null))
for (final dynamic #t31 in #t30) {
final core::int* #t32 = #t31 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t32);
+ #t19.{core::List::add}(#t32){(core::int*) →* void};
}
final core::Iterable<core::int*>* #t33 = intList;
- if(!#t33.{core::Object::==}(null))
- #t19.{core::List::addAll}{Invariant}(#t33);
+ if(!(#t33 == null))
+ #t19.{core::List::addAll}(#t33){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t34 = numList1;
- if(!#t34.{core::Object::==}(null))
+ if(!(#t34 == null))
for (final dynamic #t35 in #t34) {
final core::int* #t36 = #t35 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t36);
+ #t19.{core::List::add}(#t36){(core::int*) →* void};
}
final core::Iterable<dynamic>* #t37 = numList2;
- if(!#t37.{core::Object::==}(null))
+ if(!(#t37 == null))
for (final dynamic #t38 in #t37) {
final core::int* #t39 = #t38 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t39);
+ #t19.{core::List::add}(#t39){(core::int*) →* void};
}
} =>#t19;
self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i), list3);
core::List<core::num*>* list4 = block {
final core::List<core::num*>* #t40 = <core::num*>[];
final core::Iterable<dynamic>* #t41 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t41.{core::Object::==}(null))
+ if(!(#t41 == null))
for (final dynamic #t42 in #t41) {
final core::num* #t43 = #t42 as{TypeError} core::num*;
- #t40.{core::List::add}{Invariant}(#t43);
+ #t40.{core::List::add}(#t43){(core::num*) →* void};
}
final core::Iterable<dynamic>* #t44 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t44.{core::Object::==}(null))
+ if(!(#t44 == null))
for (final dynamic #t45 in #t44) {
final core::num* #t46 = #t45 as{TypeError} core::num*;
- #t40.{core::List::add}{Invariant}(#t46);
+ #t40.{core::List::add}(#t46){(core::num*) →* void};
}
final core::Iterable<core::num*>* #t47 = iterableIntList;
- if(!#t47.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t47);
+ if(!(#t47 == null))
+ #t40.{core::List::addAll}(#t47){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t48 = iterableNumList1;
- if(!#t48.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t48);
+ if(!(#t48 == null))
+ #t40.{core::List::addAll}(#t48){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t49 = iterableNumList2;
- if(!#t49.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t49);
+ if(!(#t49 == null))
+ #t40.{core::List::addAll}(#t49){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t50 = intList;
- if(!#t50.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t50);
+ if(!(#t50 == null))
+ #t40.{core::List::addAll}(#t50){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t51 = numList1;
- if(!#t51.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t51);
+ if(!(#t51 == null))
+ #t40.{core::List::addAll}(#t51){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t52 = numList2;
- if(!#t52.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t52);
+ if(!(#t52 == null))
+ #t40.{core::List::addAll}(#t52){(core::Iterable<core::num*>*) →* void};
} =>#t40;
self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i), list4);
}
@@ -144,12 +144,12 @@
self::useAddAll();
}
static method expect(core::List<dynamic>* list1, core::List<dynamic>* list2) → void {
- if(!list1.{core::List::length}.{core::num::==}(list2.{core::List::length})) {
- throw "Unexpected length. Expected ${list1.{core::List::length}}, actual ${list2.{core::List::length}}.";
+ if(!(list1.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} list2.{core::List::length}{core::int*})) {
+ throw "Unexpected length. Expected ${list1.{core::List::length}{core::int*}}, actual ${list2.{core::List::length}{core::int*}}.";
}
- for (core::int* i = 0; i.{core::num::<}(list1.{core::List::length}); i = i.{core::num::+}(1)) {
- if(!list1.{core::List::[]}(i).{core::Object::==}(list2.{core::List::[]}(i))) {
- throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i)}, actual ${list2.{core::List::[]}(i)}.";
+ for (core::int* i = 0; i.{core::num::<}(list1.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ if(!(list1.{core::List::[]}(i){(core::int*) →* dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} list2.{core::List::[]}(i){(core::int*) →* dynamic})) {
+ throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int*) →* dynamic}}, actual ${list2.{core::List::[]}(i){(core::int*) →* dynamic}}.";
}
}
}
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.transformed.expect
index 1f0299e..6c633ac 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.transformed.expect
@@ -19,7 +19,7 @@
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t3 = #t2 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t3);
+ #t1.{core::List::add}(#t3){(core::int*) →* void};
}
}
}
@@ -29,18 +29,18 @@
final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t5 = #t4 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t5);
+ #t1.{core::List::add}(#t5){(core::int*) →* void};
}
}
}
- #t1.{core::List::addAll}{Invariant}(iterableIntList);
+ #t1.{core::List::addAll}(iterableIntList){(core::Iterable<core::int*>*) →* void};
{
core::Iterator<core::num*>* :sync-for-iterator = iterableNumList1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t6 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t7 = #t6 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t7);
+ #t1.{core::List::add}(#t7){(core::int*) →* void};
}
}
}
@@ -50,18 +50,18 @@
final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t9 = #t8 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t9);
+ #t1.{core::List::add}(#t9){(core::int*) →* void};
}
}
}
- #t1.{core::List::addAll}{Invariant}(intList);
+ #t1.{core::List::addAll}(intList){(core::Iterable<core::int*>*) →* void};
{
core::Iterator<core::num*>* :sync-for-iterator = numList1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t11);
+ #t1.{core::List::add}(#t11){(core::int*) →* void};
}
}
}
@@ -71,7 +71,7 @@
final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t13 = #t12 as{TypeError} core::int*;
- #t1.{core::List::add}{Invariant}(#t13);
+ #t1.{core::List::add}(#t13){(core::int*) →* void};
}
}
}
@@ -85,7 +85,7 @@
final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t16 = #t15 as{TypeError} core::num*;
- #t14.{core::List::add}{Invariant}(#t16);
+ #t14.{core::List::add}(#t16){(core::num*) →* void};
}
}
}
@@ -95,89 +95,89 @@
final dynamic #t17 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t18 = #t17 as{TypeError} core::num*;
- #t14.{core::List::add}{Invariant}(#t18);
+ #t14.{core::List::add}(#t18){(core::num*) →* void};
}
}
}
- #t14.{core::List::addAll}{Invariant}(iterableIntList);
- #t14.{core::List::addAll}{Invariant}(iterableNumList1);
- #t14.{core::List::addAll}{Invariant}(iterableNumList2);
- #t14.{core::List::addAll}{Invariant}(intList);
- #t14.{core::List::addAll}{Invariant}(numList1);
- #t14.{core::List::addAll}{Invariant}(numList2);
+ #t14.{core::List::addAll}(iterableIntList){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(iterableNumList1){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(iterableNumList2){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(intList){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(numList1){(core::Iterable<core::num*>*) →* void};
+ #t14.{core::List::addAll}(numList2){(core::Iterable<core::num*>*) →* void};
} =>#t14;
self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) → core::int* => i), list2);
core::List<core::int*>* list3 = block {
final core::List<core::int*>* #t19 = core::_GrowableList::•<core::int*>(0);
final core::Iterable<dynamic>* #t20 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t20.{core::Object::==}(null)) {
+ if(!(#t20 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t20.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t21 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t22 = #t21 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t22);
+ #t19.{core::List::add}(#t22){(core::int*) →* void};
}
}
}
final core::Iterable<dynamic>* #t23 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t23.{core::Object::==}(null)) {
+ if(!(#t23 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t23.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t24 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t25 = #t24 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t25);
+ #t19.{core::List::add}(#t25){(core::int*) →* void};
}
}
}
final core::Iterable<core::int*>* #t26 = iterableIntList;
- if(!#t26.{core::Object::==}(null))
- #t19.{core::List::addAll}{Invariant}(#t26);
+ if(!(#t26 == null))
+ #t19.{core::List::addAll}(#t26){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t27 = iterableNumList1;
- if(!#t27.{core::Object::==}(null)) {
+ if(!(#t27 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t27.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t28 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t29 = #t28 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t29);
+ #t19.{core::List::add}(#t29){(core::int*) →* void};
}
}
}
final core::Iterable<dynamic>* #t30 = iterableNumList2;
- if(!#t30.{core::Object::==}(null)) {
+ if(!(#t30 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t30.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t31 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t32 = #t31 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t32);
+ #t19.{core::List::add}(#t32){(core::int*) →* void};
}
}
}
final core::Iterable<core::int*>* #t33 = intList;
- if(!#t33.{core::Object::==}(null))
- #t19.{core::List::addAll}{Invariant}(#t33);
+ if(!(#t33 == null))
+ #t19.{core::List::addAll}(#t33){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t34 = numList1;
- if(!#t34.{core::Object::==}(null)) {
+ if(!(#t34 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t34.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t35 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t36 = #t35 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t36);
+ #t19.{core::List::add}(#t36){(core::int*) →* void};
}
}
}
final core::Iterable<dynamic>* #t37 = numList2;
- if(!#t37.{core::Object::==}(null)) {
+ if(!(#t37 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t37.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t38 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t39 = #t38 as{TypeError} core::int*;
- #t19.{core::List::add}{Invariant}(#t39);
+ #t19.{core::List::add}(#t39){(core::int*) →* void};
}
}
}
@@ -186,45 +186,45 @@
core::List<core::num*>* list4 = block {
final core::List<core::num*>* #t40 = core::_GrowableList::•<core::num*>(0);
final core::Iterable<dynamic>* #t41 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t41.{core::Object::==}(null)) {
+ if(!(#t41 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t41.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t42 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t43 = #t42 as{TypeError} core::num*;
- #t40.{core::List::add}{Invariant}(#t43);
+ #t40.{core::List::add}(#t43){(core::num*) →* void};
}
}
}
final core::Iterable<dynamic>* #t44 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t44.{core::Object::==}(null)) {
+ if(!(#t44 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t44.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t45 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t46 = #t45 as{TypeError} core::num*;
- #t40.{core::List::add}{Invariant}(#t46);
+ #t40.{core::List::add}(#t46){(core::num*) →* void};
}
}
}
final core::Iterable<core::num*>* #t47 = iterableIntList;
- if(!#t47.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t47);
+ if(!(#t47 == null))
+ #t40.{core::List::addAll}(#t47){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t48 = iterableNumList1;
- if(!#t48.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t48);
+ if(!(#t48 == null))
+ #t40.{core::List::addAll}(#t48){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t49 = iterableNumList2;
- if(!#t49.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t49);
+ if(!(#t49 == null))
+ #t40.{core::List::addAll}(#t49){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t50 = intList;
- if(!#t50.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t50);
+ if(!(#t50 == null))
+ #t40.{core::List::addAll}(#t50){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t51 = numList1;
- if(!#t51.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t51);
+ if(!(#t51 == null))
+ #t40.{core::List::addAll}(#t51){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t52 = numList2;
- if(!#t52.{core::Object::==}(null))
- #t40.{core::List::addAll}{Invariant}(#t52);
+ if(!(#t52 == null))
+ #t40.{core::List::addAll}(#t52){(core::Iterable<core::num*>*) →* void};
} =>#t40;
self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) → core::int* => i), list4);
}
@@ -232,12 +232,12 @@
self::useAddAll();
}
static method expect(core::List<dynamic>* list1, core::List<dynamic>* list2) → void {
- if(!list1.{core::List::length}.{core::num::==}(list2.{core::List::length})) {
- throw "Unexpected length. Expected ${list1.{core::List::length}}, actual ${list2.{core::List::length}}.";
+ if(!(list1.{core::List::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} list2.{core::List::length}{core::int*})) {
+ throw "Unexpected length. Expected ${list1.{core::List::length}{core::int*}}, actual ${list2.{core::List::length}{core::int*}}.";
}
- for (core::int* i = 0; i.{core::num::<}(list1.{core::List::length}); i = i.{core::num::+}(1)) {
- if(!list1.{core::List::[]}(i).{core::Object::==}(list2.{core::List::[]}(i))) {
- throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i)}, actual ${list2.{core::List::[]}(i)}.";
+ for (core::int* i = 0; i.{core::num::<}(list1.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ if(!(list1.{core::List::[]}(i){(core::int*) →* dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} list2.{core::List::[]}(i){(core::int*) →* dynamic})) {
+ throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int*) →* dynamic}}, actual ${list2.{core::List::[]}(i){(core::int*) →* dynamic}}.";
}
}
}
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.expect b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.expect
index 233316d..f5d6b5f 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.expect
@@ -12,36 +12,36 @@
final core::List<core::int> #t1 = <core::int>[];
for (final dynamic #t2 in dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::List::add}{Invariant}(#t3);
+ #t1.{core::List::add}(#t3){(core::int) → void};
}
for (final dynamic #t4 in dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::int #t5 = #t4 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::List::add}{Invariant}(#t5);
+ #t1.{core::List::add}(#t5){(core::int) → void};
}
for (final dynamic #t6 in dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::int #t7 = #t6 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::List::add}{Invariant}(#t7);
+ #t1.{core::List::add}(#t7){(core::int) → void};
}
- #t1.{core::List::addAll}{Invariant}(iterableIntList);
- #t1.{core::List::addAll}{Invariant}(intList);
+ #t1.{core::List::addAll}(iterableIntList){(core::Iterable<core::int>) → void};
+ #t1.{core::List::addAll}(intList){(core::Iterable<core::int>) → void};
} =>#t1;
self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list1);
core::List<core::num> list2 = block {
final core::List<core::num> #t8 = <core::num>[];
for (final dynamic #t9 in dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::num #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::num;
- #t8.{core::List::add}{Invariant}(#t10);
+ #t8.{core::List::add}(#t10){(core::num) → void};
}
for (final dynamic #t11 in dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::num #t12 = #t11 as{TypeError,ForNonNullableByDefault} core::num;
- #t8.{core::List::add}{Invariant}(#t12);
+ #t8.{core::List::add}(#t12){(core::num) → void};
}
for (final dynamic #t13 in dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::num #t14 = #t13 as{TypeError,ForNonNullableByDefault} core::num;
- #t8.{core::List::add}{Invariant}(#t14);
+ #t8.{core::List::add}(#t14){(core::num) → void};
}
- #t8.{core::List::addAll}{Invariant}(iterableIntList);
- #t8.{core::List::addAll}{Invariant}(intList);
+ #t8.{core::List::addAll}(iterableIntList){(core::Iterable<core::num>) → void};
+ #t8.{core::List::addAll}(intList){(core::Iterable<core::num>) → void};
} =>#t8;
self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i), list2);
}
@@ -54,57 +54,57 @@
core::List<core::int> list1 = block {
final core::List<core::int> #t15 = <core::int>[];
final core::Iterable<dynamic>? #t16 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t16.{core::Object::==}(null))
+ if(!(#t16 == null))
for (final dynamic #t17 in #t16{core::Iterable<dynamic>}) {
final core::int #t18 = #t17 as{TypeError,ForNonNullableByDefault} core::int;
- #t15.{core::List::add}{Invariant}(#t18);
+ #t15.{core::List::add}(#t18){(core::int) → void};
}
final core::Iterable<dynamic>? #t19 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t19.{core::Object::==}(null))
+ if(!(#t19 == null))
for (final dynamic #t20 in #t19{core::Iterable<dynamic>}) {
final core::int #t21 = #t20 as{TypeError,ForNonNullableByDefault} core::int;
- #t15.{core::List::add}{Invariant}(#t21);
+ #t15.{core::List::add}(#t21){(core::int) → void};
}
final core::Iterable<dynamic>? #t22 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t22.{core::Object::==}(null))
+ if(!(#t22 == null))
for (final dynamic #t23 in #t22{core::Iterable<dynamic>}) {
final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
- #t15.{core::List::add}{Invariant}(#t24);
+ #t15.{core::List::add}(#t24){(core::int) → void};
}
final core::Iterable<core::int>? #t25 = iterableIntList;
- if(!#t25.{core::Object::==}(null))
- #t15.{core::List::addAll}{Invariant}(#t25{core::Iterable<core::int>});
+ if(!(#t25 == null))
+ #t15.{core::List::addAll}(#t25{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
final core::Iterable<core::int>? #t26 = intList;
- if(!#t26.{core::Object::==}(null))
- #t15.{core::List::addAll}{Invariant}(#t26{core::Iterable<core::int>});
+ if(!(#t26 == null))
+ #t15.{core::List::addAll}(#t26{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t15;
self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list1);
core::List<core::num> list2 = block {
final core::List<core::num> #t27 = <core::num>[];
final core::Iterable<dynamic>? #t28 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t28.{core::Object::==}(null))
+ if(!(#t28 == null))
for (final dynamic #t29 in #t28{core::Iterable<dynamic>}) {
final core::num #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::num;
- #t27.{core::List::add}{Invariant}(#t30);
+ #t27.{core::List::add}(#t30){(core::num) → void};
}
final core::Iterable<dynamic>? #t31 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t31.{core::Object::==}(null))
+ if(!(#t31 == null))
for (final dynamic #t32 in #t31{core::Iterable<dynamic>}) {
final core::num #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::num;
- #t27.{core::List::add}{Invariant}(#t33);
+ #t27.{core::List::add}(#t33){(core::num) → void};
}
final core::Iterable<dynamic>? #t34 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t34.{core::Object::==}(null))
+ if(!(#t34 == null))
for (final dynamic #t35 in #t34{core::Iterable<dynamic>}) {
final core::num #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::num;
- #t27.{core::List::add}{Invariant}(#t36);
+ #t27.{core::List::add}(#t36){(core::num) → void};
}
final core::Iterable<core::num>? #t37 = iterableIntList;
- if(!#t37.{core::Object::==}(null))
- #t27.{core::List::addAll}{Invariant}(#t37{core::Iterable<core::num>});
+ if(!(#t37 == null))
+ #t27.{core::List::addAll}(#t37{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
final core::Iterable<core::num>? #t38 = intList;
- if(!#t38.{core::Object::==}(null))
- #t27.{core::List::addAll}{Invariant}(#t38{core::Iterable<core::num>});
+ if(!(#t38 == null))
+ #t27.{core::List::addAll}(#t38{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
} =>#t27;
self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i), list2);
}
@@ -113,12 +113,12 @@
self::useAddAllNullable();
}
static method expect(core::List<dynamic> list1, core::List<dynamic> list2) → void {
- if(!list1.{core::List::length}.{core::num::==}(list2.{core::List::length})) {
- throw "Unexpected length. Expected ${list1.{core::List::length}}, actual ${list2.{core::List::length}}.";
+ if(!(list1.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} list2.{core::List::length}{core::int})) {
+ throw "Unexpected length. Expected ${list1.{core::List::length}{core::int}}, actual ${list2.{core::List::length}{core::int}}.";
}
- for (core::int i = 0; i.{core::num::<}(list1.{core::List::length}); i = i.{core::num::+}(1)) {
- if(!list1.{core::List::[]}(i).{core::Object::==}(list2.{core::List::[]}(i))) {
- throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i)}, actual ${list2.{core::List::[]}(i)}.";
+ for (core::int i = 0; i.{core::num::<}(list1.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ if(!(list1.{core::List::[]}(i){(core::int) → dynamic} =={core::Object::==}{(core::Object) → core::bool} list2.{core::List::[]}(i){(core::int) → dynamic})) {
+ throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int) → dynamic}}, actual ${list2.{core::List::[]}(i){(core::int) → dynamic}}.";
}
}
}
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.transformed.expect
index e94bf35..a21b866 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.transformed.expect
@@ -16,7 +16,7 @@
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::List::add}{Invariant}(#t3);
+ #t1.{core::List::add}(#t3){(core::int) → void};
}
}
}
@@ -26,7 +26,7 @@
final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t5 = #t4 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::List::add}{Invariant}(#t5);
+ #t1.{core::List::add}(#t5){(core::int) → void};
}
}
}
@@ -36,12 +36,12 @@
final dynamic #t6 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t7 = #t6 as{TypeError,ForNonNullableByDefault} core::int;
- #t1.{core::List::add}{Invariant}(#t7);
+ #t1.{core::List::add}(#t7){(core::int) → void};
}
}
}
- #t1.{core::List::addAll}{Invariant}(iterableIntList);
- #t1.{core::List::addAll}{Invariant}(intList);
+ #t1.{core::List::addAll}(iterableIntList){(core::Iterable<core::int>) → void};
+ #t1.{core::List::addAll}(intList){(core::Iterable<core::int>) → void};
} =>#t1;
self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list1);
core::List<core::num> list2 = block {
@@ -52,7 +52,7 @@
final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::num;
- #t8.{core::List::add}{Invariant}(#t10);
+ #t8.{core::List::add}(#t10){(core::num) → void};
}
}
}
@@ -62,7 +62,7 @@
final dynamic #t11 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t12 = #t11 as{TypeError,ForNonNullableByDefault} core::num;
- #t8.{core::List::add}{Invariant}(#t12);
+ #t8.{core::List::add}(#t12){(core::num) → void};
}
}
}
@@ -72,12 +72,12 @@
final dynamic #t13 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t14 = #t13 as{TypeError,ForNonNullableByDefault} core::num;
- #t8.{core::List::add}{Invariant}(#t14);
+ #t8.{core::List::add}(#t14){(core::num) → void};
}
}
}
- #t8.{core::List::addAll}{Invariant}(iterableIntList);
- #t8.{core::List::addAll}{Invariant}(intList);
+ #t8.{core::List::addAll}(iterableIntList){(core::Iterable<core::num>) → void};
+ #t8.{core::List::addAll}(intList){(core::Iterable<core::num>) → void};
} =>#t8;
self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i), list2);
}
@@ -90,87 +90,87 @@
core::List<core::int> list1 = block {
final core::List<core::int> #t15 = core::_GrowableList::•<core::int>(0);
final core::Iterable<dynamic>? #t16 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t16.{core::Object::==}(null)) {
+ if(!(#t16 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t16{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t17 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t18 = #t17 as{TypeError,ForNonNullableByDefault} core::int;
- #t15.{core::List::add}{Invariant}(#t18);
+ #t15.{core::List::add}(#t18){(core::int) → void};
}
}
}
final core::Iterable<dynamic>? #t19 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t19.{core::Object::==}(null)) {
+ if(!(#t19 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t19{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t20 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t21 = #t20 as{TypeError,ForNonNullableByDefault} core::int;
- #t15.{core::List::add}{Invariant}(#t21);
+ #t15.{core::List::add}(#t21){(core::int) → void};
}
}
}
final core::Iterable<dynamic>? #t22 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t22.{core::Object::==}(null)) {
+ if(!(#t22 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t22{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
- #t15.{core::List::add}{Invariant}(#t24);
+ #t15.{core::List::add}(#t24){(core::int) → void};
}
}
}
final core::Iterable<core::int>? #t25 = iterableIntList;
- if(!#t25.{core::Object::==}(null))
- #t15.{core::List::addAll}{Invariant}(#t25{core::Iterable<core::int>});
+ if(!(#t25 == null))
+ #t15.{core::List::addAll}(#t25{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
final core::Iterable<core::int>? #t26 = intList;
- if(!#t26.{core::Object::==}(null))
- #t15.{core::List::addAll}{Invariant}(#t26{core::Iterable<core::int>});
+ if(!(#t26 == null))
+ #t15.{core::List::addAll}(#t26{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t15;
self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list1);
core::List<core::num> list2 = block {
final core::List<core::num> #t27 = core::_GrowableList::•<core::num>(0);
final core::Iterable<dynamic>? #t28 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t28.{core::Object::==}(null)) {
+ if(!(#t28 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t28{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t29 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::num;
- #t27.{core::List::add}{Invariant}(#t30);
+ #t27.{core::List::add}(#t30){(core::num) → void};
}
}
}
final core::Iterable<dynamic>? #t31 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t31.{core::Object::==}(null)) {
+ if(!(#t31 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t31{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t32 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::num;
- #t27.{core::List::add}{Invariant}(#t33);
+ #t27.{core::List::add}(#t33){(core::num) → void};
}
}
}
final core::Iterable<dynamic>? #t34 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t34.{core::Object::==}(null)) {
+ if(!(#t34 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t34{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t35 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::num;
- #t27.{core::List::add}{Invariant}(#t36);
+ #t27.{core::List::add}(#t36){(core::num) → void};
}
}
}
final core::Iterable<core::num>? #t37 = iterableIntList;
- if(!#t37.{core::Object::==}(null))
- #t27.{core::List::addAll}{Invariant}(#t37{core::Iterable<core::num>});
+ if(!(#t37 == null))
+ #t27.{core::List::addAll}(#t37{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
final core::Iterable<core::num>? #t38 = intList;
- if(!#t38.{core::Object::==}(null))
- #t27.{core::List::addAll}{Invariant}(#t38{core::Iterable<core::num>});
+ if(!(#t38 == null))
+ #t27.{core::List::addAll}(#t38{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
} =>#t27;
self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i), list2);
}
@@ -179,12 +179,12 @@
self::useAddAllNullable();
}
static method expect(core::List<dynamic> list1, core::List<dynamic> list2) → void {
- if(!list1.{core::List::length}.{core::num::==}(list2.{core::List::length})) {
- throw "Unexpected length. Expected ${list1.{core::List::length}}, actual ${list2.{core::List::length}}.";
+ if(!(list1.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} list2.{core::List::length}{core::int})) {
+ throw "Unexpected length. Expected ${list1.{core::List::length}{core::int}}, actual ${list2.{core::List::length}{core::int}}.";
}
- for (core::int i = 0; i.{core::num::<}(list1.{core::List::length}); i = i.{core::num::+}(1)) {
- if(!list1.{core::List::[]}(i).{core::Object::==}(list2.{core::List::[]}(i))) {
- throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i)}, actual ${list2.{core::List::[]}(i)}.";
+ for (core::int i = 0; i.{core::num::<}(list1.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+ if(!(list1.{core::List::[]}(i){(core::int) → dynamic} =={core::Object::==}{(core::Object) → core::bool} list2.{core::List::[]}(i){(core::int) → dynamic})) {
+ throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int) → dynamic}}, actual ${list2.{core::List::[]}(i){(core::int) → dynamic}}.";
}
}
}
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect
index be5a180..9e1ff0e 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect
@@ -47,104 +47,104 @@
static field core::Map<dynamic, dynamic>* map1 = block {
final core::Map<dynamic, dynamic>* #t1 = <dynamic, dynamic>{};
if(self::b)
- #t1.{core::Map::[]=}{Invariant}(0, 1);
+ #t1.{core::Map::[]=}(0, 1){(dynamic, dynamic) →* void};
else
for (final core::MapEntry<dynamic, dynamic>* #t2 in self::map0.{core::Map::entries})
- #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value}){(dynamic, dynamic) →* void};
} =>#t1;
static field core::Map<dynamic, dynamic>* map2 = block {
final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
if(self::b)
for (final core::MapEntry<dynamic, dynamic>* #t4 in self::map0.{core::Map::entries})
- #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
+ #t3.{core::Map::[]=}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value}){(dynamic, dynamic) →* void};
else
- #t3.{core::Map::[]=}{Invariant}(0, 1);
+ #t3.{core::Map::[]=}(0, 1){(dynamic, dynamic) →* void};
} =>#t3;
static field core::Map<dynamic, dynamic>* map3 = block {
final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
if(self::b)
for (final core::MapEntry<dynamic, dynamic>* #t6 in self::map0.{core::Map::entries})
- #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value}){(dynamic, dynamic) →* void};
else
for (final core::MapEntry<dynamic, dynamic>* #t7 in self::map0.{core::Map::entries})
- #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
+ #t5.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value}){(dynamic, dynamic) →* void};
} =>#t5;
static field core::Map<dynamic, core::int*>* map4 = block {
final core::Map<dynamic, core::int*>* #t8 = <dynamic, core::int*>{};
if(self::b)
- #t8.{core::Map::[]=}{Invariant}(0, 1);
+ #t8.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
else
for (dynamic a in self::list)
- #t8.{core::Map::[]=}{Invariant}(a, 1);
+ #t8.{core::Map::[]=}(a, 1){(dynamic, core::int*) →* void};
} =>#t8;
static field core::Map<dynamic, core::int*>* map5 = block {
final core::Map<dynamic, core::int*>* #t9 = <dynamic, core::int*>{};
if(self::b)
for (dynamic a in self::list)
- #t9.{core::Map::[]=}{Invariant}(a, 1);
+ #t9.{core::Map::[]=}(a, 1){(dynamic, core::int*) →* void};
else
- #t9.{core::Map::[]=}{Invariant}(0, 1);
+ #t9.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
} =>#t9;
static field core::Map<dynamic, core::int*>* map6 = block {
final core::Map<dynamic, core::int*>* #t10 = <dynamic, core::int*>{};
if(self::b)
- #t10.{core::Map::[]=}{Invariant}(0, 1);
+ #t10.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
else
for (dynamic a in self::list)
for (final core::MapEntry<dynamic, core::int*>* #t11 in <dynamic, core::int*>{a: 1}.{core::Map::entries})
- #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
+ #t10.{core::Map::[]=}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value}){(dynamic, core::int*) →* void};
} =>#t10;
static field core::Map<dynamic, core::int*>* map7 = block {
final core::Map<dynamic, core::int*>* #t12 = <dynamic, core::int*>{};
if(self::b)
for (dynamic a in self::list)
for (final core::MapEntry<dynamic, core::int*>* #t13 in <dynamic, core::int*>{a: 1}.{core::Map::entries})
- #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
+ #t12.{core::Map::[]=}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value}){(dynamic, core::int*) →* void};
else
- #t12.{core::Map::[]=}{Invariant}(0, 1);
+ #t12.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
} =>#t12;
static field core::Map<dynamic, core::int*>* map8 = block {
final core::Map<dynamic, core::int*>* #t14 = <dynamic, core::int*>{};
if(self::b)
- #t14.{core::Map::[]=}{Invariant}(0, 1);
+ #t14.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
else
- for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i), 1);
+ for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t14.{core::Map::[]=}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
} =>#t14;
static field core::Map<dynamic, core::int*>* map9 = block {
final core::Map<dynamic, core::int*>* #t15 = <dynamic, core::int*>{};
if(self::b)
- for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i), 1);
+ for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t15.{core::Map::[]=}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
else
- #t15.{core::Map::[]=}{Invariant}(0, 1);
+ #t15.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
} =>#t15;
static field core::Map<dynamic, core::int*>* map10 = block {
final core::Map<dynamic, core::int*>* #t16 = <dynamic, core::int*>{};
if(self::b)
- #t16.{core::Map::[]=}{Invariant}(0, 1);
+ #t16.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
else
- for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- for (final core::MapEntry<dynamic, core::int*>* #t17 in <dynamic, core::int*>{self::list.{core::List::[]}(i): 1}.{core::Map::entries})
- #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ for (final core::MapEntry<dynamic, core::int*>* #t17 in <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries})
+ #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value}){(dynamic, core::int*) →* void};
} =>#t16;
static field core::Map<dynamic, core::int*>* map11 = block {
final core::Map<dynamic, core::int*>* #t18 = <dynamic, core::int*>{};
if(self::b)
- for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- for (final core::MapEntry<dynamic, core::int*>* #t19 in <dynamic, core::int*>{self::list.{core::List::[]}(i): 1}.{core::Map::entries})
- #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
+ for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ for (final core::MapEntry<dynamic, core::int*>* #t19 in <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries})
+ #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value}){(dynamic, core::int*) →* void};
else
- #t18.{core::Map::[]=}{Invariant}(0, 1);
+ #t18.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
} =>#t18;
static field core::Map<core::int*, core::int*>* map12 = block {
final core::Map<core::int*, core::int*>* #t20 = <core::int*, core::int*>{};
if(self::b)
- #t20.{core::Map::[]=}{Invariant}(0, 1);
+ #t20.{core::Map::[]=}(0, 1){(core::int*, core::int*) →* void};
else
if(self::b)
for (final core::MapEntry<core::int*, core::int*>* #t21 in <core::int*, core::int*>{0: 1}.{core::Map::entries})
- #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value}){(core::int*, core::int*) →* void};
} =>#t20;
static field core::Map<dynamic, Null>* error4 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
var error4 = {if (b) 0: 1 else for (var a in list) a};
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect
index 83028c4..89c473c 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect
@@ -47,12 +47,12 @@
static field core::Map<dynamic, dynamic>* map1 = block {
final core::Map<dynamic, dynamic>* #t1 = <dynamic, dynamic>{};
if(self::b)
- #t1.{core::Map::[]=}{Invariant}(0, 1);
+ #t1.{core::Map::[]=}(0, 1){(dynamic, dynamic) →* void};
else {
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t2 = :sync-for-iterator.{core::Iterator::current};
- #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value});
+ #t1.{core::Map::[]=}(#t2.{core::MapEntry::key}, #t2.{core::MapEntry::value}){(dynamic, dynamic) →* void};
}
}
} =>#t1;
@@ -62,11 +62,11 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t4 = :sync-for-iterator.{core::Iterator::current};
- #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value});
+ #t3.{core::Map::[]=}(#t4.{core::MapEntry::key}, #t4.{core::MapEntry::value}){(dynamic, dynamic) →* void};
}
}
else
- #t3.{core::Map::[]=}{Invariant}(0, 1);
+ #t3.{core::Map::[]=}(0, 1){(dynamic, dynamic) →* void};
} =>#t3;
static field core::Map<dynamic, dynamic>* map3 = block {
final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
@@ -74,26 +74,26 @@
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
+ #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value}){(dynamic, dynamic) →* void};
}
}
else {
core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, dynamic>* #t7 = :sync-for-iterator.{core::Iterator::current};
- #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value});
+ #t5.{core::Map::[]=}(#t7.{core::MapEntry::key}, #t7.{core::MapEntry::value}){(dynamic, dynamic) →* void};
}
}
} =>#t5;
static field core::Map<dynamic, core::int*>* map4 = block {
final core::Map<dynamic, core::int*>* #t8 = <dynamic, core::int*>{};
if(self::b)
- #t8.{core::Map::[]=}{Invariant}(0, 1);
+ #t8.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
else {
core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic a = :sync-for-iterator.{core::Iterator::current};
- #t8.{core::Map::[]=}{Invariant}(a, 1);
+ #t8.{core::Map::[]=}(a, 1){(dynamic, core::int*) →* void};
}
}
} =>#t8;
@@ -103,16 +103,16 @@
core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic a = :sync-for-iterator.{core::Iterator::current};
- #t9.{core::Map::[]=}{Invariant}(a, 1);
+ #t9.{core::Map::[]=}(a, 1){(dynamic, core::int*) →* void};
}
}
else
- #t9.{core::Map::[]=}{Invariant}(0, 1);
+ #t9.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
} =>#t9;
static field core::Map<dynamic, core::int*>* map6 = block {
final core::Map<dynamic, core::int*>* #t10 = <dynamic, core::int*>{};
if(self::b)
- #t10.{core::Map::[]=}{Invariant}(0, 1);
+ #t10.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
else {
core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
@@ -121,7 +121,7 @@
core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, core::int*>* #t11 = :sync-for-iterator.{core::Iterator::current};
- #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value});
+ #t10.{core::Map::[]=}(#t11.{core::MapEntry::key}, #t11.{core::MapEntry::value}){(dynamic, core::int*) →* void};
}
}
}
@@ -137,66 +137,66 @@
core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current};
- #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value});
+ #t12.{core::Map::[]=}(#t13.{core::MapEntry::key}, #t13.{core::MapEntry::value}){(dynamic, core::int*) →* void};
}
}
}
}
else
- #t12.{core::Map::[]=}{Invariant}(0, 1);
+ #t12.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
} =>#t12;
static field core::Map<dynamic, core::int*>* map8 = block {
final core::Map<dynamic, core::int*>* #t14 = <dynamic, core::int*>{};
if(self::b)
- #t14.{core::Map::[]=}{Invariant}(0, 1);
+ #t14.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
else
- for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i), 1);
+ for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t14.{core::Map::[]=}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
} =>#t14;
static field core::Map<dynamic, core::int*>* map9 = block {
final core::Map<dynamic, core::int*>* #t15 = <dynamic, core::int*>{};
if(self::b)
- for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1))
- #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i), 1);
+ for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+ #t15.{core::Map::[]=}(self::list.{core::List::[]}(i){(core::int*) →* dynamic}, 1){(dynamic, core::int*) →* void};
else
- #t15.{core::Map::[]=}{Invariant}(0, 1);
+ #t15.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
} =>#t15;
static field core::Map<dynamic, core::int*>* map10 = block {
final core::Map<dynamic, core::int*>* #t16 = <dynamic, core::int*>{};
if(self::b)
- #t16.{core::Map::[]=}{Invariant}(0, 1);
+ #t16.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
else
- for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1)) {
- core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{self::list.{core::List::[]}(i): 1}.{core::Map::entries}.{core::Iterable::iterator};
+ for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, core::int*>* #t17 = :sync-for-iterator.{core::Iterator::current};
- #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
+ #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value}){(dynamic, core::int*) →* void};
}
}
} =>#t16;
static field core::Map<dynamic, core::int*>* map11 = block {
final core::Map<dynamic, core::int*>* #t18 = <dynamic, core::int*>{};
if(self::b)
- for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}); i = i.{core::num::+}(1)) {
- core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{self::list.{core::List::[]}(i): 1}.{core::Map::entries}.{core::Iterable::iterator};
+ for (core::int* i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{self::list.{core::List::[]}(i){(core::int*) →* dynamic}: 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<dynamic, core::int*>* #t19 = :sync-for-iterator.{core::Iterator::current};
- #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
+ #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value}){(dynamic, core::int*) →* void};
}
}
else
- #t18.{core::Map::[]=}{Invariant}(0, 1);
+ #t18.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
} =>#t18;
static field core::Map<core::int*, core::int*>* map12 = block {
final core::Map<core::int*, core::int*>* #t20 = <core::int*, core::int*>{};
if(self::b)
- #t20.{core::Map::[]=}{Invariant}(0, 1);
+ #t20.{core::Map::[]=}(0, 1){(core::int*, core::int*) →* void};
else
if(self::b) {
core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{0: 1}.{core::Map::entries}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final core::MapEntry<core::int*, core::int*>* #t21 = :sync-for-iterator.{core::Iterator::current};
- #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
+ #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value}){(core::int*, core::int*) →* void};
}
}
} =>#t20;
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.expect b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.expect
index f31828e..d99b951 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.expect
@@ -7,190 +7,190 @@
static method useAddAll() → void {
dynamic dynamicSet1 = block {
final core::Set<core::int*>* #t1 = col::LinkedHashSet::•<core::int*>();
- #t1.{core::Set::add}{Invariant}(0);
- #t1.{core::Set::add}{Invariant}(1);
- #t1.{core::Set::add}{Invariant}(2);
+ #t1.{core::Set::add}(0){(core::int*) →* core::bool*};
+ #t1.{core::Set::add}(1){(core::int*) →* core::bool*};
+ #t1.{core::Set::add}(2){(core::int*) →* core::bool*};
} =>#t1;
dynamic dynamicSet2 = block {
final core::Set<core::num*>* #t2 = col::LinkedHashSet::•<core::num*>();
- #t2.{core::Set::add}{Invariant}(3);
- #t2.{core::Set::add}{Invariant}(4);
- #t2.{core::Set::add}{Invariant}(5);
+ #t2.{core::Set::add}(3){(core::num*) →* core::bool*};
+ #t2.{core::Set::add}(4){(core::num*) →* core::bool*};
+ #t2.{core::Set::add}(5){(core::num*) →* core::bool*};
} =>#t2;
core::Iterable<core::int*>* iterableIntSet = block {
final core::Set<core::int*>* #t3 = col::LinkedHashSet::•<core::int*>();
- #t3.{core::Set::add}{Invariant}(6);
- #t3.{core::Set::add}{Invariant}(7);
- #t3.{core::Set::add}{Invariant}(8);
+ #t3.{core::Set::add}(6){(core::int*) →* core::bool*};
+ #t3.{core::Set::add}(7){(core::int*) →* core::bool*};
+ #t3.{core::Set::add}(8){(core::int*) →* core::bool*};
} =>#t3;
core::Iterable<core::num*>* iterableNumSet1 = block {
final core::Set<core::int*>* #t4 = col::LinkedHashSet::•<core::int*>();
- #t4.{core::Set::add}{Invariant}(9);
- #t4.{core::Set::add}{Invariant}(10);
- #t4.{core::Set::add}{Invariant}(11);
+ #t4.{core::Set::add}(9){(core::int*) →* core::bool*};
+ #t4.{core::Set::add}(10){(core::int*) →* core::bool*};
+ #t4.{core::Set::add}(11){(core::int*) →* core::bool*};
} =>#t4;
core::Iterable<core::num*>* iterableNumSet2 = block {
final core::Set<core::num*>* #t5 = col::LinkedHashSet::•<core::num*>();
- #t5.{core::Set::add}{Invariant}(12);
- #t5.{core::Set::add}{Invariant}(13);
- #t5.{core::Set::add}{Invariant}(14);
+ #t5.{core::Set::add}(12){(core::num*) →* core::bool*};
+ #t5.{core::Set::add}(13){(core::num*) →* core::bool*};
+ #t5.{core::Set::add}(14){(core::num*) →* core::bool*};
} =>#t5;
core::Set<core::int*>* intSet = block {
final core::Set<core::int*>* #t6 = col::LinkedHashSet::•<core::int*>();
- #t6.{core::Set::add}{Invariant}(15);
- #t6.{core::Set::add}{Invariant}(16);
- #t6.{core::Set::add}{Invariant}(17);
+ #t6.{core::Set::add}(15){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(16){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(17){(core::int*) →* core::bool*};
} =>#t6;
core::Set<core::num*>* numSet1 = block {
final core::Set<core::int*>* #t7 = col::LinkedHashSet::•<core::int*>();
- #t7.{core::Set::add}{Invariant}(18);
- #t7.{core::Set::add}{Invariant}(19);
- #t7.{core::Set::add}{Invariant}(20);
+ #t7.{core::Set::add}(18){(core::int*) →* core::bool*};
+ #t7.{core::Set::add}(19){(core::int*) →* core::bool*};
+ #t7.{core::Set::add}(20){(core::int*) →* core::bool*};
} =>#t7;
core::Set<core::num*>* numSet2 = block {
final core::Set<core::num*>* #t8 = col::LinkedHashSet::•<core::num*>();
- #t8.{core::Set::add}{Invariant}(21);
- #t8.{core::Set::add}{Invariant}(22);
- #t8.{core::Set::add}{Invariant}(23);
+ #t8.{core::Set::add}(21){(core::num*) →* core::bool*};
+ #t8.{core::Set::add}(22){(core::num*) →* core::bool*};
+ #t8.{core::Set::add}(23){(core::num*) →* core::bool*};
} =>#t8;
core::Set<core::int*>* set1 = block {
final core::Set<core::int*>* #t9 = col::LinkedHashSet::•<core::int*>();
for (final dynamic #t10 in dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t11 = #t10 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t11);
+ #t9.{core::Set::add}(#t11){(core::int*) →* core::bool*};
}
for (final dynamic #t12 in dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::int* #t13 = #t12 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t13);
+ #t9.{core::Set::add}(#t13){(core::int*) →* core::bool*};
}
- #t9.{core::Set::addAll}{Invariant}(iterableIntSet);
+ #t9.{core::Set::addAll}(iterableIntSet){(core::Iterable<core::int*>*) →* void};
for (final dynamic #t14 in iterableNumSet1) {
final core::int* #t15 = #t14 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t15);
+ #t9.{core::Set::add}(#t15){(core::int*) →* core::bool*};
}
for (final dynamic #t16 in iterableNumSet2) {
final core::int* #t17 = #t16 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t17);
+ #t9.{core::Set::add}(#t17){(core::int*) →* core::bool*};
}
- #t9.{core::Set::addAll}{Invariant}(intSet);
+ #t9.{core::Set::addAll}(intSet){(core::Iterable<core::int*>*) →* void};
for (final dynamic #t18 in numSet1) {
final core::int* #t19 = #t18 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t19);
+ #t9.{core::Set::add}(#t19){(core::int*) →* core::bool*};
}
for (final dynamic #t20 in numSet2) {
final core::int* #t21 = #t20 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t21);
+ #t9.{core::Set::add}(#t21){(core::int*) →* core::bool*};
}
} =>#t9;
- self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(), set1);
+ self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set1);
core::Set<core::num*>* set2 = block {
final core::Set<core::num*>* #t22 = col::LinkedHashSet::•<core::num*>();
for (final dynamic #t23 in dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::num* #t24 = #t23 as{TypeError} core::num*;
- #t22.{core::Set::add}{Invariant}(#t24);
+ #t22.{core::Set::add}(#t24){(core::num*) →* core::bool*};
}
for (final dynamic #t25 in dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
final core::num* #t26 = #t25 as{TypeError} core::num*;
- #t22.{core::Set::add}{Invariant}(#t26);
+ #t22.{core::Set::add}(#t26){(core::num*) →* core::bool*};
}
- #t22.{core::Set::addAll}{Invariant}(iterableIntSet);
- #t22.{core::Set::addAll}{Invariant}(iterableNumSet1);
- #t22.{core::Set::addAll}{Invariant}(iterableNumSet2);
- #t22.{core::Set::addAll}{Invariant}(intSet);
- #t22.{core::Set::addAll}{Invariant}(numSet1);
- #t22.{core::Set::addAll}{Invariant}(numSet2);
+ #t22.{core::Set::addAll}(iterableIntSet){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(iterableNumSet1){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(iterableNumSet2){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(intSet){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(numSet1){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(numSet2){(core::Iterable<core::num*>*) →* void};
} =>#t22;
- self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(), set2);
+ self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::num*>*}, set2);
core::Set<core::int*>* set3 = block {
final core::Set<core::int*>* #t27 = col::LinkedHashSet::•<core::int*>();
final core::Iterable<dynamic>* #t28 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t28.{core::Object::==}(null))
+ if(!(#t28 == null))
for (final dynamic #t29 in #t28) {
final core::int* #t30 = #t29 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t30);
+ #t27.{core::Set::add}(#t30){(core::int*) →* core::bool*};
}
final core::Iterable<dynamic>* #t31 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t31.{core::Object::==}(null))
+ if(!(#t31 == null))
for (final dynamic #t32 in #t31) {
final core::int* #t33 = #t32 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t33);
+ #t27.{core::Set::add}(#t33){(core::int*) →* core::bool*};
}
final core::Iterable<core::int*>* #t34 = iterableIntSet;
- if(!#t34.{core::Object::==}(null))
- #t27.{core::Set::addAll}{Invariant}(#t34);
+ if(!(#t34 == null))
+ #t27.{core::Set::addAll}(#t34){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t35 = iterableNumSet1;
- if(!#t35.{core::Object::==}(null))
+ if(!(#t35 == null))
for (final dynamic #t36 in #t35) {
final core::int* #t37 = #t36 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t37);
+ #t27.{core::Set::add}(#t37){(core::int*) →* core::bool*};
}
final core::Iterable<dynamic>* #t38 = iterableNumSet2;
- if(!#t38.{core::Object::==}(null))
+ if(!(#t38 == null))
for (final dynamic #t39 in #t38) {
final core::int* #t40 = #t39 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t40);
+ #t27.{core::Set::add}(#t40){(core::int*) →* core::bool*};
}
final core::Iterable<core::int*>* #t41 = intSet;
- if(!#t41.{core::Object::==}(null))
- #t27.{core::Set::addAll}{Invariant}(#t41);
+ if(!(#t41 == null))
+ #t27.{core::Set::addAll}(#t41){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t42 = numSet1;
- if(!#t42.{core::Object::==}(null))
+ if(!(#t42 == null))
for (final dynamic #t43 in #t42) {
final core::int* #t44 = #t43 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t44);
+ #t27.{core::Set::add}(#t44){(core::int*) →* core::bool*};
}
final core::Iterable<dynamic>* #t45 = numSet2;
- if(!#t45.{core::Object::==}(null))
+ if(!(#t45 == null))
for (final dynamic #t46 in #t45) {
final core::int* #t47 = #t46 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t47);
+ #t27.{core::Set::add}(#t47){(core::int*) →* core::bool*};
}
} =>#t27;
- self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(), set3);
+ self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set3);
core::Set<core::num*>* set4 = block {
final core::Set<core::num*>* #t48 = col::LinkedHashSet::•<core::num*>();
final core::Iterable<dynamic>* #t49 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t49.{core::Object::==}(null))
+ if(!(#t49 == null))
for (final dynamic #t50 in #t49) {
final core::num* #t51 = #t50 as{TypeError} core::num*;
- #t48.{core::Set::add}{Invariant}(#t51);
+ #t48.{core::Set::add}(#t51){(core::num*) →* core::bool*};
}
final core::Iterable<dynamic>* #t52 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t52.{core::Object::==}(null))
+ if(!(#t52 == null))
for (final dynamic #t53 in #t52) {
final core::num* #t54 = #t53 as{TypeError} core::num*;
- #t48.{core::Set::add}{Invariant}(#t54);
+ #t48.{core::Set::add}(#t54){(core::num*) →* core::bool*};
}
final core::Iterable<core::num*>* #t55 = iterableIntSet;
- if(!#t55.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t55);
+ if(!(#t55 == null))
+ #t48.{core::Set::addAll}(#t55){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t56 = iterableNumSet1;
- if(!#t56.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t56);
+ if(!(#t56 == null))
+ #t48.{core::Set::addAll}(#t56){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t57 = iterableNumSet2;
- if(!#t57.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t57);
+ if(!(#t57 == null))
+ #t48.{core::Set::addAll}(#t57){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t58 = intSet;
- if(!#t58.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t58);
+ if(!(#t58 == null))
+ #t48.{core::Set::addAll}(#t58){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t59 = numSet1;
- if(!#t59.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t59);
+ if(!(#t59 == null))
+ #t48.{core::Set::addAll}(#t59){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t60 = numSet2;
- if(!#t60.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t60);
+ if(!(#t60 == null))
+ #t48.{core::Set::addAll}(#t60){(core::Iterable<core::num*>*) →* void};
} =>#t48;
- self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(), set4);
+ self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::num*>*}, set4);
}
static method main() → dynamic {
self::useAddAll();
}
static method expect(core::Set<dynamic>* set1, core::Set<dynamic>* set2) → void {
- if(!set1.{_in::EfficientLengthIterable::length}.{core::num::==}(set2.{_in::EfficientLengthIterable::length})) {
- throw "Unexpected length. Expected ${set1.{_in::EfficientLengthIterable::length}}, actual ${set2.{_in::EfficientLengthIterable::length}}.";
+ if(!(set1.{_in::EfficientLengthIterable::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} set2.{_in::EfficientLengthIterable::length}{core::int*})) {
+ throw "Unexpected length. Expected ${set1.{_in::EfficientLengthIterable::length}{core::int*}}, actual ${set2.{_in::EfficientLengthIterable::length}{core::int*}}.";
}
for (dynamic element in set1) {
- if(!set2.{core::Set::contains}(element)) {
+ if(!set2.{core::Set::contains}(element){(core::Object*) →* core::bool*}) {
throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
}
}
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.transformed.expect
index b8b398a..9049e14 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.transformed.expect
@@ -7,51 +7,51 @@
static method useAddAll() → void {
dynamic dynamicSet1 = block {
final core::Set<core::int*>* #t1 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t1.{core::Set::add}{Invariant}(0);
- #t1.{core::Set::add}{Invariant}(1);
- #t1.{core::Set::add}{Invariant}(2);
+ #t1.{core::Set::add}(0){(core::int*) →* core::bool*};
+ #t1.{core::Set::add}(1){(core::int*) →* core::bool*};
+ #t1.{core::Set::add}(2){(core::int*) →* core::bool*};
} =>#t1;
dynamic dynamicSet2 = block {
final core::Set<core::num*>* #t2 = new col::_CompactLinkedHashSet::•<core::num*>();
- #t2.{core::Set::add}{Invariant}(3);
- #t2.{core::Set::add}{Invariant}(4);
- #t2.{core::Set::add}{Invariant}(5);
+ #t2.{core::Set::add}(3){(core::num*) →* core::bool*};
+ #t2.{core::Set::add}(4){(core::num*) →* core::bool*};
+ #t2.{core::Set::add}(5){(core::num*) →* core::bool*};
} =>#t2;
core::Iterable<core::int*>* iterableIntSet = block {
final core::Set<core::int*>* #t3 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t3.{core::Set::add}{Invariant}(6);
- #t3.{core::Set::add}{Invariant}(7);
- #t3.{core::Set::add}{Invariant}(8);
+ #t3.{core::Set::add}(6){(core::int*) →* core::bool*};
+ #t3.{core::Set::add}(7){(core::int*) →* core::bool*};
+ #t3.{core::Set::add}(8){(core::int*) →* core::bool*};
} =>#t3;
core::Iterable<core::num*>* iterableNumSet1 = block {
final core::Set<core::int*>* #t4 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t4.{core::Set::add}{Invariant}(9);
- #t4.{core::Set::add}{Invariant}(10);
- #t4.{core::Set::add}{Invariant}(11);
+ #t4.{core::Set::add}(9){(core::int*) →* core::bool*};
+ #t4.{core::Set::add}(10){(core::int*) →* core::bool*};
+ #t4.{core::Set::add}(11){(core::int*) →* core::bool*};
} =>#t4;
core::Iterable<core::num*>* iterableNumSet2 = block {
final core::Set<core::num*>* #t5 = new col::_CompactLinkedHashSet::•<core::num*>();
- #t5.{core::Set::add}{Invariant}(12);
- #t5.{core::Set::add}{Invariant}(13);
- #t5.{core::Set::add}{Invariant}(14);
+ #t5.{core::Set::add}(12){(core::num*) →* core::bool*};
+ #t5.{core::Set::add}(13){(core::num*) →* core::bool*};
+ #t5.{core::Set::add}(14){(core::num*) →* core::bool*};
} =>#t5;
core::Set<core::int*>* intSet = block {
final core::Set<core::int*>* #t6 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t6.{core::Set::add}{Invariant}(15);
- #t6.{core::Set::add}{Invariant}(16);
- #t6.{core::Set::add}{Invariant}(17);
+ #t6.{core::Set::add}(15){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(16){(core::int*) →* core::bool*};
+ #t6.{core::Set::add}(17){(core::int*) →* core::bool*};
} =>#t6;
core::Set<core::num*>* numSet1 = block {
final core::Set<core::int*>* #t7 = new col::_CompactLinkedHashSet::•<core::int*>();
- #t7.{core::Set::add}{Invariant}(18);
- #t7.{core::Set::add}{Invariant}(19);
- #t7.{core::Set::add}{Invariant}(20);
+ #t7.{core::Set::add}(18){(core::int*) →* core::bool*};
+ #t7.{core::Set::add}(19){(core::int*) →* core::bool*};
+ #t7.{core::Set::add}(20){(core::int*) →* core::bool*};
} =>#t7;
core::Set<core::num*>* numSet2 = block {
final core::Set<core::num*>* #t8 = new col::_CompactLinkedHashSet::•<core::num*>();
- #t8.{core::Set::add}{Invariant}(21);
- #t8.{core::Set::add}{Invariant}(22);
- #t8.{core::Set::add}{Invariant}(23);
+ #t8.{core::Set::add}(21){(core::num*) →* core::bool*};
+ #t8.{core::Set::add}(22){(core::num*) →* core::bool*};
+ #t8.{core::Set::add}(23){(core::num*) →* core::bool*};
} =>#t8;
core::Set<core::int*>* set1 = block {
final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
@@ -61,7 +61,7 @@
final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t11);
+ #t9.{core::Set::add}(#t11){(core::int*) →* core::bool*};
}
}
}
@@ -71,18 +71,18 @@
final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t13 = #t12 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t13);
+ #t9.{core::Set::add}(#t13){(core::int*) →* core::bool*};
}
}
}
- #t9.{core::Set::addAll}{Invariant}(iterableIntSet);
+ #t9.{core::Set::addAll}(iterableIntSet){(core::Iterable<core::int*>*) →* void};
{
core::Iterator<core::num*>* :sync-for-iterator = iterableNumSet1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t15 = #t14 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t15);
+ #t9.{core::Set::add}(#t15){(core::int*) →* core::bool*};
}
}
}
@@ -92,18 +92,18 @@
final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t17 = #t16 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t17);
+ #t9.{core::Set::add}(#t17){(core::int*) →* core::bool*};
}
}
}
- #t9.{core::Set::addAll}{Invariant}(intSet);
+ #t9.{core::Set::addAll}(intSet){(core::Iterable<core::int*>*) →* void};
{
core::Iterator<core::num*>* :sync-for-iterator = numSet1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t19 = #t18 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t19);
+ #t9.{core::Set::add}(#t19){(core::int*) →* core::bool*};
}
}
}
@@ -113,12 +113,12 @@
final dynamic #t20 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t21 = #t20 as{TypeError} core::int*;
- #t9.{core::Set::add}{Invariant}(#t21);
+ #t9.{core::Set::add}(#t21){(core::int*) →* core::bool*};
}
}
}
} =>#t9;
- self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(), set1);
+ self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set1);
core::Set<core::num*>* set2 = block {
final core::Set<core::num*>* #t22 = new col::_CompactLinkedHashSet::•<core::num*>();
{
@@ -127,7 +127,7 @@
final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t24 = #t23 as{TypeError} core::num*;
- #t22.{core::Set::add}{Invariant}(#t24);
+ #t22.{core::Set::add}(#t24){(core::num*) →* core::bool*};
}
}
}
@@ -137,152 +137,152 @@
final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t26 = #t25 as{TypeError} core::num*;
- #t22.{core::Set::add}{Invariant}(#t26);
+ #t22.{core::Set::add}(#t26){(core::num*) →* core::bool*};
}
}
}
- #t22.{core::Set::addAll}{Invariant}(iterableIntSet);
- #t22.{core::Set::addAll}{Invariant}(iterableNumSet1);
- #t22.{core::Set::addAll}{Invariant}(iterableNumSet2);
- #t22.{core::Set::addAll}{Invariant}(intSet);
- #t22.{core::Set::addAll}{Invariant}(numSet1);
- #t22.{core::Set::addAll}{Invariant}(numSet2);
+ #t22.{core::Set::addAll}(iterableIntSet){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(iterableNumSet1){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(iterableNumSet2){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(intSet){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(numSet1){(core::Iterable<core::num*>*) →* void};
+ #t22.{core::Set::addAll}(numSet2){(core::Iterable<core::num*>*) →* void};
} =>#t22;
- self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(), set2);
+ self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::num*>*}, set2);
core::Set<core::int*>* set3 = block {
final core::Set<core::int*>* #t27 = new col::_CompactLinkedHashSet::•<core::int*>();
final core::Iterable<dynamic>* #t28 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t28.{core::Object::==}(null)) {
+ if(!(#t28 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t28.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t29 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t30 = #t29 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t30);
+ #t27.{core::Set::add}(#t30){(core::int*) →* core::bool*};
}
}
}
final core::Iterable<dynamic>* #t31 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t31.{core::Object::==}(null)) {
+ if(!(#t31 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t31.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t32 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t33 = #t32 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t33);
+ #t27.{core::Set::add}(#t33){(core::int*) →* core::bool*};
}
}
}
final core::Iterable<core::int*>* #t34 = iterableIntSet;
- if(!#t34.{core::Object::==}(null))
- #t27.{core::Set::addAll}{Invariant}(#t34);
+ if(!(#t34 == null))
+ #t27.{core::Set::addAll}(#t34){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t35 = iterableNumSet1;
- if(!#t35.{core::Object::==}(null)) {
+ if(!(#t35 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t35.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t36 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t37 = #t36 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t37);
+ #t27.{core::Set::add}(#t37){(core::int*) →* core::bool*};
}
}
}
final core::Iterable<dynamic>* #t38 = iterableNumSet2;
- if(!#t38.{core::Object::==}(null)) {
+ if(!(#t38 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t38.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t39 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t40 = #t39 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t40);
+ #t27.{core::Set::add}(#t40){(core::int*) →* core::bool*};
}
}
}
final core::Iterable<core::int*>* #t41 = intSet;
- if(!#t41.{core::Object::==}(null))
- #t27.{core::Set::addAll}{Invariant}(#t41);
+ if(!(#t41 == null))
+ #t27.{core::Set::addAll}(#t41){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t42 = numSet1;
- if(!#t42.{core::Object::==}(null)) {
+ if(!(#t42 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t42.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t43 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t44 = #t43 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t44);
+ #t27.{core::Set::add}(#t44){(core::int*) →* core::bool*};
}
}
}
final core::Iterable<dynamic>* #t45 = numSet2;
- if(!#t45.{core::Object::==}(null)) {
+ if(!(#t45 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t45.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t46 = :sync-for-iterator.{core::Iterator::current};
{
final core::int* #t47 = #t46 as{TypeError} core::int*;
- #t27.{core::Set::add}{Invariant}(#t47);
+ #t27.{core::Set::add}(#t47){(core::int*) →* core::bool*};
}
}
}
} =>#t27;
- self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(), set3);
+ self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set3);
core::Set<core::num*>* set4 = block {
final core::Set<core::num*>* #t48 = new col::_CompactLinkedHashSet::•<core::num*>();
final core::Iterable<dynamic>* #t49 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t49.{core::Object::==}(null)) {
+ if(!(#t49 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t49.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t50 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t51 = #t50 as{TypeError} core::num*;
- #t48.{core::Set::add}{Invariant}(#t51);
+ #t48.{core::Set::add}(#t51){(core::num*) →* core::bool*};
}
}
}
final core::Iterable<dynamic>* #t52 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
- if(!#t52.{core::Object::==}(null)) {
+ if(!(#t52 == null)) {
core::Iterator<dynamic>* :sync-for-iterator = #t52.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t53 = :sync-for-iterator.{core::Iterator::current};
{
final core::num* #t54 = #t53 as{TypeError} core::num*;
- #t48.{core::Set::add}{Invariant}(#t54);
+ #t48.{core::Set::add}(#t54){(core::num*) →* core::bool*};
}
}
}
final core::Iterable<core::num*>* #t55 = iterableIntSet;
- if(!#t55.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t55);
+ if(!(#t55 == null))
+ #t48.{core::Set::addAll}(#t55){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t56 = iterableNumSet1;
- if(!#t56.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t56);
+ if(!(#t56 == null))
+ #t48.{core::Set::addAll}(#t56){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t57 = iterableNumSet2;
- if(!#t57.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t57);
+ if(!(#t57 == null))
+ #t48.{core::Set::addAll}(#t57){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t58 = intSet;
- if(!#t58.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t58);
+ if(!(#t58 == null))
+ #t48.{core::Set::addAll}(#t58){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t59 = numSet1;
- if(!#t59.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t59);
+ if(!(#t59 == null))
+ #t48.{core::Set::addAll}(#t59){(core::Iterable<core::num*>*) →* void};
final core::Iterable<core::num*>* #t60 = numSet2;
- if(!#t60.{core::Object::==}(null))
- #t48.{core::Set::addAll}{Invariant}(#t60);
+ if(!(#t60 == null))
+ #t48.{core::Set::addAll}(#t60){(core::Iterable<core::num*>*) →* void};
} =>#t48;
- self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(), set4);
+ self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::num*>*}, set4);
}
static method main() → dynamic {
self::useAddAll();
}
static method expect(core::Set<dynamic>* set1, core::Set<dynamic>* set2) → void {
- if(!set1.{_in::EfficientLengthIterable::length}.{core::num::==}(set2.{_in::EfficientLengthIterable::length})) {
- throw "Unexpected length. Expected ${set1.{_in::EfficientLengthIterable::length}}, actual ${set2.{_in::EfficientLengthIterable::length}}.";
+ if(!(set1.{_in::EfficientLengthIterable::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} set2.{_in::EfficientLengthIterable::length}{core::int*})) {
+ throw "Unexpected length. Expected ${set1.{_in::EfficientLengthIterable::length}{core::int*}}, actual ${set2.{_in::EfficientLengthIterable::length}{core::int*}}.";
}
{
core::Iterator<dynamic>* :sync-for-iterator = set1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic element = :sync-for-iterator.{core::Iterator::current};
{
- if(!set2.{core::Set::contains}(element)) {
+ if(!set2.{core::Set::contains}(element){(core::Object*) →* core::bool*}) {
throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
}
}
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.expect b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.expect
index 2ade2ee..867c99e 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.expect
@@ -7,169 +7,169 @@
static method useAddAll() → void {
dynamic dynamicSet1 = block {
final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
- #t1.{core::Set::add}{Invariant}(0);
- #t1.{core::Set::add}{Invariant}(1);
- #t1.{core::Set::add}{Invariant}(2);
+ #t1.{core::Set::add}(0){(core::int) → core::bool};
+ #t1.{core::Set::add}(1){(core::int) → core::bool};
+ #t1.{core::Set::add}(2){(core::int) → core::bool};
} =>#t1;
dynamic dynamicSet2 = block {
final core::Set<core::num> #t2 = col::LinkedHashSet::•<core::num>();
- #t2.{core::Set::add}{Invariant}(3);
- #t2.{core::Set::add}{Invariant}(4);
- #t2.{core::Set::add}{Invariant}(5);
+ #t2.{core::Set::add}(3){(core::num) → core::bool};
+ #t2.{core::Set::add}(4){(core::num) → core::bool};
+ #t2.{core::Set::add}(5){(core::num) → core::bool};
} =>#t2;
dynamic dynamicSet3 = block {
final core::Set<core::int?> #t3 = col::LinkedHashSet::•<core::int?>();
- #t3.{core::Set::add}{Invariant}(6);
- #t3.{core::Set::add}{Invariant}(7);
- #t3.{core::Set::add}{Invariant}(8);
+ #t3.{core::Set::add}(6){(core::int?) → core::bool};
+ #t3.{core::Set::add}(7){(core::int?) → core::bool};
+ #t3.{core::Set::add}(8){(core::int?) → core::bool};
} =>#t3;
core::Iterable<core::int> iterableIntSet = block {
final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
- #t4.{core::Set::add}{Invariant}(9);
- #t4.{core::Set::add}{Invariant}(10);
- #t4.{core::Set::add}{Invariant}(11);
+ #t4.{core::Set::add}(9){(core::int) → core::bool};
+ #t4.{core::Set::add}(10){(core::int) → core::bool};
+ #t4.{core::Set::add}(11){(core::int) → core::bool};
} =>#t4;
core::Set<core::int> intSet = block {
final core::Set<core::int> #t5 = col::LinkedHashSet::•<core::int>();
- #t5.{core::Set::add}{Invariant}(12);
- #t5.{core::Set::add}{Invariant}(13);
- #t5.{core::Set::add}{Invariant}(14);
+ #t5.{core::Set::add}(12){(core::int) → core::bool};
+ #t5.{core::Set::add}(13){(core::int) → core::bool};
+ #t5.{core::Set::add}(14){(core::int) → core::bool};
} =>#t5;
core::Set<core::int> set1 = block {
final core::Set<core::int> #t6 = col::LinkedHashSet::•<core::int>();
for (final dynamic #t7 in dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
- #t6.{core::Set::add}{Invariant}(#t8);
+ #t6.{core::Set::add}(#t8){(core::int) → core::bool};
}
for (final dynamic #t9 in dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::int #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::int;
- #t6.{core::Set::add}{Invariant}(#t10);
+ #t6.{core::Set::add}(#t10){(core::int) → core::bool};
}
for (final dynamic #t11 in dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::int #t12 = #t11 as{TypeError,ForNonNullableByDefault} core::int;
- #t6.{core::Set::add}{Invariant}(#t12);
+ #t6.{core::Set::add}(#t12){(core::int) → core::bool};
}
- #t6.{core::Set::addAll}{Invariant}(iterableIntSet);
- #t6.{core::Set::addAll}{Invariant}(intSet);
+ #t6.{core::Set::addAll}(iterableIntSet){(core::Iterable<core::int>) → void};
+ #t6.{core::Set::addAll}(intSet){(core::Iterable<core::int>) → void};
} =>#t6;
- self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(), set1);
+ self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set1);
core::Set<core::num> set2 = block {
final core::Set<core::num> #t13 = col::LinkedHashSet::•<core::num>();
for (final dynamic #t14 in dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::num #t15 = #t14 as{TypeError,ForNonNullableByDefault} core::num;
- #t13.{core::Set::add}{Invariant}(#t15);
+ #t13.{core::Set::add}(#t15){(core::num) → core::bool};
}
for (final dynamic #t16 in dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::num #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::num;
- #t13.{core::Set::add}{Invariant}(#t17);
+ #t13.{core::Set::add}(#t17){(core::num) → core::bool};
}
for (final dynamic #t18 in dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
final core::num #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::num;
- #t13.{core::Set::add}{Invariant}(#t19);
+ #t13.{core::Set::add}(#t19){(core::num) → core::bool};
}
- #t13.{core::Set::addAll}{Invariant}(iterableIntSet);
- #t13.{core::Set::addAll}{Invariant}(intSet);
+ #t13.{core::Set::addAll}(iterableIntSet){(core::Iterable<core::num>) → void};
+ #t13.{core::Set::addAll}(intSet){(core::Iterable<core::num>) → void};
} =>#t13;
- self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(), set2);
+ self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
}
static method useAddAllNullable() → void {
dynamic dynamicSet1 = block {
final core::Set<core::int> #t20 = col::LinkedHashSet::•<core::int>();
- #t20.{core::Set::add}{Invariant}(0);
- #t20.{core::Set::add}{Invariant}(1);
- #t20.{core::Set::add}{Invariant}(2);
+ #t20.{core::Set::add}(0){(core::int) → core::bool};
+ #t20.{core::Set::add}(1){(core::int) → core::bool};
+ #t20.{core::Set::add}(2){(core::int) → core::bool};
} =>#t20;
dynamic dynamicSet2 = block {
final core::Set<core::num> #t21 = col::LinkedHashSet::•<core::num>();
- #t21.{core::Set::add}{Invariant}(3);
- #t21.{core::Set::add}{Invariant}(4);
- #t21.{core::Set::add}{Invariant}(5);
+ #t21.{core::Set::add}(3){(core::num) → core::bool};
+ #t21.{core::Set::add}(4){(core::num) → core::bool};
+ #t21.{core::Set::add}(5){(core::num) → core::bool};
} =>#t21;
dynamic dynamicSet3 = block {
final core::Set<core::int?> #t22 = col::LinkedHashSet::•<core::int?>();
- #t22.{core::Set::add}{Invariant}(6);
- #t22.{core::Set::add}{Invariant}(7);
- #t22.{core::Set::add}{Invariant}(8);
+ #t22.{core::Set::add}(6){(core::int?) → core::bool};
+ #t22.{core::Set::add}(7){(core::int?) → core::bool};
+ #t22.{core::Set::add}(8){(core::int?) → core::bool};
} =>#t22;
core::Iterable<core::int>? iterableIntSet = true ?{core::Set<core::int>?} block {
final core::Set<core::int> #t23 = col::LinkedHashSet::•<core::int>();
- #t23.{core::Set::add}{Invariant}(9);
- #t23.{core::Set::add}{Invariant}(10);
- #t23.{core::Set::add}{Invariant}(11);
+ #t23.{core::Set::add}(9){(core::int) → core::bool};
+ #t23.{core::Set::add}(10){(core::int) → core::bool};
+ #t23.{core::Set::add}(11){(core::int) → core::bool};
} =>#t23 : null;
core::Set<core::int>? intSet = true ?{core::Set<core::int>?} block {
final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
- #t24.{core::Set::add}{Invariant}(12);
- #t24.{core::Set::add}{Invariant}(13);
- #t24.{core::Set::add}{Invariant}(14);
+ #t24.{core::Set::add}(12){(core::int) → core::bool};
+ #t24.{core::Set::add}(13){(core::int) → core::bool};
+ #t24.{core::Set::add}(14){(core::int) → core::bool};
} =>#t24 : null;
core::Set<core::int> set1 = block {
final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t26 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t26.{core::Object::==}(null))
+ if(!(#t26 == null))
for (final dynamic #t27 in #t26{core::Iterable<dynamic>}) {
final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}{Invariant}(#t28);
+ #t25.{core::Set::add}(#t28){(core::int) → core::bool};
}
final core::Iterable<dynamic>? #t29 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t29.{core::Object::==}(null))
+ if(!(#t29 == null))
for (final dynamic #t30 in #t29{core::Iterable<dynamic>}) {
final core::int #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}{Invariant}(#t31);
+ #t25.{core::Set::add}(#t31){(core::int) → core::bool};
}
final core::Iterable<dynamic>? #t32 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t32.{core::Object::==}(null))
+ if(!(#t32 == null))
for (final dynamic #t33 in #t32{core::Iterable<dynamic>}) {
final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}{Invariant}(#t34);
+ #t25.{core::Set::add}(#t34){(core::int) → core::bool};
}
final core::Iterable<core::int>? #t35 = iterableIntSet;
- if(!#t35.{core::Object::==}(null))
- #t25.{core::Set::addAll}{Invariant}(#t35{core::Iterable<core::int>});
+ if(!(#t35 == null))
+ #t25.{core::Set::addAll}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
final core::Iterable<core::int>? #t36 = intSet;
- if(!#t36.{core::Object::==}(null))
- #t25.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>});
+ if(!(#t36 == null))
+ #t25.{core::Set::addAll}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t25;
- self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(), set1);
+ self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set1);
core::Set<core::num> set2 = block {
final core::Set<core::num> #t37 = col::LinkedHashSet::•<core::num>();
final core::Iterable<dynamic>? #t38 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t38.{core::Object::==}(null))
+ if(!(#t38 == null))
for (final dynamic #t39 in #t38{core::Iterable<dynamic>}) {
final core::num #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::num;
- #t37.{core::Set::add}{Invariant}(#t40);
+ #t37.{core::Set::add}(#t40){(core::num) → core::bool};
}
final core::Iterable<dynamic>? #t41 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t41.{core::Object::==}(null))
+ if(!(#t41 == null))
for (final dynamic #t42 in #t41{core::Iterable<dynamic>}) {
final core::num #t43 = #t42 as{TypeError,ForNonNullableByDefault} core::num;
- #t37.{core::Set::add}{Invariant}(#t43);
+ #t37.{core::Set::add}(#t43){(core::num) → core::bool};
}
final core::Iterable<dynamic>? #t44 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t44.{core::Object::==}(null))
+ if(!(#t44 == null))
for (final dynamic #t45 in #t44{core::Iterable<dynamic>}) {
final core::num #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::num;
- #t37.{core::Set::add}{Invariant}(#t46);
+ #t37.{core::Set::add}(#t46){(core::num) → core::bool};
}
final core::Iterable<core::num>? #t47 = iterableIntSet;
- if(!#t47.{core::Object::==}(null))
- #t37.{core::Set::addAll}{Invariant}(#t47{core::Iterable<core::num>});
+ if(!(#t47 == null))
+ #t37.{core::Set::addAll}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
final core::Iterable<core::num>? #t48 = intSet;
- if(!#t48.{core::Object::==}(null))
- #t37.{core::Set::addAll}{Invariant}(#t48{core::Iterable<core::num>});
+ if(!(#t48 == null))
+ #t37.{core::Set::addAll}(#t48{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
} =>#t37;
- self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(), set2);
+ self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
}
static method main() → dynamic {
self::useAddAll();
self::useAddAllNullable();
}
static method expect(core::Set<dynamic> set1, core::Set<dynamic> set2) → void {
- if(!set1.{_in::EfficientLengthIterable::length}.{core::num::==}(set2.{_in::EfficientLengthIterable::length})) {
- throw "Unexpected length. Expected ${set1.{_in::EfficientLengthIterable::length}}, actual ${set2.{_in::EfficientLengthIterable::length}}.";
+ if(!(set1.{_in::EfficientLengthIterable::length}{core::int} =={core::num::==}{(core::Object) → core::bool} set2.{_in::EfficientLengthIterable::length}{core::int})) {
+ throw "Unexpected length. Expected ${set1.{_in::EfficientLengthIterable::length}{core::int}}, actual ${set2.{_in::EfficientLengthIterable::length}{core::int}}.";
}
for (dynamic element in set1) {
- if(!set2.{core::Set::contains}(element)) {
+ if(!set2.{core::Set::contains}(element){(core::Object?) → core::bool}) {
throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
}
}
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.transformed.expect
index c97ce48..0a6d1df 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.transformed.expect
@@ -7,33 +7,33 @@
static method useAddAll() → void {
dynamic dynamicSet1 = block {
final core::Set<core::int> #t1 = new col::_CompactLinkedHashSet::•<core::int>();
- #t1.{core::Set::add}{Invariant}(0);
- #t1.{core::Set::add}{Invariant}(1);
- #t1.{core::Set::add}{Invariant}(2);
+ #t1.{core::Set::add}(0){(core::int) → core::bool};
+ #t1.{core::Set::add}(1){(core::int) → core::bool};
+ #t1.{core::Set::add}(2){(core::int) → core::bool};
} =>#t1;
dynamic dynamicSet2 = block {
final core::Set<core::num> #t2 = new col::_CompactLinkedHashSet::•<core::num>();
- #t2.{core::Set::add}{Invariant}(3);
- #t2.{core::Set::add}{Invariant}(4);
- #t2.{core::Set::add}{Invariant}(5);
+ #t2.{core::Set::add}(3){(core::num) → core::bool};
+ #t2.{core::Set::add}(4){(core::num) → core::bool};
+ #t2.{core::Set::add}(5){(core::num) → core::bool};
} =>#t2;
dynamic dynamicSet3 = block {
final core::Set<core::int?> #t3 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t3.{core::Set::add}{Invariant}(6);
- #t3.{core::Set::add}{Invariant}(7);
- #t3.{core::Set::add}{Invariant}(8);
+ #t3.{core::Set::add}(6){(core::int?) → core::bool};
+ #t3.{core::Set::add}(7){(core::int?) → core::bool};
+ #t3.{core::Set::add}(8){(core::int?) → core::bool};
} =>#t3;
core::Iterable<core::int> iterableIntSet = block {
final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
- #t4.{core::Set::add}{Invariant}(9);
- #t4.{core::Set::add}{Invariant}(10);
- #t4.{core::Set::add}{Invariant}(11);
+ #t4.{core::Set::add}(9){(core::int) → core::bool};
+ #t4.{core::Set::add}(10){(core::int) → core::bool};
+ #t4.{core::Set::add}(11){(core::int) → core::bool};
} =>#t4;
core::Set<core::int> intSet = block {
final core::Set<core::int> #t5 = new col::_CompactLinkedHashSet::•<core::int>();
- #t5.{core::Set::add}{Invariant}(12);
- #t5.{core::Set::add}{Invariant}(13);
- #t5.{core::Set::add}{Invariant}(14);
+ #t5.{core::Set::add}(12){(core::int) → core::bool};
+ #t5.{core::Set::add}(13){(core::int) → core::bool};
+ #t5.{core::Set::add}(14){(core::int) → core::bool};
} =>#t5;
core::Set<core::int> set1 = block {
final core::Set<core::int> #t6 = new col::_CompactLinkedHashSet::•<core::int>();
@@ -43,7 +43,7 @@
final dynamic #t7 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
- #t6.{core::Set::add}{Invariant}(#t8);
+ #t6.{core::Set::add}(#t8){(core::int) → core::bool};
}
}
}
@@ -53,7 +53,7 @@
final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::int;
- #t6.{core::Set::add}{Invariant}(#t10);
+ #t6.{core::Set::add}(#t10){(core::int) → core::bool};
}
}
}
@@ -63,14 +63,14 @@
final dynamic #t11 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t12 = #t11 as{TypeError,ForNonNullableByDefault} core::int;
- #t6.{core::Set::add}{Invariant}(#t12);
+ #t6.{core::Set::add}(#t12){(core::int) → core::bool};
}
}
}
- #t6.{core::Set::addAll}{Invariant}(iterableIntSet);
- #t6.{core::Set::addAll}{Invariant}(intSet);
+ #t6.{core::Set::addAll}(iterableIntSet){(core::Iterable<core::int>) → void};
+ #t6.{core::Set::addAll}(intSet){(core::Iterable<core::int>) → void};
} =>#t6;
- self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(), set1);
+ self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set1);
core::Set<core::num> set2 = block {
final core::Set<core::num> #t13 = new col::_CompactLinkedHashSet::•<core::num>();
{
@@ -79,7 +79,7 @@
final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t15 = #t14 as{TypeError,ForNonNullableByDefault} core::num;
- #t13.{core::Set::add}{Invariant}(#t15);
+ #t13.{core::Set::add}(#t15){(core::num) → core::bool};
}
}
}
@@ -89,7 +89,7 @@
final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::num;
- #t13.{core::Set::add}{Invariant}(#t17);
+ #t13.{core::Set::add}(#t17){(core::num) → core::bool};
}
}
}
@@ -99,147 +99,147 @@
final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::num;
- #t13.{core::Set::add}{Invariant}(#t19);
+ #t13.{core::Set::add}(#t19){(core::num) → core::bool};
}
}
}
- #t13.{core::Set::addAll}{Invariant}(iterableIntSet);
- #t13.{core::Set::addAll}{Invariant}(intSet);
+ #t13.{core::Set::addAll}(iterableIntSet){(core::Iterable<core::num>) → void};
+ #t13.{core::Set::addAll}(intSet){(core::Iterable<core::num>) → void};
} =>#t13;
- self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(), set2);
+ self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
}
static method useAddAllNullable() → void {
dynamic dynamicSet1 = block {
final core::Set<core::int> #t20 = new col::_CompactLinkedHashSet::•<core::int>();
- #t20.{core::Set::add}{Invariant}(0);
- #t20.{core::Set::add}{Invariant}(1);
- #t20.{core::Set::add}{Invariant}(2);
+ #t20.{core::Set::add}(0){(core::int) → core::bool};
+ #t20.{core::Set::add}(1){(core::int) → core::bool};
+ #t20.{core::Set::add}(2){(core::int) → core::bool};
} =>#t20;
dynamic dynamicSet2 = block {
final core::Set<core::num> #t21 = new col::_CompactLinkedHashSet::•<core::num>();
- #t21.{core::Set::add}{Invariant}(3);
- #t21.{core::Set::add}{Invariant}(4);
- #t21.{core::Set::add}{Invariant}(5);
+ #t21.{core::Set::add}(3){(core::num) → core::bool};
+ #t21.{core::Set::add}(4){(core::num) → core::bool};
+ #t21.{core::Set::add}(5){(core::num) → core::bool};
} =>#t21;
dynamic dynamicSet3 = block {
final core::Set<core::int?> #t22 = new col::_CompactLinkedHashSet::•<core::int?>();
- #t22.{core::Set::add}{Invariant}(6);
- #t22.{core::Set::add}{Invariant}(7);
- #t22.{core::Set::add}{Invariant}(8);
+ #t22.{core::Set::add}(6){(core::int?) → core::bool};
+ #t22.{core::Set::add}(7){(core::int?) → core::bool};
+ #t22.{core::Set::add}(8){(core::int?) → core::bool};
} =>#t22;
core::Iterable<core::int>? iterableIntSet = true ?{core::Set<core::int>?} block {
final core::Set<core::int> #t23 = new col::_CompactLinkedHashSet::•<core::int>();
- #t23.{core::Set::add}{Invariant}(9);
- #t23.{core::Set::add}{Invariant}(10);
- #t23.{core::Set::add}{Invariant}(11);
+ #t23.{core::Set::add}(9){(core::int) → core::bool};
+ #t23.{core::Set::add}(10){(core::int) → core::bool};
+ #t23.{core::Set::add}(11){(core::int) → core::bool};
} =>#t23 : null;
core::Set<core::int>? intSet = true ?{core::Set<core::int>?} block {
final core::Set<core::int> #t24 = new col::_CompactLinkedHashSet::•<core::int>();
- #t24.{core::Set::add}{Invariant}(12);
- #t24.{core::Set::add}{Invariant}(13);
- #t24.{core::Set::add}{Invariant}(14);
+ #t24.{core::Set::add}(12){(core::int) → core::bool};
+ #t24.{core::Set::add}(13){(core::int) → core::bool};
+ #t24.{core::Set::add}(14){(core::int) → core::bool};
} =>#t24 : null;
core::Set<core::int> set1 = block {
final core::Set<core::int> #t25 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t26 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t26.{core::Object::==}(null)) {
+ if(!(#t26 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t26{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t27 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}{Invariant}(#t28);
+ #t25.{core::Set::add}(#t28){(core::int) → core::bool};
}
}
}
final core::Iterable<dynamic>? #t29 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t29.{core::Object::==}(null)) {
+ if(!(#t29 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t29{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t30 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}{Invariant}(#t31);
+ #t25.{core::Set::add}(#t31){(core::int) → core::bool};
}
}
}
final core::Iterable<dynamic>? #t32 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t32.{core::Object::==}(null)) {
+ if(!(#t32 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t32{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t33 = :sync-for-iterator.{core::Iterator::current};
{
final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
- #t25.{core::Set::add}{Invariant}(#t34);
+ #t25.{core::Set::add}(#t34){(core::int) → core::bool};
}
}
}
final core::Iterable<core::int>? #t35 = iterableIntSet;
- if(!#t35.{core::Object::==}(null))
- #t25.{core::Set::addAll}{Invariant}(#t35{core::Iterable<core::int>});
+ if(!(#t35 == null))
+ #t25.{core::Set::addAll}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
final core::Iterable<core::int>? #t36 = intSet;
- if(!#t36.{core::Object::==}(null))
- #t25.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>});
+ if(!(#t36 == null))
+ #t25.{core::Set::addAll}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
} =>#t25;
- self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(), set1);
+ self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set1);
core::Set<core::num> set2 = block {
final core::Set<core::num> #t37 = new col::_CompactLinkedHashSet::•<core::num>();
final core::Iterable<dynamic>? #t38 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t38.{core::Object::==}(null)) {
+ if(!(#t38 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t38{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t39 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::num;
- #t37.{core::Set::add}{Invariant}(#t40);
+ #t37.{core::Set::add}(#t40){(core::num) → core::bool};
}
}
}
final core::Iterable<dynamic>? #t41 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t41.{core::Object::==}(null)) {
+ if(!(#t41 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t41{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t42 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t43 = #t42 as{TypeError,ForNonNullableByDefault} core::num;
- #t37.{core::Set::add}{Invariant}(#t43);
+ #t37.{core::Set::add}(#t43){(core::num) → core::bool};
}
}
}
final core::Iterable<dynamic>? #t44 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
- if(!#t44.{core::Object::==}(null)) {
+ if(!(#t44 == null)) {
core::Iterator<dynamic> :sync-for-iterator = #t44{core::Iterable<dynamic>}.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
final dynamic #t45 = :sync-for-iterator.{core::Iterator::current};
{
final core::num #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::num;
- #t37.{core::Set::add}{Invariant}(#t46);
+ #t37.{core::Set::add}(#t46){(core::num) → core::bool};
}
}
}
final core::Iterable<core::num>? #t47 = iterableIntSet;
- if(!#t47.{core::Object::==}(null))
- #t37.{core::Set::addAll}{Invariant}(#t47{core::Iterable<core::num>});
+ if(!(#t47 == null))
+ #t37.{core::Set::addAll}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
final core::Iterable<core::num>? #t48 = intSet;
- if(!#t48.{core::Object::==}(null))
- #t37.{core::Set::addAll}{Invariant}(#t48{core::Iterable<core::num>});
+ if(!(#t48 == null))
+ #t37.{core::Set::addAll}(#t48{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
} =>#t37;
- self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(), set2);
+ self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
}
static method main() → dynamic {
self::useAddAll();
self::useAddAllNullable();
}
static method expect(core::Set<dynamic> set1, core::Set<dynamic> set2) → void {
- if(!set1.{_in::EfficientLengthIterable::length}.{core::num::==}(set2.{_in::EfficientLengthIterable::length})) {
- throw "Unexpected length. Expected ${set1.{_in::EfficientLengthIterable::length}}, actual ${set2.{_in::EfficientLengthIterable::length}}.";
+ if(!(set1.{_in::EfficientLengthIterable::length}{core::int} =={core::num::==}{(core::Object) → core::bool} set2.{_in::EfficientLengthIterable::length}{core::int})) {
+ throw "Unexpected length. Expected ${set1.{_in::EfficientLengthIterable::length}{core::int}}, actual ${set2.{_in::EfficientLengthIterable::length}{core::int}}.";
}
{
core::Iterator<dynamic> :sync-for-iterator = set1.{core::Iterable::iterator};
for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic element = :sync-for-iterator.{core::Iterator::current};
{
- if(!set2.{core::Set::contains}(element)) {
+ if(!set2.{core::Set::contains}(element){(core::Object?) → core::bool}) {
throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
}
}
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.expect
index 0229f5c..93346f1 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.expect
@@ -7,6 +7,6 @@
block {
final core::List<core::String*>* #t1 = <core::String*>["ab"];
if(b)
- #t1.{core::List::add}{Invariant}("cd");
+ #t1.{core::List::add}("cd"){(core::String*) →* void};
} =>#t1;
}
diff --git a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.transformed.expect
index 33e84e4..0a6d17a 100644
--- a/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.transformed.expect
@@ -7,7 +7,7 @@
block {
final core::List<core::String*>* #t1 = core::_GrowableList::_literal1<core::String*>("ab");
if(b)
- #t1.{core::List::add}{Invariant}("cd");
+ #t1.{core::List::add}("cd"){(core::String*) →* void};
} =>#t1;
}
diff --git a/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.strong.expect b/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.strong.expect
index 33b9aaa..ab48d3f 100644
--- a/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.strong.expect
@@ -98,21 +98,21 @@
self::Cat cat = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:29:20: Error: No named parameter with the name 'numberOfWhiskers'.
Cat cat = new Cat(numberOfWhiskers: 20, numberOfLegs: 4);
^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat;
- self::Cat cat2 = (let final dynamic #t1 = cat as{ForNonNullableByDefault} dynamic in #t1.copyWith(numberOfWhiskers: 4, numberOfLegs: #t1.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
- self::Cat cat3 = (let final dynamic #t2 = ((cat as{ForNonNullableByDefault} dynamic).copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat) as{ForNonNullableByDefault} dynamic in #t2.copyWith(numberOfWhiskers: #t2.numberOfWhiskers, numberOfLegs: 3)) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat2 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat3 = (((cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat) as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfLegs: 3) as{ForNonNullableByDefault} self::Cat;
self::Cat cat4 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:35:29: Error: The method 'copyWith' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'copyWith'.
Cat cat4 = (cat as Object).copyWith(numberOfWhiskers: 4);
^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat;
- self::Cat cat5 = (let final dynamic #t3 = cat as{ForNonNullableByDefault} dynamic in #t3.copyWith(numberOfWhiskers: #t3.numberOfWhiskers, numberOfLegs: #t3.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
- self::Cat cat6 = (let final dynamic #t4 = cat as{ForNonNullableByDefault} dynamic in #t4.copyWith(numberOfWhiskers: 4, numberOfLegs: #t4.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat5 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith() as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat6 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4, numberOfHorns: 5) as{ForNonNullableByDefault} self::Cat;
self::A a;
- self::A a2 = (let final dynamic #t5 = (let final Never #t6 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:43:10: Error: Non-nullable variable 'a' must be assigned before it can be used.
+ self::A a2 = ((let final Never #t1 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:43:10: Error: Non-nullable variable 'a' must be assigned before it can be used.
A a2 = (a as dynamic).copyWith(x: 42, y: 42) as A;
- ^" in a) as{ForNonNullableByDefault} dynamic in #t5.copyWith()) as{ForNonNullableByDefault} self::A;
+ ^" in a) as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(x: 42, y: 42) as{ForNonNullableByDefault} self::A;
self::Foo foo = new self::Foo::•(bar: 4, bar2: 5);
- self::Foo foo2 = (foo as{ForNonNullableByDefault} dynamic).copyWith(bar: 4) as{ForNonNullableByDefault} self::Foo;
+ self::Foo foo2 = (foo as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(bar: 4) as{ForNonNullableByDefault} self::Foo;
}
library /*isNonNullableByDefault*/;
@@ -124,14 +124,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C2;
diff --git a/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.strong.transformed.expect
index 243684e..7e11dd4 100644
--- a/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.strong.transformed.expect
@@ -98,21 +98,21 @@
self::Cat cat = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:29:20: Error: No named parameter with the name 'numberOfWhiskers'.
Cat cat = new Cat(numberOfWhiskers: 20, numberOfLegs: 4);
^^^^^^^^^^^^^^^^";
- self::Cat cat2 = (let final dynamic #t1 = cat as{ForNonNullableByDefault} dynamic in #t1.copyWith(numberOfWhiskers: 4, numberOfLegs: #t1.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
- self::Cat cat3 = (let final dynamic #t2 = ((cat as{ForNonNullableByDefault} dynamic).copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat) as{ForNonNullableByDefault} dynamic in #t2.copyWith(numberOfWhiskers: #t2.numberOfWhiskers, numberOfLegs: 3)) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat2 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat3 = (((cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat) as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfLegs: 3) as{ForNonNullableByDefault} self::Cat;
self::Cat cat4 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:35:29: Error: The method 'copyWith' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'copyWith'.
Cat cat4 = (cat as Object).copyWith(numberOfWhiskers: 4);
^^^^^^^^";
- self::Cat cat5 = (let final dynamic #t3 = cat as{ForNonNullableByDefault} dynamic in #t3.copyWith(numberOfWhiskers: #t3.numberOfWhiskers, numberOfLegs: #t3.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
- self::Cat cat6 = (let final dynamic #t4 = cat as{ForNonNullableByDefault} dynamic in #t4.copyWith(numberOfWhiskers: 4, numberOfLegs: #t4.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat5 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith() as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat6 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4, numberOfHorns: 5) as{ForNonNullableByDefault} self::Cat;
self::A a;
- self::A a2 = (let final dynamic #t5 = (let final Never #t6 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:43:10: Error: Non-nullable variable 'a' must be assigned before it can be used.
+ self::A a2 = ((let final Never #t1 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:43:10: Error: Non-nullable variable 'a' must be assigned before it can be used.
A a2 = (a as dynamic).copyWith(x: 42, y: 42) as A;
- ^" in a) as{ForNonNullableByDefault} dynamic in #t5.copyWith()) as{ForNonNullableByDefault} self::A;
+ ^" in a) as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(x: 42, y: 42) as{ForNonNullableByDefault} self::A;
self::Foo foo = new self::Foo::•(bar: 4, bar2: 5);
- self::Foo foo2 = (foo as{ForNonNullableByDefault} dynamic).copyWith(bar: 4) as{ForNonNullableByDefault} self::Foo;
+ self::Foo foo2 = (foo as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(bar: 4) as{ForNonNullableByDefault} self::Foo;
}
library /*isNonNullableByDefault*/;
@@ -124,14 +124,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C2;
@@ -143,4 +143,4 @@
Extra constant evaluation status:
Evaluated: StringConcatenation @ org-dartlang-testcase:///copy_with_call_sites.dart:26:7 -> StringConstant("A()")
-Extra constant evaluation: evaluated: 128, effectively constant: 1
+Extra constant evaluation: evaluated: 108, effectively constant: 1
diff --git a/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.expect b/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.expect
index 33b9aaa..ab48d3f 100644
--- a/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.expect
@@ -98,21 +98,21 @@
self::Cat cat = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:29:20: Error: No named parameter with the name 'numberOfWhiskers'.
Cat cat = new Cat(numberOfWhiskers: 20, numberOfLegs: 4);
^^^^^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat;
- self::Cat cat2 = (let final dynamic #t1 = cat as{ForNonNullableByDefault} dynamic in #t1.copyWith(numberOfWhiskers: 4, numberOfLegs: #t1.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
- self::Cat cat3 = (let final dynamic #t2 = ((cat as{ForNonNullableByDefault} dynamic).copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat) as{ForNonNullableByDefault} dynamic in #t2.copyWith(numberOfWhiskers: #t2.numberOfWhiskers, numberOfLegs: 3)) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat2 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat3 = (((cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat) as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfLegs: 3) as{ForNonNullableByDefault} self::Cat;
self::Cat cat4 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:35:29: Error: The method 'copyWith' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'copyWith'.
Cat cat4 = (cat as Object).copyWith(numberOfWhiskers: 4);
^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat;
- self::Cat cat5 = (let final dynamic #t3 = cat as{ForNonNullableByDefault} dynamic in #t3.copyWith(numberOfWhiskers: #t3.numberOfWhiskers, numberOfLegs: #t3.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
- self::Cat cat6 = (let final dynamic #t4 = cat as{ForNonNullableByDefault} dynamic in #t4.copyWith(numberOfWhiskers: 4, numberOfLegs: #t4.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat5 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith() as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat6 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4, numberOfHorns: 5) as{ForNonNullableByDefault} self::Cat;
self::A a;
- self::A a2 = (let final dynamic #t5 = (let final Never #t6 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:43:10: Error: Non-nullable variable 'a' must be assigned before it can be used.
+ self::A a2 = ((let final Never #t1 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:43:10: Error: Non-nullable variable 'a' must be assigned before it can be used.
A a2 = (a as dynamic).copyWith(x: 42, y: 42) as A;
- ^" in a) as{ForNonNullableByDefault} dynamic in #t5.copyWith()) as{ForNonNullableByDefault} self::A;
+ ^" in a) as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(x: 42, y: 42) as{ForNonNullableByDefault} self::A;
self::Foo foo = new self::Foo::•(bar: 4, bar2: 5);
- self::Foo foo2 = (foo as{ForNonNullableByDefault} dynamic).copyWith(bar: 4) as{ForNonNullableByDefault} self::Foo;
+ self::Foo foo2 = (foo as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(bar: 4) as{ForNonNullableByDefault} self::Foo;
}
library /*isNonNullableByDefault*/;
@@ -124,14 +124,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C2;
diff --git a/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.transformed.expect
index 243684e..7e11dd4 100644
--- a/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.transformed.expect
@@ -98,21 +98,21 @@
self::Cat cat = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:29:20: Error: No named parameter with the name 'numberOfWhiskers'.
Cat cat = new Cat(numberOfWhiskers: 20, numberOfLegs: 4);
^^^^^^^^^^^^^^^^";
- self::Cat cat2 = (let final dynamic #t1 = cat as{ForNonNullableByDefault} dynamic in #t1.copyWith(numberOfWhiskers: 4, numberOfLegs: #t1.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
- self::Cat cat3 = (let final dynamic #t2 = ((cat as{ForNonNullableByDefault} dynamic).copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat) as{ForNonNullableByDefault} dynamic in #t2.copyWith(numberOfWhiskers: #t2.numberOfWhiskers, numberOfLegs: 3)) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat2 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat3 = (((cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4) as{ForNonNullableByDefault} self::Cat) as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfLegs: 3) as{ForNonNullableByDefault} self::Cat;
self::Cat cat4 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:35:29: Error: The method 'copyWith' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'copyWith'.
Cat cat4 = (cat as Object).copyWith(numberOfWhiskers: 4);
^^^^^^^^";
- self::Cat cat5 = (let final dynamic #t3 = cat as{ForNonNullableByDefault} dynamic in #t3.copyWith(numberOfWhiskers: #t3.numberOfWhiskers, numberOfLegs: #t3.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
- self::Cat cat6 = (let final dynamic #t4 = cat as{ForNonNullableByDefault} dynamic in #t4.copyWith(numberOfWhiskers: 4, numberOfLegs: #t4.numberOfLegs)) as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat5 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith() as{ForNonNullableByDefault} self::Cat;
+ self::Cat cat6 = (cat as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(numberOfWhiskers: 4, numberOfHorns: 5) as{ForNonNullableByDefault} self::Cat;
self::A a;
- self::A a2 = (let final dynamic #t5 = (let final Never #t6 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:43:10: Error: Non-nullable variable 'a' must be assigned before it can be used.
+ self::A a2 = ((let final Never #t1 = invalid-expression "pkg/front_end/testcases/value_class/copy_with_call_sites.dart:43:10: Error: Non-nullable variable 'a' must be assigned before it can be used.
A a2 = (a as dynamic).copyWith(x: 42, y: 42) as A;
- ^" in a) as{ForNonNullableByDefault} dynamic in #t5.copyWith()) as{ForNonNullableByDefault} self::A;
+ ^" in a) as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(x: 42, y: 42) as{ForNonNullableByDefault} self::A;
self::Foo foo = new self::Foo::•(bar: 4, bar2: 5);
- self::Foo foo2 = (foo as{ForNonNullableByDefault} dynamic).copyWith(bar: 4) as{ForNonNullableByDefault} self::Foo;
+ self::Foo foo2 = (foo as{ForNonNullableByDefault} dynamic){dynamic}.copyWith(bar: 4) as{ForNonNullableByDefault} self::Foo;
}
library /*isNonNullableByDefault*/;
@@ -124,14 +124,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C2;
@@ -143,4 +143,4 @@
Extra constant evaluation status:
Evaluated: StringConcatenation @ org-dartlang-testcase:///copy_with_call_sites.dart:26:7 -> StringConstant("A()")
-Extra constant evaluation: evaluated: 128, effectively constant: 1
+Extra constant evaluation: evaluated: 108, effectively constant: 1
diff --git a/pkg/front_end/testcases/value_class/empty.dart.strong.expect b/pkg/front_end/testcases/value_class/empty.dart.strong.expect
index ad09297..ee36638 100644
--- a/pkg/front_end/testcases/value_class/empty.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/empty.dart.strong.expect
@@ -29,14 +29,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/empty.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/empty.dart.strong.transformed.expect
index ccb643b..dfd863f 100644
--- a/pkg/front_end/testcases/value_class/empty.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/empty.dart.strong.transformed.expect
@@ -29,14 +29,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/empty.dart.weak.expect b/pkg/front_end/testcases/value_class/empty.dart.weak.expect
index ad09297..ee36638 100644
--- a/pkg/front_end/testcases/value_class/empty.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/empty.dart.weak.expect
@@ -29,14 +29,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/empty.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/empty.dart.weak.transformed.expect
index ccb643b..dfd863f 100644
--- a/pkg/front_end/testcases/value_class/empty.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/empty.dart.weak.transformed.expect
@@ -29,14 +29,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/explicit_mixin.dart.strong.expect b/pkg/front_end/testcases/value_class/explicit_mixin.dart.strong.expect
index 1dddd63..874cf34 100644
--- a/pkg/front_end/testcases/value_class/explicit_mixin.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/explicit_mixin.dart.strong.expect
@@ -62,14 +62,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/explicit_mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/explicit_mixin.dart.strong.transformed.expect
index 3265e24..9c48f3b 100644
--- a/pkg/front_end/testcases/value_class/explicit_mixin.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/explicit_mixin.dart.strong.transformed.expect
@@ -70,14 +70,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.expect b/pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.expect
index 1dddd63..874cf34 100644
--- a/pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.expect
@@ -62,14 +62,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.transformed.expect
index 3265e24..9c48f3b 100644
--- a/pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.transformed.expect
@@ -70,14 +70,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_final_field_error.dart.strong.expect b/pkg/front_end/testcases/value_class/non_final_field_error.dart.strong.expect
index a306bf0..ef4afe1 100644
--- a/pkg/front_end/testcases/value_class/non_final_field_error.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/non_final_field_error.dart.strong.expect
@@ -37,14 +37,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_final_field_error.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/non_final_field_error.dart.strong.transformed.expect
index a306bf0..ef4afe1 100644
--- a/pkg/front_end/testcases/value_class/non_final_field_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/non_final_field_error.dart.strong.transformed.expect
@@ -37,14 +37,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.expect b/pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.expect
index a306bf0..ef4afe1 100644
--- a/pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.expect
@@ -37,14 +37,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.transformed.expect
index a306bf0..ef4afe1 100644
--- a/pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.transformed.expect
@@ -37,14 +37,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.strong.expect b/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.strong.expect
index d077f3e..59a319e 100644
--- a/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.strong.expect
@@ -43,14 +43,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.strong.transformed.expect
index d077f3e..59a319e 100644
--- a/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.strong.transformed.expect
@@ -43,14 +43,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.expect b/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.expect
index d077f3e..59a319e 100644
--- a/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.expect
@@ -43,14 +43,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.transformed.expect
index d077f3e..59a319e 100644
--- a/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.transformed.expect
@@ -43,14 +43,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.strong.expect b/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.strong.expect
index 21c901e..b2a184a 100644
--- a/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.strong.expect
@@ -49,14 +49,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.strong.transformed.expect
index 21c901e..b2a184a 100644
--- a/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.strong.transformed.expect
@@ -49,14 +49,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.expect b/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.expect
index 21c901e..b2a184a 100644
--- a/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.expect
@@ -49,14 +49,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.transformed.expect
index 21c901e..b2a184a 100644
--- a/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.transformed.expect
@@ -49,14 +49,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/simple.dart.strong.expect b/pkg/front_end/testcases/value_class/simple.dart.strong.expect
index 9c011f1..f0a1c74 100644
--- a/pkg/front_end/testcases/value_class/simple.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/simple.dart.strong.expect
@@ -58,13 +58,13 @@
self::Animal thirdAnimal = invalid-expression "pkg/front_end/testcases/value_class/simple.dart:15:31: Error: No named parameter with the name 'numberOfLegs'.
Animal thirdAnimal = Animal(numberOfLegs: 3);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Animal;
- self::expect(true, firstAnimal.{core::Object::==}(secondAnimal));
- self::expect(false, firstAnimal.{core::Object::==}(thirdAnimal));
- self::expect(true, firstAnimal.{core::Object::hashCode}.{core::num::==}(secondAnimal.{core::Object::hashCode}));
- self::expect(false, firstAnimal.{core::Object::hashCode}.{core::num::==}(thirdAnimal.{core::Object::hashCode}));
+ self::expect(true, firstAnimal =={core::Object::==}{(core::Object) → core::bool} secondAnimal);
+ self::expect(false, firstAnimal =={core::Object::==}{(core::Object) → core::bool} thirdAnimal);
+ self::expect(true, firstAnimal.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondAnimal.{core::Object::hashCode}{core::int});
+ self::expect(false, firstAnimal.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdAnimal.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -77,14 +77,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/simple.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/simple.dart.strong.transformed.expect
index f8dee0a..6c1ece6 100644
--- a/pkg/front_end/testcases/value_class/simple.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/simple.dart.strong.transformed.expect
@@ -58,13 +58,13 @@
self::Animal thirdAnimal = invalid-expression "pkg/front_end/testcases/value_class/simple.dart:15:31: Error: No named parameter with the name 'numberOfLegs'.
Animal thirdAnimal = Animal(numberOfLegs: 3);
^^^^^^^^^^^^";
- self::expect(true, firstAnimal.{core::Object::==}(secondAnimal));
- self::expect(false, firstAnimal.{core::Object::==}(thirdAnimal));
- self::expect(true, firstAnimal.{core::Object::hashCode}.{core::num::==}(secondAnimal.{core::Object::hashCode}));
- self::expect(false, firstAnimal.{core::Object::hashCode}.{core::num::==}(thirdAnimal.{core::Object::hashCode}));
+ self::expect(true, firstAnimal =={core::Object::==}{(core::Object) → core::bool} secondAnimal);
+ self::expect(false, firstAnimal =={core::Object::==}{(core::Object) → core::bool} thirdAnimal);
+ self::expect(true, firstAnimal.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondAnimal.{core::Object::hashCode}{core::int});
+ self::expect(false, firstAnimal.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdAnimal.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -77,14 +77,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/simple.dart.weak.expect b/pkg/front_end/testcases/value_class/simple.dart.weak.expect
index 9c011f1..f0a1c74 100644
--- a/pkg/front_end/testcases/value_class/simple.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/simple.dart.weak.expect
@@ -58,13 +58,13 @@
self::Animal thirdAnimal = invalid-expression "pkg/front_end/testcases/value_class/simple.dart:15:31: Error: No named parameter with the name 'numberOfLegs'.
Animal thirdAnimal = Animal(numberOfLegs: 3);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Animal;
- self::expect(true, firstAnimal.{core::Object::==}(secondAnimal));
- self::expect(false, firstAnimal.{core::Object::==}(thirdAnimal));
- self::expect(true, firstAnimal.{core::Object::hashCode}.{core::num::==}(secondAnimal.{core::Object::hashCode}));
- self::expect(false, firstAnimal.{core::Object::hashCode}.{core::num::==}(thirdAnimal.{core::Object::hashCode}));
+ self::expect(true, firstAnimal =={core::Object::==}{(core::Object) → core::bool} secondAnimal);
+ self::expect(false, firstAnimal =={core::Object::==}{(core::Object) → core::bool} thirdAnimal);
+ self::expect(true, firstAnimal.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondAnimal.{core::Object::hashCode}{core::int});
+ self::expect(false, firstAnimal.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdAnimal.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -77,14 +77,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/simple.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/simple.dart.weak.transformed.expect
index f8dee0a..6c1ece6 100644
--- a/pkg/front_end/testcases/value_class/simple.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/simple.dart.weak.transformed.expect
@@ -58,13 +58,13 @@
self::Animal thirdAnimal = invalid-expression "pkg/front_end/testcases/value_class/simple.dart:15:31: Error: No named parameter with the name 'numberOfLegs'.
Animal thirdAnimal = Animal(numberOfLegs: 3);
^^^^^^^^^^^^";
- self::expect(true, firstAnimal.{core::Object::==}(secondAnimal));
- self::expect(false, firstAnimal.{core::Object::==}(thirdAnimal));
- self::expect(true, firstAnimal.{core::Object::hashCode}.{core::num::==}(secondAnimal.{core::Object::hashCode}));
- self::expect(false, firstAnimal.{core::Object::hashCode}.{core::num::==}(thirdAnimal.{core::Object::hashCode}));
+ self::expect(true, firstAnimal =={core::Object::==}{(core::Object) → core::bool} secondAnimal);
+ self::expect(false, firstAnimal =={core::Object::==}{(core::Object) → core::bool} thirdAnimal);
+ self::expect(true, firstAnimal.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondAnimal.{core::Object::hashCode}{core::int});
+ self::expect(false, firstAnimal.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdAnimal.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -77,14 +77,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value.dart.strong.expect b/pkg/front_end/testcases/value_class/value_extends_non_value.dart.strong.expect
index 9ba8a2f..08b2269 100644
--- a/pkg/front_end/testcases/value_class/value_extends_non_value.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/value_extends_non_value.dart.strong.expect
@@ -64,13 +64,13 @@
self::Cat thirdCat = invalid-expression "pkg/front_end/testcases/value_class/value_extends_non_value.dart:20:22: Error: No named parameter with the name 'numberOfLegs'.
Cat thirdCat = Cat(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat;
- self::expect(true, firstCat.{core::Object::==}(secondCat));
- self::expect(false, firstCat.{core::Object::==}(thirdCat));
- self::expect(true, firstCat.{core::Object::hashCode}.{core::num::==}(secondCat.{core::Object::hashCode}));
- self::expect(false, firstCat.{core::Object::hashCode}.{core::num::==}(thirdCat.{core::Object::hashCode}));
+ self::expect(true, firstCat =={core::Object::==}{(core::Object) → core::bool} secondCat);
+ self::expect(false, firstCat =={core::Object::==}{(core::Object) → core::bool} thirdCat);
+ self::expect(true, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -83,14 +83,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C2;
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/value_extends_non_value.dart.strong.transformed.expect
index cac374d..3954e85 100644
--- a/pkg/front_end/testcases/value_class/value_extends_non_value.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/value_extends_non_value.dart.strong.transformed.expect
@@ -64,13 +64,13 @@
self::Cat thirdCat = invalid-expression "pkg/front_end/testcases/value_class/value_extends_non_value.dart:20:22: Error: No named parameter with the name 'numberOfLegs'.
Cat thirdCat = Cat(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^";
- self::expect(true, firstCat.{core::Object::==}(secondCat));
- self::expect(false, firstCat.{core::Object::==}(thirdCat));
- self::expect(true, firstCat.{core::Object::hashCode}.{core::num::==}(secondCat.{core::Object::hashCode}));
- self::expect(false, firstCat.{core::Object::hashCode}.{core::num::==}(thirdCat.{core::Object::hashCode}));
+ self::expect(true, firstCat =={core::Object::==}{(core::Object) → core::bool} secondCat);
+ self::expect(false, firstCat =={core::Object::==}{(core::Object) → core::bool} thirdCat);
+ self::expect(true, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -83,14 +83,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C2;
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.expect b/pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.expect
index 9ba8a2f..08b2269 100644
--- a/pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.expect
@@ -64,13 +64,13 @@
self::Cat thirdCat = invalid-expression "pkg/front_end/testcases/value_class/value_extends_non_value.dart:20:22: Error: No named parameter with the name 'numberOfLegs'.
Cat thirdCat = Cat(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat;
- self::expect(true, firstCat.{core::Object::==}(secondCat));
- self::expect(false, firstCat.{core::Object::==}(thirdCat));
- self::expect(true, firstCat.{core::Object::hashCode}.{core::num::==}(secondCat.{core::Object::hashCode}));
- self::expect(false, firstCat.{core::Object::hashCode}.{core::num::==}(thirdCat.{core::Object::hashCode}));
+ self::expect(true, firstCat =={core::Object::==}{(core::Object) → core::bool} secondCat);
+ self::expect(false, firstCat =={core::Object::==}{(core::Object) → core::bool} thirdCat);
+ self::expect(true, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -83,14 +83,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C2;
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.transformed.expect
index cac374d..3954e85 100644
--- a/pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.transformed.expect
@@ -64,13 +64,13 @@
self::Cat thirdCat = invalid-expression "pkg/front_end/testcases/value_class/value_extends_non_value.dart:20:22: Error: No named parameter with the name 'numberOfLegs'.
Cat thirdCat = Cat(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^";
- self::expect(true, firstCat.{core::Object::==}(secondCat));
- self::expect(false, firstCat.{core::Object::==}(thirdCat));
- self::expect(true, firstCat.{core::Object::hashCode}.{core::num::==}(secondCat.{core::Object::hashCode}));
- self::expect(false, firstCat.{core::Object::hashCode}.{core::num::==}(thirdCat.{core::Object::hashCode}));
+ self::expect(true, firstCat =={core::Object::==}{(core::Object) → core::bool} secondCat);
+ self::expect(false, firstCat =={core::Object::==}{(core::Object) → core::bool} thirdCat);
+ self::expect(true, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -83,14 +83,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C2;
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.strong.expect b/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.strong.expect
index e039566..263682d 100644
--- a/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.strong.expect
@@ -66,14 +66,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.strong.transformed.expect
index d80dd8f..523dee1f 100644
--- a/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.strong.transformed.expect
@@ -66,14 +66,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.expect b/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.expect
index e039566..263682d 100644
--- a/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.expect
@@ -66,14 +66,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.transformed.expect
index d80dd8f..523dee1f 100644
--- a/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.transformed.expect
@@ -66,14 +66,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_implements_non_value.dart.strong.expect b/pkg/front_end/testcases/value_class/value_implements_non_value.dart.strong.expect
index e8f803a..0f84494 100644
--- a/pkg/front_end/testcases/value_class/value_implements_non_value.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/value_implements_non_value.dart.strong.expect
@@ -127,10 +127,10 @@
self::Cat thirdCat = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:31:22: Error: No named parameter with the name 'numberOfLegs'.
Cat thirdCat = Cat(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat;
- self::expect(true, firstCat.{core::Object::==}(secondCat));
- self::expect(false, firstCat.{core::Object::==}(thirdCat));
- self::expect(true, firstCat.{core::Object::hashCode}.{core::num::==}(secondCat.{core::Object::hashCode}));
- self::expect(false, firstCat.{core::Object::hashCode}.{core::num::==}(thirdCat.{core::Object::hashCode}));
+ self::expect(true, firstCat =={core::Object::==}{(core::Object) → core::bool} secondCat);
+ self::expect(false, firstCat =={core::Object::==}{(core::Object) → core::bool} thirdCat);
+ self::expect(true, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat.{core::Object::hashCode}{core::int});
self::Cat2 firstCat2 = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:39:25: Error: No named parameter with the name 'numberOfLegs'.
Cat2 firstCat2 = Cat2(numberOfLegs: 4, numberOfWhiskers: 10);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat2;
@@ -140,13 +140,13 @@
self::Cat2 thirdCat2 = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:41:25: Error: No named parameter with the name 'numberOfLegs'.
Cat2 thirdCat2 = Cat2(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat2;
- self::expect(true, firstCat2.{core::Object::==}(secondCat2));
- self::expect(false, firstCat2.{core::Object::==}(thirdCat2));
- self::expect(true, firstCat2.{core::Object::hashCode}.{core::num::==}(secondCat2.{core::Object::hashCode}));
- self::expect(false, firstCat2.{core::Object::hashCode}.{core::num::==}(thirdCat2.{core::Object::hashCode}));
+ self::expect(true, firstCat2 =={core::Object::==}{(core::Object) → core::bool} secondCat2);
+ self::expect(false, firstCat2 =={core::Object::==}{(core::Object) → core::bool} thirdCat2);
+ self::expect(true, firstCat2.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat2.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat2.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat2.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -159,14 +159,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_implements_non_value.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/value_implements_non_value.dart.strong.transformed.expect
index bb58694..b0fba59 100644
--- a/pkg/front_end/testcases/value_class/value_implements_non_value.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/value_implements_non_value.dart.strong.transformed.expect
@@ -127,10 +127,10 @@
self::Cat thirdCat = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:31:22: Error: No named parameter with the name 'numberOfLegs'.
Cat thirdCat = Cat(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^";
- self::expect(true, firstCat.{core::Object::==}(secondCat));
- self::expect(false, firstCat.{core::Object::==}(thirdCat));
- self::expect(true, firstCat.{core::Object::hashCode}.{core::num::==}(secondCat.{core::Object::hashCode}));
- self::expect(false, firstCat.{core::Object::hashCode}.{core::num::==}(thirdCat.{core::Object::hashCode}));
+ self::expect(true, firstCat =={core::Object::==}{(core::Object) → core::bool} secondCat);
+ self::expect(false, firstCat =={core::Object::==}{(core::Object) → core::bool} thirdCat);
+ self::expect(true, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat.{core::Object::hashCode}{core::int});
self::Cat2 firstCat2 = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:39:25: Error: No named parameter with the name 'numberOfLegs'.
Cat2 firstCat2 = Cat2(numberOfLegs: 4, numberOfWhiskers: 10);
^^^^^^^^^^^^";
@@ -140,13 +140,13 @@
self::Cat2 thirdCat2 = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:41:25: Error: No named parameter with the name 'numberOfLegs'.
Cat2 thirdCat2 = Cat2(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^";
- self::expect(true, firstCat2.{core::Object::==}(secondCat2));
- self::expect(false, firstCat2.{core::Object::==}(thirdCat2));
- self::expect(true, firstCat2.{core::Object::hashCode}.{core::num::==}(secondCat2.{core::Object::hashCode}));
- self::expect(false, firstCat2.{core::Object::hashCode}.{core::num::==}(thirdCat2.{core::Object::hashCode}));
+ self::expect(true, firstCat2 =={core::Object::==}{(core::Object) → core::bool} secondCat2);
+ self::expect(false, firstCat2 =={core::Object::==}{(core::Object) → core::bool} thirdCat2);
+ self::expect(true, firstCat2.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat2.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat2.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat2.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -159,14 +159,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.expect b/pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.expect
index e8f803a..0f84494 100644
--- a/pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.expect
@@ -127,10 +127,10 @@
self::Cat thirdCat = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:31:22: Error: No named parameter with the name 'numberOfLegs'.
Cat thirdCat = Cat(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat;
- self::expect(true, firstCat.{core::Object::==}(secondCat));
- self::expect(false, firstCat.{core::Object::==}(thirdCat));
- self::expect(true, firstCat.{core::Object::hashCode}.{core::num::==}(secondCat.{core::Object::hashCode}));
- self::expect(false, firstCat.{core::Object::hashCode}.{core::num::==}(thirdCat.{core::Object::hashCode}));
+ self::expect(true, firstCat =={core::Object::==}{(core::Object) → core::bool} secondCat);
+ self::expect(false, firstCat =={core::Object::==}{(core::Object) → core::bool} thirdCat);
+ self::expect(true, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat.{core::Object::hashCode}{core::int});
self::Cat2 firstCat2 = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:39:25: Error: No named parameter with the name 'numberOfLegs'.
Cat2 firstCat2 = Cat2(numberOfLegs: 4, numberOfWhiskers: 10);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat2;
@@ -140,13 +140,13 @@
self::Cat2 thirdCat2 = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:41:25: Error: No named parameter with the name 'numberOfLegs'.
Cat2 thirdCat2 = Cat2(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^" as{TypeError,ForDynamic,ForNonNullableByDefault} self::Cat2;
- self::expect(true, firstCat2.{core::Object::==}(secondCat2));
- self::expect(false, firstCat2.{core::Object::==}(thirdCat2));
- self::expect(true, firstCat2.{core::Object::hashCode}.{core::num::==}(secondCat2.{core::Object::hashCode}));
- self::expect(false, firstCat2.{core::Object::hashCode}.{core::num::==}(thirdCat2.{core::Object::hashCode}));
+ self::expect(true, firstCat2 =={core::Object::==}{(core::Object) → core::bool} secondCat2);
+ self::expect(false, firstCat2 =={core::Object::==}{(core::Object) → core::bool} thirdCat2);
+ self::expect(true, firstCat2.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat2.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat2.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat2.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -159,14 +159,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.transformed.expect
index bb58694..b0fba59 100644
--- a/pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.transformed.expect
@@ -127,10 +127,10 @@
self::Cat thirdCat = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:31:22: Error: No named parameter with the name 'numberOfLegs'.
Cat thirdCat = Cat(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^";
- self::expect(true, firstCat.{core::Object::==}(secondCat));
- self::expect(false, firstCat.{core::Object::==}(thirdCat));
- self::expect(true, firstCat.{core::Object::hashCode}.{core::num::==}(secondCat.{core::Object::hashCode}));
- self::expect(false, firstCat.{core::Object::hashCode}.{core::num::==}(thirdCat.{core::Object::hashCode}));
+ self::expect(true, firstCat =={core::Object::==}{(core::Object) → core::bool} secondCat);
+ self::expect(false, firstCat =={core::Object::==}{(core::Object) → core::bool} thirdCat);
+ self::expect(true, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat.{core::Object::hashCode}{core::int});
self::Cat2 firstCat2 = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:39:25: Error: No named parameter with the name 'numberOfLegs'.
Cat2 firstCat2 = Cat2(numberOfLegs: 4, numberOfWhiskers: 10);
^^^^^^^^^^^^";
@@ -140,13 +140,13 @@
self::Cat2 thirdCat2 = invalid-expression "pkg/front_end/testcases/value_class/value_implements_non_value.dart:41:25: Error: No named parameter with the name 'numberOfLegs'.
Cat2 thirdCat2 = Cat2(numberOfLegs: 4, numberOfWhiskers: 0);
^^^^^^^^^^^^";
- self::expect(true, firstCat2.{core::Object::==}(secondCat2));
- self::expect(false, firstCat2.{core::Object::==}(thirdCat2));
- self::expect(true, firstCat2.{core::Object::hashCode}.{core::num::==}(secondCat2.{core::Object::hashCode}));
- self::expect(false, firstCat2.{core::Object::hashCode}.{core::num::==}(thirdCat2.{core::Object::hashCode}));
+ self::expect(true, firstCat2 =={core::Object::==}{(core::Object) → core::bool} secondCat2);
+ self::expect(false, firstCat2 =={core::Object::==}{(core::Object) → core::bool} thirdCat2);
+ self::expect(true, firstCat2.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} secondCat2.{core::Object::hashCode}{core::int});
+ self::expect(false, firstCat2.{core::Object::hashCode}{core::int} =={core::num::==}{(core::Object) → core::bool} thirdCat2.{core::Object::hashCode}{core::int});
}
static method expect(core::Object? expected, core::Object? actual) → dynamic {
- if(!expected.{core::Object::==}(actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected=${expected}, actual=${actual}";
}
@@ -159,14 +159,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_mixin_error.dart.strong.expect b/pkg/front_end/testcases/value_class/value_mixin_error.dart.strong.expect
index 5391b61..fa9583c 100644
--- a/pkg/front_end/testcases/value_class/value_mixin_error.dart.strong.expect
+++ b/pkg/front_end/testcases/value_class/value_mixin_error.dart.strong.expect
@@ -54,14 +54,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_mixin_error.dart.strong.transformed.expect b/pkg/front_end/testcases/value_class/value_mixin_error.dart.strong.transformed.expect
index 4bf6fa3..9904420 100644
--- a/pkg/front_end/testcases/value_class/value_mixin_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/value_class/value_mixin_error.dart.strong.transformed.expect
@@ -62,14 +62,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.expect b/pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.expect
index 5391b61..fa9583c 100644
--- a/pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.expect
+++ b/pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.expect
@@ -54,14 +54,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.transformed.expect b/pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.transformed.expect
index 4bf6fa3..9904420 100644
--- a/pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.transformed.expect
@@ -62,14 +62,14 @@
: super core::Object::•()
;
static method combine(core::int hash, core::int value) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(value));
- hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash).{core::int::<<}(10)));
- return hash.{core::int::^}(hash.{core::int::>>}(6));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(value){(core::num) → core::int}){(core::int) → core::int};
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(524287.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(10){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ return hash.{core::int::^}(hash.{core::int::>>}(6){(core::int) → core::int}){(core::int) → core::int};
}
static method finish(core::int hash) → core::int {
- hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash).{core::int::<<}(3)));
- hash = hash.{core::int::^}(hash.{core::int::>>}(11));
- return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash).{core::int::<<}(15)));
+ hash = 536870911.{core::int::&}(hash.{core::num::+}(67108863.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(3){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
+ hash = hash.{core::int::^}(hash.{core::int::>>}(11){(core::int) → core::int}){(core::int) → core::int};
+ return 536870911.{core::int::&}(hash.{core::num::+}(16383.{core::int::&}(hash){(core::int) → core::int}.{core::int::<<}(15){(core::int) → core::int}){(core::num) → core::int}){(core::int) → core::int};
}
}
static const field core::String valueClass = #C1;
diff --git a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.expect b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.expect
index fbf4052..e7ce2ad 100644
--- a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.expect
+++ b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.expect
@@ -60,7 +60,7 @@
: self::E::f = f, super core::Object::•()
;
method method(self::E::T% x) → core::int {
- let final self::E::T% #t1 = x in this.{self::E::f}.call(#t1);
+ let final self::E::T% #t1 = x in this.{self::E::f}{(self::E::T%) → void}(#t1){(self::E::T%) → void};
return 0;
}
}
@@ -78,40 +78,40 @@
method noSuchMethod(core::Invocation _) → dynamic
return 3;
no-such-method-forwarder get x() → self::NoSuchMethod::T?
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T?;
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T?;
no-such-method-forwarder method method(self::NoSuchMethod::T% x) → self::NoSuchMethod::T%
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T%;
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T%;
no-such-method-forwarder set y(self::NoSuchMethod::T% x) → void
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set x(self::NoSuchMethod::T? value) → void
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 2, #C3, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
static method main() → dynamic {
self::A<core::int, core::num, core::String> a = new self::A::•<core::int, core::num, core::String>();
- self::expect(null, a.{self::A::field});
- a.{self::A::method}(3, (core::num num) → void {}, "test");
- a.{self::A::method2}(3);
+ self::expect(null, a.{self::A::field}{(core::int) →? void});
+ a.{self::A::method}(3, (core::num num) → void {}, "test"){(core::int, (core::num) → void, core::String) → void};
+ a.{self::A::method2}(3){(core::int, [core::int?]) → void};
a.{self::A::x} = 3;
- core::Map<core::num, self::Contravariant<core::String>> mapContra = a.{self::A::mapContra} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, self::Contravariant<core::String>>;
- core::Map<core::num, (core::String) → void> mapContraFn = a.{self::A::mapContraFn} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, (core::String) → void>;
- core::Map<core::num, self::Invariant<core::String>> mapInv = a.{self::A::mapInv} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, self::Invariant<core::String>>;
- core::Map<core::num, (core::String) → core::String> mapInvFn = a.{self::A::mapInvFn} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, (core::String) → core::String>;
+ core::Map<core::num, self::Contravariant<core::String>> mapContra = a.{self::A::mapContra}{core::Map<core::num, self::Contravariant<core::String>>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, self::Contravariant<core::String>>;
+ core::Map<core::num, (core::String) → void> mapContraFn = a.{self::A::mapContraFn}{core::Map<core::num, (core::String) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, (core::String) → void>;
+ core::Map<core::num, self::Invariant<core::String>> mapInv = a.{self::A::mapInv}{core::Map<core::num, self::Invariant<core::String>>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, self::Invariant<core::String>>;
+ core::Map<core::num, (core::String) → core::String> mapInvFn = a.{self::A::mapInvFn}{core::Map<core::num, (core::String) → core::String>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, (core::String) → core::String>;
self::B<core::int> b = new self::B::•<core::int>();
b.{self::B::x} = 3;
- self::expect(3, b.{self::B::x});
- self::expect(3, b.{self::B::method}(3));
+ self::expect(3, b.{self::B::x}{core::int?});
+ self::expect(3, b.{self::B::method}(3){(core::int) → core::int});
b.{self::B::y} = 3;
self::C<core::int> c = new self::C::•<core::int>();
- self::expect(null, c.{self::C::field});
- c.{self::C::method}(3, 2);
+ self::expect(null, c.{self::C::field}{(core::int) →? void});
+ c.{self::C::method}(3, 2){(core::int, [core::int?]) → void};
c.{self::C::x} = 3;
self::D<core::Object> d = new self::F::•<core::String>((core::String s) → void {});
- d.{self::D::method}("test");
+ d.{self::D::method}("test"){(core::Object) → core::int};
self::NoSuchMethod<core::num> nsm = new self::NoSuchMethod::•<core::num>();
- self::expect(3, nsm.{self::B::method}(3));
+ self::expect(3, nsm.{self::B::method}(3){(core::num) → core::num});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.outline.expect b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.outline.expect
index 1ce38f4..ae0d389 100644
--- a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.outline.expect
@@ -73,13 +73,13 @@
method noSuchMethod(core::Invocation _) → dynamic
;
no-such-method-forwarder get x() → self::NoSuchMethod::T?
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T?;
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T?;
no-such-method-forwarder method method(self::NoSuchMethod::T% x) → self::NoSuchMethod::T%
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T%;
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T%;
no-such-method-forwarder set y(self::NoSuchMethod::T% x) → void
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#y=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#y=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
no-such-method-forwarder set x(self::NoSuchMethod::T? value) → void
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.transformed.expect b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.transformed.expect
index 3719b77..5346fee6 100644
--- a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.transformed.expect
@@ -60,7 +60,7 @@
: self::E::f = f, super core::Object::•()
;
method method(self::E::T% x) → core::int {
- let final self::E::T% #t1 = x in this.{self::E::f}.call(#t1);
+ let final self::E::T% #t1 = x in this.{self::E::f}{(self::E::T%) → void}(#t1){(self::E::T%) → void};
return 0;
}
}
@@ -78,40 +78,40 @@
method noSuchMethod(core::Invocation _) → dynamic
return 3;
no-such-method-forwarder get x() → self::NoSuchMethod::T?
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T?;
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 1, #C3, #C4, core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T?;
no-such-method-forwarder method method(self::NoSuchMethod::T% x) → self::NoSuchMethod::T%
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))) as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T%;
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} self::NoSuchMethod::T%;
no-such-method-forwarder set y(self::NoSuchMethod::T% x) → void
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(x)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
no-such-method-forwarder set x(self::NoSuchMethod::T? value) → void
- return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5)));
+ return this.{self::NoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 2, #C3, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
}
static method main() → dynamic {
self::A<core::int, core::num, core::String> a = new self::A::•<core::int, core::num, core::String>();
- self::expect(null, a.{self::A::field});
- a.{self::A::method}(3, (core::num num) → void {}, "test");
- a.{self::A::method2}(3);
+ self::expect(null, a.{self::A::field}{(core::int) →? void});
+ a.{self::A::method}(3, (core::num num) → void {}, "test"){(core::int, (core::num) → void, core::String) → void};
+ a.{self::A::method2}(3){(core::int, [core::int?]) → void};
a.{self::A::x} = 3;
- core::Map<core::num, self::Contravariant<core::String>> mapContra = a.{self::A::mapContra} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, self::Contravariant<core::String>>;
- core::Map<core::num, (core::String) → void> mapContraFn = a.{self::A::mapContraFn} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, (core::String) → void>;
- core::Map<core::num, self::Invariant<core::String>> mapInv = a.{self::A::mapInv} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, self::Invariant<core::String>>;
- core::Map<core::num, (core::String) → core::String> mapInvFn = a.{self::A::mapInvFn} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, (core::String) → core::String>;
+ core::Map<core::num, self::Contravariant<core::String>> mapContra = a.{self::A::mapContra}{core::Map<core::num, self::Contravariant<core::String>>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, self::Contravariant<core::String>>;
+ core::Map<core::num, (core::String) → void> mapContraFn = a.{self::A::mapContraFn}{core::Map<core::num, (core::String) → void>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, (core::String) → void>;
+ core::Map<core::num, self::Invariant<core::String>> mapInv = a.{self::A::mapInv}{core::Map<core::num, self::Invariant<core::String>>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, self::Invariant<core::String>>;
+ core::Map<core::num, (core::String) → core::String> mapInvFn = a.{self::A::mapInvFn}{core::Map<core::num, (core::String) → core::String>} as{TypeError,CovarianceCheck,ForNonNullableByDefault} core::Map<core::num, (core::String) → core::String>;
self::B<core::int> b = new self::B::•<core::int>();
b.{self::B::x} = 3;
- self::expect(3, b.{self::B::x});
- self::expect(3, b.{self::B::method}(3));
+ self::expect(3, b.{self::B::x}{core::int?});
+ self::expect(3, b.{self::B::method}(3){(core::int) → core::int});
b.{self::B::y} = 3;
self::C<core::int> c = new self::C::•<core::int>();
- self::expect(null, c.{self::C::field});
- c.{self::C::method}(3, 2);
+ self::expect(null, c.{self::C::field}{(core::int) →? void});
+ c.{self::C::method}(3, 2){(core::int, [core::int?]) → void};
c.{self::C::x} = 3;
self::D<core::Object> d = new self::F::•<core::String>((core::String s) → void {});
- d.{self::D::method}("test");
+ d.{self::D::method}("test"){(core::Object) → core::int};
self::NoSuchMethod<core::num> nsm = new self::NoSuchMethod::•<core::num>();
- self::expect(3, nsm.{self::B::method}(3));
+ self::expect(3, nsm.{self::B::method}(3){(core::num) → core::num});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!expected.{core::Object::==}(actual)) {
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) {
throw "Mismatch: expected=${expected}, actual=${actual}";
}
}
diff --git a/pkg/front_end/testcases/weak.status b/pkg/front_end/testcases/weak.status
index 5d39cc6..cf57e3c 100644
--- a/pkg/front_end/testcases/weak.status
+++ b/pkg/front_end/testcases/weak.status
@@ -18,11 +18,9 @@
extension_types/simple_method_resolution: ExpectationFileMismatchSerialized # Expected.
extension_types/simple_operator_resolution: ExpectationFileMismatchSerialized # Expected.
extension_types/simple_setter_resolution: ExpectationFileMismatchSerialized # Expected.
-extensions/call_methods: TypeCheckError
extensions/extension_setter_error: TypeCheckError
extensions/instance_access_of_static: RuntimeError
extensions/invalid_explicit_access: RuntimeError
-extensions/issue40713: TypeCheckError
extensions/static_access_of_instance: RuntimeError
general/abstract_members: TypeCheckError
general/accessors: RuntimeError
@@ -74,7 +72,6 @@
general/error_recovery/yield_not_in_generator: RuntimeError
general/expressions: RuntimeError
general/external_import: RuntimeError # The native extension to import doesn't exist. This is ok.
-general/function_invocation_bounds: TypeCheckError
general/getter_vs_setter_type: TypeCheckError
general/incomplete_field_formal_parameter: RuntimeError
general/infer_field_from_multiple: TypeCheckError
diff --git a/pkg/vm/lib/target/vm.dart b/pkg/vm/lib/target/vm.dart
index 1b8f1de..5d93861 100644
--- a/pkg/vm/lib/target/vm.dart
+++ b/pkg/vm/lib/target/vm.dart
@@ -63,7 +63,7 @@
!flags.forceNoExplicitGetterCallsForTesting;
@override
- bool get supportsNewMethodInvocationEncoding => false;
+ bool get supportsNewMethodInvocationEncoding => true;
@override
String get name => 'vm';
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/annotation.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/annotation.dart.expect
index 28378be..3c40e12 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/annotation.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/annotation.dart.expect
@@ -30,11 +30,11 @@
}
[@vm.unboxing-info.metadata=()->i]static method foo() → core::int* {
@#C9 core::int* x = 2;
- return [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] x.{core::num::+}(2);
+ return [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] x.{core::num::+}(2){(core::num*) →* core::int*};
}
@#C11
static method main(core::List<core::String*>* args) → dynamic {
self::A::staticMethod();
- [@vm.direct-call.metadata=#lib::B.instanceMethod] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::instanceMethod}();
+ [@vm.direct-call.metadata=#lib::B.instanceMethod] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::instanceMethod}(){() →* void};
self::foo();
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/async_await.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/async_await.dart.expect
index ee9f237..51ff150 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/async_await.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/async_await.dart.expect
@@ -86,7 +86,7 @@
{
:async_temporary_0 = [@vm.inferred-type.metadata=#lib::A] self::foo();
[yield] let dynamic #t1 = asy::_awaitHelper([@vm.inferred-type.metadata=dart.async::_Future<dynamic>] self::baz(), :async_op_then, :async_op_error, :async_op) in null;
- [yield] let dynamic #t2 = asy::_awaitHelper([@vm.direct-call.metadata=#lib::A.bar??] [@vm.inferred-type.metadata=dart.async::_Future<dynamic> (receiver not int)] _in::unsafeCast<dynamic>(:async_temporary_0).bar(:result), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t2 = asy::_awaitHelper([@vm.direct-call.metadata=#lib::A.bar??] [@vm.inferred-type.metadata=dart.async::_Future<dynamic> (receiver not int)] _in::unsafeCast<dynamic>(:async_temporary_0){dynamic}.bar(:result), :async_op_then, :async_op_error, :async_op) in null;
:result;
}
asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect
index 5f90ab8..60f22a5 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect
@@ -4,20 +4,20 @@
import "dart:_internal" as _in;
[@vm.unboxing-info.metadata=(i)->b]static method isPrime([@vm.inferred-type.metadata=int] dynamic n) → core::bool* {
- if(_in::unsafeCast<core::bool*>([@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool] n.<(2)))
+ if(_in::unsafeCast<core::bool*>([@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool] n{dynamic}.<(2)))
return false;
- for (core::int* i = 2; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<=] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=dart.core::_IntegerImplementation.*] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::*}(i).{core::num::<=}(_in::unsafeCast<core::num*>(n)); i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
- if([@vm.direct-call.metadata=dart.core::_IntegerImplementation.==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=dart.core::_IntegerImplementation.%] [@vm.inferred-type.metadata=int] n.%(i).{core::Object::==}(0))
+ for (core::int* i = 2; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<=] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=dart.core::_IntegerImplementation.*] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::*}(i){(core::num*) →* core::int*}.{core::num::<=}(_in::unsafeCast<core::num*>(n)){(core::num*) →* core::bool*}; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ if([@vm.direct-call.metadata=dart.core::_IntegerImplementation.==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=dart.core::_IntegerImplementation.%] [@vm.inferred-type.metadata=int] n{dynamic}.%(i) =={core::Object::==}{(core::Object*) →* core::bool*} 0)
return false;
}
return true;
}
static method nThPrimeNumber() → core::int* {
core::int* counter = 0;
- for (core::int* i = 1; ; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+??] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
+ for (core::int* i = 1; ; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+??] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num*) →* core::int*}) {
if([@vm.inferred-type.metadata=dart.core::bool] self::isPrime(i))
- counter = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+??] [@vm.inferred-type.metadata=int (skip check)] counter.{core::num::+}(1);
- if([@vm.inferred-type.metadata=dart.core::bool] counter.{core::num::==}(#C1)) {
+ counter = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+??] [@vm.inferred-type.metadata=int (skip check)] counter.{core::num::+}(1){(core::num*) →* core::int*};
+ if([@vm.inferred-type.metadata=dart.core::bool] counter =={core::num::==}{(core::Object*) →* core::bool*} (#C1)) {
return i;
}
}
@@ -25,17 +25,17 @@
static method run() → void {
core::int* e = 611953;
core::int* p = [@vm.inferred-type.metadata=int?] self::nThPrimeNumber();
- if(![@vm.inferred-type.metadata=dart.core::bool] p.{core::num::==}(e)) {
+ if(!([@vm.inferred-type.metadata=dart.core::bool] p =={core::num::==}{(core::Object*) →* core::bool*} e)) {
throw core::Exception::•("Unexpected result: ${p} != ${e}");
}
}
static method main(core::List<core::String*>* args) → dynamic {
core::Stopwatch* timer = let final core::Stopwatch* #t1 = new core::Stopwatch::•() in block {
- [@vm.direct-call.metadata=dart.core::Stopwatch.start] [@vm.inferred-type.metadata=!? (skip check)] #t1.{core::Stopwatch::start}();
+ [@vm.direct-call.metadata=dart.core::Stopwatch.start] [@vm.inferred-type.metadata=!? (skip check)] #t1.{core::Stopwatch::start}(){() →* void};
} =>#t1;
- for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(100); i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
+ for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(100){(core::num*) →* core::bool*}; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num*) →* core::int*}) {
self::run();
}
- [@vm.direct-call.metadata=dart.core::Stopwatch.stop] [@vm.inferred-type.metadata=!? (skip check)] timer.{core::Stopwatch::stop}();
- core::print("Elapsed ${[@vm.direct-call.metadata=dart.core::Stopwatch.elapsedMilliseconds] timer.{core::Stopwatch::elapsedMilliseconds}}ms");
+ [@vm.direct-call.metadata=dart.core::Stopwatch.stop] [@vm.inferred-type.metadata=!? (skip check)] timer.{core::Stopwatch::stop}(){() →* void};
+ core::print("Elapsed ${[@vm.direct-call.metadata=dart.core::Stopwatch.elapsedMilliseconds] timer.{core::Stopwatch::elapsedMilliseconds}{core::int*}}ms");
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/bench_vector.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/bench_vector.dart.expect
index 71bb393..3fc832d 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/bench_vector.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/bench_vector.dart.expect
@@ -13,14 +13,14 @@
: self::_Vector::_offset = 0, self::_Vector::_length = #C1, self::_Vector::_elements = [@vm.inferred-type.metadata=dart.typed_data::_Float64List] typ::Float64List::•(#C1), super core::Object::•()
;
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasTearOffUses:false,methodOrSetterSelectorId:4] [@vm.unboxing-info.metadata=(b)->d] operator []([@vm.inferred-type.metadata=!] core::int* i) → core::double*
- return [@vm.direct-call.metadata=dart.typed_data::_Float64List.[]] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] [@vm.direct-call.metadata=#lib::_Vector._elements] [@vm.inferred-type.metadata=dart.typed_data::_Float64List] this.{self::_Vector::_elements}.{core::List::[]}([@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}([@vm.direct-call.metadata=#lib::_Vector._offset] [@vm.inferred-type.metadata=dart.core::_Smi (value: 0)] this.{self::_Vector::_offset}));
+ return [@vm.direct-call.metadata=dart.typed_data::_Float64List.[]] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] [@vm.direct-call.metadata=#lib::_Vector._elements] [@vm.inferred-type.metadata=dart.typed_data::_Float64List] this.{self::_Vector::_elements}{core::List<core::double*>*}.{core::List::[]}([@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}([@vm.direct-call.metadata=#lib::_Vector._offset] [@vm.inferred-type.metadata=dart.core::_Smi (value: 0)] this.{self::_Vector::_offset}{core::int*}){(core::num*) →* core::int*}){(core::int*) →* core::double*};
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5] operator []=([@vm.inferred-type.metadata=dart.core::_OneByteString] core::int* i, core::double* value) → void {
- let dynamic #t1 = [@vm.direct-call.metadata=#lib::_Vector._elements] [@vm.inferred-type.metadata=dart.typed_data::_Float64List] this.{self::_Vector::_elements} in let dynamic #t2 = [@vm.direct-call.metadata=#lib::_Vector._offset] [@vm.inferred-type.metadata=dart.core::_Smi (value: 0)] this.{self::_Vector::_offset} in throw "Attempt to execute code removed by Dart AOT compiler (TFA)";
+ let dynamic #t1 = [@vm.direct-call.metadata=#lib::_Vector._elements] [@vm.inferred-type.metadata=dart.typed_data::_Float64List] this.{self::_Vector::_elements}{core::List<core::double*>*} in let dynamic #t2 = [@vm.direct-call.metadata=#lib::_Vector._offset] [@vm.inferred-type.metadata=dart.core::_Smi (value: 0)] this.{self::_Vector::_offset}{core::int*} in throw "Attempt to execute code removed by Dart AOT compiler (TFA)";
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:6] [@vm.unboxing-info.metadata=(b)->d] operator *([@vm.inferred-type.metadata=#lib::_Vector?] self::_Vector* a) → core::double* {
core::double* result = 0.0;
- for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}([@vm.direct-call.metadata=#lib::_Vector._length] [@vm.inferred-type.metadata=dart.core::_Smi (value: 10)] this.{self::_Vector::_length}); i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1))
- result = [@vm.direct-call.metadata=dart.core::_Double.+??] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] result.{core::double::+}([@vm.direct-call.metadata=dart.core::_Double.*] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] [@vm.direct-call.metadata=#lib::_Vector.[]] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] this.{self::_Vector::[]}(i).{core::double::*}([@vm.direct-call.metadata=#lib::_Vector.[]??] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] a.{self::_Vector::[]}(i)));
+ for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}([@vm.direct-call.metadata=#lib::_Vector._length] [@vm.inferred-type.metadata=dart.core::_Smi (value: 10)] this.{self::_Vector::_length}{core::int*}){(core::num*) →* core::bool*}; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num*) →* core::int*})
+ result = [@vm.direct-call.metadata=dart.core::_Double.+??] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] result.{core::double::+}([@vm.direct-call.metadata=dart.core::_Double.*] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] [@vm.direct-call.metadata=#lib::_Vector.[]] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] this.{self::_Vector::[]}(i){(core::int*) →* core::double*}.{core::double::*}([@vm.direct-call.metadata=#lib::_Vector.[]??] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] a.{self::_Vector::[]}(i){(core::int*) →* core::double*}){(core::num*) →* core::double*}){(core::num*) →* core::double*};
return result;
}
}
@@ -28,11 +28,11 @@
[@vm.inferred-type.metadata=dart.core::_Double?]static field core::double* x = 0.0;
static method main(core::List<core::String*>* args) → dynamic {
core::Stopwatch* timer = let final core::Stopwatch* #t3 = new core::Stopwatch::•() in block {
- [@vm.direct-call.metadata=dart.core::Stopwatch.start] [@vm.inferred-type.metadata=!? (skip check)] #t3.{core::Stopwatch::start}();
+ [@vm.direct-call.metadata=dart.core::Stopwatch.start] [@vm.inferred-type.metadata=!? (skip check)] #t3.{core::Stopwatch::start}(){() →* void};
} =>#t3;
- for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(100000000); i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
- self::x = [@vm.direct-call.metadata=dart.core::_Double.+??] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] [@vm.inferred-type.metadata=dart.core::_Double?] self::x.{core::double::+}([@vm.direct-call.metadata=#lib::_Vector.*??] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] [@vm.inferred-type.metadata=#lib::_Vector?] self::v.{self::_Vector::*}([@vm.inferred-type.metadata=#lib::_Vector?] self::v));
+ for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(100000000){(core::num*) →* core::bool*}; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ self::x = [@vm.direct-call.metadata=dart.core::_Double.+??] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] [@vm.inferred-type.metadata=dart.core::_Double?] self::x.{core::double::+}([@vm.direct-call.metadata=#lib::_Vector.*??] [@vm.inferred-type.metadata=dart.core::_Double (skip check)] [@vm.inferred-type.metadata=#lib::_Vector?] self::v.{self::_Vector::*}([@vm.inferred-type.metadata=#lib::_Vector?] self::v){(self::_Vector*) →* core::double*}){(core::num*) →* core::double*};
}
- [@vm.direct-call.metadata=dart.core::Stopwatch.stop] [@vm.inferred-type.metadata=!? (skip check)] timer.{core::Stopwatch::stop}();
- core::print("Elapsed ${[@vm.direct-call.metadata=dart.core::Stopwatch.elapsedMilliseconds] timer.{core::Stopwatch::elapsedMilliseconds}}ms, result ${self::x}");
+ [@vm.direct-call.metadata=dart.core::Stopwatch.stop] [@vm.inferred-type.metadata=!? (skip check)] timer.{core::Stopwatch::stop}(){() →* void};
+ core::print("Elapsed ${[@vm.direct-call.metadata=dart.core::Stopwatch.elapsedMilliseconds] timer.{core::Stopwatch::elapsedMilliseconds}{core::int*}}ms, result ${self::x}");
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/class_generics_basic.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/class_generics_basic.dart.expect
index 25ef2d6..00cfa5c 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/class_generics_basic.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/class_generics_basic.dart.expect
@@ -63,14 +63,14 @@
return x;
}
static method main() → dynamic {
- core::print([@vm.direct-call.metadata=#lib::C.foo] [@vm.inferred-type.metadata=#lib::D<dart.core::int*> (skip check)] new self::C::•<core::int*>().{self::C::foo}());
- core::print([@vm.direct-call.metadata=#lib::E.foo] [@vm.inferred-type.metadata=#lib::D<dart.core::String*> (skip check)] new self::E::•<core::int*, core::String*>().{self::E::foo}());
- core::print([@vm.direct-call.metadata=#lib::E.bar] [@vm.inferred-type.metadata=#lib::D<dart.core::int*> (skip check)] new self::E::•<core::int*, core::String*>().{self::E::bar}());
- core::print([@vm.direct-call.metadata=#lib::E.baz] [@vm.inferred-type.metadata=#lib::D<dart.core::String*> (skip check)] new self::E::•<core::int*, core::String*>().{self::E::baz}());
+ core::print([@vm.direct-call.metadata=#lib::C.foo] [@vm.inferred-type.metadata=#lib::D<dart.core::int*> (skip check)] new self::C::•<core::int*>().{self::C::foo}(){() →* dynamic});
+ core::print([@vm.direct-call.metadata=#lib::E.foo] [@vm.inferred-type.metadata=#lib::D<dart.core::String*> (skip check)] new self::E::•<core::int*, core::String*>().{self::E::foo}(){() →* dynamic});
+ core::print([@vm.direct-call.metadata=#lib::E.bar] [@vm.inferred-type.metadata=#lib::D<dart.core::int*> (skip check)] new self::E::•<core::int*, core::String*>().{self::E::bar}(){() →* dynamic});
+ core::print([@vm.direct-call.metadata=#lib::E.baz] [@vm.inferred-type.metadata=#lib::D<dart.core::String*> (skip check)] new self::E::•<core::int*, core::String*>().{self::E::baz}(){() →* dynamic});
self::C<self::X*>* c = new self::C::•<self::Y*>();
- [@vm.call-site-attributes.metadata=receiverType:#lib::C<#lib::X*>*] [@vm.direct-call.metadata=#lib::C.id1] [@vm.inferred-type.metadata=!? (skip check)] c.{self::C::id1}(new self::Y::•());
- [@vm.call-site-attributes.metadata=receiverType:#lib::C<#lib::X*>*] [@vm.direct-call.metadata=#lib::C.id2] c.{self::C::id2}(new self::Z::•());
+ [@vm.call-site-attributes.metadata=receiverType:#lib::C<#lib::X*>*] [@vm.direct-call.metadata=#lib::C.id1] [@vm.inferred-type.metadata=!? (skip check)] c.{self::C::id1}(new self::Y::•()){(self::X*) →* dynamic};
+ [@vm.call-site-attributes.metadata=receiverType:#lib::C<#lib::X*>*] [@vm.direct-call.metadata=#lib::C.id2] c.{self::C::id2}(new self::Z::•()){(self::X*) →* dynamic};
self::C2<core::num*>* c2 = new self::C2::•<core::num*>();
- [@vm.call-site-attributes.metadata=receiverType:#lib::C2<dart.core::num*>*] [@vm.direct-call.metadata=#lib::C2.id3] [@vm.inferred-type.metadata=!? (skip check)] c2.{self::C2::id3}(3.0);
- [@vm.call-site-attributes.metadata=receiverType:#lib::C2<dart.core::num*>*] [@vm.direct-call.metadata=#lib::C2.id4] [@vm.inferred-type.metadata=!? (skip check)] c2.{self::C2::id4}(new self::K::•<self::J*>());
+ [@vm.call-site-attributes.metadata=receiverType:#lib::C2<dart.core::num*>*] [@vm.direct-call.metadata=#lib::C2.id3] [@vm.inferred-type.metadata=!? (skip check)] c2.{self::C2::id3}(3.0){(core::Comparable<core::num*>*) →* dynamic};
+ [@vm.call-site-attributes.metadata=receiverType:#lib::C2<dart.core::num*>*] [@vm.direct-call.metadata=#lib::C2.id4] [@vm.inferred-type.metadata=!? (skip check)] c2.{self::C2::id4}(new self::K::•<self::J*>()){(self::K<self::I<core::num*>*>*) →* dynamic};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/class_generics_case1.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/class_generics_case1.dart.expect
index ffb7ff5..e0e9ca7 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/class_generics_case1.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/class_generics_case1.dart.expect
@@ -15,11 +15,11 @@
: super self::Element::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] method setDependencies([@vm.inferred-type.metadata=!] self::Element* dependent, [@vm.inferred-type.metadata=dart.core::_Smi?] core::Object* value) → void {
- [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<#lib::Element*, dart.core::Object*>*] [@vm.direct-call.metadata=dart.collection::__InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.[]=] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::InheritedElement._dependents] [@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap<#lib::Element*, dart.core::Object*>] this.{self::InheritedElement::_dependents}.{core::Map::[]=}(dependent, value);
+ [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<#lib::Element*, dart.core::Object*>*] [@vm.direct-call.metadata=dart.collection::__InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.[]=] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::InheritedElement._dependents] [@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap<#lib::Element*, dart.core::Object*>] this.{self::InheritedElement::_dependents}{core::Map<self::Element*, core::Object*>*}.{core::Map::[]=}(dependent, value){(self::Element*, core::Object*) →* void};
}
}
static method main() → dynamic {
self::InheritedElement* ie = new self::InheritedElement::•();
- [@vm.direct-call.metadata=#lib::InheritedElement.setDependencies] [@vm.inferred-type.metadata=!? (skip check)] ie.{self::InheritedElement::setDependencies}(ie, 0);
- [@vm.direct-call.metadata=#lib::InheritedElement.setDependencies] [@vm.inferred-type.metadata=!? (skip check)] ie.{self::InheritedElement::setDependencies}(new self::Element::•(), null);
+ [@vm.direct-call.metadata=#lib::InheritedElement.setDependencies] [@vm.inferred-type.metadata=!? (skip check)] ie.{self::InheritedElement::setDependencies}(ie, 0){(self::Element*, core::Object*) →* void};
+ [@vm.direct-call.metadata=#lib::InheritedElement.setDependencies] [@vm.inferred-type.metadata=!? (skip check)] ie.{self::InheritedElement::setDependencies}(new self::Element::•(), null){(self::Element*, core::Object*) →* void};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/const_prop.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/const_prop.dart.expect
index 29abf49..f058396 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/const_prop.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/const_prop.dart.expect
@@ -33,8 +33,8 @@
core::print([@vm.inferred-type.metadata=dart.core::_Double (value: 100.0)] self::getD);
}
static method testStrings([@vm.inferred-type.metadata=#lib::A] self::A* a0) → void {
- core::print([@vm.direct-call.metadata=#lib::A.foo] [@vm.inferred-type.metadata=dart.core::_OneByteString (value: "foo")] a0.{self::A::foo});
- core::print([@vm.direct-call.metadata=#lib::A.getBar] [@vm.inferred-type.metadata=dart.core::_OneByteString (skip check) (value: "bar")] a0.{self::A::getBar}());
+ core::print([@vm.direct-call.metadata=#lib::A.foo] [@vm.inferred-type.metadata=dart.core::_OneByteString (value: "foo")] a0.{self::A::foo}{core::String*});
+ core::print([@vm.direct-call.metadata=#lib::A.getBar] [@vm.inferred-type.metadata=dart.core::_OneByteString (skip check) (value: "bar")] a0.{self::A::getBar}(){() →* core::String*});
core::print(#C5);
}
static method testPassEnum() → void {
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/devirt.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/devirt.dart.expect
index cb18067..8dc37d7 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/devirt.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/devirt.dart.expect
@@ -37,22 +37,22 @@
[@vm.inferred-type.metadata=#lib::D?]static field self::A* dd;
[@vm.inferred-type.metadata=#lib::E?]static field self::E* ee = new self::E::•();
static method callerA1([@vm.inferred-type.metadata=!] self::A* aa) → void {
- [@vm.inferred-type.metadata=!? (skip check)] aa.{self::A::foo}();
+ [@vm.inferred-type.metadata=!? (skip check)] aa.{self::A::foo}(){() →* core::int*};
}
static method callerA2([@vm.inferred-type.metadata=#lib::B] self::A* aa) → void {
- [@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=!? (skip check)] aa.{self::A::foo}();
+ [@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=!? (skip check)] aa.{self::A::foo}(){() →* core::int*};
}
static method callerA3([@vm.inferred-type.metadata=#lib::C] self::A* aa) → void {
- [@vm.direct-call.metadata=#lib::C.foo] [@vm.inferred-type.metadata=!? (skip check)] aa.{self::A::foo}();
+ [@vm.direct-call.metadata=#lib::C.foo] [@vm.inferred-type.metadata=!? (skip check)] aa.{self::A::foo}(){() →* core::int*};
}
static method callerA4([@vm.inferred-type.metadata=#lib::D?] self::A* aa) → void {
- [@vm.direct-call.metadata=#lib::C.foo??] [@vm.inferred-type.metadata=!? (skip check)] aa.{self::A::foo}();
+ [@vm.direct-call.metadata=#lib::C.foo??] [@vm.inferred-type.metadata=!? (skip check)] aa.{self::A::foo}(){() →* core::int*};
}
static method callerE1() → void {
- [@vm.direct-call.metadata=dart.core::_StringBase.toString] [@vm.inferred-type.metadata=!? (skip check) (receiver not int)](#C1).{core::Object::toString}();
+ [@vm.direct-call.metadata=dart.core::_StringBase.toString] [@vm.inferred-type.metadata=!? (skip check) (receiver not int)](#C1).{core::Object::toString}(){() →* core::String*};
}
static method callerE2([@vm.inferred-type.metadata=#lib::E?] dynamic x) → void {
- [@vm.inferred-type.metadata=!? (receiver not int)] x.{core::Object::toString}();
+ [@vm.inferred-type.metadata=!? (receiver not int)] x.{core::Object::toString}(){() →* core::String*};
}
static method main(core::List<core::String*>* args) → dynamic {
self::callerA1(new self::B::•());
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/dynamic_list_access.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/dynamic_list_access.dart.expect
index 350004d..17a558f 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/dynamic_list_access.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/dynamic_list_access.dart.expect
@@ -4,5 +4,5 @@
static method main() → dynamic {
dynamic x = [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] core::_List::•<core::int*>(10);
- [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+??] [@vm.direct-call.metadata=dart.core::_List.[]] [@vm.inferred-type.metadata=int? (receiver not int)] x.[](0).+(10);
+ [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+??] [@vm.direct-call.metadata=dart.core::_List.[]] [@vm.inferred-type.metadata=int? (receiver not int)] x{dynamic}.[](0){dynamic}.+(10);
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/enum_used_as_type.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/enum_used_as_type.dart.expect
index 89d9a31..692c39e 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/enum_used_as_type.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/enum_used_as_type.dart.expect
@@ -11,11 +11,11 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] method method() → core::int*
- return [@vm.inferred-type.metadata=!](#C1).{self::Enum::index};
+ return [@vm.inferred-type.metadata=!](#C1).{self::Enum::index}{core::int*};
}
static method main() → dynamic {
core::List<dynamic>* list = [@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::•<dynamic>(0);
- if([@vm.direct-call.metadata=dart.core::_GrowableList.isNotEmpty] [@vm.inferred-type.metadata=dart.core::bool] list.{core::Iterable::isNotEmpty}) {
- let final self::Class* #t1 = new self::Class::•() in let final self::Enum* #t2 = _in::unsafeCast<self::Enum*>(_in::unsafeCast<dynamic>(null)) in [@vm.direct-call.metadata=#lib::Class.method] [@vm.inferred-type.metadata=!? (skip check)] #t1.{self::Class::method}();
+ if([@vm.direct-call.metadata=dart.core::_GrowableList.isNotEmpty] [@vm.inferred-type.metadata=dart.core::bool] list.{core::Iterable::isNotEmpty}{core::bool*}) {
+ let final self::Class* #t1 = new self::Class::•() in let final self::Enum* #t2 = _in::unsafeCast<self::Enum*>(_in::unsafeCast<dynamic>(null)) in [@vm.direct-call.metadata=#lib::Class.method] [@vm.inferred-type.metadata=!? (skip check)] #t1.{self::Class::method}(){(self::Enum*) →* core::int*};
}
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/ffi_struct_constructors.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/ffi_struct_constructors.dart.expect
index 367f663..31b941c 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/ffi_struct_constructors.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/ffi_struct_constructors.dart.expect
@@ -68,7 +68,7 @@
final () →* self::Struct1* function1 = block {
_in::_nativeEffect(new self::Struct1::#fromTypedDataBase([@vm.inferred-type.metadata=dart.typed_data::_Uint8List] typ::Uint8List::•(#C18)));
} =>ffi::_asFunctionInternal<() →* self::Struct1*, () →* self::Struct1*>([@vm.direct-call.metadata=dart.ffi::DynamicLibrary.lookup??] [@vm.inferred-type.metadata=dart.ffi::Pointer? (skip check)] dylib.{ffi::DynamicLibrary::lookup}<ffi::NativeFunction<() →* self::Struct1*>*>("function1"));
- final self::Struct1* struct1 = [@vm.call-site-attributes.metadata=receiverType:#lib::Struct1* Function()*] function1.call();
+ final self::Struct1* struct1 = [@vm.call-site-attributes.metadata=receiverType:#lib::Struct1* Function()*] function1(){() →* self::Struct1*};
core::print(struct1);
}
static method testAsFunctionReturn() → void {
@@ -76,7 +76,7 @@
final () →* self::Struct2* function2 = block {
_in::_nativeEffect(new self::Struct2::#fromTypedDataBase([@vm.inferred-type.metadata=dart.typed_data::_Uint8List] typ::Uint8List::•(#C18)));
} =>ffi::_asFunctionInternal<() →* self::Struct2*, () →* self::Struct2*>(pointer);
- final self::Struct2* struct2 = [@vm.call-site-attributes.metadata=receiverType:#lib::Struct2* Function()*] function2.call();
+ final self::Struct2* struct2 = [@vm.call-site-attributes.metadata=receiverType:#lib::Struct2* Function()*] function2(){() →* self::Struct2*};
core::print(struct2);
}
[@vm.unboxing-info.metadata=(b)->i]static method useStruct3(self::Struct3* struct3) → core::int* {
@@ -113,6 +113,6 @@
static method testNestedLoad() → void {
final ffi::Pointer<self::Struct11*>* pointer = [@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::Pointer::fromAddress<self::Struct11*>(3735928559);
final self::Struct11* struct11 = new self::Struct11::#fromTypedDataBase(pointer!);
- final self::Struct12* struct12 = [@vm.direct-call.metadata=#lib::Struct11.nested] [@vm.inferred-type.metadata=#lib::Struct12] struct11.{self::Struct11::nested};
+ final self::Struct12* struct12 = [@vm.direct-call.metadata=#lib::Struct11.nested] [@vm.inferred-type.metadata=#lib::Struct12] struct11.{self::Struct11::nested}{self::Struct12*};
core::print(struct12);
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/future.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/future.dart.expect
index 432f7fc..8a43ab1 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/future.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/future.dart.expect
@@ -22,14 +22,14 @@
}
static method main() → dynamic {
dynamic c = new self::C::•<core::int*>();
- [@vm.direct-call.metadata=#lib::C.test2c] [@vm.inferred-type.metadata=!? (receiver not int)] c.test2c(3);
- [@vm.direct-call.metadata=#lib::C.test3c] [@vm.inferred-type.metadata=!? (receiver not int)] c.test3c([@vm.inferred-type.metadata=dart.async::_Future<dart.core::int*>] asy::Future::value<core::int*>(3));
- [@vm.direct-call.metadata=#lib::C.test4c] [@vm.inferred-type.metadata=!? (receiver not int)] c.test4c([@vm.inferred-type.metadata=dart.async::_Future<dart.core::int*>] asy::Future::value<core::int*>(3));
- [@vm.direct-call.metadata=#lib::C.test2r] [@vm.inferred-type.metadata=!? (receiver not int)] c.test2r(new self::C::•<core::int*>());
- [@vm.direct-call.metadata=#lib::C.test3r] [@vm.inferred-type.metadata=!? (receiver not int)] c.test3r(new self::C::•<asy::Future<core::int*>*>());
- [@vm.direct-call.metadata=#lib::C.test4r] [@vm.inferred-type.metadata=!? (receiver not int)] c.test4r(new self::C::•<asy::Future<core::int*>*>());
- [@vm.direct-call.metadata=#lib::C.test5r] [@vm.inferred-type.metadata=!? (receiver not int)] c.test5r(new self::C::•<FutureOr<core::int*>*>());
- [@vm.direct-call.metadata=#lib::C.test6r] [@vm.inferred-type.metadata=!? (receiver not int)] c.test6r(new self::C::•<FutureOr<core::int*>*>());
- [@vm.direct-call.metadata=#lib::C.test7r] [@vm.inferred-type.metadata=!? (receiver not int)] c.test7r(new self::C::•<FutureOr<core::int*>*>());
- [@vm.direct-call.metadata=#lib::C.test8r] [@vm.inferred-type.metadata=!? (receiver not int)] c.test8r(new self::C::•<asy::Future<core::int*>*>());
+ [@vm.direct-call.metadata=#lib::C.test2c] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test2c(3);
+ [@vm.direct-call.metadata=#lib::C.test3c] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test3c([@vm.inferred-type.metadata=dart.async::_Future<dart.core::int*>] asy::Future::value<core::int*>(3));
+ [@vm.direct-call.metadata=#lib::C.test4c] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test4c([@vm.inferred-type.metadata=dart.async::_Future<dart.core::int*>] asy::Future::value<core::int*>(3));
+ [@vm.direct-call.metadata=#lib::C.test2r] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test2r(new self::C::•<core::int*>());
+ [@vm.direct-call.metadata=#lib::C.test3r] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test3r(new self::C::•<asy::Future<core::int*>*>());
+ [@vm.direct-call.metadata=#lib::C.test4r] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test4r(new self::C::•<asy::Future<core::int*>*>());
+ [@vm.direct-call.metadata=#lib::C.test5r] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test5r(new self::C::•<FutureOr<core::int*>*>());
+ [@vm.direct-call.metadata=#lib::C.test6r] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test6r(new self::C::•<FutureOr<core::int*>*>());
+ [@vm.direct-call.metadata=#lib::C.test7r] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test7r(new self::C::•<FutureOr<core::int*>*>());
+ [@vm.direct-call.metadata=#lib::C.test8r] [@vm.inferred-type.metadata=!? (receiver not int)] c{dynamic}.test8r(new self::C::•<asy::Future<core::int*>*>());
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/future_or.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/future_or.dart.expect
index 32c6fb4..4a850d3 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/future_or.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/future_or.dart.expect
@@ -18,7 +18,7 @@
static field dynamic usedObject;
[@vm.inferred-type.metadata=dart.core::Null? (value: null)]static field core::Function* unknown;
static method use(dynamic object) → void {
- [@vm.inferred-type.metadata=!? (receiver not int)] self::usedObject.{core::Object::==}(null) ?{dynamic} self::usedObject = object : null;
+ self::usedObject == null ?{dynamic} self::usedObject = object : null;
}
static method foo1_a1([@vm.inferred-type.metadata=dart.async::_Future<#lib::B*>] dynamic x) → void {
self::use(x);
@@ -57,7 +57,7 @@
self::foo2_a4(a4);
}
static method getDynamic() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown();
static method main(core::List<core::String*>* args) → dynamic {
self::foo1([@vm.inferred-type.metadata=dart.async::_Future<#lib::B*>] asy::Future::value<self::B*>(new self::B::•()), new self::B::•(), [@vm.inferred-type.metadata=dart.async::_Future<#lib::B*>] asy::Future::value<self::B*>(new self::B::•()), new self::B::•());
self::foo2(self::getDynamic() as{TypeError,ForDynamic} asy::Future<self::A*>*, self::getDynamic() as{TypeError,ForDynamic} self::A*, self::getDynamic() as{TypeError,ForDynamic} FutureOr<self::A*>*, self::getDynamic() as{TypeError,ForDynamic} FutureOr<self::A*>*);
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect
index 6fce119..4b18c73 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect
@@ -29,7 +29,7 @@
: super self::Stream::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method foobar() → self::StreamSubscription* {
- return [@vm.inferred-type.metadata=! (skip check)] this.{self::_StreamImpl::_createSubscription}();
+ return [@vm.inferred-type.metadata=! (skip check)] this.{self::_StreamImpl::_createSubscription}(){() →* self::StreamSubscription*};
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5] method _createSubscription() → self::StreamSubscription* {
return new self::_BufferingStreamSubscription::•();
@@ -54,7 +54,7 @@
: self::StreamView::_stream = stream, super self::Stream::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method foobar() → self::StreamSubscription* {
- return [@vm.direct-call.metadata=#lib::StreamView._stream] [@vm.inferred-type.metadata=!] this.{self::StreamView::_stream}.{self::Stream::foobar}();
+ return [@vm.direct-call.metadata=#lib::StreamView._stream] [@vm.inferred-type.metadata=!] this.{self::StreamView::_stream}{self::Stream*}.{self::Stream::foobar}(){((dynamic) →* void, {onError: core::Function*}) →* self::StreamSubscription*};
}
}
class ByteStream extends self::StreamView {
@@ -83,32 +83,32 @@
}
static method round1() → void {
self::ByteStream* x = new self::ByteStream::•(new self::ByteStream::•(new self::_GeneratedStreamImpl::•()));
- [@vm.direct-call.metadata=#lib::ByteStream.super_foobar1] [@vm.inferred-type.metadata=!? (skip check)] x.{self::ByteStream::super_foobar1}();
+ [@vm.direct-call.metadata=#lib::ByteStream.super_foobar1] [@vm.inferred-type.metadata=!? (skip check)] x.{self::ByteStream::super_foobar1}(){((dynamic) →* void) →* dynamic};
}
static method round2() → void {
new self::_ControllerStream::•();
self::Stream* x = new self::_GeneratedStreamImpl::•();
x = new self::ByteStream::•(x);
- [@vm.direct-call.metadata=#lib::StreamView.foobar] [@vm.inferred-type.metadata=!? (skip check)] x.{self::Stream::foobar}();
+ [@vm.direct-call.metadata=#lib::StreamView.foobar] [@vm.inferred-type.metadata=!? (skip check)] x.{self::Stream::foobar}(){((dynamic) →* void, {onError: core::Function*}) →* self::StreamSubscription*};
}
static method round3() → void {
self::Stream* x = new self::_GeneratedStreamImpl::•();
x = new self::ByteStream::•(x);
x = new self::_ControllerStream::•();
- [@vm.direct-call.metadata=#lib::_StreamImpl.foobar] [@vm.inferred-type.metadata=!? (skip check)] x.{self::Stream::foobar}();
+ [@vm.direct-call.metadata=#lib::_StreamImpl.foobar] [@vm.inferred-type.metadata=!? (skip check)] x.{self::Stream::foobar}(){((dynamic) →* void, {onError: core::Function*}) →* self::StreamSubscription*};
}
static method round4() → void {
self::ByteStream* x = new self::ByteStream::•(new self::_ControllerStream::•());
- self::Stream* y = [@vm.direct-call.metadata=#lib::ByteStream.super_stream] [@vm.inferred-type.metadata=!] x.{self::ByteStream::super_stream};
- self::Stream* z = [@vm.direct-call.metadata=#lib::StreamView._stream] [@vm.inferred-type.metadata=!] x.{self::StreamView::_stream};
- if([@vm.direct-call.metadata=dart.core::Object.==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] y.{self::Stream::==}(z)) {
- [@vm.direct-call.metadata=#lib::ByteStream.super_foobar2] [@vm.inferred-type.metadata=!? (skip check)] x.{self::ByteStream::super_foobar2}();
+ self::Stream* y = [@vm.direct-call.metadata=#lib::ByteStream.super_stream] [@vm.inferred-type.metadata=!] x.{self::ByteStream::super_stream}{self::Stream*};
+ self::Stream* z = [@vm.direct-call.metadata=#lib::StreamView._stream] [@vm.inferred-type.metadata=!] x.{self::StreamView::_stream}{self::Stream*};
+ if([@vm.direct-call.metadata=dart.core::Object.==] [@vm.inferred-type.metadata=dart.core::bool (skip check) (receiver not int)] y =={self::Stream::==}{(dynamic) →* core::bool*} z) {
+ [@vm.direct-call.metadata=#lib::ByteStream.super_foobar2] [@vm.inferred-type.metadata=!? (skip check)] x.{self::ByteStream::super_foobar2}(){((dynamic) →* void) →* dynamic};
}
}
static method round5() → void {
self::ByteStream* x = new self::ByteStream::•(new self::_GeneratedStreamImpl::•());
new self::_HandleErrorStream::•();
- [@vm.direct-call.metadata=#lib::ByteStream.super_foobar3] [@vm.inferred-type.metadata=!? (skip check)] x.{self::ByteStream::super_foobar3}();
+ [@vm.direct-call.metadata=#lib::ByteStream.super_foobar3] [@vm.inferred-type.metadata=!? (skip check)] x.{self::ByteStream::super_foobar3}(){({onData: (dynamic) →* void, onError: core::Function*}) →* dynamic};
}
static method main(core::List<core::String*>* args) → dynamic {
new self::_GeneratedStreamImpl::•();
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_field_initializer.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_field_initializer.dart.expect
index 2739a4d..09df5d9 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_field_initializer.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_field_initializer.dart.expect
@@ -34,11 +34,11 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method barL1() → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller1.barL2] [@vm.inferred-type.metadata=!? (skip check)] this.{self::DeepCaller1::barL2}();
+ return [@vm.direct-call.metadata=#lib::DeepCaller1.barL2] [@vm.inferred-type.metadata=!? (skip check)] this.{self::DeepCaller1::barL2}(){() →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] method barL2() → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller1.barL3] [@vm.inferred-type.metadata=!? (skip check)] this.{self::DeepCaller1::barL3}();
+ return [@vm.direct-call.metadata=#lib::DeepCaller1.barL3] [@vm.inferred-type.metadata=!? (skip check)] this.{self::DeepCaller1::barL3}(){() →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] method barL3() → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller1.barL4] [@vm.inferred-type.metadata=!? (skip check)] this.{self::DeepCaller1::barL4}();
+ return [@vm.direct-call.metadata=#lib::DeepCaller1.barL4] [@vm.inferred-type.metadata=!? (skip check)] this.{self::DeepCaller1::barL4}(){() →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:9,getterSelectorId:10] method barL4() → dynamic
return self::field1;
}
@@ -53,26 +53,26 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:13,getterSelectorId:14] method barL1([@vm.inferred-type.metadata=#lib::D] self::D* dd) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller2.barL2] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL2}(dd);
+ return [@vm.direct-call.metadata=#lib::DeepCaller2.barL2] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL2}(dd){(self::D*) →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:15,getterSelectorId:16] method barL2([@vm.inferred-type.metadata=#lib::D] self::D* dd) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller2.barL3] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL3}(dd);
+ return [@vm.direct-call.metadata=#lib::DeepCaller2.barL3] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL3}(dd){(self::D*) →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:17,getterSelectorId:18] method barL3([@vm.inferred-type.metadata=#lib::D] self::D* dd) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller2.barL4] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL4}(dd);
+ return [@vm.direct-call.metadata=#lib::DeepCaller2.barL4] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL4}(dd){(self::D*) →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:19,getterSelectorId:20] method barL4([@vm.inferred-type.metadata=#lib::D] self::D* dd) → dynamic
- return [@vm.direct-call.metadata=#lib::D.field2] [@vm.inferred-type.metadata=!] dd.{self::D::field2};
+ return [@vm.direct-call.metadata=#lib::D.field2] [@vm.inferred-type.metadata=!] dd.{self::D::field2}{core::Object*};
}
[@vm.inferred-type.metadata=dart.core::Null? (value: null)]static field core::Function* unknown;
static field core::Object* field1 = [@vm.inferred-type.metadata=!] self::getValue();
static method getDynamic() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown();
static method getValue() → core::Object* {
self::A* aa = self::getDynamic() as{TypeError,ForDynamic} self::A*;
- return [@vm.inferred-type.metadata=!] aa.{self::A::foo}();
+ return [@vm.inferred-type.metadata=!] aa.{self::A::foo}(){() →* core::Object*};
}
static method use1([@vm.inferred-type.metadata=#lib::DeepCaller1] self::DeepCaller1* x) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller1.barL1] [@vm.inferred-type.metadata=!? (skip check)] x.{self::DeepCaller1::barL1}();
+ return [@vm.direct-call.metadata=#lib::DeepCaller1.barL1] [@vm.inferred-type.metadata=!? (skip check)] x.{self::DeepCaller1::barL1}(){() →* dynamic};
static method use2([@vm.inferred-type.metadata=#lib::DeepCaller2] self::DeepCaller2* x) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller2.barL1] [@vm.inferred-type.metadata=! (skip check)] x.{self::DeepCaller2::barL1}(new self::D::•());
+ return [@vm.direct-call.metadata=#lib::DeepCaller2.barL1] [@vm.inferred-type.metadata=! (skip check)] x.{self::DeepCaller2::barL1}(new self::D::•()){(self::D*) →* dynamic};
static method createC() → dynamic {
new self::C::•();
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class1.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class1.dart.expect
index 8432b7e..6f62466 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class1.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class1.dart.expect
@@ -25,15 +25,15 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method bar([@vm.inferred-type.metadata=#lib::B?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::B.foo??] [@vm.inferred-type.metadata=#lib::T1 (skip check)] aa.{self::A::foo}();
+ return [@vm.direct-call.metadata=#lib::B.foo??] [@vm.inferred-type.metadata=#lib::T1 (skip check)] aa.{self::A::foo}(){() →* dynamic};
}
[@vm.inferred-type.metadata=dart.core::Null? (value: null)]static field core::Function* unknown;
static method use1([@vm.inferred-type.metadata=#lib::Intermediate] self::Intermediate* i, [@vm.inferred-type.metadata=#lib::B?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=#lib::T1 (skip check)] i.{self::Intermediate::bar}(aa);
+ return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=#lib::T1 (skip check)] i.{self::Intermediate::bar}(aa){(self::A*) →* dynamic};
static method use2([@vm.inferred-type.metadata=#lib::Intermediate] self::Intermediate* i, [@vm.inferred-type.metadata=#lib::B?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=#lib::T1 (skip check)] i.{self::Intermediate::bar}(aa);
+ return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=#lib::T1 (skip check)] i.{self::Intermediate::bar}(aa){(self::A*) →* dynamic};
static method getDynamic() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown();
static method allocateB() → dynamic {
new self::B::•();
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class2.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class2.dart.expect
index 78761af..a9156b1 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class2.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class2.dart.expect
@@ -49,17 +49,17 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method bar(self::A* aa) → dynamic
- return [@vm.inferred-type.metadata=!] aa.{self::A::foo}();
+ return [@vm.inferred-type.metadata=!] aa.{self::A::foo}(){() →* dynamic};
}
[@vm.inferred-type.metadata=dart.core::Null? (value: null)]static field core::Function* unknown;
static method use1([@vm.inferred-type.metadata=#lib::Intermediate] self::Intermediate* i, self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=! (skip check)] i.{self::Intermediate::bar}(aa);
+ return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=! (skip check)] i.{self::Intermediate::bar}(aa){(self::A*) →* dynamic};
static method use2([@vm.inferred-type.metadata=#lib::Intermediate] self::Intermediate* i, self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=! (skip check)] i.{self::Intermediate::bar}(aa);
+ return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=! (skip check)] i.{self::Intermediate::bar}(aa){(self::A*) →* dynamic};
static method use3([@vm.inferred-type.metadata=#lib::Intermediate] self::Intermediate* i, self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=! (skip check)] i.{self::Intermediate::bar}(aa);
+ return [@vm.direct-call.metadata=#lib::Intermediate.bar] [@vm.inferred-type.metadata=! (skip check)] i.{self::Intermediate::bar}(aa){(self::A*) →* dynamic};
static method getDynamic() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown();
static method allocateB() → dynamic {
new self::B::•();
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_dynamic_target.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_dynamic_target.dart.expect
index 9db28b3..bc21869 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_dynamic_target.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_dynamic_target.dart.expect
@@ -41,15 +41,15 @@
}
[@vm.inferred-type.metadata=dart.core::Null? (value: null)]static field core::Function* unknown;
static method use_foo1(dynamic x) → dynamic
- return [@vm.inferred-type.metadata=#lib::T1] x.foo();
+ return [@vm.inferred-type.metadata=#lib::T1] x{dynamic}.foo();
static method use_foo2(dynamic x) → dynamic
- return [@vm.inferred-type.metadata=#lib::T1] x.foo();
+ return [@vm.inferred-type.metadata=#lib::T1] x{dynamic}.foo();
static method use_bar(dynamic x) → dynamic
- return [@vm.inferred-type.metadata=#lib::T2] x.bar();
+ return [@vm.inferred-type.metadata=#lib::T2] x{dynamic}.bar();
static method use_bazz(dynamic x) → dynamic
- return [@vm.inferred-type.metadata=#lib::T3] x.bazz();
+ return [@vm.inferred-type.metadata=#lib::T3] x{dynamic}.bazz();
static method getDynamic() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown();
static method allocateA() → dynamic {
new self::A::•();
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_set_field.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_set_field.dart.expect
index 64655ae..f07cc2b 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_set_field.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_set_field.dart.expect
@@ -24,34 +24,34 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] method barL1([@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller1.barL2] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::DeepCaller1::barL2}(aa);
+ return [@vm.direct-call.metadata=#lib::DeepCaller1.barL2] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::DeepCaller1::barL2}(aa){(self::A*) →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] method barL2([@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller1.barL3] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::DeepCaller1::barL3}(aa);
+ return [@vm.direct-call.metadata=#lib::DeepCaller1.barL3] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::DeepCaller1::barL3}(aa){(self::A*) →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:9,getterSelectorId:10] method barL3([@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller1.barL4] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::DeepCaller1::barL4}(aa);
+ return [@vm.direct-call.metadata=#lib::DeepCaller1.barL4] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::DeepCaller1::barL4}(aa){(self::A*) →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:11,getterSelectorId:12] method barL4([@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::A.field1??] [@vm.inferred-type.metadata=#lib::T1] aa.{self::A::field1};
+ return [@vm.direct-call.metadata=#lib::A.field1??] [@vm.inferred-type.metadata=#lib::T1] aa.{self::A::field1}{dynamic};
}
class DeepCaller2 extends core::Object {
synthetic constructor •() → self::DeepCaller2*
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:13,getterSelectorId:14] method barL1([@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller2.barL2] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL2}(aa);
+ return [@vm.direct-call.metadata=#lib::DeepCaller2.barL2] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL2}(aa){(self::A*) →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:15,getterSelectorId:16] method barL2([@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller2.barL3] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL3}(aa);
+ return [@vm.direct-call.metadata=#lib::DeepCaller2.barL3] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL3}(aa){(self::A*) →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:17,getterSelectorId:18] method barL3([@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller2.barL4] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL4}(aa);
+ return [@vm.direct-call.metadata=#lib::DeepCaller2.barL4] [@vm.inferred-type.metadata=! (skip check)] this.{self::DeepCaller2::barL4}(aa){(self::A*) →* dynamic};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:19,getterSelectorId:20] method barL4([@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::A.field2??] [@vm.inferred-type.metadata=!] aa.{self::A::field2};
+ return [@vm.direct-call.metadata=#lib::A.field2??] [@vm.inferred-type.metadata=!] aa.{self::A::field2}{dynamic};
}
[@vm.inferred-type.metadata=dart.core::Null? (value: null)]static field core::Function* unknown;
static method use1([@vm.inferred-type.metadata=#lib::DeepCaller1] self::DeepCaller1* x, [@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller1.barL1] [@vm.inferred-type.metadata=#lib::T1 (skip check)] x.{self::DeepCaller1::barL1}(aa);
+ return [@vm.direct-call.metadata=#lib::DeepCaller1.barL1] [@vm.inferred-type.metadata=#lib::T1 (skip check)] x.{self::DeepCaller1::barL1}(aa){(self::A*) →* dynamic};
static method use2([@vm.inferred-type.metadata=#lib::DeepCaller2] self::DeepCaller2* x, [@vm.inferred-type.metadata=#lib::A?] self::A* aa) → dynamic
- return [@vm.direct-call.metadata=#lib::DeepCaller2.barL1] [@vm.inferred-type.metadata=! (skip check)] x.{self::DeepCaller2::barL1}(aa);
+ return [@vm.direct-call.metadata=#lib::DeepCaller2.barL1] [@vm.inferred-type.metadata=! (skip check)] x.{self::DeepCaller2::barL1}(aa){(self::A*) →* dynamic};
static method getDynamic() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown();
static method setField2([@vm.inferred-type.metadata=#lib::A] self::A* aa, [@vm.inferred-type.metadata=#lib::T2] dynamic value) → void {
[@vm.direct-call.metadata=#lib::A.field2] [@vm.inferred-type.metadata=!? (skip check)] aa.{self::A::field2} = value;
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_set_field2.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_set_field2.dart.expect
index 63fc423..ffc08fe 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_set_field2.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_set_field2.dart.expect
@@ -29,7 +29,7 @@
;
}
static method foo1([@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::T1*>] core::List<self::T1*>* list) → dynamic {
- [@vm.direct-call.metadata=#lib::T3.run] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::T1.go??] [@vm.inferred-type.metadata=#lib::T3 (skip check)] [@vm.direct-call.metadata=#lib::Q.result??] [@vm.direct-call.metadata=dart._internal::ListIterable.first] [@vm.inferred-type.metadata=#lib::Q?] [@vm.direct-call.metadata=dart.collection::_ListBase&Object&ListMixin.map] [@vm.inferred-type.metadata=dart._internal::MappedListIterable<#lib::T1*, ?> (skip check)] list.{core::Iterable::map}<self::Q<self::T1*>*>((self::T1* t1) → self::Q<self::T1*>* => new self::Q::•<self::T1*>(t1)).{core::Iterable::first}.{self::Q::result}.{self::T1::go}().{self::T3::run}();
+ [@vm.direct-call.metadata=#lib::T3.run] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::T1.go??] [@vm.inferred-type.metadata=#lib::T3 (skip check)] [@vm.direct-call.metadata=#lib::Q.result??] [@vm.direct-call.metadata=dart._internal::ListIterable.first] [@vm.inferred-type.metadata=#lib::Q?] [@vm.direct-call.metadata=dart.collection::_ListBase&Object&ListMixin.map] [@vm.inferred-type.metadata=dart._internal::MappedListIterable<#lib::T1*, ?> (skip check)] list.{core::Iterable::map}<self::Q<self::T1*>*>((self::T1* t1) → self::Q<self::T1*>* => new self::Q::•<self::T1*>(t1)){((self::T1*) →* self::Q<self::T1*>*) →* core::Iterable<self::Q<self::T1*>*>*}.{core::Iterable::first}{self::Q<self::T1*>*}.{self::Q::result}{self::T1*}.{self::T1::go}(){() →* self::T3*}.{self::T3::run}(){() →* dynamic};
}
static method foo2NewValue() → self::Q<dynamic>*
return new self::Q::•<self::T2*>(new self::T2::•());
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_while_processing.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_while_processing.dart.expect
index 674fdd4..74df479 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_while_processing.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_while_processing.dart.expect
@@ -23,18 +23,18 @@
: self::Point::x = x, super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5] method newPoint1() → self::Point*
- return new self::Point::•([@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!] this.{self::Point::x});
+ return new self::Point::•([@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!] this.{self::Point::x}{self::I*});
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:6,getterSelectorId:7] method newPoint2() → self::Point*
- return new self::Point::•([@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!] this.{self::Point::x});
+ return new self::Point::•([@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!] this.{self::Point::x}{self::I*});
}
static method getX([@vm.inferred-type.metadata=#lib::Point] dynamic point) → dynamic {
- [@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!? (receiver not int)] point.x;
+ [@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!? (receiver not int)] point{dynamic}.x;
}
static method main() → dynamic {
self::Point* a = new self::Point::•(new self::T1::•());
- core::print([@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!] a.{self::Point::x});
+ core::print([@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!] a.{self::Point::x}{self::I*});
self::Point* c = new self::Point::•(new self::T2::•());
- [@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!] c.{self::Point::x}.{self::I::foo}();
- self::getX([@vm.direct-call.metadata=#lib::Point.newPoint1] [@vm.inferred-type.metadata=#lib::Point (skip check)] a.{self::Point::newPoint1}());
- self::getX([@vm.direct-call.metadata=#lib::Point.newPoint2] [@vm.inferred-type.metadata=#lib::Point (skip check)] a.{self::Point::newPoint2}());
+ [@vm.direct-call.metadata=#lib::Point.x] [@vm.inferred-type.metadata=!] c.{self::Point::x}{self::I*}.{self::I::foo}(){() →* void};
+ self::getX([@vm.direct-call.metadata=#lib::Point.newPoint1] [@vm.inferred-type.metadata=#lib::Point (skip check)] a.{self::Point::newPoint1}(){() →* self::Point*});
+ self::getX([@vm.direct-call.metadata=#lib::Point.newPoint2] [@vm.inferred-type.metadata=#lib::Point (skip check)] a.{self::Point::newPoint2}(){() →* self::Point*});
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/lists.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/lists.dart.expect
index a4f084e..8a9005d 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/lists.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/lists.dart.expect
@@ -28,26 +28,26 @@
;
}
static method nonConstant() → dynamic
- return [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(1);
+ return [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 1;
static method main() → dynamic {
self::A* x = new self::A::•();
- core::print([@vm.direct-call.metadata=#lib::A.literal1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::literal1});
- core::print([@vm.direct-call.metadata=#lib::A.literal2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::literal2});
- core::print([@vm.direct-call.metadata=#lib::A.constLiteral1] [@vm.inferred-type.metadata=dart.core::_ImmutableList (value: const <dart.core::int*>[])] x.{self::A::constLiteral1});
- core::print([@vm.direct-call.metadata=#lib::A.constLiteral2] [@vm.inferred-type.metadata=dart.core::_ImmutableList (value: const <dart.core::int*>[1, 2])] x.{self::A::constLiteral2});
- core::print([@vm.direct-call.metadata=#lib::A.defaultConstructor1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::defaultConstructor1});
- core::print([@vm.direct-call.metadata=#lib::A.defaultConstructor2] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::defaultConstructor2});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory1] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::filledFactory1});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::filledFactory2});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory3] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::filledFactory3});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory4] [@vm.inferred-type.metadata=!] x.{self::A::filledFactory4});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory5] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::filledFactory5});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory6] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::filledFactory6});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory7] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::filledFactory7});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory8] [@vm.inferred-type.metadata=!] x.{self::A::filledFactory8});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::generateFactory1});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::generateFactory2});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory3] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::generateFactory3});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory4] [@vm.inferred-type.metadata=!] x.{self::A::generateFactory4});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory5] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::List<dart.core::int*>*>] x.{self::A::generateFactory5});
+ core::print([@vm.direct-call.metadata=#lib::A.literal1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::literal1}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.literal2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::literal2}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.constLiteral1] [@vm.inferred-type.metadata=dart.core::_ImmutableList (value: const <dart.core::int*>[])] x.{self::A::constLiteral1}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.constLiteral2] [@vm.inferred-type.metadata=dart.core::_ImmutableList (value: const <dart.core::int*>[1, 2])] x.{self::A::constLiteral2}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.defaultConstructor1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::defaultConstructor1}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.defaultConstructor2] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::defaultConstructor2}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory1] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::filledFactory1}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::filledFactory2}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory3] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::filledFactory3}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory4] [@vm.inferred-type.metadata=!] x.{self::A::filledFactory4}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory5] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::filledFactory5}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory6] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::filledFactory6}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory7] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::filledFactory7}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory8] [@vm.inferred-type.metadata=!] x.{self::A::filledFactory8}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::generateFactory1}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] x.{self::A::generateFactory2}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory3] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int*>] x.{self::A::generateFactory3}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory4] [@vm.inferred-type.metadata=!] x.{self::A::generateFactory4}{core::List<core::int*>*});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory5] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::List<dart.core::int*>*>] x.{self::A::generateFactory5}{core::List<core::List<core::int*>*>*});
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/lists_nnbd.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/lists_nnbd.dart.expect
index 3d22ad3..33283c2 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/lists_nnbd.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/lists_nnbd.dart.expect
@@ -26,24 +26,24 @@
;
}
static method nonConstant() → dynamic
- return [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(1);
+ return [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object) → core::bool} 1;
static method main() → dynamic {
self::A x = new self::A::•();
- core::print([@vm.direct-call.metadata=#lib::A.literal1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::literal1});
- core::print([@vm.direct-call.metadata=#lib::A.literal2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::literal2});
- core::print([@vm.direct-call.metadata=#lib::A.constLiteral1] [@vm.inferred-type.metadata=dart.core::_ImmutableList (value: const <dart.core::int*>[])] x.{self::A::constLiteral1});
- core::print([@vm.direct-call.metadata=#lib::A.constLiteral2] [@vm.inferred-type.metadata=dart.core::_ImmutableList (value: const <dart.core::int*>[1, 2])] x.{self::A::constLiteral2});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory1] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int>] x.{self::A::filledFactory1});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::filledFactory2});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory3] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int>] x.{self::A::filledFactory3});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory4] [@vm.inferred-type.metadata=!] x.{self::A::filledFactory4});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory5] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int?>] x.{self::A::filledFactory5});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory6] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int?>] x.{self::A::filledFactory6});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory7] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int?>] x.{self::A::filledFactory7});
- core::print([@vm.direct-call.metadata=#lib::A.filledFactory8] [@vm.inferred-type.metadata=!] x.{self::A::filledFactory8});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::generateFactory1});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::generateFactory2});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory3] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int>] x.{self::A::generateFactory3});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory4] [@vm.inferred-type.metadata=!] x.{self::A::generateFactory4});
- core::print([@vm.direct-call.metadata=#lib::A.generateFactory5] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::List<dart.core::int>>] x.{self::A::generateFactory5});
+ core::print([@vm.direct-call.metadata=#lib::A.literal1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::literal1}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.literal2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::literal2}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.constLiteral1] [@vm.inferred-type.metadata=dart.core::_ImmutableList (value: const <dart.core::int*>[])] x.{self::A::constLiteral1}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.constLiteral2] [@vm.inferred-type.metadata=dart.core::_ImmutableList (value: const <dart.core::int*>[1, 2])] x.{self::A::constLiteral2}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory1] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int>] x.{self::A::filledFactory1}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::filledFactory2}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory3] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int>] x.{self::A::filledFactory3}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory4] [@vm.inferred-type.metadata=!] x.{self::A::filledFactory4}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory5] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int?>] x.{self::A::filledFactory5}{core::List<core::int?>});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory6] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int?>] x.{self::A::filledFactory6}{core::List<core::int?>});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory7] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int?>] x.{self::A::filledFactory7}{core::List<core::int?>});
+ core::print([@vm.direct-call.metadata=#lib::A.filledFactory8] [@vm.inferred-type.metadata=!] x.{self::A::filledFactory8}{core::List<core::int?>});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory1] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::generateFactory1}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory2] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] x.{self::A::generateFactory2}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory3] [@vm.inferred-type.metadata=dart.core::_List<dart.core::int>] x.{self::A::generateFactory3}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory4] [@vm.inferred-type.metadata=!] x.{self::A::generateFactory4}{core::List<core::int>});
+ core::print([@vm.direct-call.metadata=#lib::A.generateFactory5] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::List<dart.core::int>>] x.{self::A::generateFactory5}{core::List<core::List<core::int>>});
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/named_params_shaking_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/named_params_shaking_test.dart.expect
index 4aff357..fda4bf2 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/named_params_shaking_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/named_params_shaking_test.dart.expect
@@ -18,14 +18,14 @@
[@vm.inferred-type.metadata=int] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] [@vm.unboxing-info.metadata=(i)->i] field core::int* x;
constructor •() → self::TestNamedOrderSub*
: self::TestNamedOrderSub::x = [@vm.inferred-type.metadata=int] self::dec(), final core::int* #t1 = [@vm.inferred-type.metadata=int] self::inc(), final core::int* #t2 = [@vm.inferred-type.metadata=int] self::inc(), final core::int* #t3 = [@vm.inferred-type.metadata=int] self::inc(), final core::int* #t4 = [@vm.inferred-type.metadata=int] self::dec(), super self::TestNamedOrderBase::•(#t1, #t4, #t3, #t2) {
- exp::Expect::equals([@vm.direct-call.metadata=#lib::TestNamedOrderSub.x] [@vm.inferred-type.metadata=int] this.{self::TestNamedOrderSub::x}, 0);
+ exp::Expect::equals([@vm.direct-call.metadata=#lib::TestNamedOrderSub.x] [@vm.inferred-type.metadata=int] this.{self::TestNamedOrderSub::x}{core::int*}, 0);
}
}
[@vm.inferred-type.metadata=int?]static field core::int* global = 0;
[@vm.unboxing-info.metadata=()->i]static method inc() → core::int*
- return self::global = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+??] [@vm.inferred-type.metadata=int (skip check)] [@vm.inferred-type.metadata=int?] self::global.{core::num::+}(1);
+ return self::global = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+??] [@vm.inferred-type.metadata=int (skip check)] [@vm.inferred-type.metadata=int?] self::global.{core::num::+}(1){(core::num*) →* core::int*};
[@vm.unboxing-info.metadata=()->i]static method dec() → core::int*
- return self::global = [@vm.inferred-type.metadata=int] math::max<core::int*>(0, self::global = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.-??] [@vm.inferred-type.metadata=int (skip check)] [@vm.inferred-type.metadata=int?] self::global.{core::num::-}(1));
+ return self::global = [@vm.inferred-type.metadata=int] math::max<core::int*>(0, self::global = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.-??] [@vm.inferred-type.metadata=int (skip check)] [@vm.inferred-type.metadata=int?] self::global.{core::num::-}(1){(core::num*) →* core::int*});
[@vm.unboxing-info.metadata=(i,i,i,i)->b]static method testNamedOrder([@vm.inferred-type.metadata=int] core::int* w, [@vm.inferred-type.metadata=int] core::int* x, [@vm.inferred-type.metadata=int] core::int* y, [@vm.inferred-type.metadata=int] core::int* z) → void {
exp::Expect::equals(w, 1);
exp::Expect::equals(z, 2);
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/no_such_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/no_such_method.dart.expect
index 6aeb4eb..d20ec74 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/no_such_method.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/no_such_method.dart.expect
@@ -49,11 +49,11 @@
return new self::T1::•();
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:3] no-such-method-forwarder get bar() → dynamic
- return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
+ return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic});
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] no-such-method-forwarder method foo() → dynamic
- return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
+ return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic});
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5] [@vm.unboxing-info.metadata=(i,i,i,i)->b] no-such-method-forwarder method bazz([@vm.inferred-type.metadata=dart.core::_Smi (value: 1)] dynamic a1, [@vm.inferred-type.metadata=dart.core::_Smi (value: 2)] dynamic a2, [@vm.inferred-type.metadata=dart.core::_Smi (value: 3)] dynamic a3, [@vm.inferred-type.metadata=dart.core::_Smi (value: 4)] dynamic a4) → dynamic
- return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C2, core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal5<dynamic>()), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
+ return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=#lib::T1 (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C2, core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal5<dynamic>()), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic});
}
abstract class C extends core::Object {
synthetic constructor •() → self::C*
@@ -68,11 +68,11 @@
: super self::C::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:3] no-such-method-forwarder get bar() → dynamic
- return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::C.noSuchMethod] [@vm.inferred-type.metadata=#lib::T2 (skip check)] this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
+ return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::C.noSuchMethod] [@vm.inferred-type.metadata=#lib::T2 (skip check)] this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic});
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] no-such-method-forwarder method foo() → dynamic
- return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::C.noSuchMethod] [@vm.inferred-type.metadata=#lib::T2 (skip check)] this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
+ return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::C.noSuchMethod] [@vm.inferred-type.metadata=#lib::T2 (skip check)] this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic});
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5] [@vm.unboxing-info.metadata=(i,i,i,i)->b] no-such-method-forwarder method bazz([@vm.inferred-type.metadata=dart.core::_Smi (value: 1)] dynamic a1, [@vm.inferred-type.metadata=dart.core::_Smi (value: 2)] dynamic a2, [@vm.inferred-type.metadata=dart.core::_Smi (value: 3)] dynamic a3, [@vm.inferred-type.metadata=dart.core::_Smi (value: 4)] dynamic a4) → dynamic
- return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::C.noSuchMethod] [@vm.inferred-type.metadata=#lib::T2 (skip check)] this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C2, core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal5<dynamic>()), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
+ return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::C.noSuchMethod] [@vm.inferred-type.metadata=#lib::T2 (skip check)] this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C2, core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal5<dynamic>()), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic});
}
class E extends core::Object implements self::A {
synthetic constructor •() → self::E*
@@ -82,7 +82,7 @@
return new self::T4::•();
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:3] no-such-method-forwarder get bar() → dynamic
- return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::E.noSuchMethod] [@vm.inferred-type.metadata=#lib::T4 (skip check)] this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))));
+ return _in::unsafeCast<dynamic>([@vm.direct-call.metadata=#lib::E.noSuchMethod] [@vm.inferred-type.metadata=#lib::T4 (skip check)] this.{self::E::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic});
}
class F extends core::Object {
synthetic constructor •() → self::F*
@@ -114,23 +114,23 @@
[@vm.inferred-type.metadata=#lib::D?]static field self::A* dd = new self::D::•();
[@vm.inferred-type.metadata=dart.core::Null? (value: null)]static field core::Function* unknown;
static method getDynamic() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown();
static method main(core::List<core::String*>* args) → dynamic {
- core::print([@vm.direct-call.metadata=#lib::B.foo??] [@vm.inferred-type.metadata=#lib::T1 (skip check)] [@vm.inferred-type.metadata=#lib::B?] self::bb.{self::A::foo}());
- core::print([@vm.direct-call.metadata=#lib::B.bar??] [@vm.inferred-type.metadata=#lib::T1] [@vm.inferred-type.metadata=#lib::B?] self::bb.{self::A::bar});
- core::print([@vm.direct-call.metadata=#lib::B.bazz??] [@vm.inferred-type.metadata=#lib::T1 (skip check)] [@vm.inferred-type.metadata=#lib::B?] self::bb.{self::A::bazz}(1, 2, 3, 4));
- core::print([@vm.direct-call.metadata=#lib::D.foo??] [@vm.inferred-type.metadata=#lib::T2 (skip check)] [@vm.inferred-type.metadata=#lib::D?] self::dd.{self::A::foo}());
- core::print([@vm.direct-call.metadata=#lib::D.bar??] [@vm.inferred-type.metadata=#lib::T2] [@vm.inferred-type.metadata=#lib::D?] self::dd.{self::A::bar});
- core::print([@vm.direct-call.metadata=#lib::D.bazz??] [@vm.inferred-type.metadata=#lib::T2 (skip check)] [@vm.inferred-type.metadata=#lib::D?] self::dd.{self::A::bazz}(1, 2, 3, 4));
+ core::print([@vm.direct-call.metadata=#lib::B.foo??] [@vm.inferred-type.metadata=#lib::T1 (skip check)] [@vm.inferred-type.metadata=#lib::B?] self::bb.{self::A::foo}(){() →* dynamic});
+ core::print([@vm.direct-call.metadata=#lib::B.bar??] [@vm.inferred-type.metadata=#lib::T1] [@vm.inferred-type.metadata=#lib::B?] self::bb.{self::A::bar}{dynamic});
+ core::print([@vm.direct-call.metadata=#lib::B.bazz??] [@vm.inferred-type.metadata=#lib::T1 (skip check)] [@vm.inferred-type.metadata=#lib::B?] self::bb.{self::A::bazz}(1, 2, 3, 4){(dynamic, dynamic, dynamic, [dynamic, dynamic]) →* dynamic});
+ core::print([@vm.direct-call.metadata=#lib::D.foo??] [@vm.inferred-type.metadata=#lib::T2 (skip check)] [@vm.inferred-type.metadata=#lib::D?] self::dd.{self::A::foo}(){() →* dynamic});
+ core::print([@vm.direct-call.metadata=#lib::D.bar??] [@vm.inferred-type.metadata=#lib::T2] [@vm.inferred-type.metadata=#lib::D?] self::dd.{self::A::bar}{dynamic});
+ core::print([@vm.direct-call.metadata=#lib::D.bazz??] [@vm.inferred-type.metadata=#lib::T2 (skip check)] [@vm.inferred-type.metadata=#lib::D?] self::dd.{self::A::bazz}(1, 2, 3, 4){(dynamic, dynamic, dynamic, [dynamic, dynamic]) →* dynamic});
new self::E::•();
self::A* xx = self::getDynamic() as{TypeError,ForDynamic} self::A*;
- core::print([@vm.inferred-type.metadata=!] xx.{self::A::bar});
+ core::print([@vm.inferred-type.metadata=!] xx.{self::A::bar}{dynamic});
dynamic yy = self::getDynamic();
- core::print([@vm.inferred-type.metadata=!] yy.twoArg(1, 2, 3));
+ core::print([@vm.inferred-type.metadata=!] yy{dynamic}.twoArg(1, 2, 3));
new self::F::•();
dynamic gg = new self::G::•();
- core::print([@vm.inferred-type.metadata=#lib::T5 (receiver not int)] gg.noSuchMethod(null, null));
+ core::print([@vm.inferred-type.metadata=#lib::T5 (receiver not int)] gg{dynamic}.noSuchMethod(null, null));
dynamic hh = new self::H::•();
- core::print([@vm.direct-call.metadata=#lib::H.foo] [@vm.inferred-type.metadata=#lib::T6 (receiver not int)] hh.foo(right: 2, left: 1));
- core::print([@vm.inferred-type.metadata=#lib::T7 (receiver not int)] hh.foo(left: 1, top: 2));
+ core::print([@vm.direct-call.metadata=#lib::H.foo] [@vm.inferred-type.metadata=#lib::T6 (receiver not int)] hh{dynamic}.foo(right: 2, left: 1));
+ core::print([@vm.inferred-type.metadata=#lib::T7 (receiver not int)] hh{dynamic}.foo(left: 1, top: 2));
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/null_check_elimination_nnbd.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/null_check_elimination_nnbd.dart.expect
index 90d79cb..2ee4f92 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/null_check_elimination_nnbd.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/null_check_elimination_nnbd.dart.expect
@@ -13,11 +13,11 @@
}
[@vm.inferred-type.metadata=#lib::A?]static field self::A staticField = new self::A::•("hi", "bye");
static method testNonNullable([@vm.inferred-type.metadata=#lib::A?] self::A a) → dynamic
- return _in::unsafeCast<core::String>([@vm.direct-call.metadata=#lib::A.nonNullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString] a.{self::A::nonNullable});
+ return _in::unsafeCast<core::String>([@vm.direct-call.metadata=#lib::A.nonNullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString] a.{self::A::nonNullable}{core::String?});
static method testNullable([@vm.inferred-type.metadata=#lib::A?] self::A a) → dynamic
- return [@vm.direct-call.metadata=#lib::A.nullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString?] a.{self::A::nullable}!;
+ return [@vm.direct-call.metadata=#lib::A.nullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString?] a.{self::A::nullable}{core::String?}!;
static method testAlwaysNull([@vm.inferred-type.metadata=#lib::A?] self::A a) → dynamic
- return [@vm.direct-call.metadata=#lib::A.alwaysNull??] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] a.{self::A::alwaysNull}!;
+ return [@vm.direct-call.metadata=#lib::A.alwaysNull??] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] a.{self::A::alwaysNull}{core::String?}!;
static method main() → void {
final core::List<self::A> list = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::A>] core::_GrowableList::_literal2<self::A>(new self::A::•("foo", null), [@vm.inferred-type.metadata=#lib::A?] self::staticField);
{
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/null_test_elimination.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/null_test_elimination.dart.expect
index be0cb67..bca0947 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/null_test_elimination.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/null_test_elimination.dart.expect
@@ -13,43 +13,43 @@
}
[@vm.inferred-type.metadata=#lib::A?]static field self::A* staticField = new self::A::•("hi", "bye");
static method testNonNullableIf1([@vm.inferred-type.metadata=#lib::A?] self::A* a) → dynamic {
- if(let dynamic #t1 = [@vm.direct-call.metadata=#lib::A.nonNullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString] a.{self::A::nonNullable} in false) {
+ if(let dynamic #t1 = [@vm.direct-call.metadata=#lib::A.nonNullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString] a.{self::A::nonNullable}{core::String*} in false) {
core::print("null");
}
}
static method testNullableIf1([@vm.inferred-type.metadata=#lib::A?] self::A* a) → dynamic {
- if([@vm.direct-call.metadata=#lib::A.nullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString?] a.{self::A::nullable}.{core::String::==}(null)) {
+ if([@vm.direct-call.metadata=#lib::A.nullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString?] a.{self::A::nullable}{core::String*} == null) {
core::print("null");
}
}
static method testAlwaysNullIf1([@vm.inferred-type.metadata=#lib::A?] self::A* a) → dynamic {
- if(let dynamic #t2 = [@vm.direct-call.metadata=#lib::A.alwaysNull??] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] a.{self::A::alwaysNull} in true) {
+ if(let dynamic #t2 = [@vm.direct-call.metadata=#lib::A.alwaysNull??] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] a.{self::A::alwaysNull}{core::String*} in true) {
core::print("null");
}
}
static method testNonNullableIf2([@vm.inferred-type.metadata=#lib::A?] self::A* a) → dynamic {
- if(!(let dynamic #t3 = [@vm.direct-call.metadata=#lib::A.nonNullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString] a.{self::A::nonNullable} in false) && _in::unsafeCast<core::bool*>([@vm.inferred-type.metadata=dart.core::bool] self::someCondition())) {
+ if(!(let dynamic #t3 = [@vm.direct-call.metadata=#lib::A.nonNullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString] a.{self::A::nonNullable}{core::String*} in false) && _in::unsafeCast<core::bool*>([@vm.inferred-type.metadata=dart.core::bool] self::someCondition())) {
core::print("not null");
}
}
static method testNullableIf2([@vm.inferred-type.metadata=#lib::A?] self::A* a) → dynamic {
- if(![@vm.direct-call.metadata=#lib::A.nullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString?] a.{self::A::nullable}.{core::String::==}(null) && _in::unsafeCast<core::bool*>([@vm.inferred-type.metadata=dart.core::bool] self::someCondition())) {
+ if(!([@vm.direct-call.metadata=#lib::A.nullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString?] a.{self::A::nullable}{core::String*} == null) && _in::unsafeCast<core::bool*>([@vm.inferred-type.metadata=dart.core::bool] self::someCondition())) {
core::print("not null");
}
}
static method testAlwaysNullIf2([@vm.inferred-type.metadata=#lib::A?] self::A* a) → dynamic {
- if(!(let dynamic #t4 = [@vm.direct-call.metadata=#lib::A.alwaysNull??] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] a.{self::A::alwaysNull} in true) && _in::unsafeCast<core::bool*>([@vm.inferred-type.metadata=dart.core::bool] self::someCondition())) {
+ if(!(let dynamic #t4 = [@vm.direct-call.metadata=#lib::A.alwaysNull??] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] a.{self::A::alwaysNull}{core::String*} in true) && _in::unsafeCast<core::bool*>([@vm.inferred-type.metadata=dart.core::bool] self::someCondition())) {
core::print("not null");
}
}
static method testNonNullableCondExpr([@vm.inferred-type.metadata=#lib::A?] self::A* a) → dynamic
- return !(let dynamic #t5 = [@vm.direct-call.metadata=#lib::A.nonNullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString] a.{self::A::nonNullable} in false) ?{core::String*} "not null" : "null";
+ return !(let dynamic #t5 = [@vm.direct-call.metadata=#lib::A.nonNullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString] a.{self::A::nonNullable}{core::String*} in false) ?{core::String*} "not null" : "null";
static method testNullableCondExpr([@vm.inferred-type.metadata=#lib::A?] self::A* a) → dynamic
- return ![@vm.direct-call.metadata=#lib::A.nullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString?] a.{self::A::nullable}.{core::String::==}(null) ?{core::String*} "not null" : "null";
+ return !([@vm.direct-call.metadata=#lib::A.nullable??] [@vm.inferred-type.metadata=dart.core::_OneByteString?] a.{self::A::nullable}{core::String*} == null) ?{core::String*} "not null" : "null";
static method testAlwaysNullCondExpr([@vm.inferred-type.metadata=#lib::A?] self::A* a) → dynamic
- return !(let dynamic #t6 = [@vm.direct-call.metadata=#lib::A.alwaysNull??] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] a.{self::A::alwaysNull} in true) ?{core::String*} "not null" : "null";
+ return !(let dynamic #t6 = [@vm.direct-call.metadata=#lib::A.alwaysNull??] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] a.{self::A::alwaysNull}{core::String*} in true) ?{core::String*} "not null" : "null";
static method someCondition() → dynamic
- return [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(1);
+ return [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 1;
static method main() → void {
final core::List<self::A*>* list = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::A*>] core::_GrowableList::_literal2<self::A*>(new self::A::•("foo", null), [@vm.inferred-type.metadata=#lib::A?] self::staticField);
{
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/param_types_before_strong_mode_checks.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/param_types_before_strong_mode_checks.dart.expect
index 6e22591..5deb640 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/param_types_before_strong_mode_checks.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/param_types_before_strong_mode_checks.dart.expect
@@ -19,7 +19,7 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method method1(self::T0* t0) → void {
- [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}();
+ [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}(){() →* void};
}
}
abstract class B extends core::Object {
@@ -30,7 +30,7 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] method method2(covariant self::T0* t0) → void {
- [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}();
+ [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}(){() →* void};
}
}
class D extends core::Object {
@@ -38,27 +38,27 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] method method3(self::T0* t0) → void {
- [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}();
+ [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}(){() →* void};
}
}
[@vm.inferred-type.metadata=dart.core::Null? (value: null)]static field core::Function* unknown;
static method func1([@vm.inferred-type.metadata=#lib::T2?] self::T0* t0) → void {
- [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}();
+ [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}(){() →* void};
}
static method func2(self::T0* t0) → void {
- [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}();
+ [@vm.direct-call.metadata=#lib::T2.foo??] [@vm.inferred-type.metadata=!? (skip check)] t0.{self::T0::foo}(){() →* void};
}
static method getDynamic() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown();
static method use(dynamic x) → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown.call(x);
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown(x);
static method main(core::List<core::String*>* args) → dynamic {
self::func1(self::getDynamic() as{TypeError,ForDynamic} self::T0*);
self::use(#C1);
- self::use(new self::A::•().{self::A::method1});
+ self::use(new self::A::•().{self::A::method1}{(self::T0*) →* void});
self::B* bb = self::getDynamic() as{TypeError,ForDynamic} self::B*;
- [@vm.direct-call.metadata=#lib::C.method2??] [@vm.inferred-type.metadata=!? (skip check)] bb.{self::B::method2}(self::getDynamic());
- self::getDynamic().method3(self::getDynamic());
+ [@vm.direct-call.metadata=#lib::C.method2??] [@vm.inferred-type.metadata=!? (skip check)] bb.{self::B::method2}(self::getDynamic()){(dynamic) →* void};
+ self::getDynamic(){dynamic}.method3(self::getDynamic());
new self::T2::•();
new self::A::•();
new self::C::•();
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/create_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/create_test.dart.expect
index d0ad288d..4e8704e 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/create_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/create_test.dart.expect
@@ -13,17 +13,17 @@
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pb::FooKeep::barKeep} = let final pb::BarKeep* #t2 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep] pb::BarKeep::•() in block {
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pb::BarKeep::aKeep} = 5;
} =>#t2;
- [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<dart.core::String, library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep>] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] #t1.{pb::FooKeep::mapKeep}.{core::Map::[]=}("foo", let final pb::BarKeep* #t3 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep] pb::BarKeep::•() in block {
+ [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<dart.core::String*, library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep*>*] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] #t1.{pb::FooKeep::mapKeep}{core::Map<core::String*, pb::BarKeep*>*}.{core::Map::[]=}("foo", let final pb::BarKeep* #t3 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep] pb::BarKeep::•() in block {
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t3.{pb::BarKeep::aKeep} = 2;
- } =>#t3);
+ } =>#t3){(core::String*, pb::BarKeep*) →* void};
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pb::FooKeep::aKeep} = 43;
} =>#t1;
sca::test(() → Null {
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] foo.{pb::FooKeep::barKeep}.{pb::BarKeep::aKeep}, 5);
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] foo.{pb::FooKeep::mapKeep}.{core::Map::[]}("foo").{pb::BarKeep::aKeep}, 2);
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.hasHasKeep] [@vm.inferred-type.metadata=dart.core::bool (skip check)] foo.{pb::FooKeep::hasHasKeep}(), false);
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=int] foo.{pb::FooKeep::aKeep}, 43);
- [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.clearClearKeep] [@vm.inferred-type.metadata=!? (skip check)] foo.{pb::FooKeep::clearClearKeep}();
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] foo.{pb::FooKeep::barKeep}{pb::BarKeep*}.{pb::BarKeep::aKeep}{core::int*}, 5);
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] foo.{pb::FooKeep::mapKeep}{core::Map<core::String*, pb::BarKeep*>*}.{core::Map::[]}("foo"){(core::Object*) →* pb::BarKeep*}.{pb::BarKeep::aKeep}{core::int*}, 2);
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.hasHasKeep] [@vm.inferred-type.metadata=dart.core::bool (skip check)] foo.{pb::FooKeep::hasHasKeep}(){() →* core::bool*}, false);
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=int] foo.{pb::FooKeep::aKeep}{core::int*}, 43);
+ [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.clearClearKeep] [@vm.inferred-type.metadata=!? (skip check)] foo.{pb::FooKeep::clearClearKeep}(){() →* void};
});
}
library foo.pb.dart /*isNonNullableByDefault*/;
@@ -36,13 +36,13 @@
class FooKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t1 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "FooKeep") in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::BarKeep>(1, (#C1) ?{core::String} "" : "barKeep", "barKeep", #C2);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::BarKeep>(1, (#C1) ?{core::String} "" : "barKeep", "barKeep", #C2){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::BarKeep}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::BarKeep>((#C1) ?{core::String} "" : "mapKeep", #C2);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::BarKeep>((#C1) ?{core::String} "" : "mapKeep", #C2){(core::int, core::String, {entryClassName: core::String?, enumValues: core::List<pro::ProtobufEnum>?, keyFieldType: core::int?, packageName: pro::PackageName, protoName: core::String?, valueCreator: () →? pro::GeneratedMessage, valueFieldType: core::int?, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::a}<core::int>(5, (#C1) ?{core::String} "" : "aKeep");
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::HasKeep>(6, (#C1) ?{core::String} "" : "hasKeep", "hasKeep", #C3);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::ClearKeep>(7, (#C1) ?{core::String} "" : "clearKeep", "clearKeep", #C4);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::a}<core::int>(5, (#C1) ?{core::String} "" : "aKeep"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::HasKeep>(6, (#C1) ?{core::String} "" : "hasKeep", "hasKeep", #C3){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::HasKeep}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::ClearKeep>(7, (#C1) ?{core::String} "" : "clearKeep", "clearKeep", #C4){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::ClearKeep}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t1;
constructor _() → self::FooKeep
@@ -57,31 +57,31 @@
return new self::FooKeep::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] @#C9
get barKeep() → self::BarKeep
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getN] [@vm.inferred-type.metadata=foo.pb.dart::BarKeep? (skip check)] this.{pro::GeneratedMessage::$_getN}<self::BarKeep>();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getN] [@vm.inferred-type.metadata=foo.pb.dart::BarKeep? (skip check)] this.{pro::GeneratedMessage::$_getN}<self::BarKeep>(){(core::int) → self::BarKeep};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] @#C9
set barKeep([@vm.inferred-type.metadata=foo.pb.dart::BarKeep] self::BarKeep v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(v){(core::int, core::Object) → void};
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:4] @#C11
get mapKeep() → core::Map<core::String, self::BarKeep>
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::BarKeep>();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::BarKeep>(){(core::int) → core::Map<core::String, self::BarKeep>};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] [@vm.unboxing-info.metadata=()->i] @#C13
get aKeep() → core::int
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(4);
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(4){(core::int) → core::int};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] [@vm.unboxing-info.metadata=(i)->b] @#C13
set aKeep([@vm.inferred-type.metadata=dart.core::_Smi (value: 43)] core::int v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(4, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(4, v){(core::int, core::int) → void};
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] @#C15
method hasHasKeep() → core::bool
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_has] [@vm.inferred-type.metadata=dart.core::bool (skip check)] this.{pro::GeneratedMessage::$_has}();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_has] [@vm.inferred-type.metadata=dart.core::bool (skip check)] this.{pro::GeneratedMessage::$_has}(){(core::int) → core::bool};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:9,getterSelectorId:10] @#C17
method clearClearKeep() → void
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.clearField] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] this.{pro::GeneratedMessage::clearField}();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.clearField] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] this.{pro::GeneratedMessage::clearField}(){(core::int) → void};
}
class BarKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t2 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "BarKeep") in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aKeep");
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aKeep"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t2;
@@ -97,10 +97,10 @@
return new self::BarKeep::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:11,getterSelectorId:12] [@vm.unboxing-info.metadata=()->i] @#C9
get aKeep() → core::int
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(0);
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(0){(core::int) → core::int};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:11,getterSelectorId:12] [@vm.unboxing-info.metadata=(i)->b] @#C9
set aKeep([@vm.inferred-type.metadata=dart.core::_Smi] core::int v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(0, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(0, v){(core::int, core::int) → void};
}
}
class HasKeep extends pro::GeneratedMessage {
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/decode_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/decode_test.dart.expect
index 8a6a03a..9c518ba 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/decode_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/decode_test.dart.expect
@@ -12,11 +12,11 @@
static method main() → dynamic {
pb::FooKeep* foo = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep] pb::FooKeep::fromBuffer([@vm.inferred-type.metadata=dart.core::_GrowableList?<dart.core::int*>] self::buffer);
sca::test(() → Null {
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] foo.{pb::FooKeep::mapKeep}.{core::Map::[]}("foo").{pb::BarKeep::aKeep}, 42);
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] foo.{pb::FooKeep::barKeep}.{pb::BarKeep::aKeep}, 5);
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=int] foo.{pb::FooKeep::aKeep}, 43);
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.hasHasKeep] [@vm.inferred-type.metadata=dart.core::bool (skip check)] foo.{pb::FooKeep::hasHasKeep}(), true);
- [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.clearClearKeep] [@vm.inferred-type.metadata=!? (skip check)] foo.{pb::FooKeep::clearClearKeep}();
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] foo.{pb::FooKeep::mapKeep}{core::Map<core::String*, pb::BarKeep*>*}.{core::Map::[]}("foo"){(core::Object*) →* pb::BarKeep*}.{pb::BarKeep::aKeep}{core::int*}, 42);
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] foo.{pb::FooKeep::barKeep}{pb::BarKeep*}.{pb::BarKeep::aKeep}{core::int*}, 5);
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=int] foo.{pb::FooKeep::aKeep}{core::int*}, 43);
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.hasHasKeep] [@vm.inferred-type.metadata=dart.core::bool (skip check)] foo.{pb::FooKeep::hasHasKeep}(){() →* core::bool*}, true);
+ [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.clearClearKeep] [@vm.inferred-type.metadata=!? (skip check)] foo.{pb::FooKeep::clearClearKeep}(){() →* void};
});
}
library foo.pb.dart /*isNonNullableByDefault*/;
@@ -29,13 +29,13 @@
class FooKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t1 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "FooKeep", createEmptyInstance: #C2) in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::BarKeep>(1, (#C1) ?{core::String} "" : "barKeep", "barKeep", #C3);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::BarKeep>(1, (#C1) ?{core::String} "" : "barKeep", "barKeep", #C3){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::BarKeep}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::BarKeep>((#C1) ?{core::String} "" : "mapKeep", #C3);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::BarKeep>((#C1) ?{core::String} "" : "mapKeep", #C3){(core::int, core::String, {entryClassName: core::String?, enumValues: core::List<pro::ProtobufEnum>?, keyFieldType: core::int?, packageName: pro::PackageName, protoName: core::String?, valueCreator: () →? pro::GeneratedMessage, valueFieldType: core::int?, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::a}<core::int>(5, (#C1) ?{core::String} "" : "aKeep");
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::HasKeep>(6, (#C1) ?{core::String} "" : "hasKeep", "hasKeep", #C4);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::ClearKeep>(7, (#C1) ?{core::String} "" : "clearKeep", "clearKeep", #C5);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::a}<core::int>(5, (#C1) ?{core::String} "" : "aKeep"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::HasKeep>(6, (#C1) ?{core::String} "" : "hasKeep", "hasKeep", #C4){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::HasKeep}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::ClearKeep>(7, (#C1) ?{core::String} "" : "clearKeep", "clearKeep", #C5){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::ClearKeep}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t1;
constructor _() → self::FooKeep
@@ -43,7 +43,7 @@
;
static factory fromBuffer([@vm.inferred-type.metadata=dart.core::_GrowableList?<dart.core::int*>] core::List<core::int> i) → self::FooKeep
return let final self::FooKeep #t2 = [@vm.inferred-type.metadata=foo.pb.dart::FooKeep] self::FooKeep::create() in block {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.mergeFromBuffer] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::GeneratedMessage::mergeFromBuffer}(i);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.mergeFromBuffer] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::GeneratedMessage::mergeFromBuffer}(i){(core::List<core::int>, [pro::ExtensionRegistry]) → void};
} =>#t2;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:1] get info_() → pro::BuilderInfo
return [@vm.inferred-type.metadata=protobuf::BuilderInfo?] self::FooKeep::_i;
@@ -52,23 +52,23 @@
return new self::FooKeep::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:2] @#C10
get barKeep() → self::BarKeep
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getN] [@vm.inferred-type.metadata=foo.pb.dart::BarKeep? (skip check)] this.{pro::GeneratedMessage::$_getN}<self::BarKeep>();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getN] [@vm.inferred-type.metadata=foo.pb.dart::BarKeep? (skip check)] this.{pro::GeneratedMessage::$_getN}<self::BarKeep>(){(core::int) → self::BarKeep};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:3] @#C12
get mapKeep() → core::Map<core::String, self::BarKeep>
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::BarKeep>();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::BarKeep>(){(core::int) → core::Map<core::String, self::BarKeep>};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:4] [@vm.unboxing-info.metadata=()->i] @#C14
get aKeep() → core::int
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(4);
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(4){(core::int) → core::int};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] @#C16
method hasHasKeep() → core::bool
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_has] [@vm.inferred-type.metadata=dart.core::bool (skip check)] this.{pro::GeneratedMessage::$_has}();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_has] [@vm.inferred-type.metadata=dart.core::bool (skip check)] this.{pro::GeneratedMessage::$_has}(){(core::int) → core::bool};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] @#C18
method clearClearKeep() → void
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.clearField] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] this.{pro::GeneratedMessage::clearField}();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.clearField] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] this.{pro::GeneratedMessage::clearField}(){(core::int) → void};
}
class BarKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t3 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "BarKeep", createEmptyInstance: #C3) in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t3.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aKeep");
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t3.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aKeep"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t3.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t3.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t3;
@@ -82,7 +82,7 @@
return new self::BarKeep::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:9] [@vm.unboxing-info.metadata=()->i] @#C10
get aKeep() → core::int
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(0);
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(0){(core::int) → core::int};
}
class HasKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t4 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "HasKeep", createEmptyInstance: #C4) in block {
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/encode_all_fields.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/encode_all_fields.dart.expect
index e99a0c0..ff7fab1 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/encode_all_fields.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/encode_all_fields.dart.expect
@@ -15,21 +15,21 @@
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pb::BarKeep::aKeep} = 5;
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.bDrop] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pb::BarKeep::bDrop} = 4;
} =>#t2;
- [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<dart.core::String, library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep>] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] #t1.{pb::FooKeep::mapKeep}.{core::Map::[]=}("foo", let final pb::BarKeep* #t3 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep] pb::BarKeep::•() in block {
+ [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<dart.core::String*, library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep*>*] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] #t1.{pb::FooKeep::mapKeep}{core::Map<core::String*, pb::BarKeep*>*}.{core::Map::[]=}("foo", let final pb::BarKeep* #t3 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep] pb::BarKeep::•() in block {
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t3.{pb::BarKeep::aKeep} = 42;
- } =>#t3);
- [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<dart.core::String, library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::ZopDrop>] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapDrop] [@vm.inferred-type.metadata=!] #t1.{pb::FooKeep::mapDrop}.{core::Map::[]=}("zop", let final pb::ZopDrop* #t4 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::ZopDrop] pb::ZopDrop::•() in block {
+ } =>#t3){(core::String*, pb::BarKeep*) →* void};
+ [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<dart.core::String*, library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::ZopDrop*>*] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapDrop] [@vm.inferred-type.metadata=!] #t1.{pb::FooKeep::mapDrop}{core::Map<core::String*, pb::ZopDrop*>*}.{core::Map::[]=}("zop", let final pb::ZopDrop* #t4 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::ZopDrop] pb::ZopDrop::•() in block {
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::ZopDrop.aDrop] [@vm.inferred-type.metadata=!? (skip check)] #t4.{pb::ZopDrop::aDrop} = 3;
- } =>#t4);
+ } =>#t4){(core::String*, pb::ZopDrop*) →* void};
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pb::FooKeep::aKeep} = 43;
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.hasKeep] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pb::FooKeep::hasKeep} = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::HasKeep] pb::HasKeep::•();
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.clearKeep] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pb::FooKeep::clearKeep} = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::ClearKeep] pb::ClearKeep::•();
} =>#t1;
- final typ::Uint8List* buffer = [@vm.direct-call.metadata=protobuf::GeneratedMessage.writeToBuffer] [@vm.inferred-type.metadata=dart.typed_data::_Uint8List (skip check)] foo.{pro::GeneratedMessage::writeToBuffer}();
+ final typ::Uint8List* buffer = [@vm.direct-call.metadata=protobuf::GeneratedMessage.writeToBuffer] [@vm.inferred-type.metadata=dart.typed_data::_Uint8List (skip check)] foo.{pro::GeneratedMessage::writeToBuffer}(){() →* typ::Uint8List*};
core::print("List<int> buffer = <int>[");
- for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}([@vm.direct-call.metadata=dart.typed_data::_TypedList.length] [@vm.inferred-type.metadata=dart.core::_Smi] buffer.{core::List::length}); i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(5)) {
- final core::String* numbers = [@vm.direct-call.metadata=dart.typed_data::_TypedListBase.join] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=dart.typed_data::__Uint8List&_TypedList&_IntListMixin&_TypedIntListMixin.sublist] [@vm.inferred-type.metadata=dart.typed_data::_Uint8List (skip check)] buffer.{typ::Uint8List::sublist}(i, [@vm.inferred-type.metadata=int] math::min<core::int*>([@vm.direct-call.metadata=dart.typed_data::_TypedList.length] [@vm.inferred-type.metadata=dart.core::_Smi] buffer.{core::List::length}, [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(5))).{core::Iterable::join}(", ");
- core::print(" ${numbers},${[@vm.direct-call.metadata=dart.core::_IntegerImplementation.==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::==}(0) ?{core::String*} " //" : ""}");
+ for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}([@vm.direct-call.metadata=dart.typed_data::_TypedList.length] [@vm.inferred-type.metadata=dart.core::_Smi] buffer.{core::List::length}{core::int*}){(core::num*) →* core::bool*}; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(5){(core::num*) →* core::int*}) {
+ final core::String* numbers = [@vm.direct-call.metadata=dart.typed_data::_TypedListBase.join] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=dart.typed_data::__Uint8List&_TypedList&_IntListMixin&_TypedIntListMixin.sublist] [@vm.inferred-type.metadata=dart.typed_data::_Uint8List (skip check)] buffer.{typ::Uint8List::sublist}(i, [@vm.inferred-type.metadata=int] math::min<core::int*>([@vm.direct-call.metadata=dart.typed_data::_TypedList.length] [@vm.inferred-type.metadata=dart.core::_Smi] buffer.{core::List::length}{core::int*}, [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(5){(core::num*) →* core::int*})){(core::int*, [core::int*]) →* typ::Uint8List*}.{core::Iterable::join}(", "){([core::String*]) →* core::String*};
+ core::print(" ${numbers},${[@vm.direct-call.metadata=dart.core::_IntegerImplementation.==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i =={core::num::==}{(core::Object*) →* core::bool*} 0 ?{core::String*} " //" : ""}");
}
core::print("];");
}
@@ -43,13 +43,13 @@
class FooKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t1 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "FooKeep") in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::BarKeep>(1, (#C1) ?{core::String} "" : "barKeep", "barKeep", #C2);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::BarKeep>(1, (#C1) ?{core::String} "" : "barKeep", "barKeep", #C2){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::BarKeep}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::BarKeep>(3, (#C1) ?{core::String} "" : "mapKeep", "FooKeep.MapKeepEntry", "mapKeep", #C2);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::ZopDrop>(4, (#C1) ?{core::String} "" : "mapDrop", "FooKeep.MapDropEntry", "mapDrop", #C3);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::a}<core::int>(5, (#C1) ?{core::String} "" : "aKeep", "aKeep");
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::HasKeep>(6, (#C1) ?{core::String} "" : "hasKeep", "hasKeep", #C4);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::ClearKeep>(7, (#C1) ?{core::String} "" : "clearKeep", "clearKeep", #C5);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::BarKeep>(3, (#C1) ?{core::String} "" : "mapKeep", "FooKeep.MapKeepEntry", "mapKeep", #C2){(core::int, core::String, {entryClassName: core::String?, enumValues: core::List<pro::ProtobufEnum>?, keyFieldType: core::int?, packageName: pro::PackageName, protoName: core::String?, valueCreator: () →? pro::GeneratedMessage, valueFieldType: core::int?, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::ZopDrop>(4, (#C1) ?{core::String} "" : "mapDrop", "FooKeep.MapDropEntry", "mapDrop", #C3){(core::int, core::String, {entryClassName: core::String?, enumValues: core::List<pro::ProtobufEnum>?, keyFieldType: core::int?, packageName: pro::PackageName, protoName: core::String?, valueCreator: () →? pro::GeneratedMessage, valueFieldType: core::int?, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::a}<core::int>(5, (#C1) ?{core::String} "" : "aKeep", "aKeep"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::HasKeep>(6, (#C1) ?{core::String} "" : "hasKeep", "hasKeep", #C4){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::HasKeep}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::ClearKeep>(7, (#C1) ?{core::String} "" : "clearKeep", "clearKeep", #C5){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::ClearKeep}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t1;
constructor _() → self::FooKeep
@@ -64,31 +64,31 @@
return new self::FooKeep::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2] @#C10
set barKeep([@vm.inferred-type.metadata=foo.pb.dart::BarKeep] self::BarKeep v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(1, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(1, v){(core::int, core::Object) → void};
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:3] @#C12
get mapKeep() → core::Map<core::String, self::BarKeep>
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::BarKeep>(2);
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::BarKeep>(2){(core::int) → core::Map<core::String, self::BarKeep>};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:4] @#C14
get mapDrop() → core::Map<core::String, self::ZopDrop>
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::ZopDrop>(3);
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::ZopDrop>(3){(core::int) → core::Map<core::String, self::ZopDrop>};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5] [@vm.unboxing-info.metadata=(i)->b] @#C16
set aKeep([@vm.inferred-type.metadata=dart.core::_Smi (value: 43)] core::int v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(4, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(4, v){(core::int, core::int) → void};
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:6] @#C18
set hasKeep([@vm.inferred-type.metadata=foo.pb.dart::HasKeep] self::HasKeep v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(6, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(6, v){(core::int, core::Object) → void};
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7] @#C20
set clearKeep([@vm.inferred-type.metadata=foo.pb.dart::ClearKeep] self::ClearKeep v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(7, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(7, v){(core::int, core::Object) → void};
}
}
class BarKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t2 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "BarKeep") in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aKeep", "aKeep");
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::a}<core::int>(2, (#C1) ?{core::String} "" : "bDrop", "bDrop");
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aKeep", "aKeep"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::a}<core::int>(2, (#C1) ?{core::String} "" : "bDrop", "bDrop"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t2;
constructor _() → self::BarKeep
@@ -103,11 +103,11 @@
return new self::BarKeep::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:8] [@vm.unboxing-info.metadata=(i)->b] @#C10
set aKeep([@vm.inferred-type.metadata=dart.core::_Smi] core::int v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(0, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(0, v){(core::int, core::int) → void};
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:9] [@vm.unboxing-info.metadata=(i)->b] @#C22
set bDrop([@vm.inferred-type.metadata=dart.core::_Smi (value: 4)] core::int v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(1, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(1, v){(core::int, core::int) → void};
}
}
class HasKeep extends pro::GeneratedMessage {
@@ -144,7 +144,7 @@
}
class ZopDrop extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t5 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "ZopDrop") in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t5.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aDrop", "aDrop");
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t5.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aDrop", "aDrop"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t5.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t5;
constructor _() → self::ZopDrop
@@ -159,6 +159,6 @@
return new self::ZopDrop::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:10] [@vm.unboxing-info.metadata=(i)->b] @#C10
set aDrop([@vm.inferred-type.metadata=dart.core::_Smi (value: 3)] core::int v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(0, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(0, v){(core::int, core::int) → void};
}
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/freeze_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/freeze_test.dart.expect
index df6916b..ed8f69f 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/freeze_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/freeze_test.dart.expect
@@ -15,18 +15,18 @@
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pb::FooKeep::barKeep} = let final pb::BarKeep* #t2 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep] pb::BarKeep::•() in block {
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pb::BarKeep::aKeep} = 5;
} =>#t2;
- [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<dart.core::String, library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep>] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] #t1.{pb::FooKeep::mapKeep}.{core::Map::[]=}("foo", let final pb::BarKeep* #t3 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep] pb::BarKeep::•() in block {
+ [@vm.call-site-attributes.metadata=receiverType:dart.core::Map<dart.core::String*, library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep*>*] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] #t1.{pb::FooKeep::mapKeep}{core::Map<core::String*, pb::BarKeep*>*}.{core::Map::[]=}("foo", let final pb::BarKeep* #t3 = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep] pb::BarKeep::•() in block {
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t3.{pb::BarKeep::aKeep} = 2;
- } =>#t3);
+ } =>#t3){(core::String*, pb::BarKeep*) →* void};
[@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pb::FooKeep::aKeep} = 43;
} =>#t1;
sca::test(() → Null {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.freeze] [@vm.inferred-type.metadata=!? (skip check)] foo.{pro::GeneratedMessage::freeze}();
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] foo.{pb::FooKeep::barKeep}.{pb::BarKeep::aKeep}, 5);
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] foo.{pb::FooKeep::mapKeep}.{core::Map::[]}("foo").{pb::BarKeep::aKeep}, 2);
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.hasHasKeep] [@vm.inferred-type.metadata=dart.core::bool (skip check)] foo.{pb::FooKeep::hasHasKeep}(), false);
- exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=int] foo.{pb::FooKeep::aKeep}, 43);
- exp::expect(() → void => [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.clearClearKeep] [@vm.inferred-type.metadata=!? (skip check)] foo.{pb::FooKeep::clearClearKeep}(), [@vm.inferred-type.metadata=library package:test_api/src/expect/throws_matcher.dart::Throws] thr::throwsA());
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.freeze] [@vm.inferred-type.metadata=!? (skip check)] foo.{pro::GeneratedMessage::freeze}(){() →* pro::GeneratedMessage*};
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.barKeep] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] foo.{pb::FooKeep::barKeep}{pb::BarKeep*}.{pb::BarKeep::aKeep}{core::int*}, 5);
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep.aKeep??] [@vm.inferred-type.metadata=int] [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::BarKeep?] [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.mapKeep] [@vm.inferred-type.metadata=!] foo.{pb::FooKeep::mapKeep}{core::Map<core::String*, pb::BarKeep*>*}.{core::Map::[]}("foo"){(core::Object*) →* pb::BarKeep*}.{pb::BarKeep::aKeep}{core::int*}, 2);
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.hasHasKeep] [@vm.inferred-type.metadata=dart.core::bool (skip check)] foo.{pb::FooKeep::hasHasKeep}(){() →* core::bool*}, false);
+ exp::expect([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.aKeep] [@vm.inferred-type.metadata=int] foo.{pb::FooKeep::aKeep}{core::int*}, 43);
+ exp::expect(() → void => [@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/foo.pb.dart::FooKeep.clearClearKeep] [@vm.inferred-type.metadata=!? (skip check)] foo.{pb::FooKeep::clearClearKeep}(){() →* void}, [@vm.inferred-type.metadata=library package:test_api/src/expect/throws_matcher.dart::Throws] thr::throwsA());
});
}
library foo.pb.dart /*isNonNullableByDefault*/;
@@ -39,13 +39,13 @@
class FooKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t1 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "FooKeep") in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::BarKeep>(1, (#C1) ?{core::String} "" : "barKeep", "barKeep", #C2);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::BarKeep>(1, (#C1) ?{core::String} "" : "barKeep", "barKeep", #C2){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::BarKeep}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::BarKeep>((#C1) ?{core::String} "" : "mapKeep", #C2);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.m] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::m}<core::String, self::BarKeep>((#C1) ?{core::String} "" : "mapKeep", #C2){(core::int, core::String, {entryClassName: core::String?, enumValues: core::List<pro::ProtobufEnum>?, keyFieldType: core::int?, packageName: pro::PackageName, protoName: core::String?, valueCreator: () →? pro::GeneratedMessage, valueFieldType: core::int?, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::a}<core::int>(5, (#C1) ?{core::String} "" : "aKeep");
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::HasKeep>(6, (#C1) ?{core::String} "" : "hasKeep", "hasKeep", #C3);
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::ClearKeep>(7, (#C1) ?{core::String} "" : "clearKeep", "clearKeep", #C4);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::a}<core::int>(5, (#C1) ?{core::String} "" : "aKeep"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::HasKeep>(6, (#C1) ?{core::String} "" : "hasKeep", "hasKeep", #C3){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::HasKeep}) → void};
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::aOM}<self::ClearKeep>(7, (#C1) ?{core::String} "" : "clearKeep", "clearKeep", #C4){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::ClearKeep}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t1.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t1;
constructor _() → self::FooKeep
@@ -60,31 +60,31 @@
return new self::FooKeep::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] @#C9
get barKeep() → self::BarKeep
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getN] [@vm.inferred-type.metadata=foo.pb.dart::BarKeep? (skip check)] this.{pro::GeneratedMessage::$_getN}<self::BarKeep>();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getN] [@vm.inferred-type.metadata=foo.pb.dart::BarKeep? (skip check)] this.{pro::GeneratedMessage::$_getN}<self::BarKeep>(){(core::int) → self::BarKeep};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] @#C9
set barKeep([@vm.inferred-type.metadata=foo.pb.dart::BarKeep] self::BarKeep v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.setField] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::setField}(v){(core::int, core::Object) → void};
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:4] @#C11
get mapKeep() → core::Map<core::String, self::BarKeep>
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::BarKeep>();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getMap] [@vm.inferred-type.metadata=! (skip check)] this.{pro::GeneratedMessage::$_getMap}<core::String, self::BarKeep>(){(core::int) → core::Map<core::String, self::BarKeep>};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] [@vm.unboxing-info.metadata=()->i] @#C13
get aKeep() → core::int
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(4);
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(4){(core::int) → core::int};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] [@vm.unboxing-info.metadata=(i)->b] @#C13
set aKeep([@vm.inferred-type.metadata=dart.core::_Smi (value: 43)] core::int v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(4, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(4, v){(core::int, core::int) → void};
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] @#C15
method hasHasKeep() → core::bool
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_has] [@vm.inferred-type.metadata=dart.core::bool (skip check)] this.{pro::GeneratedMessage::$_has}();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_has] [@vm.inferred-type.metadata=dart.core::bool (skip check)] this.{pro::GeneratedMessage::$_has}(){(core::int) → core::bool};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:9,getterSelectorId:10] @#C17
method clearClearKeep() → void
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.clearField] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] this.{pro::GeneratedMessage::clearField}();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.clearField] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] this.{pro::GeneratedMessage::clearField}(){(core::int) → void};
}
class BarKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t2 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "BarKeep") in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aKeep");
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.a] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::a}<core::int>(1, (#C1) ?{core::String} "" : "aKeep"){(core::int, core::String, core::int, {defaultOrMaker: dynamic, enumValues: core::List<pro::ProtobufEnum>?, protoName: core::String?, subBuilder: () →? pro::GeneratedMessage, valueOf: (core::int) →? pro::ProtobufEnum?}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.add] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::add}<Null>(0, null, null, null, null, null, null);
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t2;
@@ -100,10 +100,10 @@
return new self::BarKeep::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:11,getterSelectorId:12] [@vm.unboxing-info.metadata=()->i] @#C9
get aKeep() → core::int
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(0);
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_getIZ] [@vm.inferred-type.metadata=int (skip check)] this.{pro::GeneratedMessage::$_getIZ}(0){(core::int) → core::int};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:11,getterSelectorId:12] [@vm.unboxing-info.metadata=(i)->b] @#C9
set aKeep([@vm.inferred-type.metadata=dart.core::_Smi] core::int v) → void {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(0, v);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_setSignedInt32] [@vm.inferred-type.metadata=!? (skip check)] this.{pro::GeneratedMessage::$_setSignedInt32}(0, v){(core::int, core::int) → void};
}
}
class HasKeep extends pro::GeneratedMessage {
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/name_mangling_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/name_mangling_test.dart.expect
index f3b8f42..8f14ca9 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/name_mangling_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/name_mangling_test.dart.expect
@@ -8,7 +8,7 @@
static method main() → dynamic {
pb::NameManglingKeep* n = [@vm.inferred-type.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/name_mangling.pb.dart::NameManglingKeep] pb::NameManglingKeep::fromBuffer([@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] core::_GrowableList::•<core::int*>(0));
- if([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/name_mangling.pb.dart::NameManglingKeep.hasClone_10] [@vm.inferred-type.metadata=dart.core::bool (skip check)] n.{pb::NameManglingKeep::hasClone_10}()) {
+ if([@vm.direct-call.metadata=library file:pkg/vm/testcases/transformations/type_flow/transformer/protobuf_handler/lib/generated/name_mangling.pb.dart::NameManglingKeep.hasClone_10] [@vm.inferred-type.metadata=dart.core::bool (skip check)] n.{pb::NameManglingKeep::hasClone_10}(){() →* core::bool*}) {
core::print("Has clone field");
}
}
@@ -35,7 +35,7 @@
}
class NameManglingKeep extends pro::GeneratedMessage {
[@vm.inferred-type.metadata=protobuf::BuilderInfo?] static final field pro::BuilderInfo _i = let final pro::BuilderInfo #t2 = new pro::BuilderInfo::•((#C1) ?{core::String} "" : "NameManglingKeep", #C6) in block {
- [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::aOM}<self::AKeep>((#C1) ?{core::String} "" : "clone", #C2);
+ [@vm.direct-call.metadata=protobuf::BuilderInfo.aOM] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::aOM}<self::AKeep>((#C1) ?{core::String} "" : "clone", #C2){(core::int, core::String, {protoName: core::String?, subBuilder: () →? self::AKeep}) → void};
[@vm.direct-call.metadata=protobuf::BuilderInfo.hasRequiredFields] [@vm.inferred-type.metadata=!? (skip check)] #t2.{pro::BuilderInfo::hasRequiredFields} = false;
} =>#t2;
constructor _() → self::NameManglingKeep
@@ -43,7 +43,7 @@
;
static factory fromBuffer([@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] core::List<core::int> i) → self::NameManglingKeep
return let final self::NameManglingKeep #t3 = [@vm.inferred-type.metadata=name_mangling.pb.dart::NameManglingKeep] self::NameManglingKeep::create() in block {
- [@vm.direct-call.metadata=protobuf::GeneratedMessage.mergeFromBuffer] [@vm.inferred-type.metadata=!? (skip check)] #t3.{pro::GeneratedMessage::mergeFromBuffer}(i);
+ [@vm.direct-call.metadata=protobuf::GeneratedMessage.mergeFromBuffer] [@vm.inferred-type.metadata=!? (skip check)] #t3.{pro::GeneratedMessage::mergeFromBuffer}(i){(core::List<core::int>, [pro::ExtensionRegistry]) → void};
} =>#t3;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:1] get info_() → pro::BuilderInfo
return [@vm.inferred-type.metadata=protobuf::BuilderInfo?] self::NameManglingKeep::_i;
@@ -52,5 +52,5 @@
return new self::NameManglingKeep::_();
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] @#C8
method hasClone_10() → core::bool
- return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_has] [@vm.inferred-type.metadata=dart.core::bool (skip check)] this.{pro::GeneratedMessage::$_has}();
+ return [@vm.direct-call.metadata=protobuf::GeneratedMessage.$_has] [@vm.inferred-type.metadata=dart.core::bool (skip check)] this.{pro::GeneratedMessage::$_has}(){(core::int) → core::bool};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_37455.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_37455.dart.expect
index b142142..2d0f29f 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_37455.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_37455.dart.expect
@@ -8,7 +8,7 @@
: self::A::afield = afield, super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:2,getterSelectorId:3] method toString() → core::String*
- return [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.direct-call.metadata=#lib::A.afield] this.{self::A::afield}.{core::Object::toString}();
+ return [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.direct-call.metadata=#lib::A.afield] this.{self::A::afield}{core::List<dynamic>*}.{core::Object::toString}(){() →* core::String*};
}
class B extends core::Object {
synthetic constructor •() → self::B*
@@ -16,16 +16,16 @@
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5] method _foo([@vm.inferred-type.metadata=dart._internal::ListIterator<dart.core::int*>] core::Iterator<core::int*>* iter) → core::List<dynamic>* {
core::List<dynamic>* result = [@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::•<dynamic>(0);
- while ([@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] iter.{core::Iterator::moveNext}()) {
- if([@vm.direct-call.metadata=dart.core::_IntegerImplementation.<??] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=dart._internal::ListIterator.current] [@vm.inferred-type.metadata=int?] iter.{core::Iterator::current}.{core::num::<}(0)) {
+ while ([@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] iter.{core::Iterator::moveNext}(){() →* core::bool*}) {
+ if([@vm.direct-call.metadata=dart.core::_IntegerImplementation.<??] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=dart._internal::ListIterator.current] [@vm.inferred-type.metadata=int?] iter.{core::Iterator::current}{core::int*}.{core::num::<}(0){(core::num*) →* core::bool*}) {
return result;
}
- [@vm.call-site-attributes.metadata=receiverType:dart.core::List<dynamic>*] [@vm.direct-call.metadata=dart.core::_GrowableList.add] [@vm.inferred-type.metadata=!? (skip check)] result.{core::List::add}(new self::A::•([@vm.direct-call.metadata=#lib::B._foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::B::_foo}(iter)));
+ [@vm.call-site-attributes.metadata=receiverType:dart.core::List<dynamic>*] [@vm.direct-call.metadata=dart.core::_GrowableList.add] [@vm.inferred-type.metadata=!? (skip check)] result.{core::List::add}(new self::A::•([@vm.direct-call.metadata=#lib::B._foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::B::_foo}(iter){(core::Iterator<core::int*>*) →* core::List<dynamic>*})){(dynamic) →* void};
}
return result;
}
}
static method main() → void {
- core::List<dynamic>* list = [@vm.direct-call.metadata=#lib::B._foo] [@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic> (skip check)] new self::B::•().{self::B::_foo}([@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<dart.core::int*>] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator});
+ core::List<dynamic>* list = [@vm.direct-call.metadata=#lib::B._foo] [@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic> (skip check)] new self::B::•().{self::B::_foo}([@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<dart.core::int*>] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*}){(core::Iterator<core::int*>*) →* core::List<dynamic>*};
core::print(list);
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_37719.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_37719.dart.expect
index 3798fa8..577315f 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_37719.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_37719.dart.expect
@@ -3,6 +3,6 @@
import "dart:core" as core;
[@vm.unboxing-info.metadata=(b)->i]static method foo([@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] core::List<core::int*>* x) → dynamic
- return [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}([@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=int? (skip check)] x.{core::List::[]}(0));
+ return [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}([@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=int? (skip check)] x.{core::List::[]}(0){(core::int*) →* core::int*}){(core::num*) →* core::int*};
static method main() → dynamic
return [@vm.inferred-type.metadata=dart.core::Null? (value: null)] core::print([@vm.inferred-type.metadata=int] self::foo([@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int*>] core::_GrowableList::_literal1<core::int*>(1)));
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_41452_nnbd_strong.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_41452_nnbd_strong.dart.expect
index 61cf1bbd..5baaf9c 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_41452_nnbd_strong.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_41452_nnbd_strong.dart.expect
@@ -18,10 +18,10 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method add(generic-covariant-impl self::_SplayTree::Node n) → dynamic {
- self::_SplayTree::Node? root = [@vm.direct-call.metadata=#lib::SplayTreeMap._root] [@vm.inferred-type.metadata=#lib::_SplayTreeMapNode] this.{self::_SplayTree::_root};
+ self::_SplayTree::Node? root = [@vm.direct-call.metadata=#lib::SplayTreeMap._root] [@vm.inferred-type.metadata=#lib::_SplayTreeMapNode] this.{self::_SplayTree::_root}{self::_SplayTree::Node?};
if(false)
return;
- core::print([@vm.direct-call.metadata=#lib::_SplayTreeNode.left] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] root{self::_SplayTree::Node}.{self::_SplayTreeNode::left});
+ core::print([@vm.direct-call.metadata=#lib::_SplayTreeNode.left] [@vm.inferred-type.metadata=dart.core::Null? (value: null)] root{self::_SplayTree::Node}.{self::_SplayTreeNode::left}{self::_SplayTree::Node?});
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:5] abstract get /*isLegacy*/ _root() → self::_SplayTree::Node?;
}
@@ -32,5 +32,5 @@
;
}
static method main() → void {
- [@vm.call-site-attributes.metadata=receiverType:#lib::SplayTreeMap<dynamic>] [@vm.direct-call.metadata=#lib::_SplayTree.add] new self::SplayTreeMap::•<dynamic>().{self::_SplayTree::add}(new self::_SplayTreeMapNode::•<dynamic>());
+ [@vm.call-site-attributes.metadata=receiverType:#lib::SplayTreeMap<dynamic>] [@vm.direct-call.metadata=#lib::_SplayTree.add] new self::SplayTreeMap::•<dynamic>().{self::_SplayTree::add}(new self::_SplayTreeMapNode::•<dynamic>()){(self::_SplayTreeMapNode<dynamic>) → dynamic};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_42413.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_42413.dart.expect
index 187070f..42821bd 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_42413.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_42413.dart.expect
@@ -19,22 +19,22 @@
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5] @#C3
method forIn() → void {
{
- core::Iterator<dynamic>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator??] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::B*>] _in::unsafeCast<core::Iterable<dynamic>*>([@vm.direct-call.metadata=#lib::A.list] [@vm.inferred-type.metadata=dart.core::_GrowableList?<#lib::B*>] this.{self::A::list}).{core::Iterable::iterator};
+ core::Iterator<dynamic>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator??] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::B*>] _in::unsafeCast<core::Iterable<dynamic>*>([@vm.direct-call.metadata=#lib::A.list] [@vm.inferred-type.metadata=dart.core::_GrowableList?<#lib::B*>] this.{self::A::list}{dynamic}).{core::Iterable::iterator};
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(); ) {
dynamic e = [@vm.direct-call.metadata=dart._internal::ListIterator.current] [@vm.inferred-type.metadata=#lib::B?] :sync-for-iterator.{core::Iterator::current};
- core::print([@vm.direct-call.metadata=#lib::B.x??] [@vm.inferred-type.metadata=dart.core::_Smi (value: 0) (receiver not int)] e.x);
+ core::print([@vm.direct-call.metadata=#lib::B.x??] [@vm.inferred-type.metadata=dart.core::_Smi (value: 0) (receiver not int)] e{dynamic}.x);
}
}
}
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:6,getterSelectorId:7] @#C3
method cLoop() → void {
- for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=dart.core::_GrowableList.length??] [@vm.inferred-type.metadata=dart.core::_Smi (receiver not int)] [@vm.direct-call.metadata=#lib::A.list] [@vm.inferred-type.metadata=dart.core::_GrowableList?<#lib::B*>] this.{self::A::list}.length)); i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
- final dynamic e = [@vm.direct-call.metadata=dart.core::_GrowableList.[]??] [@vm.inferred-type.metadata=#lib::B? (receiver not int)] [@vm.direct-call.metadata=#lib::A.list] [@vm.inferred-type.metadata=dart.core::_GrowableList?<#lib::B*>] this.{self::A::list}.[](i);
- core::print([@vm.direct-call.metadata=#lib::B.x??] [@vm.inferred-type.metadata=dart.core::_Smi (value: 0) (receiver not int)] e.x);
+ for (core::int* i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=dart.core::_GrowableList.length??] [@vm.inferred-type.metadata=dart.core::_Smi (receiver not int)] [@vm.direct-call.metadata=#lib::A.list] [@vm.inferred-type.metadata=dart.core::_GrowableList?<#lib::B*>] this.{self::A::list}{dynamic}{dynamic}.length)){(core::num*) →* core::bool*}; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num*) →* core::int*}) {
+ final dynamic e = [@vm.direct-call.metadata=dart.core::_GrowableList.[]??] [@vm.inferred-type.metadata=#lib::B? (receiver not int)] [@vm.direct-call.metadata=#lib::A.list] [@vm.inferred-type.metadata=dart.core::_GrowableList?<#lib::B*>] this.{self::A::list}{dynamic}{dynamic}.[](i);
+ core::print([@vm.direct-call.metadata=#lib::B.x??] [@vm.inferred-type.metadata=dart.core::_Smi (value: 0) (receiver not int)] e{dynamic}.x);
}
}
}
static method main() → void {
- [@vm.direct-call.metadata=#lib::A.forIn] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::forIn}();
- [@vm.direct-call.metadata=#lib::A.cLoop] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::cLoop}();
+ [@vm.direct-call.metadata=#lib::A.forIn] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::forIn}(){() →* void};
+ [@vm.direct-call.metadata=#lib::A.cLoop] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::cLoop}(){() →* void};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_42418_1_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_42418_1_test.dart.expect
index 679a60c..5a04ba7 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_42418_1_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_42418_1_test.dart.expect
@@ -13,7 +13,7 @@
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] @#C3
method foo([@vm.inferred-type.metadata=int?] core::int* x) → void
- return [@vm.inferred-type.metadata=dart.core::Null? (value: null)] exp::Expect::isTrue([@vm.direct-call.metadata=dart.core::_IntegerImplementation.isOdd??] [@vm.inferred-type.metadata=dart.core::bool] x.{core::int::isOdd});
+ return [@vm.inferred-type.metadata=dart.core::Null? (value: null)] exp::Expect::isTrue([@vm.direct-call.metadata=dart.core::_IntegerImplementation.isOdd??] [@vm.inferred-type.metadata=dart.core::bool] x.{core::int::isOdd}{core::bool*});
}
class B extends core::Object {
synthetic constructor •() → self::B*
@@ -21,20 +21,20 @@
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] @#C3
method foo([@vm.inferred-type.metadata=int] core::int* x) → void
- return [@vm.inferred-type.metadata=dart.core::Null? (value: null)] exp::Expect::isTrue([@vm.direct-call.metadata=dart.core::_IntegerImplementation.isOdd] [@vm.inferred-type.metadata=dart.core::bool] x.{core::int::isOdd});
+ return [@vm.inferred-type.metadata=dart.core::Null? (value: null)] exp::Expect::isTrue([@vm.direct-call.metadata=dart.core::_IntegerImplementation.isOdd] [@vm.inferred-type.metadata=dart.core::bool] x.{core::int::isOdd}{core::bool*});
}
class C extends self::A implements self::B {
synthetic constructor •() → self::C*
: super self::A::•()
;
}
-[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* alwaysFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(2);
+[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* alwaysFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 2;
static method main() → dynamic {
final math::Random* r = [@vm.inferred-type.metadata=dart.math::_Random] math::Random::•();
if([@vm.inferred-type.metadata=dart.core::bool?] self::alwaysFalse) {
- [@vm.direct-call.metadata=#lib::A.foo] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::foo}([@vm.direct-call.metadata=dart.math::_Random.nextInt] [@vm.inferred-type.metadata=int (skip check)] r.{math::Random::nextInt}(10));
- [@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::foo}([@vm.direct-call.metadata=dart.math::_Random.nextInt] [@vm.inferred-type.metadata=int (skip check)] r.{math::Random::nextInt}(10));
- [@vm.direct-call.metadata=#lib::A.foo] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::foo}(null);
+ [@vm.direct-call.metadata=#lib::A.foo] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::foo}([@vm.direct-call.metadata=dart.math::_Random.nextInt] [@vm.inferred-type.metadata=int (skip check)] r.{math::Random::nextInt}(10){(core::int*) →* core::int*}){(core::int*) →* void};
+ [@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::foo}([@vm.direct-call.metadata=dart.math::_Random.nextInt] [@vm.inferred-type.metadata=int (skip check)] r.{math::Random::nextInt}(10){(core::int*) →* core::int*}){(core::int*) →* void};
+ [@vm.direct-call.metadata=#lib::A.foo] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::foo}(null){(core::int*) →* void};
}
final core::List<self::B*>* l = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::B*>] core::_GrowableList::_literal2<self::B*>(new self::B::•(), new self::C::•());
{
@@ -42,7 +42,7 @@
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(); ) {
self::B* b = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
{
- b.{self::B::foo}(13);
+ b.{self::B::foo}(13){(core::int*) →* void};
}
}
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_42418_2_test.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_42418_2_test.dart.expect
index 1eb4ccc..3921a37 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_42418_2_test.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_42418_2_test.dart.expect
@@ -13,7 +13,7 @@
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] @#C3
method bar([@vm.inferred-type.metadata=int] core::int* x) → void
- return [@vm.inferred-type.metadata=dart.core::Null? (value: null)] exp::Expect::isTrue([@vm.direct-call.metadata=dart.core::_IntegerImplementation.isOdd] [@vm.inferred-type.metadata=dart.core::bool] x.{core::int::isOdd});
+ return [@vm.inferred-type.metadata=dart.core::Null? (value: null)] exp::Expect::isTrue([@vm.direct-call.metadata=dart.core::_IntegerImplementation.isOdd] [@vm.inferred-type.metadata=dart.core::bool] x.{core::int::isOdd}{core::bool*});
}
class B extends core::Object {
synthetic constructor •() → self::B*
@@ -21,20 +21,20 @@
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] @#C3
method bar([@vm.inferred-type.metadata=int?] core::int* x) → void
- return [@vm.inferred-type.metadata=dart.core::Null? (value: null)] exp::Expect::isTrue([@vm.direct-call.metadata=dart.core::_IntegerImplementation.isOdd??] [@vm.inferred-type.metadata=dart.core::bool] x.{core::int::isOdd});
+ return [@vm.inferred-type.metadata=dart.core::Null? (value: null)] exp::Expect::isTrue([@vm.direct-call.metadata=dart.core::_IntegerImplementation.isOdd??] [@vm.inferred-type.metadata=dart.core::bool] x.{core::int::isOdd}{core::bool*});
}
class C extends self::A implements self::B {
synthetic constructor •() → self::C*
: super self::A::•()
;
}
-[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* alwaysFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(2);
+[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* alwaysFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 2;
static method main() → dynamic {
final math::Random* r = [@vm.inferred-type.metadata=dart.math::_Random] math::Random::•();
if([@vm.inferred-type.metadata=dart.core::bool?] self::alwaysFalse) {
- [@vm.direct-call.metadata=#lib::A.bar] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::bar}([@vm.direct-call.metadata=dart.math::_Random.nextInt] [@vm.inferred-type.metadata=int (skip check)] r.{math::Random::nextInt}(10));
- [@vm.direct-call.metadata=#lib::B.bar] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::bar}([@vm.direct-call.metadata=dart.math::_Random.nextInt] [@vm.inferred-type.metadata=int (skip check)] r.{math::Random::nextInt}(10));
- [@vm.direct-call.metadata=#lib::B.bar] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::bar}(null);
+ [@vm.direct-call.metadata=#lib::A.bar] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::bar}([@vm.direct-call.metadata=dart.math::_Random.nextInt] [@vm.inferred-type.metadata=int (skip check)] r.{math::Random::nextInt}(10){(core::int*) →* core::int*}){(core::int*) →* void};
+ [@vm.direct-call.metadata=#lib::B.bar] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::bar}([@vm.direct-call.metadata=dart.math::_Random.nextInt] [@vm.inferred-type.metadata=int (skip check)] r.{math::Random::nextInt}(10){(core::int*) →* core::int*}){(core::int*) →* void};
+ [@vm.direct-call.metadata=#lib::B.bar] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::bar}(null){(core::int*) →* void};
}
final core::List<self::B*>* l = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::B*>] core::_GrowableList::_literal2<self::B*>(new self::B::•(), new self::C::•());
{
@@ -42,7 +42,7 @@
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(); ) {
self::B* b = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
{
- b.{self::B::bar}(13);
+ b.{self::B::bar}(13){(core::int*) →* void};
}
}
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_45324.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_45324.dart.expect
index ad855f7..346c25d 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_45324.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_45324.dart.expect
@@ -14,6 +14,6 @@
}
[@vm.inferred-type.metadata=#lib::X?]static field self::A* a = new self::X::•();
static method main() → void {
- core::print([@vm.direct-call.metadata=#lib::X.targetPlatform??] [@vm.inferred-type.metadata=dart.core::_Smi (value: 2)] [@vm.inferred-type.metadata=#lib::X?] self::a.{self::A::targetPlatform});
+ core::print([@vm.direct-call.metadata=#lib::X.targetPlatform??] [@vm.inferred-type.metadata=dart.core::_Smi (value: 2)] [@vm.inferred-type.metadata=#lib::X?] self::a.{self::A::targetPlatform}{core::int*});
core::print(#C2);
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_45324_2.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_45324_2.dart.expect
index 2ef7c98..2fe2be5 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_45324_2.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_45324_2.dart.expect
@@ -7,7 +7,7 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method doTest([@vm.inferred-type.metadata=#lib::X] self::Z a) → void {
- core::print([@vm.direct-call.metadata=#lib::Base.appName] [@vm.inferred-type.metadata=dart.core::_OneByteString (value: "x")] a.{self::Z::appName});
+ core::print([@vm.direct-call.metadata=#lib::Base.appName] [@vm.inferred-type.metadata=dart.core::_OneByteString (value: "x")] a.{self::Z::appName}{core::String?});
}
}
class Z extends core::Object {
@@ -30,5 +30,5 @@
}
static method main() → void {
new self::Z::•();
- [@vm.direct-call.metadata=#lib::A.doTest] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::doTest}(new self::X::•());
+ [@vm.direct-call.metadata=#lib::A.doTest] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::doTest}(new self::X::•()){(self::Z) → void};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect
index 4f14da8..e1ae174 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect
@@ -52,14 +52,14 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:17] get aa2() → dynamic
- return [@vm.direct-call.metadata=#lib::B2Base._aa] [@vm.inferred-type.metadata=#lib::A2] this.{self::B2Base::_aa};
+ return [@vm.direct-call.metadata=#lib::B2Base._aa] [@vm.inferred-type.metadata=#lib::A2] this.{self::B2Base::_aa}{dynamic};
}
class B2 extends self::B2Base {
synthetic constructor •() → self::B2*
: super self::B2Base::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:18,getterSelectorId:19] method doSuperCall() → void {
- [@vm.call-site-attributes.metadata=receiverType:dynamic] [@vm.direct-call.metadata=#lib::A2.call] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=#lib::A2] super.{self::B2Base::aa2}.call(1, 2, 3, 4, 5, new self::T2::•());
+ [@vm.direct-call.metadata=#lib::A2.call] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=#lib::A2] super.{self::B2Base::aa2}{dynamic}.call(1, 2, 3, 4, 5, new self::T2::•());
}
}
class T3 extends core::Object {
@@ -108,7 +108,7 @@
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=hasThisUses:false,hasTearOffUses:false,getterSelectorId:36] get aa4() → dynamic
- return [@vm.direct-call.metadata=#lib::B4._aa] [@vm.inferred-type.metadata=#lib::A4] this.{self::B4::_aa};
+ return [@vm.direct-call.metadata=#lib::B4._aa] [@vm.inferred-type.metadata=#lib::A4] this.{self::B4::_aa}{dynamic};
}
[@vm.inferred-type.metadata=dart.core::bool?]static field core::bool* ok;
[@vm.inferred-type.metadata=#lib::B3?]static field dynamic bb3 = new self::B3::•();
@@ -117,32 +117,32 @@
[@vm.inferred-type.metadata=dart.core::_Closure?]static field core::Function* unknown4 = () → dynamic => self::bb4;
static method test1() → void {
self::B1* bb = new self::B1::•();
- let final self::B1* #t1 = bb in let final core::int* #t2 = 1 in let final core::int* #t3 = 2 in let final core::int* #t4 = 3 in let final core::int* #t5 = 4 in let final self::T1* #t6 = new self::T1::•() in [@vm.call-site-attributes.metadata=receiverType:#lib::A1*] [@vm.direct-call.metadata=#lib::A1.call] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::B1.aa1] [@vm.inferred-type.metadata=#lib::A1] #t1.{self::B1::aa1}.{self::A1::call}(#t2, #t3, #t4, #t5, #t6);
+ let final self::B1* #t1 = bb in let final core::int* #t2 = 1 in let final core::int* #t3 = 2 in let final core::int* #t4 = 3 in let final core::int* #t5 = 4 in let final self::T1* #t6 = new self::T1::•() in [@vm.direct-call.metadata=#lib::A1.call] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::B1.aa1] [@vm.inferred-type.metadata=#lib::A1] #t1.{self::B1::aa1}{self::A1*}.{self::A1::call}(#t2, #t3, #t4, #t5, #t6){([dynamic, dynamic, dynamic, dynamic, dynamic]) →* void};
self::ok = false;
- [@vm.direct-call.metadata=#lib::T1.doTest1??] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::A1.foo] [@vm.inferred-type.metadata=#lib::T1?] [@vm.direct-call.metadata=#lib::B1.aa1] [@vm.inferred-type.metadata=#lib::A1] bb.{self::B1::aa1}.{self::A1::foo}.{self::T1::doTest1}();
+ [@vm.direct-call.metadata=#lib::T1.doTest1??] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::A1.foo] [@vm.inferred-type.metadata=#lib::T1?] [@vm.direct-call.metadata=#lib::B1.aa1] [@vm.inferred-type.metadata=#lib::A1] bb.{self::B1::aa1}{self::A1*}.{self::A1::foo}{self::T1*}.{self::T1::doTest1}(){() →* void};
exp::Expect::isTrue([@vm.inferred-type.metadata=dart.core::bool?] self::ok);
}
static method test2() → void {
self::B2* bb = new self::B2::•();
- [@vm.direct-call.metadata=#lib::B2.doSuperCall] [@vm.inferred-type.metadata=!? (skip check)] bb.{self::B2::doSuperCall}();
+ [@vm.direct-call.metadata=#lib::B2.doSuperCall] [@vm.inferred-type.metadata=!? (skip check)] bb.{self::B2::doSuperCall}(){() →* void};
self::ok = false;
- [@vm.direct-call.metadata=#lib::T2.doTest2??] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.direct-call.metadata=#lib::A2.foo] [@vm.inferred-type.metadata=#lib::T2? (receiver not int)] [@vm.direct-call.metadata=#lib::B2Base.aa2] [@vm.inferred-type.metadata=#lib::A2] bb.{self::B2Base::aa2}.foo.doTest2();
+ [@vm.direct-call.metadata=#lib::T2.doTest2??] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.direct-call.metadata=#lib::A2.foo] [@vm.inferred-type.metadata=#lib::T2? (receiver not int)] [@vm.direct-call.metadata=#lib::B2Base.aa2] [@vm.inferred-type.metadata=#lib::A2] bb.{self::B2Base::aa2}{dynamic}{dynamic}.foo{dynamic}.doTest2();
exp::Expect::isTrue([@vm.inferred-type.metadata=dart.core::bool?] self::ok);
}
static method getDynamic3() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown3.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown3();
static method test3() → void {
- self::getDynamic3().aa3(1, 2, 3, 4, 5, 6, new self::T3::•());
+ self::getDynamic3(){dynamic}.aa3(1, 2, 3, 4, 5, 6, new self::T3::•());
self::ok = false;
- [@vm.direct-call.metadata=#lib::T3.doTest3??] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.direct-call.metadata=#lib::A3.foo] [@vm.inferred-type.metadata=#lib::T3? (receiver not int)] [@vm.direct-call.metadata=#lib::B3.aa3??] [@vm.inferred-type.metadata=#lib::A3 (receiver not int)] [@vm.inferred-type.metadata=#lib::B3?] self::bb3.aa3.foo.doTest3();
+ [@vm.direct-call.metadata=#lib::T3.doTest3??] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.direct-call.metadata=#lib::A3.foo] [@vm.inferred-type.metadata=#lib::T3? (receiver not int)] [@vm.direct-call.metadata=#lib::B3.aa3??] [@vm.inferred-type.metadata=#lib::A3 (receiver not int)] [@vm.inferred-type.metadata=#lib::B3?] self::bb3{dynamic}.aa3{dynamic}.foo{dynamic}.doTest3();
exp::Expect::isTrue([@vm.inferred-type.metadata=dart.core::bool?] self::ok);
}
static method getDynamic4() → dynamic
- return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown4.call();
+ return [@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] self::unknown4();
static method test4() → void {
- self::getDynamic4().aa4(1, 2, 3, 4, 5, 6, 7, new self::T4::•());
+ self::getDynamic4(){dynamic}.aa4(1, 2, 3, 4, 5, 6, 7, new self::T4::•());
self::ok = false;
- [@vm.direct-call.metadata=#lib::T4.doTest4??] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.direct-call.metadata=#lib::A4.foo] [@vm.inferred-type.metadata=#lib::T4? (receiver not int)] [@vm.inferred-type.metadata=#lib::A4] self::getDynamic4().aa4.foo.doTest4();
+ [@vm.direct-call.metadata=#lib::T4.doTest4??] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.direct-call.metadata=#lib::A4.foo] [@vm.inferred-type.metadata=#lib::T4? (receiver not int)] [@vm.inferred-type.metadata=#lib::A4] self::getDynamic4(){dynamic}.aa4{dynamic}.foo{dynamic}.doTest4();
exp::Expect::isTrue([@vm.inferred-type.metadata=dart.core::bool?] self::ok);
}
static method main() → void {
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter81068.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter81068.dart.expect
index 41a1a34..2c65d79 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter81068.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter81068.dart.expect
@@ -17,11 +17,11 @@
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method noSuchMethod(core::Invocation* i) → dynamic
return throw "Not implemented";
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] no-such-method-forwarder method then<R extends core::Object* = dynamic>((self::B::T*) →* FutureOr<self::B::then::R*>* onValue, {core::Function* onError = #C1}) → asy::Future<self::B::then::R*>*
- return [@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=! (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, core::List::unmodifiable<core::Type*>([@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::Type*>] core::_GrowableList::_literal1<core::Type*>(self::B::then::R*)), core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal1<dynamic>(onValue)), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C3: onError}))) as{TypeError,ForDynamic} asy::Future<self::B::then::R*>*;
+ return [@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=! (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, core::List::unmodifiable<core::Type*>([@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::Type*>] core::_GrowableList::_literal1<core::Type*>(self::B::then::R*)), core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal1<dynamic>(onValue)), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C3: onError}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::B::then::R*>*;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] no-such-method-forwarder method catchError(core::Function* onError, {[@vm.inferred-type.metadata=dart.core::Null? (value: null)] (core::Object*) →* core::bool* test = #C1}) → asy::Future<self::B::T*>*
- return [@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=! (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C4, 0, #C5, core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal1<dynamic>(onError)), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: test}))) as{TypeError,ForDynamic} asy::Future<self::B::T*>*;
+ return [@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=! (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C4, 0, #C5, core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal1<dynamic>(onError)), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C6: test}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::B::T*>*;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] no-such-method-forwarder method whenComplete(() →* FutureOr<void>* action) → asy::Future<self::B::T*>*
- return [@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=! (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C5, core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal1<dynamic>(action)), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C9))) as{TypeError,ForDynamic} asy::Future<self::B::T*>*;
+ return [@vm.direct-call.metadata=#lib::B.noSuchMethod] [@vm.inferred-type.metadata=! (skip check)] this.{self::B::noSuchMethod}(new core::_InvocationMirror::_withType(#C7, 0, #C5, core::List::unmodifiable<dynamic>([@vm.inferred-type.metadata=dart.core::_GrowableList<dynamic>] core::_GrowableList::_literal1<dynamic>(action)), [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dart.core::Symbol*, dynamic>] core::Map::unmodifiable<core::Symbol*, dynamic>(#C9))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} asy::Future<self::B::T*>*;
}
static method createB<T extends core::Object* = dynamic>() → self::B<dynamic>*
return new self::B::•<self::createB::T*>();
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/selector_id_assignments.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/selector_id_assignments.dart.expect
index 53f54b7..6528201 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/selector_id_assignments.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/selector_id_assignments.dart.expect
@@ -106,7 +106,7 @@
core::Iterator<self::A1*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::A1*>] x1.{core::Iterable::iterator};
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(); ) {
self::A1* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
- o.{self::A1::foo}();
+ o.{self::A1::foo}(){() →* void};
}
}
core::List<self::A2*>* x2 = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::A2*>] core::_GrowableList::_literal2<self::A2*>(new self::A2::•(), new self::B2::•());
@@ -114,7 +114,7 @@
core::Iterator<self::A2*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::A2*>] x2.{core::Iterable::iterator};
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(); ) {
self::A2* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
- o.{self::A2::foo}();
+ o.{self::A2::foo}(){() →* void};
}
}
core::List<self::A3*>* x3 = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::A3*>] core::_GrowableList::_literal2<self::A3*>(new self::B3::•(), new self::C3::•());
@@ -122,7 +122,7 @@
core::Iterator<self::A3*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::A3*>] x3.{core::Iterable::iterator};
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(); ) {
self::A3* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
- o.{self::A3::foo}();
+ o.{self::A3::foo}(){() →* void};
}
}
core::List<self::A4*>* x4 = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::A4*>] core::_GrowableList::_literal2<self::A4*>(new self::A4::•(), new self::D4::•());
@@ -130,7 +130,7 @@
core::Iterator<self::A4*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::A4*>] x4.{core::Iterable::iterator};
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(); ) {
self::A4* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
- o.{self::A4::foo}();
+ o.{self::A4::foo}(){() →* void};
}
}
core::List<self::B4*>* y4 = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::B4*>] core::_GrowableList::_literal3<self::B4*>(new self::B4::•(), new self::D4::•(), new self::E4::•());
@@ -138,7 +138,7 @@
core::Iterator<self::B4*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::B4*>] y4.{core::Iterable::iterator};
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(); ) {
self::B4* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
- o.{self::B4::foo}();
+ o.{self::B4::foo}(){() →* void};
}
}
core::List<self::C4*>* z4 = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::C4*>] core::_GrowableList::_literal2<self::C4*>(new self::C4::•(), new self::E4::•());
@@ -146,7 +146,7 @@
core::Iterator<self::C4*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::C4*>] z4.{core::Iterable::iterator};
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(); ) {
self::C4* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
- [@vm.direct-call.metadata=#lib::C4.foo??] [@vm.inferred-type.metadata=!? (skip check)] o.{self::C4::foo}();
+ [@vm.direct-call.metadata=#lib::C4.foo??] [@vm.inferred-type.metadata=!? (skip check)] o.{self::C4::foo}(){() →* void};
}
}
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/set_map_constructor_concrete.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/set_map_constructor_concrete.dart.expect
index 413720d..278b3db 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/set_map_constructor_concrete.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/set_map_constructor_concrete.dart.expect
@@ -10,14 +10,14 @@
[@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashSet?<dynamic>]static field core::Set<dynamic>* identitySet = [@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashSet<dynamic>] col::LinkedHashSet::identity<dynamic>();
[@vm.inferred-type.metadata=dart.collection::_CompactLinkedHashSet?<dart.core::String*>]static field core::Set<core::String*>* linkedSet = new col::_CompactLinkedHashSet::•<core::String*>();
static field core::Set<core::String*>* linkedIdentitySet = [@vm.inferred-type.metadata=!] col::LinkedHashSet::•<core::String*>(#C1, #C2);
-static field core::Set<core::String*>* linkedCustomSet = let final (core::String*, core::String*) →* core::bool* #t1 = (core::String* a, core::String* b) → core::bool* => a.{core::String::==}(b) in let final (core::String*) →* core::int* #t2 = (core::String* o) → core::int* => o.{core::String::hashCode} in let final (dynamic) →* core::bool* #t3 = (dynamic o) → core::bool* => true in [@vm.inferred-type.metadata=!] col::LinkedHashSet::•<core::String*>(#t1, #t2, isValidKey: #t3);
+static field core::Set<core::String*>* linkedCustomSet = let final (core::String*, core::String*) →* core::bool* #t1 = (core::String* a, core::String* b) → core::bool* => [@vm.inferred-type.metadata=!? (receiver not int)] a =={core::String::==}{(core::Object*) →* core::bool*} b in let final (core::String*) →* core::int* #t2 = (core::String* o) → core::int* => o.{core::String::hashCode}{core::int*} in let final (dynamic) →* core::bool* #t3 = (dynamic o) → core::bool* => true in [@vm.inferred-type.metadata=!] col::LinkedHashSet::•<core::String*>(#t1, #t2, isValidKey: #t3);
[@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap?<dynamic, dynamic>]static field core::Map<dynamic, dynamic>* globalMap = [@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap<dynamic, dynamic>] core::Map::•<dynamic, dynamic>();
[@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashMap?<dynamic, dynamic>]static field core::Map<dynamic, dynamic>* identityMap = [@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashMap<dynamic, dynamic>] col::LinkedHashMap::identity<dynamic, dynamic>();
[@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView?<dynamic, dynamic>]static field core::Map<dynamic, dynamic>* unmodifiableMap = [@vm.inferred-type.metadata=dart.collection::UnmodifiableMapView<dynamic, dynamic>] core::Map::unmodifiable<dynamic, dynamic>([@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashMap?<dynamic, dynamic>] self::identityMap);
[@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap?<dynamic, dynamic>]static field core::Map<dynamic, dynamic>* globalMapLiteral = <dynamic, dynamic>{};
[@vm.inferred-type.metadata=dart.collection::_InternalLinkedHashMap?<dart.core::String*, dart.core::String*>]static field core::Map<core::String*, core::String*>* linkedMap = new col::_InternalLinkedHashMap::•<core::String*, core::String*>();
static field core::Map<core::String*, core::String*>* linkedIdentityMap = [@vm.inferred-type.metadata=!] col::LinkedHashMap::•<core::String*, core::String*>(#C1, #C2);
-static field core::Map<core::String*, core::String*>* linkedCustomMap = let final (core::String*, core::String*) →* core::bool* #t4 = (core::String* a, core::String* b) → core::bool* => a.{core::String::==}(b) in let final (core::String*) →* core::int* #t5 = (core::String* o) → core::int* => o.{core::String::hashCode} in let final (dynamic) →* core::bool* #t6 = (dynamic o) → core::bool* => true in [@vm.inferred-type.metadata=!] col::LinkedHashMap::•<core::String*, core::String*>(#t4, #t5, isValidKey: #t6);
+static field core::Map<core::String*, core::String*>* linkedCustomMap = let final (core::String*, core::String*) →* core::bool* #t4 = (core::String* a, core::String* b) → core::bool* => [@vm.inferred-type.metadata=!? (receiver not int)] a =={core::String::==}{(core::Object*) →* core::bool*} b in let final (core::String*) →* core::int* #t5 = (core::String* o) → core::int* => o.{core::String::hashCode}{core::int*} in let final (dynamic) →* core::bool* #t6 = (dynamic o) → core::bool* => true in [@vm.inferred-type.metadata=!] col::LinkedHashMap::•<core::String*, core::String*>(#t4, #t5, isValidKey: #t6);
static method main() → dynamic {
core::print([@vm.inferred-type.metadata=dart.collection::_CompactLinkedHashSet?<dynamic>] self::globalSet);
core::print([@vm.inferred-type.metadata=dart.collection::_CompactLinkedIdentityHashSet?<dynamic>] self::identitySet);
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect
index b9d738c..a3f1c3a 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect
@@ -12,18 +12,18 @@
: super self::A::•()
;
[@vm.procedure-attributes.metadata=hasThisUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] [@vm.unboxing-info.metadata=()->i] method foo() → core::int*
- return [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=! (skip check)] 1.{core::num::+}([@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo() as{TypeError,ForDynamic} core::num*) as{TypeError} core::int*;
+ return [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=! (skip check)] 1.{core::num::+}([@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult(){dynamic}.foo() as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
}
class TearOffDynamicMethod extends core::Object {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] field dynamic bazz;
constructor •(dynamic arg) → self::TearOffDynamicMethod*
- : self::TearOffDynamicMethod::bazz = arg.foo, super core::Object::•() {
- [@vm.call-site-attributes.metadata=receiverType:dynamic] [@vm.direct-call.metadata=#lib::TearOffDynamicMethod.bazz] this.{self::TearOffDynamicMethod::bazz}.call();
+ : self::TearOffDynamicMethod::bazz = arg{dynamic}.foo, super core::Object::•() {
+ [@vm.direct-call.metadata=#lib::TearOffDynamicMethod.bazz] this.{self::TearOffDynamicMethod::bazz}{dynamic}{dynamic}.call();
}
}
static method knownResult() → dynamic
return new self::B::•();
static method main(core::List<core::String*>* args) → dynamic {
core::Function* closure = () → self::B* => new self::B::•();
- new self::TearOffDynamicMethod::•([@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] closure.call());
+ new self::TearOffDynamicMethod::•([@vm.call-site-attributes.metadata=receiverType:dart.core::Function*] closure());
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect
index 8558915..578e8fb 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect
@@ -14,18 +14,18 @@
: super self::A::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] [@vm.unboxing-info.metadata=()->i] method foo() → core::int*
- return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=#lib::B.bar] [@vm.inferred-type.metadata=dart.core::_Smi (value: 3) (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().bar())));
+ return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=#lib::B.bar] [@vm.inferred-type.metadata=dart.core::_Smi (value: 3) (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult(){dynamic}.bar())){(core::num*) →* core::num*});
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] [@vm.unboxing-info.metadata=()->i] method bar() → core::int*
return 3;
}
class TearOffInterfaceMethod extends core::Object {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] field dynamic bazz;
constructor •([@vm.inferred-type.metadata=#lib::B] self::A* arg) → self::TearOffInterfaceMethod*
- : self::TearOffInterfaceMethod::bazz = arg.{self::A::foo}, super core::Object::•()
+ : self::TearOffInterfaceMethod::bazz = arg.{self::A::foo}{() →* core::int*}, super core::Object::•()
;
}
static method knownResult() → dynamic
return new self::B::•();
static method main(core::List<core::String*>* args) → dynamic {
- [@vm.call-site-attributes.metadata=receiverType:dynamic] [@vm.direct-call.metadata=#lib::TearOffInterfaceMethod.bazz] new self::TearOffInterfaceMethod::•(new self::B::•()).{self::TearOffInterfaceMethod::bazz}.call();
+ [@vm.direct-call.metadata=#lib::TearOffInterfaceMethod.bazz] new self::TearOffInterfaceMethod::•(new self::B::•()).{self::TearOffInterfaceMethod::bazz}{dynamic}{dynamic}.call();
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect
index 2b87ac1..bc69294 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect
@@ -14,28 +14,28 @@
: super self::A::•()
;
[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] [@vm.unboxing-info.metadata=()->i] method foo() → core::int*
- return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
+ return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult(){dynamic}.foo())){(core::num*) →* core::num*});
}
abstract class Base extends core::Object {
synthetic constructor •() → self::Base*
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] [@vm.unboxing-info.metadata=()->i] method foo() → core::int*
- return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] 3.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
+ return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] 3.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=#lib::B.foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult(){dynamic}.foo())){(core::num*) →* core::num*});
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] method doCall(dynamic x) → core::int*
- return [@vm.call-site-attributes.metadata=receiverType:dynamic] x.call() as{TypeError,ForDynamic} core::int*;
+ return x{dynamic}.call() as{TypeError,ForDynamic} core::int*;
}
class TearOffSuperMethod extends self::Base {
synthetic constructor •() → self::TearOffSuperMethod*
: super self::Base::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] method bar() → core::int*
- return [@vm.direct-call.metadata=#lib::Base.doCall] [@vm.inferred-type.metadata=int? (skip check)] this.{self::Base::doCall}(super.{self::Base::foo});
+ return [@vm.direct-call.metadata=#lib::Base.doCall] [@vm.inferred-type.metadata=int? (skip check)] this.{self::Base::doCall}(super.{self::Base::foo}){(dynamic) →* core::int*};
}
[@vm.inferred-type.metadata=#lib::B?]static field self::A* aa = new self::B::•();
static method knownResult() → dynamic
return new self::B::•();
static method main(core::List<core::String*>* args) → dynamic {
- [@vm.direct-call.metadata=#lib::TearOffSuperMethod.bar] [@vm.inferred-type.metadata=!? (skip check)] new self::TearOffSuperMethod::•().{self::TearOffSuperMethod::bar}();
- [@vm.direct-call.metadata=#lib::B.foo??] [@vm.inferred-type.metadata=!? (skip check)] [@vm.inferred-type.metadata=#lib::B?] self::aa.{self::A::foo}();
+ [@vm.direct-call.metadata=#lib::TearOffSuperMethod.bar] [@vm.inferred-type.metadata=!? (skip check)] new self::TearOffSuperMethod::•().{self::TearOffSuperMethod::bar}(){() →* core::int*};
+ [@vm.direct-call.metadata=#lib::B.foo??] [@vm.inferred-type.metadata=!? (skip check)] [@vm.inferred-type.metadata=#lib::B?] self::aa.{self::A::foo}(){() →* core::int*};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination.dart.expect
index 72a2ae0..1ddb1b0 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination.dart.expect
@@ -49,8 +49,8 @@
self::testAOfNum(new self::B::•<core::int*>());
self::testAOfAOfB1(new self::A::•<self::A<self::B<dynamic>*>*>());
self::testAOfAOfB2negative(new self::A::•<self::A<self::A<dynamic>*>*>());
- [@vm.direct-call.metadata=#lib::B.testT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int*>().{self::B::testT1}();
- [@vm.direct-call.metadata=#lib::B.testT2negative] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<self::A<core::int*>*>().{self::B::testT2negative}(new self::A::•<core::String*>());
- [@vm.direct-call.metadata=#lib::B.testAOfT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<self::A<core::int*>*>().{self::B::testAOfT1}(new self::A::•<self::A<core::int*>*>());
- [@vm.direct-call.metadata=#lib::B.testAOfT2negative] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<self::A<core::int*>*>().{self::B::testAOfT2negative}(new self::A::•<self::A<core::num*>*>());
+ [@vm.direct-call.metadata=#lib::B.testT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int*>().{self::B::testT1}(){(dynamic) →* dynamic};
+ [@vm.direct-call.metadata=#lib::B.testT2negative] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<self::A<core::int*>*>().{self::B::testT2negative}(new self::A::•<core::String*>()){(dynamic) →* dynamic};
+ [@vm.direct-call.metadata=#lib::B.testAOfT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<self::A<core::int*>*>().{self::B::testAOfT1}(new self::A::•<self::A<core::int*>*>()){(dynamic) →* dynamic};
+ [@vm.direct-call.metadata=#lib::B.testAOfT2negative] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<self::A<core::int*>*>().{self::B::testAOfT2negative}(new self::A::•<self::A<core::num*>*>()){(dynamic) →* dynamic};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination_nnbd.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination_nnbd.dart.expect
index 95e736c..4ffe51c 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination_nnbd.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination_nnbd.dart.expect
@@ -63,9 +63,9 @@
self::testAOfNullableNum(new self::B::•<core::int?>());
self::testNullableAOfNum();
self::testNullableAOfNullableNum(new self::B::•<core::int?>());
- [@vm.direct-call.metadata=#lib::B.testT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testT1}();
- [@vm.direct-call.metadata=#lib::B.testT2] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testT2}();
- [@vm.direct-call.metadata=#lib::B.testT3] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int?>().{self::B::testT3}();
- [@vm.direct-call.metadata=#lib::B.testNullableT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testNullableT1}();
- [@vm.direct-call.metadata=#lib::B.testNullableT2] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testNullableT2}();
+ [@vm.direct-call.metadata=#lib::B.testT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testT1}(){(dynamic) → dynamic};
+ [@vm.direct-call.metadata=#lib::B.testT2] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testT2}(){(dynamic) → dynamic};
+ [@vm.direct-call.metadata=#lib::B.testT3] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int?>().{self::B::testT3}(){(dynamic) → dynamic};
+ [@vm.direct-call.metadata=#lib::B.testNullableT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testNullableT1}(){(dynamic) → dynamic};
+ [@vm.direct-call.metadata=#lib::B.testNullableT2] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testNullableT2}(){(dynamic) → dynamic};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination_nnbd_strong.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination_nnbd_strong.dart.expect
index 8ad5b44..3acd93a 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination_nnbd_strong.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/type_cast_elimination_nnbd_strong.dart.expect
@@ -66,9 +66,9 @@
self::testNullableAOfNum();
self::testNullableAOfNumNegative(new self::B::•<core::int?>());
self::testNullableAOfNullableNum(new self::B::•<core::int?>());
- [@vm.direct-call.metadata=#lib::B.testT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testT1}();
- [@vm.direct-call.metadata=#lib::B.testT2negative] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testT2negative}();
- [@vm.direct-call.metadata=#lib::B.testT3] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int?>().{self::B::testT3}();
- [@vm.direct-call.metadata=#lib::B.testNullableT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testNullableT1}();
- [@vm.direct-call.metadata=#lib::B.testNullableT2] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testNullableT2}();
+ [@vm.direct-call.metadata=#lib::B.testT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testT1}(){(dynamic) → dynamic};
+ [@vm.direct-call.metadata=#lib::B.testT2negative] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testT2negative}(){(dynamic) → dynamic};
+ [@vm.direct-call.metadata=#lib::B.testT3] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int?>().{self::B::testT3}(){(dynamic) → dynamic};
+ [@vm.direct-call.metadata=#lib::B.testNullableT1] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testNullableT1}(){(dynamic) → dynamic};
+ [@vm.direct-call.metadata=#lib::B.testNullableT2] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•<core::int>().{self::B::testNullableT2}(){(dynamic) → dynamic};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_getters.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_getters.dart.expect
index 6302a7c..268be9b 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_getters.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_getters.dart.expect
@@ -68,27 +68,27 @@
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:5] [@vm.unboxing-info.metadata=()->i] get value() → core::int*
return [@vm.inferred-type.metadata=int] self::smiOrMint;
}
-[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kTrue = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(1) ?{core::bool*} true : false;
+[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kTrue = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 1 ?{core::bool*} true : false;
[@vm.inferred-type.metadata=int?]static field dynamic usedObject;
[@vm.unboxing-info.metadata=()->i]static get mint() → core::int*
return -6144092014192636707;
[@vm.unboxing-info.metadata=()->i]static get smiOrMint() → core::int*
return [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::int*} 1 : [@vm.inferred-type.metadata=int] self::mint;
static method use([@vm.inferred-type.metadata=int?] dynamic object) → void {
- [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=int?] self::usedObject.{core::Object::==}(null) ?{dynamic} self::usedObject = object : null;
+ [@vm.inferred-type.metadata=int?] self::usedObject == null ?{dynamic} self::usedObject = object : null;
}
static method main() → dynamic {
final self::BI1A* bi1a = new self::BI1A::•([@vm.inferred-type.metadata=int] self::smiOrMint);
final self::BI1B* bi1b = new self::BI1B::•();
- self::use([@vm.inferred-type.metadata=int?]([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::BI1*} bi1a : bi1b).{self::BI1::value});
+ self::use([@vm.inferred-type.metadata=int?]([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::BI1*} bi1a : bi1b).{self::BI1::value}{core::int*});
final self::BI2A* bi2a = new self::BI2A::•();
final self::BI2B* bi2b = new self::BI2B::•();
- self::use([@vm.inferred-type.metadata=int?]([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::BI2*} bi2a : bi2b).{self::BI2::value});
+ self::use([@vm.inferred-type.metadata=int?]([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::BI2*} bi2a : bi2b).{self::BI2::value}{core::int*});
final self::BI3A* bi3a = new self::BI3A::•([@vm.inferred-type.metadata=int] self::smiOrMint);
final self::BI3B* bi3b = new self::BI3B::•();
([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::BI3*} bi3a : bi3b).{self::BI3::value} = null;
- self::use([@vm.inferred-type.metadata=int?]([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::BI3*} bi3a : bi3b).{self::BI3::value});
+ self::use([@vm.inferred-type.metadata=int?]([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::BI3*} bi3a : bi3b).{self::BI3::value}{core::int*});
final self::UBIA* ubia = new self::UBIA::•([@vm.inferred-type.metadata=int] self::smiOrMint);
final self::UBIB* ubib = new self::UBIB::•();
- self::use([@vm.inferred-type.metadata=int]([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::UBI*} ubia : ubib).{self::UBI::value});
+ self::use([@vm.inferred-type.metadata=int]([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::UBI*} ubia : ubib).{self::UBI::value}{core::int*});
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_fields.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_fields.dart.expect
index 408fc55..a3d1769b 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_fields.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_fields.dart.expect
@@ -21,15 +21,15 @@
: self::A::unboxedSmi = unboxedSmi, self::A::unboxedInt = unboxedInt, self::A::unboxedDouble = unboxedDouble, self::A::boxedNullableInt = boxedNullableInt, self::A::boxedNullableDouble = boxedNullableDouble, self::A::boxedNonNullableIntOrDouble = boxedNonNullableIntOrDouble, self::A::boxedNullableIntOrDouble = boxedNullableIntOrDouble, self::A::boxedNullableX = boxedNullableX, self::A::boxedX = boxedX, super core::Object::•()
;
}
-[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kTrue = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(1) ?{core::bool*} true : false;
-[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(2) ?{core::bool*} true : false;
+[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kTrue = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 1 ?{core::bool*} true : false;
+[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 2 ?{core::bool*} true : false;
static field dynamic usedObject;
[@vm.unboxing-info.metadata=()->i]static get mint() → core::int*
return -6144092014192636707;
[@vm.unboxing-info.metadata=()->i]static get smiOrMint() → core::int*
return [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::int*} 1 : [@vm.inferred-type.metadata=int] self::mint;
static method use(dynamic object) → void {
- [@vm.inferred-type.metadata=!? (receiver not int)] self::usedObject.{core::Object::==}(null) ?{dynamic} self::usedObject = object : null;
+ self::usedObject == null ?{dynamic} self::usedObject = object : null;
}
static method main() → dynamic {
final self::A* a = new self::A::•([@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::int*} 1 : 2, [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::int*} [@vm.inferred-type.metadata=int] self::smiOrMint : 2, [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::double*} 1.1 : 2.2, [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::int*} [@vm.inferred-type.metadata=int] self::smiOrMint : null, [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::double*} 1.1 : null, [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::num*} [@vm.inferred-type.metadata=int] self::smiOrMint : 1.1, [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::num*} [@vm.inferred-type.metadata=dart.core::bool?] self::kFalse ?{core::num*} [@vm.inferred-type.metadata=int] self::smiOrMint : 1.1 : null, [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::X*} new self::X::•() : null, new self::X::•());
@@ -42,13 +42,13 @@
[@vm.direct-call.metadata=#lib::A.boxedNullableIntOrDouble] [@vm.inferred-type.metadata=!? (skip check)] a.{self::A::boxedNullableIntOrDouble} = [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::num*} [@vm.inferred-type.metadata=dart.core::bool?] self::kFalse ?{core::num*} [@vm.inferred-type.metadata=int] self::smiOrMint : 1.1 : null;
[@vm.direct-call.metadata=#lib::A.boxedNullableX] [@vm.inferred-type.metadata=!? (skip check)] a.{self::A::boxedNullableX} = [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{self::X*} new self::X::•() : null;
[@vm.direct-call.metadata=#lib::A.boxedX] [@vm.inferred-type.metadata=!? (skip check)] a.{self::A::boxedX} = new self::X::•();
- self::use([@vm.direct-call.metadata=#lib::A.unboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi] a.{self::A::unboxedSmi});
- self::use([@vm.direct-call.metadata=#lib::A.unboxedInt] [@vm.inferred-type.metadata=int] a.{self::A::unboxedInt});
- self::use([@vm.direct-call.metadata=#lib::A.unboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double] a.{self::A::unboxedDouble});
- self::use([@vm.direct-call.metadata=#lib::A.boxedNullableInt] [@vm.inferred-type.metadata=int?] a.{self::A::boxedNullableInt});
- self::use([@vm.direct-call.metadata=#lib::A.boxedNullableDouble] [@vm.inferred-type.metadata=dart.core::_Double?] a.{self::A::boxedNullableDouble});
- self::use([@vm.direct-call.metadata=#lib::A.boxedNonNullableIntOrDouble] [@vm.inferred-type.metadata=!] a.{self::A::boxedNonNullableIntOrDouble});
- self::use([@vm.direct-call.metadata=#lib::A.boxedNullableIntOrDouble] a.{self::A::boxedNullableIntOrDouble});
- self::use([@vm.direct-call.metadata=#lib::A.boxedNullableX] [@vm.inferred-type.metadata=#lib::X?] a.{self::A::boxedNullableX});
- self::use([@vm.direct-call.metadata=#lib::A.boxedX] [@vm.inferred-type.metadata=#lib::X] a.{self::A::boxedX});
+ self::use([@vm.direct-call.metadata=#lib::A.unboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi] a.{self::A::unboxedSmi}{dynamic});
+ self::use([@vm.direct-call.metadata=#lib::A.unboxedInt] [@vm.inferred-type.metadata=int] a.{self::A::unboxedInt}{dynamic});
+ self::use([@vm.direct-call.metadata=#lib::A.unboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double] a.{self::A::unboxedDouble}{dynamic});
+ self::use([@vm.direct-call.metadata=#lib::A.boxedNullableInt] [@vm.inferred-type.metadata=int?] a.{self::A::boxedNullableInt}{dynamic});
+ self::use([@vm.direct-call.metadata=#lib::A.boxedNullableDouble] [@vm.inferred-type.metadata=dart.core::_Double?] a.{self::A::boxedNullableDouble}{dynamic});
+ self::use([@vm.direct-call.metadata=#lib::A.boxedNonNullableIntOrDouble] [@vm.inferred-type.metadata=!] a.{self::A::boxedNonNullableIntOrDouble}{dynamic});
+ self::use([@vm.direct-call.metadata=#lib::A.boxedNullableIntOrDouble] a.{self::A::boxedNullableIntOrDouble}{dynamic});
+ self::use([@vm.direct-call.metadata=#lib::A.boxedNullableX] [@vm.inferred-type.metadata=#lib::X?] a.{self::A::boxedNullableX}{dynamic});
+ self::use([@vm.direct-call.metadata=#lib::A.boxedX] [@vm.inferred-type.metadata=#lib::X] a.{self::A::boxedX}{dynamic});
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_method.dart.expect
index 4660ab5..0811f05 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_method.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_method.dart.expect
@@ -122,52 +122,52 @@
[@vm.unboxing-info.metadata=()->i]static get mint() → core::int*
return -6144092014192636707;
static method use(dynamic object) → void {
- [@vm.inferred-type.metadata=!? (receiver not int)] self::usedObject.{core::Object::==}(null) ?{dynamic} self::usedObject = object : null;
+ self::usedObject == null ?{dynamic} self::usedObject = object : null;
}
static method main() → dynamic {
final core::List<core::Object*>* values = [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::Object*>] core::_GrowableList::_literal3<core::Object*>(new self::Impl1::•(), new self::BaseImpl2::•(), new self::SubImpl3::•());
- final self::Impl1* a = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("0")) as self::Impl1*;
- final self::BaseImpl2* b = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("1")) as self::BaseImpl2*;
- final self::SubImpl3* c = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("2")) as self::SubImpl3*;
- final self::Interface* d = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("2")) as self::Interface*;
- [@vm.direct-call.metadata=#lib::Impl1.takePositional??] [@vm.inferred-type.metadata=!? (skip check)] a.{self::Impl1::takePositional}(1, 1.1, null, null, 1, null, null, new self::X::•());
- b.{self::BaseImpl2::takePositional}(2, 2.2, 2, 2.2, 2.2, 2, new self::X::•(), new self::X::•());
- [@vm.direct-call.metadata=#lib::SubImpl3.takePositional??] [@vm.inferred-type.metadata=!? (skip check)] c.{self::SubImpl3::takePositional}([@vm.inferred-type.metadata=int] self::mint, 3.3, [@vm.inferred-type.metadata=int] self::mint, 3.3, 3.3, 3.3, new self::X::•(), new self::X::•());
- d.{self::Interface::takePositional}([@vm.inferred-type.metadata=int] self::mint, 3.3, [@vm.inferred-type.metadata=int] self::mint, 3.3, 3.3, 3.3, new self::X::•(), new self::X::•());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnUnboxedSmi}());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedInt] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnUnboxedInt}());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 1.1)] a.{self::Impl1::returnUnboxedDouble}());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableInt] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableInt}());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableDouble] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableDouble}());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnBoxedIntOrDouble}());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableIntOrDouble] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableIntOrDouble}());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableX] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableX}());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedX] [@vm.inferred-type.metadata=#lib::X (skip check)] a.{self::Impl1::returnBoxedX}());
- self::use([@vm.inferred-type.metadata=dart.core::_Smi] b.{self::BaseImpl2::returnUnboxedSmi}());
- self::use([@vm.inferred-type.metadata=int] b.{self::BaseImpl2::returnUnboxedInt}());
- self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnUnboxedDouble}());
- self::use([@vm.inferred-type.metadata=int] b.{self::BaseImpl2::returnBoxedNullableInt}());
- self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnBoxedNullableDouble}());
- self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnBoxedIntOrDouble}());
- self::use([@vm.inferred-type.metadata=!] b.{self::BaseImpl2::returnBoxedNullableIntOrDouble}());
- self::use([@vm.inferred-type.metadata=#lib::X] b.{self::BaseImpl2::returnBoxedNullableX}());
- self::use([@vm.inferred-type.metadata=#lib::X] b.{self::BaseImpl2::returnBoxedX}());
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 3)] c.{self::SubImpl3::returnUnboxedSmi}());
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedInt] [@vm.inferred-type.metadata=int (skip check)] c.{self::SubImpl3::returnUnboxedInt}());
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnUnboxedDouble}());
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableInt] [@vm.inferred-type.metadata=int (skip check)] c.{self::SubImpl3::returnBoxedNullableInt}());
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedNullableDouble}());
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedIntOrDouble}());
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedNullableIntOrDouble}());
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableX] [@vm.inferred-type.metadata=#lib::X (skip check)] c.{self::SubImpl3::returnBoxedNullableX}());
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedX] [@vm.inferred-type.metadata=#lib::X (skip check)] c.{self::SubImpl3::returnBoxedX}());
- self::use([@vm.inferred-type.metadata=dart.core::_Smi] d.{self::Interface::returnUnboxedSmi}());
- self::use([@vm.inferred-type.metadata=int] d.{self::Interface::returnUnboxedInt}());
- self::use([@vm.inferred-type.metadata=dart.core::_Double] d.{self::Interface::returnUnboxedDouble}());
- self::use([@vm.inferred-type.metadata=int?] d.{self::Interface::returnBoxedNullableInt}());
- self::use([@vm.inferred-type.metadata=dart.core::_Double?] d.{self::Interface::returnBoxedNullableDouble}());
- self::use([@vm.inferred-type.metadata=!] d.{self::Interface::returnBoxedIntOrDouble}());
- self::use([@vm.inferred-type.metadata=dart.core::_Double?] d.{self::Interface::returnBoxedNullableIntOrDouble}());
- self::use([@vm.inferred-type.metadata=#lib::X?] d.{self::Interface::returnBoxedNullableX}());
- self::use([@vm.inferred-type.metadata=#lib::X] d.{self::Interface::returnBoxedX}());
+ final self::Impl1* a = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("0")){(core::int*) →* core::Object*} as self::Impl1*;
+ final self::BaseImpl2* b = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("1")){(core::int*) →* core::Object*} as self::BaseImpl2*;
+ final self::SubImpl3* c = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("2")){(core::int*) →* core::Object*} as self::SubImpl3*;
+ final self::Interface* d = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("2")){(core::int*) →* core::Object*} as self::Interface*;
+ [@vm.direct-call.metadata=#lib::Impl1.takePositional??] [@vm.inferred-type.metadata=!? (skip check)] a.{self::Impl1::takePositional}(1, 1.1, null, null, 1, null, null, new self::X::•()){(core::int*, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) →* void};
+ b.{self::BaseImpl2::takePositional}(2, 2.2, 2, 2.2, 2.2, 2, new self::X::•(), new self::X::•()){(core::int*, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) →* void};
+ [@vm.direct-call.metadata=#lib::SubImpl3.takePositional??] [@vm.inferred-type.metadata=!? (skip check)] c.{self::SubImpl3::takePositional}([@vm.inferred-type.metadata=int] self::mint, 3.3, [@vm.inferred-type.metadata=int] self::mint, 3.3, 3.3, 3.3, new self::X::•(), new self::X::•()){(core::int*, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) →* void};
+ d.{self::Interface::takePositional}([@vm.inferred-type.metadata=int] self::mint, 3.3, [@vm.inferred-type.metadata=int] self::mint, 3.3, 3.3, 3.3, new self::X::•(), new self::X::•()){(core::int*, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) →* void};
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnUnboxedSmi}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedInt] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnUnboxedInt}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 1.1)] a.{self::Impl1::returnUnboxedDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableInt] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableInt}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableDouble] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnBoxedIntOrDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableIntOrDouble] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableIntOrDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableX] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableX}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedX] [@vm.inferred-type.metadata=#lib::X (skip check)] a.{self::Impl1::returnBoxedX}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Smi] b.{self::BaseImpl2::returnUnboxedSmi}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=int] b.{self::BaseImpl2::returnUnboxedInt}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnUnboxedDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=int] b.{self::BaseImpl2::returnBoxedNullableInt}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnBoxedNullableDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnBoxedIntOrDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=!] b.{self::BaseImpl2::returnBoxedNullableIntOrDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=#lib::X] b.{self::BaseImpl2::returnBoxedNullableX}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=#lib::X] b.{self::BaseImpl2::returnBoxedX}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 3)] c.{self::SubImpl3::returnUnboxedSmi}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedInt] [@vm.inferred-type.metadata=int (skip check)] c.{self::SubImpl3::returnUnboxedInt}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnUnboxedDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableInt] [@vm.inferred-type.metadata=int (skip check)] c.{self::SubImpl3::returnBoxedNullableInt}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedNullableDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedIntOrDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedNullableIntOrDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableX] [@vm.inferred-type.metadata=#lib::X (skip check)] c.{self::SubImpl3::returnBoxedNullableX}(){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedX] [@vm.inferred-type.metadata=#lib::X (skip check)] c.{self::SubImpl3::returnBoxedX}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Smi] d.{self::Interface::returnUnboxedSmi}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=int] d.{self::Interface::returnUnboxedInt}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double] d.{self::Interface::returnUnboxedDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=int?] d.{self::Interface::returnBoxedNullableInt}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double?] d.{self::Interface::returnBoxedNullableDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=!] d.{self::Interface::returnBoxedIntOrDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double?] d.{self::Interface::returnBoxedNullableIntOrDouble}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=#lib::X?] d.{self::Interface::returnBoxedNullableX}(){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=#lib::X] d.{self::Interface::returnBoxedX}(){(self::X*) →* dynamic});
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_method_tearoff.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_method_tearoff.dart.expect
index f5662a4f..d22492c 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_method_tearoff.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_instance_method_tearoff.dart.expect
@@ -122,62 +122,62 @@
[@vm.unboxing-info.metadata=()->i]static get mint() → core::int*
return -6144092014192636707;
static method use(dynamic object) → void {
- [@vm.inferred-type.metadata=!? (receiver not int)] self::usedObject.{core::Object::==}(null) ?{dynamic} self::usedObject = object : null;
+ self::usedObject == null ?{dynamic} self::usedObject = object : null;
}
static method main() → dynamic {
final core::List<core::Object*>* values = [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::Object*>] core::_GrowableList::_literal3<core::Object*>(new self::Impl1::•(), new self::BaseImpl2::•(), new self::SubImpl3::•());
- final self::Impl1* a = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("0")) as self::Impl1*;
- final self::BaseImpl2* b = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("1")) as self::BaseImpl2*;
- final self::SubImpl3* c = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("2")) as self::SubImpl3*;
- final self::Interface* d = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("2")) as self::Interface*;
- [@vm.direct-call.metadata=#lib::Impl1.takePositional??] [@vm.inferred-type.metadata=!? (skip check)] a.{self::Impl1::takePositional}(1, 1, 1.1, null, null, 1, null, null, new self::X::•());
- b.{self::BaseImpl2::takePositional}(2, 2, 2.2, 2, 2.2, 2.2, 2, new self::X::•(), new self::X::•());
- [@vm.direct-call.metadata=#lib::SubImpl3.takePositional??] [@vm.inferred-type.metadata=!? (skip check)] c.{self::SubImpl3::takePositional}(3, [@vm.inferred-type.metadata=int] self::mint, 3.3, [@vm.inferred-type.metadata=int] self::mint, 3.3, 3.3, 3.3, new self::X::•(), new self::X::•());
- d.{self::Interface::takePositional}(3, [@vm.inferred-type.metadata=int] self::mint, 3.3, [@vm.inferred-type.metadata=int] self::mint, 3.3, 3.3, 3.3, new self::X::•(), new self::X::•());
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnUnboxedSmi}(null));
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedInt] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnUnboxedInt}(null));
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 1.1)] a.{self::Impl1::returnUnboxedDouble}(null));
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableInt] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableInt}(null));
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableDouble] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableDouble}(null));
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnBoxedIntOrDouble}(null));
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableIntOrDouble] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableIntOrDouble}(null));
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableX] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableX}(null));
- self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedX] [@vm.inferred-type.metadata=#lib::X (skip check)] a.{self::Impl1::returnBoxedX}(null));
- self::use([@vm.inferred-type.metadata=dart.core::_Smi] b.{self::BaseImpl2::returnUnboxedSmi}(null));
- self::use([@vm.inferred-type.metadata=int] b.{self::BaseImpl2::returnUnboxedInt}(null));
- self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnUnboxedDouble}(null));
- self::use([@vm.inferred-type.metadata=int] b.{self::BaseImpl2::returnBoxedNullableInt}(null));
- self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnBoxedNullableDouble}(null));
- self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnBoxedIntOrDouble}(null));
- self::use([@vm.inferred-type.metadata=!] b.{self::BaseImpl2::returnBoxedNullableIntOrDouble}(null));
- self::use([@vm.inferred-type.metadata=#lib::X] b.{self::BaseImpl2::returnBoxedNullableX}(null));
- self::use([@vm.inferred-type.metadata=#lib::X] b.{self::BaseImpl2::returnBoxedX}(null));
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 3)] c.{self::SubImpl3::returnUnboxedSmi}(null));
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedInt] [@vm.inferred-type.metadata=int (skip check)] c.{self::SubImpl3::returnUnboxedInt}(null));
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnUnboxedDouble}(null));
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableInt] [@vm.inferred-type.metadata=int (skip check)] c.{self::SubImpl3::returnBoxedNullableInt}(null));
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedNullableDouble}(null));
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedIntOrDouble}(null));
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedNullableIntOrDouble}(null));
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableX] [@vm.inferred-type.metadata=#lib::X (skip check)] c.{self::SubImpl3::returnBoxedNullableX}(null));
- self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedX] [@vm.inferred-type.metadata=#lib::X (skip check)] c.{self::SubImpl3::returnBoxedX}(null));
- self::use([@vm.inferred-type.metadata=dart.core::_Smi] d.{self::Interface::returnUnboxedSmi}(null));
- self::use([@vm.inferred-type.metadata=int] d.{self::Interface::returnUnboxedInt}(null));
- self::use([@vm.inferred-type.metadata=dart.core::_Double] d.{self::Interface::returnUnboxedDouble}(null));
- self::use([@vm.inferred-type.metadata=int?] d.{self::Interface::returnBoxedNullableInt}(null));
- self::use([@vm.inferred-type.metadata=dart.core::_Double?] d.{self::Interface::returnBoxedNullableDouble}(null));
- self::use([@vm.inferred-type.metadata=!] d.{self::Interface::returnBoxedIntOrDouble}(null));
- self::use([@vm.inferred-type.metadata=dart.core::_Double?] d.{self::Interface::returnBoxedNullableIntOrDouble}(null));
- self::use([@vm.inferred-type.metadata=#lib::X?] d.{self::Interface::returnBoxedNullableX}(null));
- self::use([@vm.inferred-type.metadata=#lib::X] d.{self::Interface::returnBoxedX}(null));
- self::use(d.{self::Interface::takePositional});
- self::use(d.{self::Interface::returnUnboxedSmi});
- self::use(d.{self::Interface::returnUnboxedInt});
- self::use(d.{self::Interface::returnUnboxedDouble});
- self::use(d.{self::Interface::returnBoxedNullableInt});
- self::use(d.{self::Interface::returnBoxedNullableDouble});
- self::use(d.{self::Interface::returnBoxedIntOrDouble});
- self::use(d.{self::Interface::returnBoxedNullableIntOrDouble});
- self::use(d.{self::Interface::returnBoxedNullableX});
- self::use(d.{self::Interface::returnBoxedX});
+ final self::Impl1* a = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("0")){(core::int*) →* core::Object*} as self::Impl1*;
+ final self::BaseImpl2* b = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("1")){(core::int*) →* core::Object*} as self::BaseImpl2*;
+ final self::SubImpl3* c = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("2")){(core::int*) →* core::Object*} as self::SubImpl3*;
+ final self::Interface* d = [@vm.direct-call.metadata=dart.core::_GrowableList.[]] [@vm.inferred-type.metadata=!? (skip check)] values.{core::List::[]}([@vm.inferred-type.metadata=int?] core::int::parse("2")){(core::int*) →* core::Object*} as self::Interface*;
+ [@vm.direct-call.metadata=#lib::Impl1.takePositional??] [@vm.inferred-type.metadata=!? (skip check)] a.{self::Impl1::takePositional}(1, 1, 1.1, null, null, 1, null, null, new self::X::•()){(core::int*, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) →* void};
+ b.{self::BaseImpl2::takePositional}(2, 2, 2.2, 2, 2.2, 2.2, 2, new self::X::•(), new self::X::•()){(core::int*, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) →* void};
+ [@vm.direct-call.metadata=#lib::SubImpl3.takePositional??] [@vm.inferred-type.metadata=!? (skip check)] c.{self::SubImpl3::takePositional}(3, [@vm.inferred-type.metadata=int] self::mint, 3.3, [@vm.inferred-type.metadata=int] self::mint, 3.3, 3.3, 3.3, new self::X::•(), new self::X::•()){(core::int*, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) →* void};
+ d.{self::Interface::takePositional}(3, [@vm.inferred-type.metadata=int] self::mint, 3.3, [@vm.inferred-type.metadata=int] self::mint, 3.3, 3.3, 3.3, new self::X::•(), new self::X::•()){(core::int*, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) →* void};
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnUnboxedSmi}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedInt] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnUnboxedInt}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnUnboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 1.1)] a.{self::Impl1::returnUnboxedDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableInt] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableInt}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableDouble] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 1)] a.{self::Impl1::returnBoxedIntOrDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableIntOrDouble] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableIntOrDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedNullableX] [@vm.inferred-type.metadata=dart.core::Null? (skip check) (value: null)] a.{self::Impl1::returnBoxedNullableX}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::Impl1.returnBoxedX] [@vm.inferred-type.metadata=#lib::X (skip check)] a.{self::Impl1::returnBoxedX}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Smi] b.{self::BaseImpl2::returnUnboxedSmi}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=int] b.{self::BaseImpl2::returnUnboxedInt}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnUnboxedDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=int] b.{self::BaseImpl2::returnBoxedNullableInt}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnBoxedNullableDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double] b.{self::BaseImpl2::returnBoxedIntOrDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=!] b.{self::BaseImpl2::returnBoxedNullableIntOrDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=#lib::X] b.{self::BaseImpl2::returnBoxedNullableX}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=#lib::X] b.{self::BaseImpl2::returnBoxedX}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedSmi] [@vm.inferred-type.metadata=dart.core::_Smi (skip check) (value: 3)] c.{self::SubImpl3::returnUnboxedSmi}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedInt] [@vm.inferred-type.metadata=int (skip check)] c.{self::SubImpl3::returnUnboxedInt}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnUnboxedDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnUnboxedDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableInt] [@vm.inferred-type.metadata=int (skip check)] c.{self::SubImpl3::returnBoxedNullableInt}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedNullableDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedIntOrDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableIntOrDouble] [@vm.inferred-type.metadata=dart.core::_Double (skip check) (value: 3.3)] c.{self::SubImpl3::returnBoxedNullableIntOrDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedNullableX] [@vm.inferred-type.metadata=#lib::X (skip check)] c.{self::SubImpl3::returnBoxedNullableX}(null){(self::X*) →* dynamic});
+ self::use([@vm.direct-call.metadata=#lib::SubImpl3.returnBoxedX] [@vm.inferred-type.metadata=#lib::X (skip check)] c.{self::SubImpl3::returnBoxedX}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Smi] d.{self::Interface::returnUnboxedSmi}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=int] d.{self::Interface::returnUnboxedInt}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double] d.{self::Interface::returnUnboxedDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=int?] d.{self::Interface::returnBoxedNullableInt}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double?] d.{self::Interface::returnBoxedNullableDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=!] d.{self::Interface::returnBoxedIntOrDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=dart.core::_Double?] d.{self::Interface::returnBoxedNullableIntOrDouble}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=#lib::X?] d.{self::Interface::returnBoxedNullableX}(null){(self::X*) →* dynamic});
+ self::use([@vm.inferred-type.metadata=#lib::X] d.{self::Interface::returnBoxedX}(null){(self::X*) →* dynamic});
+ self::use(d.{self::Interface::takePositional}{(core::int*, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) →* void});
+ self::use(d.{self::Interface::returnUnboxedSmi}{(self::X*) →* dynamic});
+ self::use(d.{self::Interface::returnUnboxedInt}{(self::X*) →* dynamic});
+ self::use(d.{self::Interface::returnUnboxedDouble}{(self::X*) →* dynamic});
+ self::use(d.{self::Interface::returnBoxedNullableInt}{(self::X*) →* dynamic});
+ self::use(d.{self::Interface::returnBoxedNullableDouble}{(self::X*) →* dynamic});
+ self::use(d.{self::Interface::returnBoxedIntOrDouble}{(self::X*) →* dynamic});
+ self::use(d.{self::Interface::returnBoxedNullableIntOrDouble}{(self::X*) →* dynamic});
+ self::use(d.{self::Interface::returnBoxedNullableX}{(self::X*) →* dynamic});
+ self::use(d.{self::Interface::returnBoxedX}{(self::X*) →* dynamic});
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_static_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_static_method.dart.expect
index b6123a1..8279a56 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_static_method.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_static_method.dart.expect
@@ -7,15 +7,15 @@
: super core::Object::•()
;
}
-[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kTrue = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(1) ?{core::bool*} true : false;
-[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(2) ?{core::bool*} true : false;
+[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kTrue = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 1 ?{core::bool*} true : false;
+[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 2 ?{core::bool*} true : false;
static field dynamic usedObject;
[@vm.unboxing-info.metadata=()->i]static get mint() → core::int*
return -6144092014192636707;
[@vm.unboxing-info.metadata=()->i]static get smiOrMint() → core::int*
return [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::int*} 1 : [@vm.inferred-type.metadata=int] self::mint;
static method use(dynamic object) → void {
- [@vm.inferred-type.metadata=!? (receiver not int)] self::usedObject.{core::Object::==}(null) ?{dynamic} self::usedObject = object : null;
+ self::usedObject == null ?{dynamic} self::usedObject = object : null;
}
[@vm.unboxing-info.metadata=(i,d,b,b,b,b,b,b)->b]static method takePositional([@vm.inferred-type.metadata=int] dynamic unboxedInt, [@vm.inferred-type.metadata=dart.core::_Double] dynamic unboxedDouble, [@vm.inferred-type.metadata=int?] dynamic boxedNullableInt, [@vm.inferred-type.metadata=dart.core::_Double?] dynamic boxedNullableDouble, [@vm.inferred-type.metadata=!] dynamic boxedIntOrDouble, dynamic boxedNullableIntOrDouble, [@vm.inferred-type.metadata=#lib::X?] dynamic boxedNullableX, [@vm.inferred-type.metadata=#lib::X] dynamic boxedX) → void {
self::use(unboxedInt);
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_static_method_tearoff.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_static_method_tearoff.dart.expect
index f108cae..6b05788 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_static_method_tearoff.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/unboxed_static_method_tearoff.dart.expect
@@ -7,15 +7,15 @@
: super core::Object::•()
;
}
-[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kTrue = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(1) ?{core::bool*} true : false;
-[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1").{core::num::==}(2) ?{core::bool*} true : false;
+[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kTrue = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 1 ?{core::bool*} true : false;
+[@vm.inferred-type.metadata=dart.core::bool?]static final field core::bool* kFalse = [@vm.inferred-type.metadata=dart.core::bool] [@vm.inferred-type.metadata=int?] core::int::parse("1") =={core::num::==}{(core::Object*) →* core::bool*} 2 ?{core::bool*} true : false;
static field dynamic usedObject;
[@vm.unboxing-info.metadata=()->i]static get mint() → core::int*
return -6144092014192636707;
[@vm.unboxing-info.metadata=()->i]static get smiOrMint() → core::int*
return [@vm.inferred-type.metadata=dart.core::bool?] self::kTrue ?{core::int*} 1 : [@vm.inferred-type.metadata=int] self::mint;
static method use(dynamic object) → void {
- [@vm.inferred-type.metadata=!? (receiver not int)] self::usedObject.{core::Object::==}(null) ?{dynamic} self::usedObject = object : null;
+ self::usedObject == null ?{dynamic} self::usedObject = object : null;
}
static method takePositional(core::int* unboxedSmi, dynamic unboxedInt, dynamic unboxedDouble, dynamic boxedNullableInt, dynamic boxedNullableDouble, dynamic boxedIntOrDouble, dynamic boxedNullableIntOrDouble, dynamic boxedNullableX, dynamic boxedX) → void {
self::use(unboxedInt);
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/write_only_field2.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/write_only_field2.dart.expect
index 664dad2..4eee926 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/write_only_field2.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/write_only_field2.dart.expect
@@ -61,8 +61,8 @@
[@vm.call-site-attributes.metadata=receiverType:#lib::C<dart.core::num*>*] [@vm.direct-call.metadata=#lib::D.bar] c.{self::C::bar} = 3.14;
});
self::E* e = new self::F::•();
- let final core::int* #t2 = [@vm.direct-call.metadata=#lib::F.bar] [@vm.inferred-type.metadata=dart.core::_Smi (value: 42)] e.{self::E::bar} in exp::Expect::equals();
+ let final core::int* #t2 = [@vm.direct-call.metadata=#lib::F.bar] [@vm.inferred-type.metadata=dart.core::_Smi (value: 42)] e.{self::E::bar}{core::int*} in exp::Expect::equals();
exp::Expect::isTrue(![@vm.inferred-type.metadata=dart.core::bool] core::identical(#C2, #C4));
- [@vm.direct-call.metadata=#lib::I.foo] [@vm.inferred-type.metadata=!? (skip check)] new self::I::•().{self::I::foo}();
+ [@vm.direct-call.metadata=#lib::I.foo] [@vm.inferred-type.metadata=!? (skip check)] new self::I::•().{self::I::foo}(){() →* dynamic};
5;
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/write_only_field3_nnbd.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/write_only_field3_nnbd.dart.expect
index 1431eb6..359a3f8 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/write_only_field3_nnbd.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/write_only_field3_nnbd.dart.expect
@@ -22,8 +22,8 @@
}
[@vm.inferred-type.metadata=dart.core::_Smi (value: 4)] [@vm.unboxing-info.metadata=(i)->i]late static final [setter] field core::int staticLateB;
static method main() → void {
- [@vm.direct-call.metadata=#lib::A.use] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::use}();
- [@vm.direct-call.metadata=#lib::B.use] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::use}();
+ [@vm.direct-call.metadata=#lib::A.use] [@vm.inferred-type.metadata=!? (skip check)] new self::A::•().{self::A::use}(){() → dynamic};
+ [@vm.direct-call.metadata=#lib::B.use] [@vm.inferred-type.metadata=!? (skip check)] new self::B::•().{self::B::use}(){() → dynamic};
4;
self::staticLateB = 4;
}
diff --git a/runtime/observatory/tests/service/next_through_function_expression_test.dart b/runtime/observatory/tests/service/next_through_function_expression_test.dart
index ef33331..082da72 100644
--- a/runtime/observatory/tests/service/next_through_function_expression_test.dart
+++ b/runtime/observatory/tests/service/next_through_function_expression_test.dart
@@ -22,10 +22,10 @@
List<String> stops = [];
List<String> expected = [
- "$file:${LINE_A+0}:13", // on 'i' in 'codeXYZ(int i)'
- "$file:${LINE_A+1}:3", // on 'innerOne'
- "$file:${LINE_A+5}:18", // on '(', i.e. after 'innerOne' call
- "$file:${LINE_A+5}:3" // on 'return'
+ "$file:${LINE_A + 0}:13", // on 'i' in 'codeXYZ(int i)'
+ "$file:${LINE_A + 1}:3", // on 'innerOne'
+ "$file:${LINE_A + 5}:10", // on 'innerOne()' call
+ "$file:${LINE_A + 5}:3" // on 'return'
];
var tests = <IsolateTest>[
diff --git a/runtime/observatory_2/tests/service_2/next_through_function_expression_test.dart b/runtime/observatory_2/tests/service_2/next_through_function_expression_test.dart
index ef33331..082da72 100644
--- a/runtime/observatory_2/tests/service_2/next_through_function_expression_test.dart
+++ b/runtime/observatory_2/tests/service_2/next_through_function_expression_test.dart
@@ -22,10 +22,10 @@
List<String> stops = [];
List<String> expected = [
- "$file:${LINE_A+0}:13", // on 'i' in 'codeXYZ(int i)'
- "$file:${LINE_A+1}:3", // on 'innerOne'
- "$file:${LINE_A+5}:18", // on '(', i.e. after 'innerOne' call
- "$file:${LINE_A+5}:3" // on 'return'
+ "$file:${LINE_A + 0}:13", // on 'i' in 'codeXYZ(int i)'
+ "$file:${LINE_A + 1}:3", // on 'innerOne'
+ "$file:${LINE_A + 5}:10", // on 'innerOne()' call
+ "$file:${LINE_A + 5}:3" // on 'return'
];
var tests = <IsolateTest>[
diff --git a/runtime/vm/compiler/recognized_methods_list.h b/runtime/vm/compiler/recognized_methods_list.h
index 7e54439..a6086c6 100644
--- a/runtime/vm/compiler/recognized_methods_list.h
+++ b/runtime/vm/compiler/recognized_methods_list.h
@@ -17,8 +17,8 @@
V(Object, Object., ObjectConstructor, 0xab6d6cfa) \
V(List, ., ListFactory, 0xbc820cf9) \
V(_List, ., ObjectArrayAllocate, 0xd693eee6) \
- V(_List, []=, ObjectArraySetIndexed, 0xac001598) \
- V(_GrowableList, []=, GrowableArraySetIndexed, 0xac001598) \
+ V(_List, []=, ObjectArraySetIndexed, 0xd7b48abc) \
+ V(_GrowableList, []=, GrowableArraySetIndexed, 0xd7b48abc) \
V(_TypedList, _getInt8, ByteArrayBaseGetInt8, 0x1623dc34) \
V(_TypedList, _getUint8, ByteArrayBaseGetUint8, 0x177ffe2a) \
V(_TypedList, _getInt16, ByteArrayBaseGetInt16, 0x2e40964f) \
@@ -43,7 +43,7 @@
V(_TypedList, _setFloat64, ByteArrayBaseSetFloat64, 0x2359f8d2) \
V(_TypedList, _setFloat32x4, ByteArrayBaseSetFloat32x4, 0x38c6295a) \
V(_TypedList, _setInt32x4, ByteArrayBaseSetInt32x4, 0x5ce9025b) \
- V(ByteData, ., ByteDataFactory, 0xd12ef748) \
+ V(ByteData, ., ByteDataFactory, 0x8a8b07a8) \
V(_ByteDataView, get:offsetInBytes, ByteDataViewOffsetInBytes, 0x60cef22c) \
V(_ByteDataView, get:_typedData, ByteDataViewTypedData, 0xb9d15ffa) \
V(_TypedListView, get:offsetInBytes, TypedDataViewOffsetInBytes, 0x60cef22c) \
@@ -78,19 +78,19 @@
V(Float32x4List, ., TypedData_Float32x4Array_factory, 0x0a7d7b88) \
V(Int32x4List, ., TypedData_Int32x4Array_factory, 0x5a17b46e) \
V(Float64x2List, ., TypedData_Float64x2Array_factory, 0xeccaff6a) \
- V(::, _toClampedUint8, ConvertIntToClampedUint8, 0x6f65a4d0) \
+ V(::, _toClampedUint8, ConvertIntToClampedUint8, 0x00fc4650) \
V(::, copyRangeFromUint8ListToOneByteString, \
- CopyRangeFromUint8ListToOneByteString, 0x8302f9d9) \
- V(_StringBase, _interpolate, StringBaseInterpolate, 0xec019c89) \
+ CopyRangeFromUint8ListToOneByteString, 0x0df019c5) \
+ V(_StringBase, _interpolate, StringBaseInterpolate, 0xea1eac09) \
V(_IntegerImplementation, toDouble, IntegerToDouble, 0x97728b46) \
V(_Double, _add, DoubleAdd, 0xea666327) \
V(_Double, _sub, DoubleSub, 0x28474c2e) \
V(_Double, _mul, DoubleMul, 0x1f98c76c) \
V(_Double, _div, DoubleDiv, 0x287d3791) \
- V(::, min, MathMin, 0x1cee3d43) \
- V(::, max, MathMax, 0xbf7a293e) \
- V(::, _doublePow, MathDoublePow, 0x701a00c4) \
- V(::, _intPow, MathIntPow, 0x9e2bb83a) \
+ V(::, min, MathMin, 0x504a28df) \
+ V(::, max, MathMax, 0xead7161a) \
+ V(::, _doublePow, MathDoublePow, 0x989f3334) \
+ V(::, _intPow, MathIntPow, 0x68b6021e) \
V(Float32x4, _Float32x4FromDoubles, Float32x4FromDoubles, 0x1845792b) \
V(Float32x4, Float32x4.zero, Float32x4Zero, 0xd3b64002) \
V(Float32x4, _Float32x4Splat, Float32x4Splat, 0x13a552c3) \
@@ -162,7 +162,7 @@
V(_WeakProperty, set:key, WeakProperty_setKey, 0x963a095f) \
V(_WeakProperty, get:value, WeakProperty_getValue, 0xd2f28aae) \
V(_WeakProperty, set:value, WeakProperty_setValue, 0x8b2bafab) \
- V(::, _classRangeCheck, ClassRangeCheck, 0x5fd51e68) \
+ V(::, _classRangeCheck, ClassRangeCheck, 0x00269620) \
V(::, _abi, FfiAbi, 0x7c4ab775) \
V(::, _asFunctionInternal, FfiAsFunctionInternal, 0xbbcb235a) \
V(::, _nativeCallbackFunction, FfiNativeCallbackFunction, 0x3ff5ae9c) \
@@ -198,40 +198,40 @@
V(::, _fromAddress, FfiFromAddress, 0xfd8cb1cc) \
V(Pointer, get:address, FfiGetAddress, 0x7cde87be) \
V(::, reachabilityFence, ReachabilityFence, 0x619235c1) \
- V(_Utf8Decoder, _scan, Utf8DecoderScan, 0x4983e111) \
- V(_Future, timeout, FutureTimeout, 0xc83eaf79) \
- V(Future, wait, FutureWait, 0xc71e731d) \
- V(_RootZone, runUnary, RootZoneRunUnary, 0x966a802c) \
- V(_FutureListener, handleValue, FutureListenerHandleValue, 0x165b47c4) \
+ V(_Utf8Decoder, _scan, Utf8DecoderScan, 0x1dcaf73d) \
+ V(_Future, timeout, FutureTimeout, 0x73041520) \
+ V(Future, wait, FutureWait, 0xdf32b54d) \
+ V(_RootZone, runUnary, RootZoneRunUnary, 0xb607f8bf) \
+ V(_FutureListener, handleValue, FutureListenerHandleValue, 0x438115a8) \
// List of intrinsics:
// (class-name, function-name, intrinsification method, fingerprint).
#define CORE_LIB_INTRINSIC_LIST(V) \
V(_Smi, get:bitLength, Smi_bitLength, 0x7ab50ceb) \
- V(_BigIntImpl, _lsh, Bigint_lsh, 0x3f8b105e) \
- V(_BigIntImpl, _rsh, Bigint_rsh, 0x117ed3f3) \
- V(_BigIntImpl, _absAdd, Bigint_absAdd, 0xd55235d1) \
- V(_BigIntImpl, _absSub, Bigint_absSub, 0xe4a9dacf) \
- V(_BigIntImpl, _mulAdd, Bigint_mulAdd, 0x6dab2009) \
- V(_BigIntImpl, _sqrAdd, Bigint_sqrAdd, 0x4ea2b411) \
+ V(_BigIntImpl, _lsh, Bigint_lsh, 0x5de6ab16) \
+ V(_BigIntImpl, _rsh, Bigint_rsh, 0xa8090d4f) \
+ V(_BigIntImpl, _absAdd, Bigint_absAdd, 0xdc2a8a75) \
+ V(_BigIntImpl, _absSub, Bigint_absSub, 0x23653a4f) \
+ V(_BigIntImpl, _mulAdd, Bigint_mulAdd, 0x08fc5919) \
+ V(_BigIntImpl, _sqrAdd, Bigint_sqrAdd, 0xd1b6bf41) \
V(_BigIntImpl, _estimateQuotientDigit, Bigint_estimateQuotientDigit, \
- 0x898ea14c) \
- V(_BigIntMontgomeryReduction, _mulMod, Montgomery_mulMod, 0x0d038dd0) \
- V(_Double, >, Double_greaterThan, 0xe450adaf) \
- V(_Double, >=, Double_greaterEqualThan, 0xbc280c13) \
- V(_Double, <, Double_lessThan, 0x39643178) \
- V(_Double, <=, Double_lessEqualThan, 0x73d2a9f5) \
- V(_Double, ==, Double_equal, 0xaca03d47) \
- V(_Double, +, Double_add, 0x11250707) \
- V(_Double, -, Double_sub, 0x04121358) \
- V(_Double, *, Double_mul, 0x45991d55) \
- V(_Double, /, Double_div, 0x3bc7ab91) \
+ 0x3b2a5ba4) \
+ V(_BigIntMontgomeryReduction, _mulMod, Montgomery_mulMod, 0xc1c66bf4) \
+ V(_Double, >, Double_greaterThan, 0x9872cc67) \
+ V(_Double, >=, Double_greaterEqualThan, 0xfecba6b3) \
+ V(_Double, <, Double_lessThan, 0xf07a87d4) \
+ V(_Double, <=, Double_lessEqualThan, 0xb6764495) \
+ V(_Double, ==, Double_equal, 0xa91c918f) \
+ V(_Double, +, Double_add, 0xc54725bf) \
+ V(_Double, -, Double_sub, 0xb8343210) \
+ V(_Double, *, Double_mul, 0xf9bb3c0d) \
+ V(_Double, /, Double_div, 0xefe9ca49) \
V(_Double, get:hashCode, Double_hashCode, 0x75e0d093) \
V(_Double, get:_identityHashCode, Double_identityHash, 0x47a56551) \
V(_Double, get:isNaN, Double_getIsNaN, 0xd4890713) \
V(_Double, get:isInfinite, Double_getIsInfinite, 0xc4facbd2) \
V(_Double, get:isNegative, Double_getIsNegative, 0xd4715091) \
- V(_Double, _mulFromInteger, Double_mulFromInteger, 0xf9e516ab) \
+ V(_Double, _mulFromInteger, Double_mulFromInteger, 0x0a50d2cf) \
V(_Double, .fromInteger, DoubleFromInteger, 0x7d0fd999) \
V(_GrowableList, ._withData, GrowableArray_Allocate, 0xa32d060b) \
V(_RegExp, _ExecuteMatch, RegExp_ExecuteMatch, 0x9911d549) \
@@ -241,8 +241,8 @@
V(Object, _haveSameRuntimeType, ObjectHaveSameRuntimeType, 0xce4e6295) \
V(_StringBase, get:hashCode, String_getHashCode, 0x75e0d454) \
V(_StringBase, get:_identityHashCode, String_identityHash, 0x47a56912) \
- V(_StringBase, get:isEmpty, StringBaseIsEmpty, 0x9ce63f77) \
- V(_StringBase, _substringMatches, StringBaseSubstringMatches, 0x03fdc6ce) \
+ V(_StringBase, get:isEmpty, StringBaseIsEmpty, 0xfecd3cf3) \
+ V(_StringBase, _substringMatches, StringBaseSubstringMatches, 0x87094a2a) \
V(_StringBase, [], StringBaseCharAt, 0xd06fc6bf) \
V(_OneByteString, get:hashCode, OneByteString_getHashCode, 0x75e0d454) \
V(_OneByteString, _substringUncheckedNative, \
@@ -257,66 +257,66 @@
V(::, _setHashIfNotSetYet, Object_setHashIfNotSetYet, 0x4e17c2f5) \
#define CORE_INTEGER_LIB_INTRINSIC_LIST(V) \
- V(_IntegerImplementation, >, Integer_greaterThan, 0x402b12df) \
- V(_IntegerImplementation, ==, Integer_equal, 0x509c9146) \
+ V(_IntegerImplementation, >, Integer_greaterThan, 0xf741693b) \
+ V(_IntegerImplementation, ==, Integer_equal, 0xa8aba26a) \
V(_IntegerImplementation, _equalToInteger, Integer_equalToInteger, \
0x710f18c2) \
- V(_IntegerImplementation, <, Integer_lessThan, 0x39643178) \
- V(_IntegerImplementation, <=, Integer_lessEqualThan, 0x73d2a9f5) \
- V(_IntegerImplementation, >=, Integer_greaterEqualThan, 0xbc280c13) \
- V(_IntegerImplementation, <<, Integer_shl, 0x766f04a6) \
+ V(_IntegerImplementation, <, Integer_lessThan, 0xf07a87d4) \
+ V(_IntegerImplementation, <=, Integer_lessEqualThan, 0xb6764495) \
+ V(_IntegerImplementation, >=, Integer_greaterEqualThan, 0xfecba6b3) \
+ V(_IntegerImplementation, <<, Integer_shl, 0x2d855b02) \
V(_Double, toInt, DoubleToInteger, 0x676f1ce8) \
#define MATH_LIB_INTRINSIC_LIST(V) \
- V(::, sqrt, MathSqrt, 0x58c2a87e) \
+ V(::, sqrt, MathSqrt, 0x1c9a16a2) \
V(_Random, _nextState, Random_nextState, 0x7207677d) \
#define GRAPH_MATH_LIB_INTRINSIC_LIST(V) \
- V(::, sin, MathSin, 0xf3c67be5) \
- V(::, cos, MathCos, 0xbdcdaf99) \
- V(::, tan, MathTan, 0xa0e4e2cf) \
- V(::, asin, MathAsin, 0xb94f82b0) \
- V(::, acos, MathAcos, 0xffb03167) \
- V(::, atan, MathAtan, 0xf1ecb41a) \
- V(::, atan2, MathAtan2, 0xff585505) \
- V(::, exp, MathExp, 0xbb87ac43) \
- V(::, log, MathLog, 0x27ec861f) \
+ V(::, sin, MathSin, 0xb79dea09) \
+ V(::, cos, MathCos, 0x81a51dbd) \
+ V(::, tan, MathTan, 0x64bc50f3) \
+ V(::, asin, MathAsin, 0x7d26f0d4) \
+ V(::, acos, MathAcos, 0xc3879f8b) \
+ V(::, atan, MathAtan, 0xb5c4223e) \
+ V(::, atan2, MathAtan2, 0xc03b8b85) \
+ V(::, exp, MathExp, 0x7f5f1a67) \
+ V(::, log, MathLog, 0xebc3f443) \
#define GRAPH_TYPED_DATA_INTRINSICS_LIST(V) \
- V(_Int8List, [], Int8ArrayGetIndexed, 0x281e2e42) \
- V(_Int8List, []=, Int8ArraySetIndexed, 0x7eb45f63) \
- V(_Uint8List, [], Uint8ArrayGetIndexed, 0x8d96b202) \
- V(_Uint8List, []=, Uint8ArraySetIndexed, 0xcb436b27) \
- V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, 0x8d96b202) \
- V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, 0xcb436b27) \
- V(_Uint8ClampedList, [], Uint8ClampedArrayGetIndexed, 0x8d96b202) \
- V(_Uint8ClampedList, []=, Uint8ClampedArraySetIndexed, 0xc14320c7) \
+ V(_Int8List, [], Int8ArrayGetIndexed, 0x35f3fab6) \
+ V(_Int8List, []=, Int8ArraySetIndexed, 0x6e4fdaa7) \
+ V(_Uint8List, [], Uint8ArrayGetIndexed, 0x9b6c7e76) \
+ V(_Uint8List, []=, Uint8ArraySetIndexed, 0xbadee66b) \
+ V(_ExternalUint8Array, [], ExternalUint8ArrayGetIndexed, 0x9b6c7e76) \
+ V(_ExternalUint8Array, []=, ExternalUint8ArraySetIndexed, 0xbadee66b) \
+ V(_Uint8ClampedList, [], Uint8ClampedArrayGetIndexed, 0x9b6c7e76) \
+ V(_Uint8ClampedList, []=, Uint8ClampedArraySetIndexed, 0xb0de9c0b) \
V(_ExternalUint8ClampedArray, [], ExternalUint8ClampedArrayGetIndexed, \
- 0x8d96b202) \
+ 0x9b6c7e76) \
V(_ExternalUint8ClampedArray, []=, ExternalUint8ClampedArraySetIndexed, \
- 0xc14320c7) \
- V(_Int16List, [], Int16ArrayGetIndexed, 0x081c8da2) \
- V(_Int16List, []=, Int16ArraySetIndexed, 0x0f3422ee) \
- V(_Uint16List, [], Uint16ArrayGetIndexed, 0xebf569a2) \
- V(_Uint16List, []=, Uint16ArraySetIndexed, 0xf776ca65) \
- V(_Int32List, [], Int32ArrayGetIndexed, 0x09ba3341) \
- V(_Int32List, []=, Int32ArraySetIndexed, 0xed689f8d) \
- V(_Uint32List, [], Uint32ArrayGetIndexed, 0x590c98e1) \
- V(_Uint32List, []=, Uint32ArraySetIndexed, 0xd90c140d) \
- V(_Int64List, [], Int64ArrayGetIndexed, 0x42828d81) \
- V(_Int64List, []=, Int64ArraySetIndexed, 0xd7ba387b) \
- V(_Uint64List, [], Uint64ArrayGetIndexed, 0x7f46f301) \
- V(_Uint64List, []=, Uint64ArraySetIndexed, 0xa31ba9b3) \
- V(_Float64List, [], Float64ArrayGetIndexed, 0x5fa1c248) \
- V(_Float64List, []=, Float64ArraySetIndexed, 0x6ad3ba59) \
- V(_Float32List, [], Float32ArrayGetIndexed, 0x359fc368) \
- V(_Float32List, []=, Float32ArraySetIndexed, 0xc6221787) \
- V(_Float32x4List, [], Float32x4ArrayGetIndexed, 0xdf87c0c1) \
- V(_Float32x4List, []=, Float32x4ArraySetIndexed, 0x889551f4) \
- V(_Int32x4List, [], Int32x4ArrayGetIndexed, 0x75703b39) \
- V(_Int32x4List, []=, Int32x4ArraySetIndexed, 0x952ee084) \
- V(_Float64x2List, [], Float64x2ArrayGetIndexed, 0xdc2fab6b) \
- V(_Float64x2List, []=, Float64x2ArraySetIndexed, 0x0884bf1c) \
+ 0xb0de9c0b) \
+ V(_Int16List, [], Int16ArrayGetIndexed, 0x15f25a16) \
+ V(_Int16List, []=, Int16ArraySetIndexed, 0xfecf9e32) \
+ V(_Uint16List, [], Uint16ArrayGetIndexed, 0xf9cb3616) \
+ V(_Uint16List, []=, Uint16ArraySetIndexed, 0xe71245a9) \
+ V(_Int32List, [], Int32ArrayGetIndexed, 0x178fffb5) \
+ V(_Int32List, []=, Int32ArraySetIndexed, 0xdd041ad1) \
+ V(_Uint32List, [], Uint32ArrayGetIndexed, 0x66e26555) \
+ V(_Uint32List, []=, Uint32ArraySetIndexed, 0xc8a78f51) \
+ V(_Int64List, [], Int64ArrayGetIndexed, 0x505859f5) \
+ V(_Int64List, []=, Int64ArraySetIndexed, 0x5a2e23b7) \
+ V(_Uint64List, [], Uint64ArrayGetIndexed, 0x8d1cbf75) \
+ V(_Uint64List, []=, Uint64ArraySetIndexed, 0x258f94ef) \
+ V(_Float64List, [], Float64ArrayGetIndexed, 0x6d778ebc) \
+ V(_Float64List, []=, Float64ArraySetIndexed, 0xed47a595) \
+ V(_Float32List, [], Float32ArrayGetIndexed, 0x43758fdc) \
+ V(_Float32List, []=, Float32ArraySetIndexed, 0x489602c3) \
+ V(_Float32x4List, [], Float32x4ArrayGetIndexed, 0xed5d8d35) \
+ V(_Float32x4List, []=, Float32x4ArraySetIndexed, 0x0b093d30) \
+ V(_Int32x4List, [], Int32x4ArrayGetIndexed, 0x834607ad) \
+ V(_Int32x4List, []=, Int32x4ArraySetIndexed, 0x17a2cbc0) \
+ V(_Float64x2List, [], Float64x2ArrayGetIndexed, 0xea0577df) \
+ V(_Float64x2List, []=, Float64x2ArraySetIndexed, 0x8af8aa58) \
V(_TypedList, get:length, TypedListLength, 0x5850f06b) \
V(_TypedListView, get:length, TypedListViewLength, 0x5850f06b) \
V(_ByteDataView, get:length, ByteDataViewLength, 0x5850f06b) \
@@ -353,17 +353,17 @@
V(_ExternalTwoByteString, codeUnitAt, ExternalTwoByteStringCodeUnitAt, \
0x17f90910) \
V(_Smi, ~, Smi_bitNegate, 0x8254f8dc) \
- V(_IntegerImplementation, +, Integer_add, 0xd5610450) \
- V(_IntegerImplementation, -, Integer_sub, 0xc96a1341) \
- V(_IntegerImplementation, *, Integer_mul, 0xacd967de) \
- V(_IntegerImplementation, %, Integer_mod, 0xfcf7cfd4) \
- V(_IntegerImplementation, ~/, Integer_truncDivide, 0xdda4a240) \
- V(_IntegerImplementation, unary-, Integer_negate, 0xf7a9aa57) \
- V(_IntegerImplementation, &, Integer_bitAnd, 0x8b9d7ff4) \
- V(_IntegerImplementation, |, Integer_bitOr, 0x8f47f9ac) \
- V(_IntegerImplementation, ^, Integer_bitXor, 0xd838c2b3) \
- V(_IntegerImplementation, >>, Integer_sar, 0x931fbf4b) \
- V(_IntegerImplementation, >>>, Integer_shr, 0x7495fbad) \
+ V(_IntegerImplementation, +, Integer_add, 0x8c775aac) \
+ V(_IntegerImplementation, -, Integer_sub, 0x8080699d) \
+ V(_IntegerImplementation, *, Integer_mul, 0x63efbe3a) \
+ V(_IntegerImplementation, %, Integer_mod, 0x93a8d914) \
+ V(_IntegerImplementation, ~/, Integer_truncDivide, 0x4c5b2b80) \
+ V(_IntegerImplementation, unary-, Integer_negate, 0xaec000b3) \
+ V(_IntegerImplementation, &, Integer_bitAnd, 0x42b3d650) \
+ V(_IntegerImplementation, |, Integer_bitOr, 0x465e5008) \
+ V(_IntegerImplementation, ^, Integer_bitXor, 0x8f4f190f) \
+ V(_IntegerImplementation, >>, Integer_sar, 0x4a3615a7) \
+ V(_IntegerImplementation, >>>, Integer_shr, 0x2bac5209) \
V(_Double, unary-, DoubleFlipSignBit, 0x3d39082b) \
V(_Double, truncateToDouble, DoubleTruncate, 0x62d48298) \
V(_Double, roundToDouble, DoubleRound, 0x5649c63f) \
@@ -437,14 +437,14 @@
// result-cid, fingerprint).
#define RECOGNIZED_LIST_FACTORY_LIST(V) \
V(_ListFactory, _List, ., kArrayCid, 0xd693eee6) \
- V(_ListFilledFactory, _List, .filled, kArrayCid, 0x4c76526a) \
- V(_ListGenerateFactory, _List, .generate, kArrayCid, 0x4f848337) \
+ V(_ListFilledFactory, _List, .filled, kArrayCid, 0x7f29060d) \
+ V(_ListGenerateFactory, _List, .generate, kArrayCid, 0x95feb438) \
V(_GrowableListFactory, _GrowableList, ., kGrowableObjectArrayCid, \
- 0x434de9b9) \
+ 0xc1b55e71) \
V(_GrowableListFilledFactory, _GrowableList, .filled, \
- kGrowableObjectArrayCid, 0x261b3cc2) \
+ kGrowableObjectArrayCid, 0x37d0dc65) \
V(_GrowableListGenerateFactory, _GrowableList, .generate, \
- kGrowableObjectArrayCid, 0x0c7be78f) \
+ kGrowableObjectArrayCid, 0x52f61890) \
V(_GrowableListWithData, _GrowableList, ._withData, kGrowableObjectArrayCid, \
0xa32d060b) \
V(_Int8ArrayFactory, Int8List, ., kTypedDataInt8ArrayCid, 0x660dd888) \
diff --git a/runtime/vm/object_test.cc b/runtime/vm/object_test.cc
index 5417f6d..324a031 100644
--- a/runtime/vm/object_test.cc
+++ b/runtime/vm/object_test.cc
@@ -3545,7 +3545,7 @@
"#3 _bar (%1$s:16:3)\n"
"#4 MyClass.field (%1$s:25:5)\n"
"#5 MyClass.foo.fooHelper (%1$s:30:7)\n"
- "#6 MyClass.foo (%1$s:32:14)\n"
+ "#6 MyClass.foo (%1$s:32:5)\n"
"#7 new MyClass.<anonymous closure> (%1$s:21:12)\n"
"#8 new MyClass (%1$s:21:18)\n"
"#9 main.<anonymous closure> (%1$s:37:14)\n"
diff --git a/runtime/vm/source_report_test.cc b/runtime/vm/source_report_test.cc
index 44ae5e1..9bc1aac 100644
--- a/runtime/vm/source_report_test.cc
+++ b/runtime/vm/source_report_test.cc
@@ -311,7 +311,7 @@
// One range compiled with one hit (helper0).
"{\"scriptIndex\":0,\"startPos\":0,\"endPos\":73,\"compiled\":true,"
- "\"coverage\":{\"hits\":[0,69],\"misses\":[]}},"
+ "\"coverage\":{\"hits\":[0],\"misses\":[]}},"
// One range not compiled (helper1).
"{\"scriptIndex\":0,\"startPos\":75,\"endPos\":86,\"compiled\":false},"
@@ -370,7 +370,7 @@
// One range compiled with one hit (helper0).
"{\"scriptIndex\":0,\"startPos\":0,\"endPos\":73,\"compiled\":true,"
- "\"coverage\":{\"hits\":[0,69],\"misses\":[]}},"
+ "\"coverage\":{\"hits\":[0],\"misses\":[]}},"
// Nested range compiled (nestedHelper0).
"{\"scriptIndex\":0,\"startPos\":14,\"endPos\":31,\"compiled\":true,"
diff --git a/tests/language/async/congruence_local_test.dart b/tests/language/async/congruence_local_test.dart
index 15e27a2..e3ba8e8 100644
--- a/tests/language/async/congruence_local_test.dart
+++ b/tests/language/async/congruence_local_test.dart
@@ -101,7 +101,7 @@
Future<int> v2 = f_inferred_futureObject();
// ^^^^^^^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
- // ^
+ // ^
// [cfe] A value of type 'Future<Object>' can't be assigned to a variable of type 'Future<int>'.
// Check that f_inferred_A's static return type is `Future<A>`, by verifying
@@ -111,7 +111,7 @@
Future<B> v4 = f_inferred_A();
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
- // ^
+ // ^
// [cfe] A value of type 'Future<A>' can't be assigned to a variable of type 'Future<B>'.
}
diff --git a/tests/language/const_functions/const_functions_closures_error_test.dart b/tests/language/const_functions/const_functions_closures_error_test.dart
index 1383983..d09eb06 100644
--- a/tests/language/const_functions/const_functions_closures_error_test.dart
+++ b/tests/language/const_functions/const_functions_closures_error_test.dart
@@ -76,6 +76,6 @@
const z = a();
// ^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
- // ^
+ // ^
// [cfe] Constant evaluation error:
}
diff --git a/tests/language/const_functions/const_functions_list_test.dart b/tests/language/const_functions/const_functions_list_test.dart
index deb8b0f..bce267e 100644
--- a/tests/language/const_functions/const_functions_list_test.dart
+++ b/tests/language/const_functions/const_functions_list_test.dart
@@ -11,7 +11,6 @@
const firstVar = firstFn();
// ^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
int firstFn() {
const List<int> x = [1, 2];
return x.first;
@@ -20,7 +19,6 @@
const firstCatchVar = firstCatchFn();
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
int firstCatchFn() {
try {
const List<int> x = [];
@@ -31,19 +29,9 @@
return 1;
}
-const hashCodeVar = hashCodeFn();
-// ^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
-int hashCodeFn() {
- const List<int> x = [1, 2];
- return x.hashCode;
-}
-
const isEmptyVar = isEmptyFn();
// ^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
bool isEmptyFn() {
const List<int> x = [1, 2];
return x.isEmpty;
@@ -52,7 +40,6 @@
const isNotEmptyVar = isNotEmptyFn();
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
bool isNotEmptyFn() {
const List<int> x = [1, 2];
return x.isNotEmpty;
@@ -61,7 +48,6 @@
const lastVar = lastFn();
// ^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
int lastFn() {
const List<int> x = [1, 2];
return x.last;
@@ -70,7 +56,6 @@
const lastCatchVar = lastCatchFn();
// ^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
int lastCatchFn() {
try {
const List<int> x = [];
@@ -84,7 +69,6 @@
const lengthVar = lengthFn();
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
int lengthFn() {
const List<int> x = [1, 2];
return x.length;
@@ -93,7 +77,6 @@
const singleVar = singleFn();
// ^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
int singleFn() {
const List<int> x = [1];
return x.single;
@@ -102,7 +85,6 @@
const singleCatchVar = singleCatchFn();
// ^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
int singleCatchFn() {
try {
const List<int> x = [];
@@ -116,7 +98,6 @@
const singleCatchVar2 = singleCatchFn2();
// ^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
int singleCatchFn2() {
try {
const List<int> x = [1, 2];
@@ -127,16 +108,6 @@
return 1;
}
-const typeExample = int;
-const typeVar = typeFn();
-// ^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-// [web] Constant evaluation error:
-Type typeFn() {
- const List<int> x = [1, 2];
- return x.runtimeType;
-}
-
const getWithIndexVar = getWithIndexFn();
// ^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
@@ -178,7 +149,6 @@
void main() {
Expect.equals(firstVar, 1);
Expect.equals(firstCatchVar, 0);
- Expect.type<int>(hashCodeVar);
Expect.equals(isEmptyVar, false);
Expect.equals(isNotEmptyVar, true);
Expect.equals(lastVar, 2);
@@ -187,7 +157,6 @@
Expect.equals(singleVar, 1);
Expect.equals(singleCatchVar, 0);
Expect.equals(singleCatchVar2, 0);
- Expect.equals(typeVar, int);
Expect.equals(getWithIndexVar, 1);
Expect.equals(rangeErrorCatchVar, 0);
Expect.equals(mutableListVar, const [1, 2]);
diff --git a/tests/language/variable/inst_field_initializer1_test.dart b/tests/language/variable/inst_field_initializer1_test.dart
index edc85c8..550a03e 100644
--- a/tests/language/variable/inst_field_initializer1_test.dart
+++ b/tests/language/variable/inst_field_initializer1_test.dart
@@ -10,8 +10,6 @@
// ^
// [analyzer] COMPILE_TIME_ERROR.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER
// [cfe] Can't access 'this' in a field initializer to read 'x'.
- // ^
- // [analyzer] STATIC_WARNING.TOP_LEVEL_INSTANCE_GETTER
}
void main() {
diff --git a/tests/language_2/async/congruence_local_test.dart b/tests/language_2/async/congruence_local_test.dart
index 7a9d30c..1ae9dfa 100644
--- a/tests/language_2/async/congruence_local_test.dart
+++ b/tests/language_2/async/congruence_local_test.dart
@@ -105,7 +105,7 @@
int v2 = f_inferred_futureObject();
// ^^^^^^^^^^^^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
- // ^
+ // ^
// [cfe] A value of type 'Future<Object>' can't be assigned to a variable of type 'int'.
// Check that f_inferred_A's static return type is `Future<A>`, by verifying
@@ -115,7 +115,7 @@
Future<int> v4 = f_inferred_A();
// ^^^^^^^^^^^^^^
// [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
- // ^
+ // ^
// [cfe] A value of type 'Future<A>' can't be assigned to a variable of type 'Future<int>'.
}
diff --git a/tests/language_2/variable/inst_field_initializer1_test.dart b/tests/language_2/variable/inst_field_initializer1_test.dart
index 57f31eed..3d6c05c 100644
--- a/tests/language_2/variable/inst_field_initializer1_test.dart
+++ b/tests/language_2/variable/inst_field_initializer1_test.dart
@@ -12,8 +12,6 @@
// ^
// [analyzer] COMPILE_TIME_ERROR.IMPLICIT_THIS_REFERENCE_IN_INITIALIZER
// [cfe] Can't access 'this' in a field initializer to read 'x'.
- // ^
- // [analyzer] STATIC_WARNING.TOP_LEVEL_INSTANCE_GETTER
}
void main() {
diff --git a/tools/VERSION b/tools/VERSION
index 6849ddf..7aae026 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 14
PATCH 0
-PRERELEASE 97
+PRERELEASE 98
PRERELEASE_PATCH 0
\ No newline at end of file